관리 메뉴

즐겁게, 코드

운영체제 - 02. 운영체제 개요 본문

🖥 컴퓨터공학/운영체제

운영체제 - 02. 운영체제 개요

Chamming2 2021. 4. 7. 00:42

이 글은 한국기술대학교 컴퓨터공학부의 OS 공개강의를 시청한 후 정리한 내용입니다.

목차

  • 운영체제의 역할
  • 운영체제의 구분
  • 운영체제의 구조
  • 운영체제의 기능

1. 운영체제의 역할

1. 운영체제는 유저가 하드웨어를 다룰 수 있는 인터페이스를 제공한다.

  • GUI
  • CUI
  • EUCI (MP3 등 특수한 목적의 운영체제)

2. 운영체제는 하드웨어와 소프트웨어를 효율적으로 관리한다.

3. 운영체제는 *프로세스와 쓰레드를 관리한다. (* 프로세스 = 하나의 작업)

4. 운영체제는 시스템을 보호한다.

2. 운영체제의 구분

1. 동시 사용여부에 따라 (여러명이 "동시에" 사용할 수 있는가?)

  • Single User System (단일 사용자 운영체제)
  • Multi User System (다중 사용자 운영체제)

2. 동시 실행 프로세스에 따라

  • 단일 작업 시스템 : 시스템 내에서 한번에 하나의 작업만을 수행할 수 있음. => MS-DOS
  • 다중 작업 시스템 : 동시에 여러 작업(프로세스)를 수행할 수 있음. => UNIX / Windows / Linux

3. 작업 수행 방식에 따라

  • 일괄처리 시스템
  • 시분할 시스템
  • 병렬, 분산처리 시스템
  • 실시간 시스템

2. 1. 일괄처리 시스템 (1950' ~ 1960')

  • 모든 시스템을 중앙에서 관리 및 운영함.
  • 사용자가 요청한 작업을 일정 시간동안 모았다가 한번에 처리함.
  • 시스템 지향적임. (유저에게는 불편함)

장점 - 많은 사용자가 시스템 자원을 공유할 수 있고, 처리효율이 향상됨.

단점 - 생산성 저하 (작업이 모이길 기다려야 하므로), 긴 응답시간 (Input - Output에 약 6시간)

2. 2. 시분할 시스템 (1960' ~ 1970')

사용자는 단말기(터미널)을 통해 요청을 보내고, 시분할 시스템이 요청을 주기적으로 처리한다.

  • 사용자마다 자원 사용 주기를 분할하고, 주기적으로 프로세스를 처리함.
  • 사용자 지향적 시스템 (대화형 시스템, 단말기(터미널)을 활용함.)

장점 - 응답시간의 혁신적 단축 (6시간 -> 5초), 생산성 향상

단점 - 터미널과 전산소간 통신비용이 발생하며, 동시 사용자가 증가하면 부하가 걸려 처리가 늦어진다.

2. 3. 병렬처리 시스템

병렬처리 시스템에서 자원을 공유하는 모습

  • 단일 시스템 내에서 둘 이상의 프로세서를 사용함. = 동시에 둘 이상의 프로세스를 실행할 수 있음.
  • 메모리, 기억장치 등의 자원 공유 (Tightly-coupled system)

장점 - 성능, 신뢰성 향상

단점 - 프로세서간 관계 및 역할 관리 필요

2. 4. 분산처리 시스템

  • 네트워크를 기반으로 구축된 병렬처리 시스템 (Loosely-coupled system)
  • 분산운영체제를 활용해 cluster-system, client-server system 등의 구축이 가능함. (이해가 안되면 클라우드를 생각하면 될듯)

장점 : 자원 공유를 통한 높은 성능, 고신뢰성, 높은 확장성

단점 : 구축 및 관리가 어려움

2. 5. 실시간 시스템

  • 작업 처리에 제한시간을 갖는 시스템. (= 즉, 특정 작업을 특정 시간 내에 끝내야만 하는 시스템)
  • 작업의 종류
    • hard real-time task : 시간 제약을 반드시 지켜야 하는 태스크 (무기, 위험시설 제어)
    • soft real-time task : 시간 제약에 비교적 느슨한 태스크 (동영상 재생 등)

3. 운영체제의 구조

커널(Kernel) = 아주 중요함

  • OS의 핵심이 되는 부분 (주 메모리에 상주한다.)
  • 가장 빈번하게 사용되는 기능들을 담당한다. (시스템, 프로세서 및 메모리 관리 등)

유틸리티

  • 비상주 프로그램
  • UI 등 서비스를 제공하기 위한 프로그램

3. 1. 단일 구조

  • 한 커널에서 모든 시스템을 제어하고 있는 운영체제 구조

장점 : 커널 내에서 모듈간 직접 통신할 수 있다. (= 빠르다)

단점 : 커널이 지나치게 비대해지며, 유지보수 및 개선이 어렵다.

3. 2. 계층 구조

  • 단일 구조에서는 커널에 모든 모듈을 때려박았다면, 계층 구조에서는 계층을 나누고 각자 다른 업무를 담당하도록 구성한다.
  • 현대 운영체제는 대부분 계층 구조를 채택하였음.

장점 : 기능별 모듈화가 가능하며, 설계 및 확장이 단순하다.

단점 : 단일 구조에 비해 성능이 낮으며, 원하는 기능을 위해 여러 계층을 거쳐야 한다.

4. 운영체제의 기능

  • 프로세스 관리
  • 프로세서 관리
  • 메모리 관리
  • 파일 관리
  • 입출력 관리
  • 보조기억장치, 주변장치 관리

4. 1. 프로세스 

  • 커널에 등록되는 실행 단위 (= 실행중인 프로그램)
  • 사용자 요청 / 프로그램의 수행 주체

OS의 프로세스 관리 기능

  • 프로세스 생성 / 삭제, 상태 관리
  • CPU, 메모리 자원 할당
  • 프로세스간 통신 및 동기화
  • 교착 상태(데드락) 해결

OS의 프로세서(= 넓게 보면 CPU) 관리 기능

  • 중앙처리장치 제어
  • 프로세스 스케줄링 (실행할 프로세스 순서 제어)
  • 프로세서 할당 관리 (프로세스를 담당할 프로세서 할당)
반응형
Comments
소소한 팁 : 광고를 눌러주시면, 제가 뮤지컬을 마음껏 보러다닐 수 있어요!
와!! 바로 눌러야겠네요! 😆