운영체제 제공 기능
사용자의 편의를 위해
- 유저 인터페이스 : GUI, CLI
- 터치스크린
- 프로그램 실행
- 입출력
- 파일 시스템 조작
- 통신
효율적인 시스템 운영을 위해
- 리소스 할당
다수의 일을 동시에 처리할 때
- 로깅
어떤 프로그램이 자원을 어떻게 사용했는지 계속 로깅
- 보호와 보안
다수의 사용자나 네트워크로 구성된 시스템이 동시에 처리될 때 서로 방해되지 않도록 함
시스템 콜
- 응용프로그램에서 운영체제에게 어떠한 기능을 수행해달라고 요청하는 하나의 수단
듀얼 모드
- 사용자와 운영체제는 시스템 자원을 공유함
- 사용자에게 제한을 두어 사용자가 메모리 내의 주요 운영체제의 자원에 직접적으로 접근할 수 없도록 함
- 운영체제에서 프로그램이 구동되는데에 있어, 파일을 읽어오서나 쓰거나 화면에 출력하는 등은 커널모드를 사용
- 사용자는 커널에 요청해야함
즉 시스템 콜은 커널 영역의 기능을 사용자 모드가 사용 가능하게 하는 하나의 수단이다
- 프로세스가 하드웨어에 접근해서 필요한 기능을 사용할 수 있게 함
시스템 콜 유형
프로세스 제어
- 프로세스 생성, 종료
- 로드, 실행
- 프로세스 속성 가져오기, 프로세스 속성 설정
- Wait 이벤트, Signal 이벤트
- 메모리 할당 및 해제
파일 관리
- 파일 생성, 삭제
- 열기, 닫기
- 읽기, 쓰기, Reposition
- 파일 속성 값 확인, 지정
장치 관리
- 장치 요청, 해제
- 읽기, 쓰기, 재배치
- 장치 속성 가져오기, 설정
- 논리적인 장치 연결 및 분리
정보 유지
- 시스템 날짜 가져오기 및 설정
- 시스템 데이터 가져오기 및 설정
- 프로세스, 파일 및 장치 속성 가져오기 및 설정
통신
- 통신 연결 생성, 삭제
- 메시지 보내기, 받기
- 전송상태 정보
- 원격장치 연결 또는 분리
보호