'Operating Systems: Three Easy Pieces' 으로 운영체제 공부하기
OS Introduction: CPU/Memory virtualization, Concurrency, Persistency
Process는 무엇이고, 무엇으로 구성되어 있고, 어떠한 형태로 저장되어 어떻게 관리될까?
OS는 우리가 어떤 방법으로 프로세스를 생성할 수 있도록 지원해 주는걸까?
OS는 어떻게 명령어에 대한 접근 권한을 관리하고, 어떻게 프로세스로부터 CPU 제어권을 돌려 받아 다시 분배하는 걸까?
OS는 프로세스를 스케줄링 하는 걸까? 어떤게 좋은 스케줄링 방법일까?
FIFO, SJF, STCF, RR보다 훨씬 공평하고, 효율적인 스케줄링 방법인 MLFQ에 대해 알아보자.
Lottery sheduling, Stride scheduling, CFS에 대해 알아보자!
Memory Virtualization, 시작!
Memory Virtualization의 시작, Base & Bound!
Base & Bound의 Internal fragmentation 문제를 유연하게 해결하기 위한 Segmentation 기법에 대해 알아보자!
OS에서 빈 공간을 내어주고, 관리하는 방법에 대해 알아보자.
불지옥의 시작, Paging......
Paging의 속도 문제를 개선하기 위한 TLB에 대해 알아보자.
Page Table 다이어트 시킨 썰 푼다 ㅋㅋ
값싸고 양 많은 HDD로 가용 공간을 넓혀보자!
Overhead를 최소화하며 페이지를 교체하려면 어떤 정책을 사용하는게 좋을까?
Concurrency로 산뜻하게 시작하는 OSTEP 후반부,,
나 급해! 빨리 열어!
그렇게 두들겨도 안열어줄거에요
수강생이 가장 큰 공포를 느낀다는 Lock 써먹기, 제가 직접 한 번 해 보겠습니다!
Lock과 condition variable로 멀티 스레드 프로그램 제대로 구현하기!
고마워요, 다익스트라 할아버지!
DEADLock, the Nightmare of Launch day.