무료
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨운영체제 공룡책 강의
TLB에 대한 추가 질문이 있습니다.
직전 질문에서 2번 질문에 대해 약간 모호하게 질문드린 것 같습니다. 괜찮으시다면 조금 더 구체적으로 질문드려보겠습니다. ㅠㅠ 제가 강의를 듣고 이해한 바로는 다음과 같습니다. 1. 프로세스는 각자 별도의 page table을 메모리에 가집니다. 2. 메모리에 존재하는 page table에 접근해 mapping정보를 찾아 frame에 접근하는 방법은 RAM에 2회 접근하므로 느립니다. 3. 2의 방법을 개선하기 위해 page table을 TLB 캐시 메모리에 저장해 page-frame mapping 정보를 빠르게 얻어냅니다. 제가 궁금하다고 생각하는 부분은 다음과 같습니다.(과정을 잘못이해한 것일 수 있습니다.) 1. 어떤 프로세스 A가 수행되면, A의 page table을 TLB에 올립니다. 2. 프로세스 A가 수행되다 인터럽트가 발생해 프로세스 B가 CPU를 할당받습니다. 이 때 2의 과정에서 CPU는 프로세스 B를 수행하므로 CPU에서 발생하는 주소는 B의 logical address입니다. 즉, (제가 생각하기로는) B의 logical address로 A의 page table로 초기화되어있는 TLB에 접근하는 것은 올바르지 않다는 생각입니다. 따라서 어떤 방법으로 TLB를 B의 page table로 초기화하는지에 대해 궁금증이 생겨 드린 질문이었습니다. 이렇게 작성하고 나니 꽤 깊은 질문을 굉장히 함축해서 드린 질문이었군요.. ㅎㅎ 죄송합니다. ps. 만약 너무 깊은 내용이거나 추후 강의를 들어가며 이해할 수 있는 내용이라면 답변해주지 않으셔도 괜찮습니다. 언제나 좋은 강의 감사드립니다.
- 미해결운영체제 공룡책 강의
Page Table과 TLB에 대해 질문이 있습니다.
안녕하세요! 강의 잘 듣고 있습니다. 강의를 들으면서 2가지 질문이 있습니다. 1. Paging에 대한 설명 중 그림의 Page Table은 모두 하나의 덩어리로 표현되어있는데요. Page Table은 그림에서 표현되는 것처럼 하나의 덩어리로 RAM에 할당되는 건가요? 아니면 다른 프로세스처럼 Page Table 처럼 Page 단위로 할당되나요? 2. TLB는 Page-Frame 매핑 정보를 RAM에 1회만 접근해 빠르게 알 수 있도록 하기 위한 HW라고 이해했습니다. 만약 Context Switching이 발생했을 경우 TLB는 어떻게 동작하나요? 아무래도 각 프로세스 별로 별도의 Page Table을 유지하니, flush 해버리고 처음부터 TLB miss를 발생시켜 TLB를 채워나가나요? 언제나 좋은 강의 감사드립니다. 좋은 하루 되시길 바랍니다!
- 미해결운영체제 공룡책 강의
오타가 있는것 같네요
5분 30초 수식에 tn 아닌가요? 타우n이 두번 적혀있는데
- 미해결운영체제 공룡책 강의
멀티 프로세싱 환경에서의 Locking
안녕하세요! 좋은 강의 제공해주셔서 감사드립니다. 강의를 듣던 중 궁금한 점이 있습니다. 1. Producer-Consumer 실습(36:18)에서 해당 코드를 수행 시 Producer와 Consumer가 각각 1개씩만 존재할 때 가끔 Consumer가 2번씩 수행되는 이유가 무엇인가요? Producer와 Consumer가 여러 개 존재하고 소비하는 Item이 다르다면 모르겠지만, 한 개씩 존재하는데 소비하는 Item 이 같아 왜 그런지 이해가 잘 가지않습니다! 2. 만약 멀티 프로세싱 환경에서 서로 다른 프로세서에서 2개의 Producer를 동시에 수행시켜도 해당 코드에수 mutual exclusive를 보장하나요? 예를 들어 Producer1과 Producer2가 서로 다른 cpu core에서 pthread_mutex_lock을 동시에 수행하면 어떤 일이 벌어지나요? 조금 복잡한 질문 드린 것 같아 죄송합니다. 언제나 좋은 강의 감사합니다!
- 미해결운영체제 공룡책 강의
vscode에서 TESTWSL아래에 hello.c가 생성이 안돼요.
선생님께서는 vscode에서 file을 hello.c로 파일 생성하니까 자동으로 TESTWSL아래에 hello.c가 생성이 된 것으로 보이는데요, 저는 그렇게 해도 TESTWSL위치에서 ls했을때 hello.c가 안뜹니다;;
- 미해결운영체제 공룡책 강의
가상메모리와 디맨드 페이징 10-2 질문.
10.2 the procedure for handling the Page Fault 과정 슬라이드중에 2번 부분에 질문이 있는데요.. if the reference was valid, terminate the process. 라고 되어있는데, if the reference was invalid, terminate the process가 맞는거 아닌가요? 일단 page fault가 일어나면, 레퍼런스가 invalid한지 체크하고. invalid하면 abort가 일어나는것으로 알고 있습니다. 만약 valid하면 valid-invalid bit에서 i로 표기된 상태라는 의미니까, 나머지 슬라이드에 있는 과정대로 일어나는것으로 이해하고있는데요.. 제가 잘못이해한 부분이 있을까요?
- 미해결운영체제 공룡책 강의
bounded buffer problem 질문입니다
Bounder Buffer Problem에서 producer의 wait(empty)는 consumer에서 signal(empty)가 호출된 후에(또는 처음으로 producer가 실행됐다면) 다음 실행 문인 wait(mutex)로 넘어갑니다. 만약 여러 개의 producer가 있다고 했을 때, 하나의 producer가 signal(full)까지 실행하게 되면 다음 동작은 어떻게 결정되는지 궁금합니다. consumer가 호출될 수도 있지만, waiting queue에서 대기하고 있던 producer들도 호출될 수 있다고 생각되는데, 이것은 스케줄러에 의해서 결정되는 건가요?
- 미해결운영체제 공룡책 강의
질문이 있습니다!
parent 가 언제나 child보다 먼저 실행된다는 보장이 없다고 전 강의에서 설명해주셨고, 이번 강의에서도 concurrency 하게 작동한다고 얘기해주셨는데요 fork 한 이후에 child process가 먼저 파이프에서 READ 하려 먼저 시도하면 원하는 결과인 parent process가 파이프에 WRITE 한 뒤에 child process 가 READ하는 과정은 보장할 수 없지 않나요? read() 함수가 buffer에 아무것도 없다면 blocking 되는 API인가요?
- 미해결운영체제 공룡책 강의
퀴즈 #6 질문입니다
1번 문제의 답이 4번 아닌가요? 답지에서는 3번이라고 나와있습니다.
- 미해결운영체제 공룡책 강의
Blocking Send에 대한 궁금한 점이있습니다.
Blocking Send 하는 경우에, 다른 프로세스에서 Receive가 완료되어야 Blocking Send의 작업이 종료되고 제어가 돌아오나요? 메시지 패싱방식이라, Send만 완료되어도 다시 제어가 돌아와야하는거 아닐까 하고 궁금합니다.
- 미해결운영체제 공룡책 강의
안녕하세요! 교수님 질문있습니다
안녕하세요 퀄리티 좋은 강의 정말 감사합니다. 멀티쓰레딩 강의를 보면서 궁금한 점이 생겼는데요, SIMD에 대해서 입니다. 이것도 병렬 프로그래밍에 관한 개념으로 알고 있는데 쓰레드와 어떤 차이점이 있는 것인지, 내부적인 동작원리등이 궁금합니다..!
- 미해결운영체제 공룡책 강의
환경설정 중 wsl 에관한 질문입니다.
12분 경 wsl --set-default-version 2 라는 명령어로 버전을 변경 한 후 버전을 확인해보면 버전이 계속 바뀌어 있지가 않습니다. 재부팅을 해봐도 변화가 없고, 분명 이전 단계를 동일하게 수행하고 관리자 버전으로 powershell을 시작했는데도 이러한 현상이 일어납니다. 혹시 어떤 문제가 있는지 알수 있을까요? 감사합니다!