본문 바로가기
Programming/DevOps, Tools

[운영체제] 운영체제의 개요 - 운영체제의 개념과 구성

by kghworks 2022. 2. 23.

운영체제 윈도우 아이콘

 

목표
운영체제의 개념과 역할을 이해한다.
운영체제의 운영방식 및 커널 형태에 따른 유형을 분류한다.
 
목차
운영체제의 개념과 역할

커널(kernel)과 CPU의 동작모드

운영체제의 구성

운영체제의 유형


운영체제의 개념과 역할

 

 

운영체제가 없던 시절에는 응용프로그램을 개발하는 개발자들이 하드웨어의 제어방법을 알고 프로그램을 개발해야했습니다. 그리고 1개 이상의 응용프로그램들이 하나의 하드웨어를 직접 접근하기에 하드웨어의 자원분할에도 어려움이 있었습니다.

 

* 하드웨어 : CPU, 메모리, 입출력장치 등

 

운영체제

 위와 같은 불편함을 해소해줄 수 있는것이 운영체제입니다. 운영체제란 컴퓨터의 하드웨어 자원을 관리 (제어)하고, 응용프로그램들이 동작하기위한 서비스를 제공하는 소프트웨어입니다. 운영체제는 운영프로그램과 하드웨어 사이에 위치하여 하드웨어에 대한 제어는 운영체제가 하고, 응용프로그램은 운영체제를 통해 하드웨어를 동작하게 됩니다. 운영체제를 시스템소프트웨어라고 하기도 합니다.

 

운영체제의 역할

 

  • 컴퓨터 시스템 (하드웨어)의 자원을 제어, 관리
  • 응용프로그램 (응용 소프트웨어)들의 실행을 도와줌
  • 사용자의 명령을 해석, 실행
  • 사용자가 하드웨어를 사용할 수 있도록 매개체

 


커널 (kernel)과 CPU의 동작모드

 

 커널은 응요프로그램과 하드웨어 작업의 사이에서 가교역할을 하는 운영체제의 핵심 요소인데, 운영체제를 커널이라고 하기도 합니다. 구성 방식에 따라 대표적으로 아래와 같이 분류합니다.

 

  • 일체형 커널 (monolithic kernel)
  • 마이크로 커널 (micro kernel)

 

일체형 커널 (monolithic kernel)

 운영체제의 모든 서비스 (메모리, 디스크 관리, 스케쥴러 등)가 하나의 커널 내에 들어갑니다. 커널 내부에서 요소들끼리 서로 효율적으로 자료구조를 교환하며 작동할 수 있습니다. 그러나 상호 의존적이기 떄문에 하나의 요소에서 발생한 오류가 시스템 전체에 장애를 유발 할 수 있는 단점이 있습니다. 운영체제 UNIX, Linux 등이 일체형 커널에 해당합니다.

 

마이크로 커널 (micro kernel)

 최소한의 핵심요소 (메모리 관리, 멀티태스킹, IPC 등)만 커널 내부에 남기고 그 외의 것들을 커널 외부로 분리합니다. 새로운 서비스를 도입하여 운영체제를 확장하기 용이하고, 안정성이 우수하나 커널 외부 요소들끼리의 상호작용은 IPC를 통해야만 하기때문에 성능저하가 발생하는 단점이 있습니다.

 

 일반적으로 사용자는 응용프로그램을 통해 하드웨어에 접근합니다. 이를 사용자 모드 (보호모드)라고 합니다. 그에 반해 운영체제의 커널이 동작하면서 사용자는 CPU 명령어를 사용하여 하드웨어를 직접 제어할 수 있습니다. 이를 슈퍼바이저 모드 (커널모드)라고 합니다.

 

사용자 모드(좌)와 슈퍼바이저 모드(우)

 

 슈퍼바이저 모드의 실행 순서는 아래와 같습니다.

 

  1. 평소 보호모드 실행 중
  2. 시스템 호출
  3. 보호모드에서 슈퍼바이저 모드로 전환
  4. 커널 동작
  5. 하드웨어 제어

 


운영체제의 구성

 운영체제의 구성은 그 자원에 따라 아래와 같이 구분합니다.

 

  • 프로세스 관리자
  • 메모리 관리자
  • 파일 관리자 (파일 탐색기)
  • 장치 관리자 

 

프로세스 관리자

 프로세스의 생성, CPU 할당, 삭제를 위한 스케쥴을 결정합니다. 프로세스의 개념에 대해서는 바로 다음 포스팅에서 상세히 기술하겠습니다.

 

2022.02.25 - [개발/운영체제] - 프로세스 (Process)

 

프로세스 (Process)

목표 프로세스의 개념을 이해한다. 스레드의 등장 배경과 그 장점을 파악한다. 스케줄링 단계와 정책을 이해한다. 목차 프로세스 (Process) 스레드 (Thread) 스케줄링(scheduling) 참고 프로세스 (Process)

kghworks.tistory.com

 

메모리 관리자

 메모리 관리자는 메모리 공간 점유에 대한 요청의 유효성을 검사하고 메모리를 할당하고, 회수합니다. 메모리의 공간이 서로 충돌나지 않고 보호할 수 있습니다.

 

파일 관리자 (파일 탐색기)

 모든 응용프로그램은 프로세스 이전에 파일로서 존재합니다. 컴퓨터 시스템의 모든 파일들을 관리하는 것이 파일관리자 입니다. 파일의 접근제한, 파일을 실행시켜 자원할당, 파일 종료 후 자원 회수를 합니다.

 

장치 관리자

 컴퓨터 시스템의 모든 장치들에 대하여 할당, 작동, 반환 등을 관리합니다. 장치에는 프린터, 모니터, 디스크 드라이브 등이 포함됩니다.

 


운영체제의 유형

 운영체제는 응답속도, 데이터 입력방식에 따라 아래와 같이 유형이 분류됩니다.

 

  • 일괄처리 운영체제
  • 대화형 운영체제 (interactive)
  • 실시간 운영체제 (real time)
  • 하이브리드 운영체제

 

일괄처리 운영체제

  일정량의 작업을 모아서 순차적으로 실행합니다. 처리량과 반환시간이 효율성 평가의 척도가 됩니다.

 

대화형 운영체제 (interactive)

 시스템의 사용자가 여러명일 떄 사용자들의 프로그램을 번갈아가서 처리를 해줍니다. 사용자는 마치 개별적으로 독립된 컴퓨터를 사용하는 것처럼 느낍니다. 그러나 응답시간(프로세스를 요청 후 반응시 시작될때까지 걸리는 시간)이 느리다는 단점이 있습니다.

 

실시간 운영체제 (real time)

 데이터 처리 요청시 곧바로 처리 후 반환하는 운영체제로 운영체제중 가장 빠른 응답시간을 가집니다. 처리결과가 빨라야하고, 그 결과가 다음 결정에 곧장 영향을 미치는 환경에서 주로 사용됩니다. (우주선 비행시스템, 미사일 제어, 증권거래 시스템 등)

 

하이브리드 운영체제

 일괄처리 운영체제와 대화형 운형체제를 합한 것으로 현재 대부분의 대형 컴퓨터 시스템이 차용하는 운영체제입니다. 사용자는 터미널을 통해 접속하여 빠른 응답시간을 얻을 수 있습니다. 

댓글