사용자: 컴퓨터를 사용하는 사람이나 장치, 다른 컴퓨터 등을 의미
소프트웨어: 컴퓨터의 기능 수행에 필요한 모든 프로그램
하드웨어: 기본 연산 자원을 제공하는 프로세서(CPU, 중앙처리장치), 메모리, 주변장치 등

운영체제: 사용자와 하드웨어 사이의 중간 매개체, 응용 프로그램 실행 제어, 자원 할당 및 관리, 입출력 제어 및 데이터 관리 등의 서비스를 제공하는 소프트웨어.
커널(kernel): 운영체제의 핵심부분, 하드웨어와 소프트웨어 사이에서 중재 역할. 운영체제의 가장 중요한 기능 담당, 컴퓨터 시스템을 관리하고 자원을 효율적으로 배분하는 역할.
인터페이스(interface): 사용자가 시스템과 상호작용 할 수 있도록 제공하는 기능. 사용자 인터페이스와 프로그램 인터페이스 존재.
운영체제의 역할
- 자원관리
- 자원보호
- 하드웨어 인터페이스 제공
- 사용자 인터페이스 제공

시스템 호출(system calls): 컴퓨터가 자원에 접근하기 위해 사용자 인터페이스 또는 응용 프로그램이 커널에 접근하기 위한 유일한 수단. (예: 카페의 주문대 직원) 👉커널서비스를 시스템 호출로 제한: 컴퓨터 자원 보호.
시스템 호출 방법
- 프로그램에서 명령이나 서브루틴의 호출 형태로 호출
- 시스템에서 명령 해석기를 사용하여 대화 형태로 호출
디바이스 드라이버(device drivers): 커널과 하드웨어의 인터페이스 역할 수행.
커널의 구조

단일형 구조 커널: 초창기 운영체제 구조. 커널의 핵심 기능을 구현하는 모듈들이 구분 없이 하나로 구성.
- 장점: 모듈간 통신 비용이 줄어들어 효율적인 운영 가능
- 단점: 복잡한 구조로 버그 수정 어려움, 작은 결함이 시스템 전체의 영향, 호환성 부족

계층형 구조 커널: 유사 기능을 가진 모듈을 하나의 계층으로 구현함. 계층 간의 통신을 통해 운영체제 서비스 지원. 👉사용자 요구에 따라 커널 크기 증가, 하드웨어 용량 증가. 커널 소스의 방대함으로 오류 잡기 어려움.

마이크로 구조 커널: 가장 기본적인 기능만 제공. 커널의 각 모듈 세분화. 👉커널이 이식하기 쉽고 가벼워 CPU 용량이 작은 시스템에도 적용 가능.
가상머신(virtual machine): 운영체제와 응용 프로그램 사이에서 작동하는 중간 프로그램. 가상 머신을 이용하면 응용 프로그램이 모두 동일한 환경에서 작동하는 것처럼 보임.
'2025-1 > 운영체제' 카테고리의 다른 글
06. 교착상태 (0) | 2025.04.13 |
---|---|
05. 프로세스 동기화 (0) | 2025.04.13 |
04. CPU 스케줄링 (0) | 2025.04.12 |
03. 프로세스와 스레드 (0) | 2025.03.22 |
02. 컴퓨터시스템 구조와 성능 향상 (0) | 2025.03.22 |