11,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
공유자원과 임계구역
안녕하세요 선생님강의 정말 잘 듣고 있습니다..!레지스터에 대한 설명이 잠깐 나와서 궁금한 점이 생겼는데요..!생산자-소비자 문제를 설명하시면서, sum = sum + 1;sum -= 1;기계어로 쪼개보면 원자성이 보장되지 않아 문제가 발생하는 것을 확인했습니다.그런데 값을 읽고, 연산할 때 eax 레지스터를 사용하는 것으롭 봤는데요..!두 곳에서 사용되는 각 eax는 이름만 같을 뿐 사용되는 영역은 달라서 위에 eax는 1이고, 아래의 eax는 -1을 가지는 건가요??
- 해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
DMA와 고성능 소켓관련 질문입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강의를 보다 IOCP를 사용할 경우 사용자의 메모리에 바로 copy되는 부분을 보고 몇가지 글을 읽은뒤 궁금한점이 생겨 질문드리게 되었습니다. 먼저 IOCP를 사용할 때 SO_RCVBUF의 사이즈를 0으로 한 후에WSARecv()함수를 사용하여 사용자 메모리를 재공했을 떄 혼잡제어가 어떻게 동작하는 지 궁금합니다. 혼잡제어가 사용자가 제공한 메모리 크기기 준으로 동작허게 되나요?
- 해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
2강 DMA와 고성능 소켓 질문
안녕하세요 널널한 개발자님?강의 정말 잘 듣고 있습니다NIC 설명에서 제가 이해한 게 맞는지 헷갈려서 질문드립니다.프로세스 - I/O Buffer - TCP/IP - NIC RAM그림상 이렇게 있다고 이해했는데 이 네 개의 영역은 실제 하나의 RAM 내부 어딘가 (각 영역이 차지하는)에서 copy가 반복적으로 이뤄지는 구조인데, 이를 DMA를 사용해서 한 번의 copy로 해결한다라고 이해하면 맞는 걸까요??
- 해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
I/O 관리자, 메모리 매니저 사용 이유
2강 5분 40초 경에서 요새는 메모리 매니저라는 것을 통해메모리에 직접 제어하지 않고 간접으로 제어한다고 하셨는데 이를 통해 얻는 이점이 무엇인가요?그리고 결국에 CPU 안으로 north bridge의 역할을 일부 들여왔다라고 하셨는데 이거는 직접 관리하는 게 아니라 CPU 내에 north bridge 역할을 하는 칩이 들어와서 여전히 간접적으로 통제를 하지만 CPU 제조사에서 직접 만들기 때문에 메인보드의 영향을 줄였다라고 이해했는데 맞을까요?
- 해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
*pszResult =A; 포인터 사용 부분에 대한 질문입니다.
java 백엔드 개발자입니다.수업을 듣는 도중, 실제 물리 주소에 할당되지 않은 VMS 위치에 어떻게 접근하여 값을 할당하는지 이해가 잘 되지 않습니다.다른 질문을 읽어보면서 유추하건데, 제가 java 언어만 얕게 사용할 줄 알아서 C와 포인터에 대한 이해가 부족해서 그런것 같다는 생각이 들기도 합니다.C언어에서는, 실제 물리 메모리에 할당되지 않은 VMS 위치에 직접 접근하여 값을 할당할 수 있는 걸까요? 그게 강사님께서 말씀하신 포인터의 권력인걸까요?작년 말쯤 강사님께서 java에 대해 학습하시는 영상을 유튜브로 본 적이 있는데, java에서도 그러한 환경과 상황이 나올 수 있는 것일까요? 일반적인 웹 어플리케이션 개발을 하는 환경에서는 들어보지 못한 상황과 에러라서 궁금해서 질문 남깁니다!+ 유튜브 영상으로 올려주시는 조언과 공학 지식들을 잘 듣고 있습니다. 항상 좋은 내용들을 쉽게 전달해주셔서 감사합니다.
- 해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
교착상태와 게임이 튕기는 현상
교착 혹은 wait가 걸리게 되면 os가 감시하여 강제종료 후 메모리를 회수하게 되는데 그 예로 들수있는것이 게임하던중 어떠한 이유로 튕겼을때 / 프로그램 응답대기가 맞을까요?
- 해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
멀티스레딩
안녕하세요, 선생님.(참고로 저는 C++언어를 모릅니다..)"멀티스레딩과 동기화 기본"강의에서main 함수가 부모 프로세스이고 차일드 프로세스로 별개의 프로세스고threadFuncton01,02,03은 하나의 _beginthread로 인해 멀티 스레딩이 되고 하나의 프로세스안에 threadFunction01,02,03이 있는 걸로 이해했습니다.맞을까요 ? Q1) Sleep()함수가 없을 때, threadFunction01,02,03이 실행되기도 전에 main함수가 종료되었는데, 그래서 threadFunction01,02,03이 실행이 되지 못해서 end가 안찍혔는데, main함수가 종료되었는데 threadFunction01이 나중에 종료될 수 있는지도 ... 설명 부탁드립니다.. Q2) 저는 큐가 한 개인 걸로 이해했는데요, 큐에 main함수 스레드를 m-1, threadFunction함수 스데드를 t-1, t-2, t-3로 한다면, [m-1, t-1, t-2, t-3] 순으로 큐에 있다가 sleep 때문에 m-1이 큐에서 빠졌다가 100ms 지나서 되돌아 올 때, 코어가 8개니까.. t-1, t-2, t-3가 임의의 코어가 나눠가졌는데.. 그 코어의 스케쥴링에 따라서 운이 좋게 t-3가 먼저 실행되어서 순서가 threandFunction01,03,02로 출력된 거라고 이해하면 될까요 ?Q3) 큐에 스레드가 쌓일 때, 함수의 실행 순서랑은 상관 없이 쌓이는 건가요...? Q4) 스레드의 실행 순서는 알 수 있다면.. 프로세스는 순서대로 실행되나요..?
- 해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
자료구조 공부
안녕하세요, 선생님.새해 복 많이 받으세요.좋은 강의 잘 보고 있습니다.운영체제 강의 수강하면서 운영체제 및 가상 메모리를 잘 이해하려면 C언어를 공부해야하는 게 전제 조건일까요.. ?저는 1년차(비전공자)백엔드 개발자로 자바스크립트를 사용하고 공부해오고 있는데요... 선생님의 로드맵으로 강의를 수강하면서 c언어 공부도 해야 이 강의를 좀 더 이해할 수 있는 건가 해서 문의드립니다. 감사합니다.
- 해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
윈도우 레지스트리 질문
강의에서 강사님이1.레지스트리란 파일과파일 통ㅇ신할때 파이프보다 강하고파일과 메모리의 기능을 가지고있다하셨는데요레지스트리는 정책설정하는거 아닌가요? 정책설정으로 파일과 메모리기능을 할수있는건가요? 2.넓고 얕게 강의에서 하드디스크는 섹터마다 데이터를 나눠서 저장한다고하셨는데요혹시 리눅스에서 데이터 저장할때 블록으로 저장하는거랑 비슷한 이유인가요?(둘다 메모리 낭비의 문제가 있지만)
- 해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
파일시스템과 가상메모리
강사님이 유저레벨에서 커널레벨로 가려면 파일을 통해서 가는거라 했잖아요 리눅스에서/dev /sys 등 이런 디렉터리에서 파일들을 정리해놓은게 파일시스템이잖아요근데 이 파일시스템의파일들이 강사님이 말한 그 파일인가요?? 만약 제가 맞게 이야기한거라면 파일시스템은 유저수준인가요?? (파일이라는게 커널과 유저를 연결하는 것도있으니까)그리고 커널수준의 프로그램에게 전달하죠? 프로세스 마다 가상메모리를 사용한다고 하셨는데요 리눅스의 프로세스는 혹시 리눅스의 swap에 있는 거에서 쓰는거 맞죠?
- 해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
Page fault 메시지가 나오면 스왑 인, 스왑 아웃은 일어나지 않는 건가요?
12:40 부분에서 *pszResult = 'A';를 하고pszResult에 저장된 주소가 51이고 페이지 5에 있다고 가정하시는 부분에서 궁금한 점이 있습니다. 페이지 테이블의 5번에 invalid라고 되어 있어서 Page fault 에러 메시지가 나온다고 하셨는데이런 경우 찾는 데이터를 스왑 영역에서 물리 메모리로 가져 온 후, 잘 안 쓰는 데이터를 스왑 영역으로 보낼 줄 알았는데 에러 메시지가 뜬다는 것은 스왑 인, 스왑 아웃이 일어나지 않았다는 건가요?스왑 인, 스왑 아웃이 일어나지 않고 에러 메시지가 나는 이유는 무엇인가요? 스왑 인, 스왑 아웃이 일어날 때와, 일어나지 않을 때가 따로 구분되어 있나요?
- 해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
가상 주소, 절대 주소 부분이 헷갈립니다.
강의 2:00에 나온 오른쪽 그림 7-12(책 343p)에 나온 그림에 대해 질문이 있습니다. 이 그림은 운영체제 영역과 사용자 영역이 나뉘어 있는데프로세스별로 할당하는 가상 메모리마다 운영체제 영역과 사용자 영역으로 나뉜다고 보면 되는 건가요? 조금 헷갈리는데, 이 그림을 가지고 예를 들어서 프로세스가 2개 있다고 하면 2개의 프로세스 모두 각자가 가진 가상 메모리의 운영체제 영역이 0~360까지이고, A 프로세스의 가상 주소 10번지는 실제 물리 주소로 370이고, B 프로세스의 가상 주소 10번지도 실제 물리 주소로 370이 되는 건가요? 물리 메모리는 하나이니까요. 그럼 물리 메모리의 370번지를 두 프로세스 모두 사용하는 거라 말이 안 되는 것 같은데 제가 뭔가를 잘못 이해한 것 같은데 어디서 오해를 하고 있는지 모르겠습니다.. 혹시 잘못 이해하고 있는 부분을 바로잡아 주실 수 있나요?
- 해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
운영체제 스레드 공부 중 궁금한 점 있습니다.
안녕하세요. 강의 잘 듣고 있습니다. 몇 가지 궁금한 내용이 있습니다. 1)운영체제 책 170p(강의 9분 40초에 나온 사진)을 보면 스레드 내부에 레지스터라고 써져 있는데스레드에 레지스터가 있는 게 아니라 Core의 레지스터 정보를 스레드에 저장해 둔다고 보면 되나요?(문맥 교환을 위해)스레드 그림 내부에 레지스터라고 써져 있어서 스레드에 레지스터가 있다고 말하는 건지 궁금했습니다. 2)PCB와 TCB가 따로 있다고 배웠는데, 만약 1개의 프로세스 내부에 스레드가 여러 개 있다고 할 때, 하나의 스레드는 실행 중인데 다른 스레드는 대기 상태, 또 다른 스레드는 준비 상태, 또 다른 스레드는 보류 상태일 수 있는 건가요?그럼 이 상황에서 그 스레드들이 속한 PCB의 상태는 어떤 상태를 말하고 있나요? 3)sleep() 함수에 대해 궁금한 점이 있습니다.프로세스 상태를 말할 때 생성, 준비, 실행, 대기, 종료, 휴식(sleep), 보류(suspend) 이런 상태들을 배웠는데아래 코드에서의 Sleep()은 휴식 상태를 말하는 게 맞나요? 아니면 대기 상태인가요? 주석에선 대기 상태라고 적혀 있어서 혹시 프로세스 상태에서의 대기를 의미하는 건지 궁금했습니다.
- 해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
직업 관련 질문
안녕하세요 넓고얕게배우는 컴공 강의 좋아서 운영체제도 신청 했습니다 혹시 리눅스 엔지니어와 리눅스 시스템 개발자 둘이 장단점이 어떤가요?? 2.어제 사이버보안 인력 생태계 붕괴 위기 상황과 취업을 준비하는 분들을 위한 의견 - YouTube여기 올리셨네요 보안이야기 나와서 질문 드리는데요 만약 해킹을 집털이에 비유한다면 개발자가 열쇠전문가라 들었습니다. 그러면집의 cctv 방범시스템(에즈원 ) 이런거 무력화시키는건 엔지니어인가요??
- 해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
페이징 기법의 주소 변환
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 선생님, 페이징 기법의 주소 변환에서 페이지 테이블을 확인했을때 페이지 주소와 사상되는 프레임이 Invalid 하면 Page fault 가 출력된다고 하셨습니다. Segmentaion으로 관리했다면 Segmentation fault가 출력 된다고 하셨는데 여기서 말하는 Segmentation은 물리적 체계에서 일정단위로 자르는 것을 말하므로 Frame 대신 Segment 일때 Segmentation fault 가 출력된다는 것인가요?? 페이지 -> 페이지테이블에서 페이지와 사상되는 프레임 없음 -> Page fault 페이지 -> 페이지테이블에서 페이지와 사상되는 Segment 없음 -> Segmentation fault 라는 뜻 인가요??
- 해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
PCB에 들어있는 정보
안녕하세요. 매번 기초적인 질문을 남겨드려 죄송하고 감사합니다. PCB에 들어 있는 정보를 설명하실 때,첫번째, PID 라고 하셨고,두번째, 메모리에 관한 정보를 말씀하시면서 가상메모리 이야기를 하셨는데 Stack, Heap, Code, static 이야기를 하셨습니다.그럼 PCB의 메모리에 관한 정보는 저 위에 것들 다 있다고 보면 될까요? 아니면 실행중인 기계어 명령이 저장된 메모리의 주소만 담고 있는 건가요?? (왜 실행중인 이라는 이야기가 들어가 있는지도 잘 모르겠습니다 ㅠㅠ) 프로그램이 메모리에 올라와 프로세스가 되는 과정 그림에서 왼쪽에 있는 사각형을 메모리라고 표현했는데 저기서의 메모리는 Virtual memory라고 해야 하나요??Process 단위로 virtual memory가 주어진다고 알고있는데 프로세스들이 같이 있어서 헷갈리네요 ㅠㅠㅠ
- 해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
전가상화 질문
CPU 예측이 가져올 수 있는 문제점을 설명할때 전가상화에서 일어날 수 있는 사례를 설명해주셨습니다! 아마존 AWS를 쓰고 있는데 돈내고 VM하나 받아서 운영하고 있었다.나는 인증서도 저장했다. 그것을 나랑 같은 아마존 service를 쓰는 놈 중에 나랑 같은 H/W에 Machine이 올라가있는 누군가가 이런식으로 공격하면 내 인증서가 털린다. 라고 말씀해주셨는데 여기서 나랑 같은 H/W가 아마존 AWS를 유지하는 서버의 H/W를 말하는 건가요??
- 해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
CPU와 RAM
안녕하세요 선생님의 강의를 정리하고 다시 듣고 정리하는 중에서 질문이 있습니다. CPU가 RAM을 직접 통제 한다는 건 옛날이고 지금은 메모리매니저(입출력 관리자)역할을 하는 칩을 통한 간접통제라고 하셨는데요. 그 이후, 메모리 매니저가 들어간 칩이 매우 중요하다는 설명을 하면서과거(bridge chipshet)와 현재(chipset)가 다른 이 칩을 그림을 통해 과거와 현재를 비교해주셨습니다. 현재에는 비싼 cpu썼는데 메인보드 때문에 성능 안나오는 일이 벌어져서 Northbridge가 가진 기능 일부를 cpu가 가져간다는 이야기를 하시면서 CPU가 RAM을 직접통제 한다는 말을 하셨는데 모순되는 말아닌가요???
- 해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
멀티태스킹, 멀티쓰레드에서 질문이 있습니다.
강사님 좋은 강의 감사합니다.정확하게 이해를 하지 못해서 질문을 남겨봅니다.cpu에서 실행 단위가 쓰레드라고 말씀해주셨는데 cpu가 쓰레드를 하나씩 대기 큐에서 코어가 감당할수 있는 쓰레드만큼 꺼내서 실행하고 다음 쓰레드를 실행한다고 이해를 했습니다.멀티 태스킹은 하나의 os안에 여러 프로세스가 실행이 가능하게 한다는 의미로 이해를 했는데 그러면 프로세스 A 안에 있는 쓰레드 A-1, A-2,A-3이 있고프로세스 B안에 있는쓰레드 B-1,B-2,B-3가 있다면 대기큐에 [ A-1,A-2,A-3,B-1,B-2,B-3 ]있다고 할때CPU 코어가 3개라면A-1,A-2,A-3 쓰레드를 꺼내서 실행하고 빠르게 B-1,B-2,B-3를 꺼내서 실행하는걸 반복하다보니사용자 입장에서는 A,B 프로세스 둘 다 같이 동작하느거처럼 느낀다고 보는걸까요?
- 해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
소켓은 파일이라 하셨는데..
강사님 안녕하세요. 강사님 강의를 쭉 보다가 의문이 생겨 질문 드립니다.네트워크 통신에서 소켓이 파일이라 하셨는데 이 부분이 이해가 가지 않습니다.파일이라 함은 2차 메모리에 저장되는 포맷(파일이라는 형태로 저장된다고 말씀하셨습니다.) 아닌가요?하지만 소켓 통신은 Ram 수준에서 버퍼를 통해 통신하지 않습니까?'소켓의 본질은 파일이다.' 가 무슨 의미인지 이해가 가지 않습니다.