운영체제 개요
<aside>
💡 “운영체제 : 아주 쉬운 세가지 이야기”를 읽으면서 핵심 내용을 정리하였습니다.
이화여대 반효경 교수님의 운영체제 강의를 듣고 복습 차원에서 책 한권을 완독해보고자 합니다.
</aside>
1. 운영체제의 역할
- 여러 프로그램을 동시에 실행 시킬 수 있게 도와줌
- 프로세스간에 메모리 공유를 가능하게 해줌
- 외부 디바이스와 상호작용을 가능하게 해줌
- 이외 등등… 프로세스가 물리적 자원 위에서 잘 작동할 수 있도록 도와 주는 역할
→ 운영체제가 시스템을 사용하기 편리하게 하기 위해 사용하는 중요한 3가지 특성에 대해서 앞으로 공부하게 될 것!
2. 운영체제 3가지 이야기
1) 가상화(virtualization)
- 프로세서, 메모리, 디스크와 같은 물리적 자원을 사용하기 쉽도록 가상 형태의 자원을 생성한다. 따라서 운영체제를 **가상 머신(virtual machine)**이라고 부르기도 한다.
- 사용자(응용프로그램)가 운영체제에서 제공하는 기능을 사용할 수 있도록 운영체제는 사용자에게 API를 제공 하는데 이를 **시스템 콜(system call)**이라고 한다.
<aside>
💡 API (application programming interface)
- 소프트웨어간에 서로를 이어 주는 인터페이스. 두 소프트웨어 구성요소가 서로 통신할 수있도록 해주는 메커니즘.
</aside>
a. CPU 가상화
- 하드웨어의 도움을 받아 운영체제가 시스템에 수많은 가상 CPU가 존재하는 것처럼 환상을 만들어 내어 여러 프로그램이 동시에 실행 될 수 있도록 하는 것을 CPU 가상화라고 한다.
- 다수의 프로그램이 동시에 실행될 경우 어떤 프로그램을 먼저 실행 시킬 것인지 정하는 운영체제 정책과 구현 기법에 대해 앞으로 학습한다.
b. 메모리 가상화
- 컴퓨터에서 실제 물리적 메모리의 모델은 단순한 바이트의 배열이다.