[컴퓨터공학] 운영체제 구조 - 시스템콜
운영체제 구조
패스트캠퍼스 강의 보면서 정리하고 있습니다
운영체제는 사용자 인터페이스 제공
- 쉘 (Shell)
- 사용자가 운영체제 기능과 서비스를 조작할 수 있도록 인터페이스를 제공하는 프로그램
- CLI, GUI 환경
운영체제는 응용프로그램 인터페이스 제공
- API(Application Programming Interface)
- 각 언어별 운영체제 기능 호출 인터페이스 함수
- ex : open()
- 보통은 라이브러리 형태로 제공
- 시스템콜
- 시스템콜 또는 시스템 호출 인터페이스
- 운영체제가 운영체제 각 기능을 사용할 수 있도록 시스템콜이라는 명령 또는 함수 제공
- API 내부에는 시스템콜을 호출하는 형태로 구성
CPU Protection Rings
- 두 가지 모드
- 사용자 모드 : 응용 프로그램이 사용
- 커널 모드 : OS가 사용, 특권 명령어 실행과 원하는 작업 수행을 위한 자원 접근을 가능케 함
- 함부로 응용 프로그램이 전체 컴퓨터 시스템을 해치지 못함
시스템콜
- 커널 모드에서만 실행 가능한 기능이 있음
- 커널 모드로 실행하려면 반드시 시스템콜을 사용해야함
- 시스템콜은 운영체제 제공
- 프로그래밍 언어별로 운영체제 기능을 활용하기 위해 시스템콜을 기반으로 API 제공
- 응용프로그램은 운영체제 기능 필요시 해당 API를 사용해서 프로그램을 작성
- 응용 프로그램 실행 -> 운영체제 기능에 필요한 API 호출 -> 시스템 호출 -> 커널모드 변경 -> OS 내부 해당 명령 실행 -> 다시 응용프로그램