묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결FreeRTOS 프로그래밍
세마포어삭제 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강사님 안녕하세요,vSemaphoreDelete강의에서 (0:29) 세마포어가 삭제되었기때문에 에러메세지가 발생하였다고 하셨는데xSemaphoreGive error(0) found 세마포어 삭제하지 않아도xSemaphoreGive error(0) found출력이 똑같습니다. 잘못 설명하신것 같은데.. 다른 뜻으로 말씀하셨는지요;;? 설명 부탁드립니다.^^
-
해결됨그림으로 쉽게 배우는 운영체제
가상메모리 추가질문
이전의 질문에대한 답변 감사했습니다답변에서는 가상메모리쓰면 프로세스마다 0번마다 써서 좋다고했지만 제가 또 알아보니까 가상메모리를쓰면 활성화된 프로세스의 일부만 ram에 적재해서 ram의 용량을 아낄수있고 가상메모리 쓰면 ram에서의 프로세스간 충돌을 방지해준다고하는데 1.프로세스마다 활성화된부분이랑 비활성화된 부분이 있엇나요? 2.프로세스를 ram에서쓰게된다면 os가 프로세스 간의 충돌 알아서 방지해주지 않나요?
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
질문드리고 싶습니다!
안녕하세요!강의 잘듣고 있습니다. 감사합니다.다름이 아니라, java를 사용하는 사람도 이런식으로 답변해도 되는건지 궁금합니다 괜찮다면, 나머지 자료구조들도 똑같이 생각해도 되는건지 궁금합니당..
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
상속과 추상화의 관계
안녕하세요! 좋은 강의 감사합니다.추상화를 공부해보니 상속과 추상화의 관계에 대해서 궁금해져서 질문 드립니다. 모든 상속은 데이터 추상화인가요?제가 생각해봤을 땐부모 클래스를 상속받는 자식 클래스들의 관계를 따져봤을 때 공통점이 있다면 추상화 O, 공통점이 없다면 추상화 X인 것 같은데... 상속인데 추상화가 아닌 예시가 떠오르질 않아서 맞는지 모르겠습니다.
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
beautify 못쓰는줄 알았는데
되는거였네요 감사합니다 ㅠㅠ
-
해결됨FreeRTOS 프로그래밍
세마포어,뮤텍스 초기값 질문
안녕하세요 강의 수강 후 혼자 복습하는 중인데 세마포어 초기값 관련 이해가 가지 않는 부분이 있어 질문 드립니다. 1번 질문.05_SEM 실습예제에서sem_id = xSemaphoreCreateBinary(); -> 초기값 0?--- loops = 10; for(;;) { // 세마포어 대기 if (xSemaphoreTake(sem_id, portMAX_DELAY) == pdTRUE) { printf("."); fflush(stdout); } sem_val=uxSemaphoreGetCount(sem_id); //printf("sem_val is %d\n", (int)sem_val); if(loops == 0) break; // exit loops--; } 위의 경우 printf 출력되지 않고 세마포어에 의해 바로 태스크가 블럭상태에 빠집니다.따라서 초기값은 0으로 예상됩니다. 07_MUTEX 실습예제에서mutex_id = xSemaphoreCreateMutex(); -> 초기값 1?---int buyTicket(void){ /* TODO #2: MUTEX 을 이용하여 공유변수(tickets)를 보호한다 */#if 1 // CRITICAL SECTION(ENTER) xSemaphoreTake(mutex_id, portMAX_DELAY);#endif // TODO #2 tickets --; // ticket count#if 1 // CRITICAL SECTION(EXIT) xSemaphoreGive(mutex_id);#endif // TODO #2 return(tickets);} 위의 경우 초기값이 1이어야 해당 함수가 바로 블럭에 빠지지 않고 수행되므로 1로 예상됩니다.영상에서는 초기값이 1로 수행된다고 이해했는데, 그렇다면 세마포어 예제에서 printf함수가 수행이 되는게 맞는데 되지 않습니다. 초기값이 서로 다르게 입력되는 것인지 궁금합니다. 2번 질문.05_SEM 실습예제에서 카운트값을 디버깅하고 싶어서 보다가#if 1 sem_id = xSemaphoreCreateBinary(); if (sem_id == NULL) printf("xSemaphoreCreateBinary error found\n"); sem_val = uxSemaphoreGetCount(sem_id); --- loops = 10; for(;;) { // 세마포어 대기 if (xSemaphoreTake(sem_id, portMAX_DELAY) == pdTRUE) { printf("."); fflush(stdout); } sem_val=uxSemaphoreGetCount(sem_id); //printf("sem_val is %d\n", (int)sem_val); if(loops == 0) break; // exit loops--; } 세마포어 생성 후 uxSemaphoreGetCount 함수를 호출하면 세마포어가 블럭상태에 빠지지 않고 printf함수가 출력이 됩니다. (실제 디버깅 해보면 sem_val 변수값은 0으로 찍힙니다)위 함수에서 V연산을 하는 행위가 있는 것인가요? 3번 질문.xSemaphoreCreateBinary()와 vSemaphoreCreateBinary()의 차이점이 무엇인지 궁금합니다.
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
쿠키 secure 관련 질문입니다
교재와 영상엔 쿠키 secure attribute에 대해서"그러나 Chrome 52 이상 및 Firefox 52 이상을 포함한 일부 브라우저는 보안을 강화하고안전하지 않은 사이트(HTTP)가 Secure 지시문으로 쿠키를 설정하는 것을 금지하기 위해 이 사양을 현재는 무시합니다."라고 설명이 되어있는데 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie위 링크에서 secure 관련 설명엔 "Insecure sites (http:) cannot set cookies with the Secure attribute (since Chrome 52 and Firefox 52). The https: requirements are ignored when the Secure attribute is set by localhost (since Chrome 89 and Firefox 75)."라고 되어있어요. Chrome 52 이상 및 Firefox 52 이상부터는 안전하지 않은 사이트(HTTP)가 Secure attribute로 쿠키를 설정하는 것을 금지하고 있다. 까지 아닌가요? 이 사양을 무시하는 건 사이트가 로컬호스트일 때인데, 해석을 잘못하신게 아닌가 싶어서요.
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
운영체제 이론으로만 배웠는데
새로 생긴 강의에 실습이 추가되어서 정말 좋네요
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
프로세스가 프로그램이 실행되면 프로세스가 된다고하는데
그럼 크롬 브라우저는 2:00에서 보면 멀티프로그램(?)=>멀티프로세스인가요? 그러니까 크롬브라우저는 여러개의 프로그램이 합쳐져서 멀티프로세스를 이뤄서 실행되는건가요
-
미해결FreeRTOS 프로그래밍
fflush질문
강사님 안녕하세요틱 인터럽트 기준 1ms동안 버퍼에 문자1000개가 들어가는 속도라 하고 버퍼는 100개까지 채울수 있다는 가정시fflush함수가 없을 때는a 100개가 1*10번 / b 100개가 1*10번 번갈아 출력되는거죠? 그런데, fflush함수가 있으면a 1개가 100*10번나오지 못하다 끝나고b 1개가 100*10번나오지 못하다 끝나야 하는데말씀하신 uart로직이 결부되었으나aaaaaabaaaaaabaaaaaab 이런 패턴은 b 태스크에만 영향을 받는것 처럼 보이는데제가 질문한 예시로 답변 가능할까요??..
-
해결됨그림으로 쉽게 배우는 운영체제
가상메모리 질문
가상메모리는 ram의 용량이 부족할때 쓰이기도 하지만ram의 용량이 충분해도 프로세스 마다 가상메모리가 할당된다고 들었습니다 ram의 용량이 충분해도 프로세스마다 가상메모리를 굳이 할당하는 이유가 뭔가요??
-
미해결FreeRTOS 프로그래밍
configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY / configLIBRARY_LOWEST_INTERRUPT_PRIORITY 문의
다음 4가지 우선순위 설정에 관해서 기존 시스템에 freertos 포팅시 기존시스템의 인터럽트와 충돌하지 않기 위해 설정하는거 같아 보입니다. 기존 시스템 configPRIO_BITS = 5 인 상태이며사용하던 uart interrupt priority 1인 상태에서 freertos 를 포팅하고싶은데다음에 값들이 어떤 관계가 있는지 모르겠습니다. configLIBRARY_LOWEST_INTERRUPT_PRIORITYconfigLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITYconfigKERNEL_INTERRUPT_PRIORITYconfigMAX_SYSCALL_INTERRUPT_PRIORITY
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
노션 공유 부탁드립니다!
안녕하세요. 평일 12시내로 공유해주신다는 것은 안내사항에서 봤습니다!제가 면접을 준비하고 있어 마지막 점검으로 빠르게 노션공유로 정리해보고 싶어서구글 폼 작성 후에 질문으로 남깁니다!조금 빠르게 공유를 부탁드릴 수 있을까요? 죄송합니다.
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
힙영역과 스택영역이 충돌할 수도 있는건가요?
안녕하세요! 강의 재밌게 잘 수강하고 있습니다!힙 영역과 스택 영역이 반대 방향으로 가변적으로 커지는 이유가 메모리가 겹치지 않도록 하기 위해서라고 하셨는데 반대 방향이더라도 그림과 같이 가변적으로 커지면 메모리 상에서 겹치는 부분이 생기는 것으로 보이는데 제한이 따로 있어서 상관이 없는지 궁금합니다.
-
미해결FreeRTOS 프로그래밍
섹션 5 <커널소스분석-태스크 스택메모리> 질문 드립니다!
안녕하세요 강사님 :) 1:12 부근에서 "ARM은 메모리를 높은 주소부터 낮은 방향으로 쓴다" 고 말씀하셨는데, 이것은 리틀 엔디안 방식을 이용한다는 것을 의미하는 것일까요??그리고 맞다면 인터넷에 검색해보니 ARM은 리틀 엔디안 or 빅 엔디안 중 선택해서 사용한다고 나와 있는 것을 봤는데 모든 ARM processor가 리틀 엔디안을 쓰는 것이 맞을까요..??
-
미해결FreeRTOS 프로그래밍
섹션 4 <소스코드 분석 - printf, fflush>1:52 부근에서 질문드릴 것이 있습니다!
안녕하세요 강사님! 섹션 4 <소스코드 분석 - printf, fflush>1:52 부근에서 질문드릴 것이 있습니다! 강의에서 설명해주신 것을 저는 fflush() 를 주석하면 각 Task에서 UART 통신을 통해 전송한 문자들이 바로 flush되지 않고 버퍼에 쌓이다가 buffer 한계량을 초과할 때마다 출력이 되므로 우리가 생각했던대로인 'a'가 연속적으로 절반 출력되고, 'b'가 연속적으로 절반 출력되는 것이 반복되는 결과가 발생한다고 말씀하신 것으로 이해했습니다.그러나 제가 이해가 안되는 것이 Task1, 2는 우선순위가 같고, 따라서 Task1 한 번 실행('a' 출력) -> Task2 한 번 실행('b' 출력) -> Task1 한 번 실행('a' 출력) ... 이 과정이 반복되어서 ababababababab가 출력되어야 하는 것이 아닌가요..??
-
해결됨FreeRTOS 프로그래밍
NUCLEO-L152RE 포팅문의
안녕하세요.회사에서 가지고 있는 보드가, NUCLEO-L152RE Board 모델 포팅 가능 한지 문의 드립니다. 감사합니다.
-
미해결FreeRTOS 프로그래밍
강의 "소스코드 분석-vTaskSuspend" 관련 질문 드립니다!
안녕하세요 강사님 :) 스케줄링 관련 질문이 있어 글을 남깁니다.Task2보다 우선 순위가 높은 Task1 이 vTaskDelay(1000)로 1초 동안 blocked 상태였다가 다시 ready상태로 돌아왔을 때, 혹은 vTaskSuspend() 함수로 인해 blocked상태였다가 vTaskResume() 을 통해 다시 ready상태가 됐을 때 만약 자신보다 우선순위가 낮은 Task2가 running 상태라면 우선순위가 더 높은 Task1이 ready상태이니 Task2는 running 상태에서 쫒겨나고, Task1이 running 상태가 되는 것이 맞습니까?그리고 이 때 Task2는 어떤 작업에 의해 어떤 상태가 되는지(blocked? ready?)도 궁금합니다!!
-
미해결FreeRTOS 프로그래밍
강의 "수업실습예제의 구성" 2:22부근 질문드립니다!!
안녕하세요 강사님!! C언어 함수 관련 질문 드릴 것이 있어 질문글을 작성하게 되었습니다.강의 2:22부근에 나오는 USER_THREADS() 함수는 task.c에 정의되어 있고 그 함수를 다른 .c 파일인 main.c에서 호출하고 있습니다. 보통 함수의 정의를 task.h 등의 헤더파일에 작성하고, 이후 main.c에서 #include "task.h"를 한 후 다른 .c파일의 함수를 사용할 수 있는 것 아닌가요?? 어떠한 헤더파일의 인클루드도 없이 바로 main.c에서 다른 .c파일인 task.c 파일 속 함수를 사용할 때 왜 오류가 발생하지 않는 것인가요..??
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
URI 포트번호 숨김
안녕하세요 큰돌님 :) 다름 아니라, URI에서 포트번호가 숨김되며 모든 URI는 포트번호가 존재한다고 하셨는데요,포트번호가 숨겨지는 것은 기본 포트번호인 443이나 80과 다르게, 3000인 경우(저희가 지정해준 포트번호)도 모두 숨김처리 되는 것이 여쭤보고 싶습니다!감기 조심하시고 항상 좋은 강의 해주셔서 감사합니다.