- Operating System, 운영체제, 사람이 컴퓨터를 쉽게 다룰 수 있게 해주는 인터페이스
- OS는 크게 네 가지 역할을 가지고 있다
- CPU 스케줄링과 프로세스 관리 - CPU를 어느 프로세스에 할당할지, 프로세스의 생성, 삭제, 반환 등을 관리
- 메모리 관리 - 한정된 메모리를 어떤 프로세스에 얼마나 할당할지 관리
- 디스크 파일 관리 - 디스크 파일을 어떤 방법으로 보관할지 관리
- I/O 디바이스 관리 - 마우스, 키보드 같은 장치와 컴퓨터 사이의 데이터를 관리
- OS의 기본 구조는 아래와 같다
- 응용 프로그램과 하드웨어 사이들을 OS라 지칭한다
- GUI - 사용자가 컴퓨터와 상호 작용할 수 있게 명령어가 아닌 아이콘 클릭 같은 단순 동작으로 상호 작용을 제공하는 인터페이스
- 시스템 콜 - 커널에 접근하기 위한 인터페이스, 유저가 OS 서비스를 받기 위해 커널 함수를 호출할 때 사용한다
- 커널 - OS 코어 부분, 메모리, 보안, 프로세스 등의 실제 OS의 중추적인 역할을 한다
관련 용어
CPU
CPU
Memory
Memory
Process, Thread
Process, Thread
Deadlock
- 교착 상태, 두 개 이상의 Process들이 하나의 리소스를 선점하려다 중단된 상태
- 보통은 한 Process가 독식하고 있거나, 각 Process가 서로의 정보를 요구할 때 발생할 수 있다
- 이를 해결할려면 애시당초.. 조건이 만들어지지 않게 설계하거나 우선 순위 개념을 만들어 겹치지 않게 관리를 할 수도 있다
- 아니면 단순 종료하는 방법도 있는데, 현대 OS에선 이 처리 비용이 크기 때문에 작업을 종료, 프로세스 응답 없음 이런 팝업을 띄우는 식으로 택했다고 한다
Signal
- 의미 그대로 신호를 뜻하는데, 소위 말하는 메시지와는 차이가 있다
- Signal은 하나의 의미만을 가지며 간단하고 빠른 전달을 위해 사용한다
- 메시지는 추가 정보, 복잡한 내용이 필요한 경우에 사용하는 것과 다르다
- 대표적으론 아래와 같은 종류들의 의미를 가지고 있다
- SIGINT : 프로세스를 종료한다
- SIGSTP : 프로세스를 중단한다
- SIGTERM : 프로세스 종료 전처리를 수행한다
가상화