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

운영체제, 구성, 유형

by Renechoi 2023. 6. 14.

1. 운영체제란 무엇인가? 

 

하드웨어 

소프트웨어 

 

 

운영체제

- 대표적인 시스템 소프트 웨어 

- 컴퓨터 시스템의 자원을 관리하고 컴퓨터 프로그램이 동작하기 위한 서비스를 제공하는 프로그램들의 모음 

 

 

역할 

- 컴퓨터 시스템의 자원 관리

   -> 자원: 하드웨어 자원, 소프트웨어 자원, 데이터

   -> 저장장치에서 데이터 읽어오기, 키보드나 마우스 제어, 프로그램 실행시 CPU와 메모리를 효율적으로 관리

- 사용자 지원 

  -> 사용자가 내린 명령을 해석하여 실행하게함

  -> 사용자와 하드웨어 사이의 매개체 역할

  -> 사용자에게 편의성 제공 목적 

 

 

운영체제가 없던 초기의 컴퓨터 시스템

-> 응용 프로그램이 직접 컴퓨터 시스템의 자원 제어

-> 응용 프로그램 개발자는 하드웨어 제어 방법을 잘 알아야 함

 

=> 여러 사용자가 하드웨어를 공유하는 경우 자원 분할이 어렵다 

 

 

운영체제가 있는 컴퓨터 시스템

- 하드웨어와 응용 프로그램 사이에 운영체제 위치

- 운영체제가 컴퓨터 시스템의 자원 제어

- 컴퓨터 시스템이 안정적이고 효율적으로 동작하게 함 

 

 

 

커널모드와 사용자 모드

 

커널모드(슈퍼바이저 모드)

- 하드웨어를 직접 제어할 수 있는 CPU 명령어를 사용할 수 있는 모드

- 운영체제의 커널이 동작함 

 

사용자 모드(보호 모드)

- 하드웨어를 직접 제어할 수 있는 CPU 명령어를 사용할 수 없는 모드

- 응용 프로그램이 동작함 

 

 

 

 

커널

- 커널 모드에서 동작하는 운영체제의 핵심 요소

- 응용 프로그램과 하드웨어 수준의 처리 사이의 가교 역할 

 

구성방식: 일체형 커널, 마이크로 커널 

 

 

일체형 커널

- 운영체제의 모든 서비스가 커널 내에 포함됨

- 장점: 커널 내부 요소들이 서로 효율적으로 상호작용을 함

- 단점: 한 요소라도 오류가 발생하면 시스템 전체에 장애 발생 가능

- 예: UNIX, Linux

 

마이크로 커널

- 운영체제 요소의 대부분을 커널 외부로 분리

- 메모리 관리, 멀티태스킹, 프로세스 간 통신(IPC) 등 최소한의 요소만 커널 내에 담김

- 장점: 새로운 서비스를 추가하여 운영체제 확장하기 쉬움, 유지 보수가 용이 안정성이 우수 

- 단점: 커널 외부 요소들 사이에는 IPC가 필요하여 성능 저하 발생 

 

시스템 호출: 응용 프로그램이 하드웨어에 대한 제어가 필요한 경우, 운영체제에 서비스를 요청하는 메커니즘 

 

 

 

2. 운영체제의 구성 

 

컴퓨터 시스템의 자원의 성격에 따른 구분 

- 운영체제

- 프로세스 관리자

- 메모리 관리자

- 파일 관리자

- 장치 관리자 

 

 

 

프로세스 관리자

- 프로세스의 생성 및 삭제

- CPU 할당을 위한 스케줄 결정

- 프로세스의 상태를 관리하며 상태 전이 처리 

 

 

메모리 관리자

- 메모리(주기억장치) 공간에 대한 요구의 유효성 확인

- 메모리 할당 및 회수

- 메모리 공간 보호

 

 

장치 관리자

- 컴퓨터 시스템의 모든 장치 관리

- 시스템 장치의 할당, 작동, 반환 

 

 

파일 관리자

- 컴퓨터 시스템의 모든 파일을 관리

- 저장장치의 공간 관리

- 파일의 접근 제한 관리 

 

 

 

 

 

 

 

3. 운영체제의 유형 

 

 

- 일괄처리 운영체제

- 시분할 운영체제

- 실시간 운영체제

- 분산 운영체제

 

 

 

일괄처리 운영체제 (Batch processing)

- 작업을 모아서 순서대로 처리하는 방식

- 사람이 하던 일을 프로그램이 빠르게 처리하게 되면서 전체적인 작업 처리 속도 향상

- 나중에 들어온 작업은 앞선 작업들이 모두 끝날 때까지 아무런 상호작용 없이 기다려야만 함 

 

 

 

시분할 운영체제

- Time-sharing: 각 사용자의 프로그램을 한 번에 조금씩 수행하는 방식

- 대화형 운영체제라고도 함

- 사용자들은 마치 혼자 컴퓨터를 사용하는 듯한 느낌을 받음

- 응답시간이 일괄처리 운영체제보다 크게 단축됨 (응답시간: 요청한 시점부터 반응이 시작되는 시점까지의 소요시간) 

 

 

실시간 운영체제

- Real-time: 원하는 시간 내에 프로그램의 결과를 얻을 수 있는 방식

- 처리 결과가 현재의 결정에 영향을 주는 환경에서 사용됨: 미사일 제어 시스템, 증권 거래 관리 시스템 등 

- 중요한 작업에 대한 처리 기한을 맞추는 것이 중요 : 우선순위가 높은 작업을 우선 처리할 수 있는 기법 활용 

 

분산 운영체제

- 분산 시스템을 관리하기 위한 운영체제

- 분산시스템: 2개 이상의 컴퓨터 시스템이 네트워크로 서로 연결되어 서로의 자원을 이용하는 시스템 

- 다른 컴퓨터 시스템의 자원을 이용하는 것이 마치 자신의 컴퓨터 시스템이 있는 자원을 이용하는 것처럼 가능해야 한다. 

 

 

 

 

 


참고자료: 운영체제(김진욱, 이인복 공저, KNOU press 출판) 

반응형