본문 바로가기
CS(Computer Science)/21) 운영체제

운영체제 01

by tonyhan18 2021. 9. 4.
728x90

실재로 프로그램이 실행되면 어떤일이 일어날까? (CPU Cycle)

1. 먼저 메모리로부터 프로세서(CPU)가 명령어를 읽어들인다.

2. 읽어들인 명령어를 Decode한다.

3. 명령어에 맞추어 실행한다.

4. 그 다음 명령어로 이동한다.

이떄 OS의 역활은 다음과 같다.

1. 프로그램 실행이 쉽게 만들어준다.

2. 프로그램간 메모리 고융가 가능하게 해준다.

3. 디바이스와 프로그램간의 interact가 가능하게 해준다.

 

그래서

Program

---

OS : SW

---

HW

 

의 형태로 컴퓨터가 구성되게 된다.

 

이때 현대의 컴퓨터는 하나의 리소스를 여러 프로그램들이 concurrent하게 사용할 수 있도록 만든다.

 

Virtualization: OS는 물리적 리소스들(cpu, ssd, ram)을 virtual(가상의) 형태로 변환해준다.

 

그렇게 함으로 각각의 프로그램이 디바이스를 독점하고 있는 것처럼 보이도록 하는데 이 부분을 OS가 담당해준다.

즉 OS === virtual machine이라고 보이기까지 한다. (사용편리 + 강력)

 

이러한 디바이스를 다루기 위해 System Call이라는 것이 존재한다.

System Call : user에게 OS가 무엇을 할지를 알려준다. 그래서

 

App <-- 시스템콜 제공 - 요청 --> OS -- HW

 

간의 관계를 만들어준다.

 

OS 소수의 시스템콜들을 제안해준다.

 

 

OS는 CPU, 메모리, disk 리소스 관리자 역활을 한다.

OS는 다음을 하게끔 해주다.

1. CPU 공유

2. 메모리 중재/공유

3. disk 공유

 

 

## Virtualizing the CPU

그리하여 OS가 CPU를 가상화한다면 하나의 CPU를 수십개의 CPU를 제공하는 것처럼 보이도록하는 효과를 발휘한다.

 

이를 Virtualizing the CPU라고 부른다.

 

 

 

728x90