1. Coordinator
Allow things to work together efficiently and fairly through HW resource distribution
![](https://velog.velcdn.com/images/eunie/post/be049e9d-27db-4972-b492-e5b6ecb97259/image.png)
* 위 이미지에서 layer는 dependency의 의미를 가진다
* Network과 File도 I/O의 일종인데 왜 따로 다룰까?
- I/O device는 byte 단위의 I/O를 다루고 file이나 network는 block 단위의 I/O를 다루어 bandwidth에서 차이가 나기 때문에 최적화 필요
- Process
- Concurrency : 여러 user가 동시에 사용하고 있으며, 한 user는 여러 task를 동시에 수행한다
- scheduling, synchronization
- I/O Devices
- I/O device는 CPU와 concurrently 작동하며, 끝났을 때 CPU interrupt
- Memory
- 각 process는 각자 memory region을 가지며 memory와 disk 사이에 정보를 주고 받는다
- File
- OS는 space allocation을 조절하고 File로의 access를 control
- Network
- 여러 컴퓨터가 같이 work할 수 있도록 한다
2. Illusion Generator
Cleaner, Higher level interface through Abstraction
![](https://velog.velcdn.com/images/eunie/post/c829b1cd-3273-4c97-b1cc-ea0386d1d444/image.png)
- examples : time-sharing, virtual memory
- 보통 성능 때문에 illusion fail할 수 있음, thrashing
3. Standard Library
Provide standard facilities