File Systems [ Information on Disk ] · Boot Control Block : OS를 부팅하기 시스템 정보를 포함. 부팅 시에만 사용. · Volume Control Block (Superblock) : File System에 대한 정보를 포함. 보통 복제하여 저장. · Directory Structure : File의 이름과 # i-node의 매핑 정보를 가짐. 전체 File System을 관리하는 핵심 기능. · Per-file FCB(i-node) : 파일에 대한 많은 상세 정보가 들어 있음. [ Information in Memory ] · In-memory Mount Table : Mount된 File System을 관리하기 위한 Table. · In-memory D..
Virtual Memory Management [ Demand Paging ] : Page가 필요할 때만 실제 Memory에 적재하는 방식. (Lazy Swapper와 함께 사용) : Page Fault가 발생하였을 때 필요한 Page를 Physical Memory에 적재. → 해당 Page에 대응하는 Frame을 Page에 할당. : I/O 양을 줄일 수 있고, Physical Memory의 사용량을 감소. : 응답 시간이 빨라짐. · Valid / Invalid Bits : Memory에 Page가 올라와있지 않는 경우 Invalid, 올라와있는 경우 Valid Bit로 선택. : 처음에는 모든 Entry가 Invalid로 초기화되어있음. : Address Translation 시에 Invalid B..
Memory Management Strategies [ Address Translation ] : Physical Address를 Virtual Address로 변화시키는 과정으로, Runtime에 이루어짐. : Memory 접근 시마다 이루어진다. [ Memory Protection ] : 허가되지 않은 메모리 주소에 접근하는 것을 방지하는 데 사용. : 접근 시 Exception을 발생시킨다. [ MMU(Memory Management Unit) ] : Physical Memory에서 Virtual Memory로의 변환에 도움을 주는 장치. · Register : 주소 변환에 필요한 연속적인 메모리의 시작 주소 또는 크기에 대한 값을 저장하기 위해 사용. · TLB(Translation Look-a-..
Deadlock [ Deadlock ] : 둘 이상의 Process 또는 Thread가 서로 상호 배제(Mutual Exclusion)된 자원에 대해 접근하려고 할 때 생기는 문제. : 서로의 Lock이 걸린 자원을 사용하기 위해 무한히 대기하는 상황을 나타냄. [ Deadlock Conditions ] 1) Mutual Exclusion : 상호 배제. 하나의 Critical Section에는 하나의 Process 또는 Thread만 접근해야 된다는 법칙. : Deadlock의 근본적인 원인. 2) Hold and Wait : 하나의 자원을 점유한 상태에서 상호 배제에 있는 다른 자원을 요청하는 상황을 상호적으로 겪고 있는 경우. 3) No Preemption : Process 또는 Thread가 점유..
Scheduling [ Non-preemption & Preemption ] · Non-preemption : Process가 수행 중일 시 Priority가 높은 것이 들어와도 끝날 때 까지 Context Switch를 하지 않는 방식. (System Call) : ~Linux 2.4 버전까지는 이러한 방식으로 Kernel이 구성되었다. · Preemption : Process가 수행 중일 시 Priority가 높은 것이 들어오면 중간에 Context Switch를 하는 방식. (System Call) : Linux 2.6 버전부터 이러한 방식으로 Kernel이 구성되었다. : Real-Time 응용을 위해 도입. [ Dispatcher ] : Schedule..