사용자는 일반적으로 어플리케이션 즉, 프로그램만 사용한다. 그렇다면 그 사이 컴퓨터는 어떠한 일을 하는지에 대해 알아보고자 한다.
컴퓨터 시스템의 구성 요소는 다음 그림과 같이 한눈에 알아볼 수 있다.
우선 Kernel은 운영 체제 중 핵심 기능을 의미하는데 우선은 운영 체제라고 생각해도 된다.
CPU, Memory, Devices는 하드웨어의 가장 대표적인 3가지 종류이다.
이 중 CPU와 Memory를 묶어서 internal devices(내부 디바이스)라 하고 disk, printer와 같은 Devices들을 external devices(외부 디바이스)라 한다.
internal의 경우 전원을 종료 시 다 날라가는 휘발성의 성질을 띄고 있으며 레지스터, 캐시, 메인 메모리등이 이에 속한다.
external의 경우 전원을 종료해도 영구적으로 보존이 가능하며 HDD, SSD, USB 등이 이에 속한다.
따라서 모든 파일들은 HDD에 저장되어 있다.1
위 그림은 메모리 계층구조이다.
우선 Load는 하위 계층의 저장 장치에서 상위 계층으로 올라 가는 것을 뜻하며 Store는 그 반대이다.
또한 밑으로 내려갈수록 값이 싸고, 속도도 느리다.
따라서 모든 파일들은 HDD에 저장되어 있기 때문에2 실행을 위해서는 Main memory로 로드 되어야 한다.
Main memory에는 다음과 같이 2가지 종류가 있다.
일리노이 아키텍쳐(폰 노이만 머신) : 프로그램 메모리와 데이터 메모리가 구분되어 있지 않고 하나의 버스를 가지고 있다.
하버드 아키텍쳐 : 프로그램 메모리와 데이터 메모리가 분리되어 있고 각각의 버스를 가지고 있다.
하버드 아키텍쳐는 주로 아두이노 등에서 사용하며 여기서는 일리노이 아키텍쳐만 생각한다.
모든 internal activities는 CPU가 Main memory를 사용한다는 뜻을 가진다.
프로그램은 단 2가지 뿐이며 User프로그램과 OS프로그램으로 갈린다. 즉, User프로그램이 아니라면면 OS프로그램이다.
여기서의 컴퓨터는 multi-user 시스템3이라 가정한다.
OS는 프로세스와 리소스를 management하며 프로그램들을 control한다.
- 프로세스 management : run, stop, exit 등 뿐 아니라 scheduling, communication 등도 한다.
- 리소스 management : CPU, 메모리, 디바이스 등의 물리적인 리소스 뿐 아니라 파일 등의 논리적인 리소스도 관리한다.
- 프로그램 control : div/0와 같은 에러들을 방지한다.
또한 OS는 모든 유저(모든 프로그램)을 행복하게 해야한다.4
이를 위해서는 빠르고 공정하며, 유저 편의성, 효율적인 리소스 관리 등을 필요로 한다.
'운영체제' 카테고리의 다른 글
| OS Structure, Hardware Protection (0) | 2020.07.07 |
|---|---|
| 메모리 (0) | 2020.07.06 |
| interrupt의 도착 이후 (0) | 2020.04.13 |
| OS의 가동 및 interrupt (0) | 2020.04.06 |
| CPU 명령 실행 과정 (0) | 2020.03.29 |