미래와 연결될 첫걸음

#2.1 System Structures - OS services 본문

Infra/OS

#2.1 System Structures - OS services

Traveler:) 2022. 1. 10. 23:54

OS는 사용자(User) 측면과 시스템(System) 측면에서 프로그램을 실행하기 위한 여러 services를 제공합니다.


▶ 사용자(User) 측면

  • User interface(UI) : 거의 모든 OS는 UI를 가지고 있고, 여러 형태를 가지고 있습니다. text명령어를 사용하는 Command-Line Interface(CLI), file에 명령어가 들어가 있고, 이 file 실행시킴으로 명령어를 실행하는 batch interface, 대게 일반적으로 사용되는 Graphical User Interface(GUI)가 있습니다. UI 서비스를 OS에서 지원해줍니다.

 

  • Program execution :  프로그램이 memory에 Load하여 프로그램을 실행되는 것, 또 정상적이든 비정상적이든 종료시키는 것을 OS에서 지원합니다.

 

  •  I/O operations : 실행중인 프로그램은 I/O를 필요로 할 수 있으며, 특히 CD나 DVD에 기록하는 등 특정한 I/O 장치는 특정한 기능이 필요합니다. 이러한 기능을 효율과 보호차원에서 사용자가 직접적으로 컨트롤할 수 없도록 하고 대신 OS에서 지원합니다.

 

  •  File-system manipulation : 프로그램은 반드시 폴더나 파일에 read(읽기), write(쓰기), create(생성), delete(제거), search(검색) 등이 필요하기 때문에 파일시스템은 상당히 중요합니다. 소유권에 따라 이러한 것을 가능하도록 권한주거나 거부하는 것을 OS가 해줍니다.

 

  • Communication : 같은 컴퓨터 혹은 네트워크 내에서 한 컴퓨터에서 다른 컴퓨터로 프로세스끼리 정보를 교환 할 때, shared memory 영역에 읽거나 쓰는데 이를 OS가능하게 해줍니다. 또, message passing을 통해 packet들이 프로세스끼리 이동하는 것도 OS가 해줍니다.

 

  •  Error detection : OS는 다양한 곳(CPU, memory, I/O device등)에서 발생하는 error를 발견하거나 고쳐줍니다. 

▶ 시스템(System) 측면

  •  Resource allocation : 여러 사용자나 job이 동시에 발생될 때 resources(CPU, memory 등)은 반드시 각각 그들에게 할당되어야 합니다. 예를 들어, CPU 속도와 같이 반드시 실행되어야 하는 것들과 사용가능한 register에 따라 CPU가 효율적으로 쓰이도록 CPU-scheduling routines이 짜여져 있습니다. 이러한 routine들이 resource type에 따라 짜여져 있으며 이를 OS에서 지원합니다.

 

  •  Accounting : 사용자가 어떤 resources를 얼마나 사용하는지를 금액을 부여하기 위해 혹은 단순히 통계를 내기 위해 기록됩니다.

 

  •  Protection and security : Protection은 OS 내에서 오류가 나지않도록 보호하는 것을 말합니다. 가령, 분리된 여러 프로세스들이 동시에 실행되고 있는 상황에서, 한 프로세스가 다른 프로세스나 OS를 방해하는 것이 안 되도록 막는 것입니다. Security는 외부에서 오는 위협을 막습니다. 예를 들어, 사용자의 비밀번호를 입력할 때, 어떠한 유효하지 않은 접근 시도가 있었다면 I/O 장치를 막는 것을 말합니다. 

Figure1. a view of operating system services

 

해당 내용은 Operating System Concepts (International Student Version)을 참고하고 있습니다.