1. 운영체제 서비스
운영체제가 사용자의 편의성을 위해 제공하는 기능
- 유저 인터페이스
- GUI (Graphic User Inteface) : 그래픽 기반 사용자 인터페이스
- CLI (Command Line Interface) : 명령어 기반 사용자 인터페이스
- 프로그램 실행
- 시스템은 반드시 메모리에 프로그램을 적재하고, 실행하고, 구동 종료까지 가능하게 함
- I/O 수행
- 실행 프로그램에 입출력이 필요할 경우 지원
- 파일 시스템 조작
- 파일 및 디렉토리 읽기/쓰기/생성/삭제 지원. 사용자 권한 관리
- 통신
- 동일하거나 다른 컴퓨터 시스템의 프로세스 사이의 통신을 가능하게 함
운영체제가 효율적인 시스템 운영을 위해 제공하는 기능
- 리소스 할당
- 다수개의 사용자 혹은 일을 동시에 처리할 때, 각각의 리소스에게 적당한 할당을 진행
- 로깅
- 어떤 프로그램이 얼마나 많은/어떤 종류의 컴퓨터 자원을 사용했는지 계속 추적
- 보호와 보안
- 다수 사용자나 네트워크 구성된 시스템이 동시 처리 시 서로 방해되지 않도록 함
2. 운영체제 동작 - 시스템 콜
시스템 콜
- 응용프로그램에서 운영체제에게 어떠한 기능(시스템 자원)을 수행해달라고 하는 하나의 수단
- 커널 영역의 기능을 사용자 모드가 사용 가능하게 하는 하나의 수단
- 프로세스가 하드웨어에 접근해서 필요한 기능을 사용할 수 있게 함
듀얼 모드
- 사용자 모드
- 사용자에게 제한을 두어 사용자가 메모리 내의 주요 운영체제 자원을 직접적으로 접근할 수 없도록 함(보안)
- 커널 모드
- 운영체제에서 프로그램을 구동할 때 파일을 읽어오거나, 쓰거나 화면에 메시지를 출력하는 등 많은 부분이 커널모드를 사용
시스템 콜 예제
- 'cp in.txt out.txt' 명령 수행 시 처리 과정
- Input 파일명, Output 파일명을 받습니다.
- Input 파일을 열고, Output 파일을 생성합니다.
- 루프를 생성하고 Input 파일을 읽고, Output 파일에 씁니다.
- Input 파일에 더 이상 읽을 내용이 없다면 루프를 종료하고 Output 파일을 닫습니다.
- 스크린에 메시지를 전송하고 종료합니다.
시스템 콜 유형
- 프로세스 제어
- 프로세스 생성, 종료
- 로드 실행
- 프로세스 속성 가져오기, 프로세스 속성 설정
- Wait 이벤트, Signal 이벤트
- 메모리 할당 및 해제
- 파일 관리
- 파일 생성, 삭제
- 열기, 닫기
- 읽기, 쓰기, Reposition
- 파일 속성 값 확인, 지정
- 장치 관리
- 장치 요청, 해제
- 읽기, 쓰기, 재배치
- 장치 속성 가져오기, 설정
- 논리적인 장치 연결 및 분리
- 정보 유지
- 시스템 날짜 가져오기 및 설정
- 시스템 데이터 가져오기 및 설정
- 프로세스, 파일 및 장치 속성 가져오기 및 설정
- 통신
- 통신 연결 생성, 삭제
- 메시지 보내기, 받기
- 전송상태 정보
- 원격장치 연결 또는 분리
- 보호
- 파일 권한 얻기 및 설정
'CS > 운영체제' 카테고리의 다른 글
[운영체제-6] 프로세스 동기화 (0) | 2021.11.10 |
---|---|
[운영체제-5] CPU 스케줄링 (0) | 2021.11.10 |
[운영체제-4] 스레드와 동시성 (0) | 2021.11.09 |
[운영체제-3] 프로세스 관리 (0) | 2021.11.09 |
[운영체제-1] 운영체제 개요 (0) | 2021.11.08 |