묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
Static 키워드가 메모리에 올라가는 시점
안녕하세요 선생님! 강의를 듣던 중 static 키워드가 메모리에 올라가는 시점을 확실히 알고 싶어 질문드리게 되었습니다. 강의에서 static은 선언하자마자 메모리에 올라간다고 하셨는데요, 그게 클래스 내부에서 static 변수나 함수를 선언했을 때 메모리에 올라간다는 의미가 맞나요?그러면 100개의 클래스를 작성하고, 거기에 static으로 함수나 변수를 써놓으면 그게 다 사용되지 않아도 메모리에 올라가는 건가요??
-
해결됨[CS 기술면접 2] 말이 트이는 운영체제
프로세스 상태 다이어그램 검증 및 질문
5~8강을 보고 정리를 다이어그램을 그려봤는데 틀린 부분이 있으면 말씀해주셨으면 좋겠습니다.질문Blocked 상태인 프로세스가 Swap out 되어 디스크로 쫓겨나더라도, 이전에 요청했던 입력 작업은 해당 키보드 컨트롤러가 멈추지 않고 계속 수행하는 것이 맞나요? 만약 맞다면 이후 사용자가 입력을 완료해서 인터럽트가 발생하면 CPU가 이를 인지하고 운영체제에게 제어권을 넘겨주게 되는데,이때 운영체제가 키보드 컨트롤러로부터 입력된 데이터를 받아오고, 해당 프로세스의 상태를 Suspended-Blocked에서 Suspended-Ready로 변경해 주는 것인가요?
-
미해결개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
컴퓨터 구조의 기본 흐름
컴퓨터의 구조와 큰 그림 파트에서 4가지의 구조로 CPU, 메모리, 보조기억장치, 입출력 장치 이렇게 4가지의 구조가 있고 여기서 메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품 > 프로그램이 실행되려면 메모리에 저장되어 있어야 한다고 하는데 그러면 예를 들어 포토샵을 실행한다고 가정 하였을 경우, 입출력장치인 마우스로 포토샵을 클릭 하면, 메모리에 저장되어 있는 포토샵의 데이터와 명령어를 불러오는 개념일까요? 그리고 보조기억장치(예를 들어 USB)에 있는 데이터를 실행하기 위해서는 메모리를 거쳐서 CPU가 실행을 하는게 맞는건지 질문 남겨봅니다.
-
미해결FreeRTOS 프로그래밍
포팅 부탁드립니다!
포팅을 직접하실 시간이 없거나 어려운 점이 있으시면 제가 도와드려요 :-)<인프런 FreeRTOS 프로그래밍 강좌> 질문란에 포팅을 원한다고 올려주시고 다음과 같은 내용을 꼭 함께 적어주세요-------------------------------------------------- 사용하고 싶은 ST 보드명: NuCLEO-F103RBNUF103RB$KU1- 사용하시는 컴파일러(stm32cubeide) 버젼: 1.2.0- 기타: -------------------------------------------------저에게 파일을 보내고 싶으신 분은 guileschool@gmail.com 으로 보내주세요.(필독1) 스팸 혹은 기타 이유로 메일을 제가 못 받을 수도 있으므로 메일을 보내신 분은 꼭 이 강좌의 질문란에다가 저에게 메일을 보내셨다고 글을 남겨주세요.(필독2) 메일에는 본인이 누구인지 알 수 있도록 인프런 아이디를 '꼭' 적어주세요( 기재되지 않으면 회신 보장 못함 )- 끝 -
-
해결됨Windows System 프로그래밍
c 런타임 라이브러리 관련 질문
개요 15분경에 윈도우 자체는 malloc, free를 가지고 있지 않고 내부에서 Windows API의 메모리 관련 함수들을 호출한다는 것의 의미가 궁금합니다. 보통 Unix 계열의 OS에서 malloc은 심히 POSIX스러운(?) 함수들로 이루어진 내부 구현을 malloc 자체로써 그대로 노출하고 있고, 그에 반해 Windows에서의 malloc은 malloc 자체의 구현을 가지고 있는것이 아니라 malloc을 호출하면 C 런타임 라이브러리가 Windows API의 메모리 관련 함수들을 호출해주는 매개체 역할을 하는것으로 위의 의미를 이해했는데 올바른 방향으로 이해한것일까요?
-
해결됨한국에서 제일 쉬운 리눅스 커널 강의
56강 bcm2835-mailbox.c 파일 질문
빌드를 해보던 도중printk("dev_id:0x%x \n", (unsigned int)action->dev_id); 해당 줄에서 언사인드 인트가 포인터 인트 형 문제라고 하는데printk("dev_id:%p\n", action->dev_id);이렇게 바꿔서 진행해도 될까요?아니면 워닝 무시하고 해보면 되나요?
-
미해결FreeRTOS 프로그래밍
포팅 부탁드립니다. <NUCLEO-G071RB>
- 사용하고 싶은 ST 보드명: NUCLEO-G071RB- 사용하시는 컴파일러(stm32cubeide) 버젼: 2.0.0- 기타: 감사합니다
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
원자성과 동기화에 대한 사소한? 질문 있습니다.
필기해주시면서 설명해주신 부분이원자성 : 자원을 선점한 후 독점적으로 사용할 수 있다.1. 누군가 자원을 선점했는지 확인한다.2.사용 중이라면 대기한다.3.사용 중이 아니라면 진입하여 Lock을 건다.4.Lock을 건 순간부터 해당 자원을 선점한다.5.작업을 마치면 Unlock하고 빠져나온다.동기화 : 신호등과 비슷한 역할이렇게 해주셨는데 원자성에 대한 1~5번까지의 매커니즘 내용은 정확하게 말하면 동기화에 대한 설명아닌가 헷갈려서 질문드립니다. 감사합니다
-
해결됨한국에서 제일 쉬운 리눅스 커널 강의
'drivers/soc/bcm/bcm2835-power.o 에러 입니다.
실수방지 드라이버 만들기-1 10:00에서'drivers/soc/bcm/bcm2835-power.o가 찾을수 없다고 나오는데 보니까 bcm2835-power.c, raspberrypi-power.c 파일은 저폴더에 없던데 어디서 나오는건가요?
-
미해결리눅스 커널의 구조와 원리: 인터럽트 후반부 [저자 직강 1부-6]
TRACE 32만을 이용한 출력 Callstack 의 cpu 번호 파악
안녕하세요. Linux kernel 강의를 듣고 있는 수강생입니다제가 Crash utility 를 이용해서 쉽게 해당 dump 의 최종 프로세스의 cpu 번호는 알 수 있는데, 만약 현장에서 Crash Utility 설치가 불가피해서 사용을 못하고(시간상이나 알수 없는 원인으로 설치가 안될때)오직 TRACE 32 만으로 SMP(멀티코어) 시스템의 DUMP 발생 원인이 된 프로세스의 CPU 번호를 파악하고 싶을때는 어떤 방법을 이용할 수 있을지 궁금합니다. 예를들어 아래와 같이 상황에서 해당 Soft IRQ 를 발생시킨 CPU 번호를 오로지 TRACE 32 를 이용해서 찾아야 한다고 했을때 , 어떻게 해야하는지 궁금합니다사실 교수님께서 설명하셨던것 같은데, 기억이 잘 안나서요. 죄송합니다.... 감사합니다.
-
해결됨한국에서 제일 쉬운 리눅스 커널 강의
라즈베리파이5 도 상관없을까요
혹시 라즈베리파이5 로 진행해도 크게 다른점은 없을까요?? 명령어나 이런부분이 조금씩 다르다면 AI도움 받아서 진행하고 이외에 구조라던지 동일하면 5로 진행해보고 싶은데 아니면 그냥4B로 해야될까요
-
미해결개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
메모리로부터 주소버스를 통해 받아들이는 주소번지를 CPU로 가져오는 경우
메모리의 주소 공간 강의중메모리에서 주소번지를 CPU로 가지고 온다는 부분이 이해가 어렵습니다. 메모리는 요청받은 명령에 응답을 한다고 알고 있습니다cpu가 mmu를 통해 논리주소 -> 물리 주소로 변환 후 메모리 관여를 하듯CPU가 메모리로부터 주소번지를 받아 관여하는 상황이 있는건가요? 있다면 어떻게 이루어지는지도 궁금합니다.논리->물리의 상황에서는 cpu상에 존재하는 베이스 레지스터를 통해 물리주소를 변환하는데 역참조도 가능한걸까요?
-
미해결FreeRTOS 프로그래밍
상호배제 후 되지를 않아서 질문드립니다.
상호배재 추가 이후 디버깅을 해보니send함수에서SemaphoreHandle_t mutex_id;디버깅이 되지를 않습니다.
-
미해결FreeRTOS 프로그래밍
수료증 발급 기준 수정 요청
수료증 발급 기준에서 [부록] 강좌 제외 요청 드립니다.현재는 수료증 발급 기준이 [부록] 강좌까지 모두 수강해야 발급되는 걸로 확인됩니다.이는 정규 수강 강좌가 아닌 것으로 알고 있습니다.이러한 이유로 수료증 발급 기준에 [부록] 강좌 제외 요청 드립니다.감사합니다.
-
미해결FreeRTOS 프로그래밍
재진입가능여부에 관한 질문
void swap(int *x, int *y) { int temp; temp = *x; *x = *y; *y = temp;}안녕하세요 강사님 위 함수가 temp를 지역변수로 선언하면 재진입가능한 함수가 된다고하셨는데x와 y 포인터 접근으로 공유자원이 발생할 수 있는 상황이 발생할 수 있어재진입 불가능한 함수이지 않나요? 잦은 질문드려 죄송합니다.
-
미해결FreeRTOS 프로그래밍
01_TASKMAN프로젝트 디버깅 모드 실패
강좌 3번에서 진행되는 TASKMAN의 task.c를 디버깅 모드로 실행했는데 에러가 뜹니다.../Inc/FreeRTOSConfig_base.h:120:59: error: '__FILENAME__' undeclared (first use in this function); did you mean '__FILE_NAME__'? inc 폴더에 시스템 헤더파일 같은데 어떻게 대처 해야할지 모르겠습니다.
-
미해결FreeRTOS 프로그래밍
그러면 malloc/free가 아닌 동적할당자를 써서 메모리를 할당했기떄문에
그러면 malloc/free가 아닌 동적할당자를 써서 메모리를 할당했기떄문에Heap이 아니라 bss에 할당되어 있는것을 볼 수 있던건가요?그렇다면 동적할당자를 사용하는것은 bss말고도 Heap에도 할당을 할 수 있다는 의미일까요?
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
헤더 압축부분 질문드립니다
1.1에서 네이버의 이미지를 예시로 들어주셨는데예시로 드신 이미지에는 동일헤더가 포함되어있는데 그럼 헤더중복을 제거되지 않은것으로 보이는데 맞을까요? 아니면 서버에서 전달은 하되 클라이언트에서 처리되는건가요?
-
미해결FreeRTOS 프로그래밍
실행순서
안녕하세요 강사님fflush를 주석처리하지 않고동일한 우선순위인 task1 과 task2가 있을때aaaaaaaaaaaaaaab와 같이 비정상 출력이 나오는 상황에서아래 제가 정리한 내용이 맞나요?FACT 1.HAL_UART_Transmit 실행 중에도 컨텍스트 스위칭은 가능하며,단지 UART 하드웨어 자원이 점유 중이라 다른 Task는 전송만 못 할 뿐이지 SysTick에 의해 timeslice마다 Context Switching이 일어난다.FACT2. FACT1에 따라 Task2가 printf("b")와 fflush로 UART 점유 및 전송중일때Tick마다 ContextSwitching이 일어나고 그때 Task1의 printf("a")로 인해 버퍼가 누적되며 동시에 fflush는 기존에 TASK2가 UART를 점유중이여서 Skip된다는 것이 맞을까요?____________ 그리고 task1과 task2가 fflush때문에 aaaaaaaaaaaaaab 와 같이 a다수 b한개만 실행될경우어떤 timeline을 거쳐 저렇게 실행되는것인지 정리해주실수 있나요?___________
-
미해결FreeRTOS 프로그래밍
uart 전송중에는 스위칭이 금지되나요?
틱인터럽트가 들어와도fflush로 uart 점유 및 전송중이면 스위칭을 안하는건가요?