컴퓨터공학
[운영체제] 운영체제 구조
walk_through_me
2019. 11. 5. 19:13
시스템콜(System Call, 시스템 호출)
- 운영체제의 커널이 제공하는 서비스에 대해, 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스
- 시스템 콜 또는 시스템 호출 인터페이스 운영체제가 운영체제 각 기능을 사용할 수 있도록 시스템 콜이라는 명령 또는 함수를 제공함
- 라이브러리 형태(API)로 제공되며, API 내부에는 시스템콜을 호출하는 형태로 만들어지는 경우가 대부분
- 보통 시스템 콜을 직접 사용하기보다는 해당 시스템콜을 사용해서 만든 각 언어별 API를 이용함
- 예로, 유닉스 기반의 POSIX가 있음
시스템콜의 유형
- 프로세서 제어(process Control)
- 파일 조작(file manipulation)
- 장치 관리(Device Management)
- 정보 유지(Information maintenance)
- 통신(Communication)
※ 운영체제 만든다면
1. 운영체제를 개발한다 (Kernel) → 2. 시스템콜을 개발 → 3. C API (library)를 만든다 → 4. Shell 프로그램을 만든다 → 5. 응용프로그램 개발
- 운영체제는 사용자 인터페이스도 제공
- 쉘(Shell) : 사용자가 운영체제 기능과 서비스를 조작할 수 있도록 인터페이스를 제공하는 프로그램
- 터미널 환경(CLI)와 그래픽 환경(GUI) 두 종류로 분류
Users - Application/(shell) - OS - Hardware(CPU, memory, storage, network)
- 사용자모드 : 함부로 응용프로그램이 전체 컴퓨터 시스템을 해지지 못하게 함
- 커널 모드 : 특권 명령어 실행과 원하는 작업 수행을 위한 자원 접근을 가능하게 하는 모드로 OS가 사용함
- 시스템콜은 커널모드로 실행 → 커널모드에서만 실행 가능한 기능들이 있음
- 커널모드로 실행하려면 반드시 시스템 콜을 거쳐야함