컴구&운영체제

운영체제의 소개(개념과 발전 목적, 기능, 발전 과정과 유형, 서비스, 구조)

yejin72 2023. 4. 6. 10:01
728x90

1. 운영체제의 개념과 발전 목적

 컴퓨터 시스템의 구성 요소

컴퓨터 시스템의 구성 요소

 

 컴퓨터 자원관리 면에서 운영체제의 역할

  • 조정자: 프로그램이 작업을 할 수 있는 환경을 제공
  • 자원 할당자나 관리자: 각 응용 프로그램에 필요한 자원을 올바른 순서로 할당
  • 응용 프로그램과 입출력장치 제어자: 다양한 입출력장치와 응용 프로그램을 제어

 

 운영체제의 발전 목적

운영체제의 발전 목적

 
 
 

2. 운영체제의 기능

운영체제의 기능

 
※ 운영체제는 메인 메모리와 보조기억장치를 관리한다.
※ 프로세스는 운영체제 프로세스와 사용자 프로세스로 구분된다.
 
 
 
 

3. 운영체제의 발전 과정과 유형

 운영체제의 발전 과정

  1. 1940년대: 운영체제 없음, 순차 처리 시스템
  2. 1950년대: 일괄 처리 시스템, 버퍼링, 스풀링
  3. 1960년대: 다중 프로그래밍, 시분할, 다중 처리, 실시간 처리 시스템
  4. 1970년대 초반: 다중 모드, 범용 시스템
  5. 1970년대 중반: 분산 처리 시스템
  6. 1990년대: 병렬 계산과 분할 계산
  7. 2000년대 이후: 모바일 및 임베디드, 가상화 및 클라우드 컴퓨팅

 운영체제의 유형

  • 일괄 처리 시스템: 오퍼레이터에서 비슷한 작업들을 그룹으로 묶어 일정 기간 또는 일정량이 되면 한꺼번에 처리한다.
  • 다중 처리 시스템: 단일 컴퓨터 시스템 내에서 둘 이상의 프로세서를 사용하여 동시에 둘 이상의 프로세스를 지원한다.
  • 실시간 처리 시스템: 항상 온라인 상태여야 하며, 반응시간이 프로세서에 고정되어 있다. 경성 실시간 처리 시스템연성 실시간 처리 시스템으로 분류된다.
  • 다중 프로그래밍 시스템: 한 프로세스를 사용하다가 유후 시간이 생기면 다른 프로그램이 프로세서를 사용한다.
  • 시분할 시스템: 프로그램들이 각각 규정 시간량만큼 실행됨으로써 프로세서가 다중 작업을 교대로 수행한다.
  • 분산 처리 시스템: 시스템마다 독립적인 운영체제와 메모리로 운영하며, 필요할 때 통신한다.

 
 
 

4. 운영체제의 서비스

 부팅 서비스

부팅 과정

 

 사용자 서비스

  • 사용자 인터페이스 제공: CLI, 메뉴, GUI
  • 프로그램 실행: 메모리 할당 및 해제, 프로세스 스케줄링
  • 입출력 동작 수행: 입출력 동작 방법 제공
  • 파일 시스템 조작: 파일 시스템 조작 서비스 제공
  • 통신(네트워크): 동일한 컴퓨터/네트워크로 연결된 컴퓨터 시스템에서 수행하는 프로세스 간 정보 교환
  • 오류 탐지: 오류 탐지 및 조정

 

 시스템 서비스

  • 자원 할당: 자원 할당 및 관리
  • 계정: 사용자의 자원 사용 정보를 저장 및 추적
  • 보호와 보안: 다중 사용자 컴퓨터 시스템에서 서로의 정보를 보호

 

 시스템 호출 

  • API: 응용 프로그램이 사용자 수준에서 지원하지 않는 기능을 운영체제의 루틴을 호출하여 제공받는 방법
  • 호출 방법: 명령어나 서브루틴의 호출 형태로 호출하는 방법, 명령 해석기를 사용하여 호출하는 방법

 

시스템 호출 서비스
시스템 호출 과정

 
 
 

5. 운영체제의 구조

1) 단일 구조 운영체제

운영체제의 모든 기능을 커널과 동일한 메모리 공간에 적재한 후 시스템 호출만으로 사용할 수 있다. 대부분의 기능을 커널에 그룹화해서 구현하였다.
 

2) 계층 구조 운영체제

THE 계층 구조 운영체제

비슷한 기능을 수행하는 요소를 그룹화하여 계층적으로 구성하고, 각 계층은 인접한 계층과 상호작용한다. 프로세스의 요청을 수행할 때 여러 계층을 거쳐야 하므로 단일 구조보다는 성능이 떨어지며, 각 계층은 자신의 하위 계층만을 사용할 수 있으므로 신중히 설계해야 한다.
 

3) 마이크로 커널 구조 운영체제

마이크로 커널 구조

커널에는 최소 기능만 포함시켜 크리를 대폭 줄이고 기타 기능은 사용자 공간으로 옮겨 사용자 영역에서 수행하는 서버 구현 방법이다. 모듈 간의 통신이 빈번하게 발생하여 성능이 떨어질 수 있으므로 프로세스 간 통신 발생을 최소화하는 것이 중요 과제이다.
 
 
 
 
출처) 그림으로 배우는 구조와 원리 운영체제(구현회 지음)

728x90