[운영체제] 운영체제의 서비스, 시스템 콜
📌 운영체제의 서비스들
📝 사용자 편의성
1. 유저 인터페이스 (GUl / CLI /터치 스크린)
2. 프로그램 실행
3. I/O 수행
4. 파일 시스템 조작
5. 통신 - 동일하거나 다른 컴퓨터 시스템의 프로세스 사이의 통신 가능하게 함.
📝 효율적인 시스템
6. 리소스 할당 - 다수개의 사용자 혹은 일을 처리할 때, 각각의 리소스에게 적당한 할당을 진행.
7. 로깅 - 어떤 프로그램이 얼마나 많은/ 어떤 종류의 컴퓨터 자원을 사용했는지 계속 추적.
8. 보호와 보안 - 다수 사용자나 네트워크 구성된 시스템이 동시 처리시 서로 방해되지 않도록 함.
📌 운영체제의 동작 - 시스템 콜 (호출)
시스템 콜이란?
운영체제에 일을 요청하고 싶을 때 요청하는 방법, 수단
듀얼 모드 (커널 모드 + 사용자 모드)
- 사용자와 OS는 시스템 자원을 공유한다.
- 근데 왜 분리됐냐? 보안 때문임.
- 사용자에게 제한을 두어, 운영체제의 자원에 직접적으로 접근할 수 없도록 함.
- 사용자가 접근할 수 없는 커널 모드 와 사용자가 접근할 수 있는 사용자 모드로 나뉜다. => 듀얼모드
- 커널 영역의 기능을 사용자 모드가 시스템 콜을 이용해 사용할 수 있도록 함.
📝 과정
유저가 커널에세 시스템 콜 요청 -> 커널은 시스템 콜 수행 -> 시스템 콜 결과를 유저에게 반환.
시스템 콜 유형
1) 프로세스 제어
- 프로세스 생성, 종료, 로드, 실행
- 프로세스 속성 가져오기, 속성 설정
- wait 이벤트, signal 이벤트
- 메모리 할당 및 해제
2) 파일 관리
- 파일 생성, 삭제, 열기, 닫기
- 읽기, 쓰기 등
3) 장치 관리
- 장치 요청, 해제
- 읽기 쓰기 재배치
- 장치 속성 가져오기, 설정
- 논리적인 장치 연결 및 분리
4) 정보 유지
- 시스템 날짜 가져오기 및 설정
- 시스템 데이터 가져오기 설정
- 프로세스, 파일 및 장치 속성 가져오기 및 설정
5) 통신
- 통신 연결, 생성, 삭제,
- 메시지 보내기, 받기
6) 보호
- 파일 권한 얻기, 설정.