OS는 전체 시스템이 정확하고 효율적으로 동작하게 하는 데에 책임이 있다.모든 자원에 대한 책임을 갖고 syscall이 들어오면 그 자원을 가상화해서 user software에게 제공한다.OS는 resource manager이다.프로그램이 원하는 resource를 OS
CPU는 메모리와 다르게 영역을 작은 piece들로 쪼갤 수 없다. 따라서 많은 프로그램들이 CPU의 전체 영역을 공유하게 된다. 하지만 각 시점에 하나의 프로그램만 CPU를 이용할 수 있다.한 프로그램만 CPU를 사용할 수 있기 때문에 OS는 많은 CPU가 존재하는
system call은 user program이 system resource를 원하는 등의 상황에서 OS의 도움을 필요로 할 때 사용하는 인터페이스이다.user mode에서 프로그램이 실행되다가 system call을 호출하면 kernel mode에서 작업을 수행한 뒤
fork() 새로운 process를 생성하는 system call이다. OS는 fork()를 호출한 프로세스의 address space를 copy해서 동일한 address space를 가진 process를 생성한다. 새로 만들어진 process는 same address
Recap CPU는 메모리와 다르게 물리적으로 쪼갤 수 없는 구조이기 때문에 전체 time을 작은 time slice로 잘라서 그 각각의 조각을 프로세스에게 준다. CPU virtualization에서 고려해야할 것은 performance와 control이다. Dir
Scheduling scheduling은 resource를 필요로하는 프로세스들에게 이를 할당해주는 작업을 의미한다. CPU scheduling은 우리가 정한 기준에 맞춰 적절한 프로세스에게 CPU time을 할당하는 것이다. CPU scheduling을 설명하기 위
STCF(PSJF)는 turnaround time 측면에서는 좋지만 response time이 좋지 않았다. 또한 STCF는 process의 실행시간에 대한 선행지식이 필요하다는 한계점이 있었다. RR은 각 process가 얼마나 실행되는지와 관계없이 공평하게 pro
Proportional Share Scheduler Fair-share scheduler는 이전의 scheduler와는 다른 철학을 가지고 있다: Fair-share scheduler는 response time이나 turnaround time을 생각하는 것이 아니라 오
OS는 자신의 physical memory를 가상화하고 각 process가 전체 memory space를 소유하고 있다는 illusion을 심어준다.또한 OS는 각 process가 서로의 영역에 errant access를 하지 않도록 보장해준다.memory virtua
Inefficiency of the Base and Bound Approach base/bound approach를 사용하면 영역 내부에 free space의 big chunk가 생긴다는 inefficiency가 있다. 이미 한 process에게 할당된 address
Recap Fragmentation : wasted space. huge fragmentation = low utilization External : free gaps between allocated chunks request memory를 충족하지 못
Paging Linear Tables 대부분 각 process는 하나의 page table을 갖고 있다. 만약 4-KiB page로 이루어진 32-bit address space가 있고 4-byte page entry를 가지고 있다면 page table의 크기가 너
swapping은 memory virtualization의 마지막 assumption을 relax하는 것이다.다음과 같은 가정을 해보자.user의 address space는 physical memory에 연속적으로 존재해야 한다 (memory region 사이에 hol
Concurrency: An Introduction, Locks
Lock-based Concurrent Data Structure, Condition Variables
Semaphore, Common Concurrency Problems
I/O Devices
RAID (Redundant Array of Inexpensive Disks)
File and Directories, File System Implementation
Crash Consistency