WEEK08 강의 요약
1. 왜 OS를 사용 해야 하나?
- 하드웨어 사용을 위한 API 제공
- 하드웨어의 디테일한 정보를 숨기면서 사용할 수 있다.
2. OS의 주요 역할과 목적
- Hardware를 사용하기 위해 abstraction 한다.
- Application 사용을 위해 API를 정의
- Hardware를 보호하고 고립 시킨다.
- Application 악의적인 버그나 동작들을 견제한다.
- Application을 버그로 부터 보호한다.
- 하나의 Application을 구분시킨다.
- Resources를 공유한다.
3. Abstraction이란?
- 세부사항을 숨기고, 어려운것을 이해하기 쉽게 하는것
- 너무 현실적이여도 안되고, 그렇다고 너무 abstract해도 안된다.
- 따라서 운영체제의 디자인은 Abstraction해야 한다.
4. Hardware의 Abstraction은 어떻게?
- 우린 hardware resources를 각각 abstraction 해야 하고, 이를 process에 binding 한다.
- CPU → Virtualizing CPU
- Memory → Virual address space(VAS)
- Storage → File
- API는 OS디자인을 위해 System call을 제공 한다.
5. OS 디자인의 첫번째
- 각각의 Application이 단일 시스템에서 실행되는 것 처럼 보이게 하는 Abstraction해야한다.
- 이것을 Process라고 하자(=Executed application)
6. Process란?
- 하나의 컴퓨터를 Abstraction 했다고 생각하자