-
2024 운영체제 정리 - 1. 운영체제란
- 1. 운영체제란
- 2. Process & Thread
- 3. IPC
- 4. CPU Scheduling
- 5. Synchronization
- 6. Virtual Memory
- 운영체제란 ?
- 실행할 프로그램 또는 프로세스들을 1) CPU에 효율적으로 스케쥴링하며, 2) 메모리에 할당하는 역할을 하는 것
- Linux, MacOS, Windows 등이 있음
- 메모리는 주로 1) 커널 영역과, 2) 사용자 영역으로 나뉘어지는데,
- 운영 체제는 여기서 커널 영역에 위치하여 사용자 영역에 있는 실행 프로그램을 관리한다
- CPU는 1) 커널 모드와 2) 사용자 모드로 명령어를 실행하는데,
- 커널 모드에서는 하드웨어에 저장된 자원들을 직접 접근할 수 있으며
- 사용자 모드는 불가능하다 그래서 사용자 모드에서 자원에 접근하기 위해선 커널모드로 전환을 해야 하고 이 때 "System Call"이라는 게 필요하다
- 운영체제에 따라 이런 CPU와 메모리 관리 전략은 달라진다
시스템 콜(System Call)의 종류
- 프로세스 컨트롤 : fork, wait, exec 등 ...
- 파일 매니지먼트 : open, read, write, close 등 ...
- 보안 : permission
- 통신 : 메세지 송수신 ...
- 위에 적은 정의와 같이, 우리가 (학교에서) 배우는 운영체제는 크게 두 가지 갈래로 나뉘어진다고 볼 수 있다
- CPU 관리 (스케줄링)
- 여러 프로세스가 CPU에 의해 어떻게 빠르게 연산되고 실행될 것인가?
- 메모리 관리
- 여러 프로세스가 어떻게 메모리에 효율적으로 할당될 것인가?
- 따라서 이런 실행 흐름의 단위인 프로세스의 특징을 아는 것이 굉장히 중요하다!
- 다음 포스트에서는 프로세스에 대한 특징과 그 구성에 대해서 정리할 것이다.