본문 바로가기
CS/운영체제

[Chapter 2. 시스템 구조] 운영체제가 제공하는 서비스

by 베어 그릴스 2022. 8. 11.
320x100
본 정리는 운영체제(Operating System: Concepts) 9th edition과 22학년도 1학기 건국대학교 운영체제 수업을 바탕으로 하고 있습니다.

 

운영체제를 살펴보는 관점에는 3가지가 있다.

 

1. 운영체제가 제공하는 서비스

2. 운영체제가 사용자 및 프로그래머에게 제공하는 인터페이스

3. 시스템의 구성 요소와 그들의 상호 연결

 

우선 첫 번째 관점에 대하여 알아보자.

 

운영체제 서비스


운영체제가 제공하는 서비스는 다음과 같다.

 

1. 사용자 인터페이스 (User interface)

사용자가 운영체제와 접촉하는 방식으로, 여러 형태로 제공될 수 있다.

(1) 명령어 라인 인터페이스 (command-line interface, CLI) / 명령어 해석기 (command interpreter)

(2) 그래피컬 사용자 인터페이스 (graphical user interface, GUI)

 

* 명령어 해석기는 셸(shell)이라고 부르는데, 두 가지 구현 방식이 있다.

(1) 명령 해석기 자체가 명령을 실행할 코드를 가지고 있음

(2) 시스템 프로그램에 의해 명령을 구현 (UNIX에서 사용됨)

 

2번 방식을 파일 삭제 명령어 'rm file.txt'로 예를 들어보자.

먼저 rm이라고 불리는 파일을 찾는다. 이 파일에는 rm 명령과 관련된 기능이 코드로 완전하게 정의되어 있다.

그 파일을 메모리에 적재하여 매개변수 file.txt로 수행하는 것이다.

이 방식을 통해 프로그래머는 새로운 파일을 생성하는 것을 통해 시스템에 새로운 명령을 쉽게 추가할 수 있다.

 

2. 프로그램 수행 (Program execution)

프로그램을 메모리에 적재하여 실행한다.

 

3. 입출력 연산 (I/O operation)

운영체제가 입출력 수행의 수단을 제공해준다.

 

4. 파일 시스템 조작 (File system manipulation)

 

5. 통신 (Communication)

한 프로세스가 다른 프로세스와 정보를 교환해야 하는 경우(동일 컴퓨터에서 수행되고 있는 프로세스들 사이 / 컴퓨터 네트워크로 함께 묶여 있는 서로 다른 컴퓨터 시스템 상에서 수행되고 있는 프로세스들 사이), 다음의 방법으로 통신을 수행한다.

(1) 공유 메모리

(2) 메시지 전달 기법 : 정보의 패킷들이 운영체제에 의해 프로세스들 사이를 이동

 

6. 오류 탐지 (Error detection)

운영체제는 모든 가능한 오류를 항상 의식하고 있어야 하며, 각 유형의 오류에 대해 적당한 조치를 취해야 한다.

 


아래부터는 시스템 자체의 효율적인 동작을 보장하기 위한 운영체제 기능들이다.

 

7. 자원 할당 (Resource allocation)

여러 작업들이 동시에 실행되고 있을 때 각각에 자원을 할당해주어야 하며, 운영체제는 여러 가지 다른 종류의 자원을 관리한다.

 

8. 회계 (Accounting)

운영체제는 사용 통계를 내어 사용자가 어떤 종류의 컴퓨터 자원을 얼마나 많이 사용하는지 추적 가능하게 한다.

 

9. 보호(Protection)

서로 다른 여러 프로세스가 병행되어 수행될 때, 한 프로세스가 다른 프로세스나 운영체제 자체를 방해해서는 안된다.

보호는 시스템 자원에 대한 모든 접근이 통제되도록 보장하는 것을 필요로 한다.

 

11. 보안(Security)

외부로부터의 시스템 보안

728x90