[Computer Science]/[운영체제(OS)]

[운영체제(OS)] 2-1) 운영체제 서비스

극꼼 2023. 1. 4. 20:07
반응형


<운영체제에서 제공하는 서비스>

CPU <-> Memory <-> Disk & I/O device

1) 유저 인터페이스(User Interface)

  • GUI(Graphical User Interface) : 그래픽 기반의 유저 인터페이스(흔히 마우스, 키보드로 입력하여 수행사항을 보여줌). 화면의 여러 그래픽(UI)들과 상호작용하여 명령을 전달합니다. 대부분의 PC 사용자들은 GUI를 통해 상호작용합니다.
  • CLI(Command Line Interface) : 운영체제 대부분이 CLI를 프로세스가 시작하거나 사용자가 처음 로그온할 때 수행되는 특수 프로그램으로 취급. CLI 명령어 해석기는 Shell이라고 불립니다. 주로 시스템 관리자 및 시스템에 자세한 정보를 알고 있는 경우는 CLI를 통해 상호작용합니다.
    • CLI가 사용자의 명령을 가져와서 실행하는 방식에는 두가지가 있습니다.
      1. CLI 자체가 실행할 코드를 가지고 있음
      2. 시스템 프로그램(.sh 형식의 파일 등)에 의해 대부분의 명령을 구현
  • 터치스크린 : 모바일 기기에 사용합니다.

2) 프로그램 실행 : 시스템은 프로그램을 메모리에 적재, 실행, 종료하도록 합니다.

3) I/O 수행  

4) 파일 시스템 조작 : 파일, 디렉토리 읽기/쓰기/생성/삭제 지원합니다.

5) 통신 : 컴퓨터 시스템의 프로세스 사이의 통신을 가능하게 합니다.

6) 리소스 할당

- CPU 스케쥴링 : 작업이 빠른 프로그램한테 CPU를 할당하는 등 효율적인 처리를 할 수 있게 해줍니다.

- 페이지 교체 알고리즘 : 디스크에서 메모리를 읽어와서 메모리에 넣어야 할 때, 메모리가 가득 차있다면, 사용 횟수가 많은 데이터를 남기고 적은건 빼는 등의 재사용의 가능성이 높은 메모리를 남깁니다.

7) 로깅 : 어떤 프로그램이 어떤 종류의 자원을 얼마나 많이 사용했는지 추적합니다.

8) 보호와 보안

 


<운영체제 구조>

1) 계층적 접근

 : 운영체제를 여러 개의 층으로 나눕니다(최하위 층은 하드웨어, 최상위 층은 인터페이스). 운영체제 층은 자료구조와 상위층에서 호출할 수 있는 루틴의 집합으로 구성되며, 하위층에 대한 연산을 호출할 수 있습니다.

  • 장점 : 하위 층이 디버깅된 후에 오류가 없다고 가정하기 때문에, 상위 층 구현, 디버깅이 간단합니다.
  • 단점 : 계층을 적절하게 나누기 어렵고, 오버헤드가 큽니다.

2) 모놀리식 구조

: 커널의 모든 기능을 단일 주소 공간에서 실행되는 단일 정적 이진 파일을 넣는 구조입니다.

  • 장점 : 시스템 콜 인터페이스에서 오버헤드가 거의 없고, 커널 안에서도 통신 속도가 빠릅니다.
  • 단점 : 많은 기능들을 한 주소 공간에 넣기 때문에 구현 및 확장이 어려워집니다.

3) 마이크로 커널

: 모든 중요하지 않은 구성 요소들을 커널로부터 제고하고, 그 구성 요소들을 별도의 주소 공간에 존재하는 사용자 수준 프로그램으로 구현하는 구조

  • 장점 : 운영체제의 확장이 쉽고 다른 하드웨어로의 이식이 쉬우며 보안성과 신뢰성이 높습니다.
  • 단점 : 통신을 위한 별도의 주소 공간이 필요하고, 메시지 복사 및 프로세스 전환으로 인한 오버헤드로 성능이 나쁩니다.

4) 모듈

: 커널이 핵심적인 구성 요소의 집합을 가지고, 부팅 및 실행 중에 다른 서비스를 제공할 모듈과 링크(동적으로 구현)하는 구조입니다.

반응형