사용자는 일반적으로 어플리케이션 즉, 프로그램만 사용한다. 그렇다면 그 사이 컴퓨터는 어떠한 일을 하는지에 대해 알아보고자 한다.
컴퓨터 시스템의 구성 요소는 다음 그림과 같이 한눈에 알아볼 수 있다.
우선 Kernel은 운영 체제 중 핵심 기능을 의미하는데 우선은 운영 체제라고 생각해도 된다.
CPU, Memory, Devices는 하드웨어의 가장 대표적인 3가지 종류이다.
이 중 CPU와 Memory를 묶어서 internal devices(내부 디바이스)라 하고 disk, printer와 같은 Devices들을 external devices(외부 디바이스)라 한다.
internal의 경우 전원을 종료 시 다 날라가는 휘발성의 성질을 띄고 있으며 레지스터, 캐시, 메인 메모리등이 이에 속한다.
external의 경우 전원을 종료해도 영구적으로 보존이 가능하며 HDD, SSD, USB 등이 이에 속한다.
위 그림은 메모리 계층구조이다.
우선 Load는 하위 계층의 저장 장치에서 상위 계층으로 올라 가는 것을 뜻하며 Store는 그 반대이다.
또한 밑으로 내려갈수록 값이 싸고, 속도도 느리다.
따라서 모든 파일들은 HDD에 저장되어 있기 때문에 실행을 위해서는 Main memory로 로드 되어야 한다. 2
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 |