운영체제의 개념

운영체제의 정의

  • 시스템 자원 효율적 관리, 여러 프로그램의 모임
  • 사용자와 하드웨어 간의 인터페이스로 동작하는 시스템 소프트웨어의 일종

운영 체제의 목적(성능 평가의 기준)

  • 처리능력(Throughput) : 일정 시간 내에 시스템이 처리하는 일의 양
  • 반환 시간(turn around time) : 시스템에 작업을 의뢰한 시간부터 처리 완료까지 걸리는 시간
  • 사용 가능도(availablility) : 시스템의 자원을 필요할 때 즉시 사용할 수 있는가
  • 신뢰도(reliablity) : 시스템이 주어진 문제를 정확하게 해결하는 정도

운영체제의 기능

  • 프로세서, 주 기억장치, 보조 기억장치 등의 자원 관리
  • 자원의 스케줄링
  • 사용자와 시스템간의 인터페이스 제공
  • 시스템의 각종 하드웨어와 네트워크 관리 및 제어
  • 데이터 관리, 데이터 및 자원의 공유 기능 제공
  • 시스템 오류 검사 및 복구
  • 자원 보호 기능 제공
  • 입 출력에 대한 보조 기능
  • 가상 계산기 기능

운영체제의 주요 자원 관리

  • 프로세스 관리
    • 프로세스 스케줄링 및 동기화 관리 담당
    • 프로세스 생성과 제거,시작과 정지, 메시지 전달 등의 기능 담당
  • 기억장치 관리
    • 프로세스에게 메모리 할당 및 회수 관리 담당
  • 주변 장치 관리
    • 입 출력장치 스케줄링 및 전반적인 관리 당당
  • 파일 관리
    • 파일의 생성과 삭제 변경 유지 등의 관리 담당

운영체제의 종류

  • 단일 처리 시스템 : DOS, 나머지는 다중 처리 시스템
  • 개인용과 서버용 정도가 있다

운영체제의 운용 기법

일괄 처리 시스템

  • 초기 컴퓨터 시스템에 사용
  • 일괄 처리를 위해 JCL( job control language)를 제공해야함
  • 컴퓨터 시스템을 효율적으로 사용 가능
  • 반환시간이 늦지만 하나의 작업이 모든 작업을 독점하므로 cpu 유휴시간이 줄어든다.
  • 급여 계산, 지불 계산, 연말 계산 등의 업무에 사용

다중 프로그래밍 시스템

  • 하나의 cpu와 주기억 장치를 이용, 여러 프로그램을 돌린다
  • 하나의 주기억장치에 두 개 이상의 프로그램을 기억시켜 놓고, 하나의 cpu와 대화하며 동시 처리
  • cpu 사용률과 처리량이 증가

시분할 시스템(time sharing system)(round robin 방식)

  • 사용자가 여러명인 시스템에서 컴퓨터가 사용자들의 프로그램을 번갈아 가며 처리
  • 일괄 처리 형태에서의 사용자 대기 시간을 줄이기 위한 것
  • cpu 전체 사용량을 작은 작업 시간량으로 나누어서 그 시간량 동안만 번갈아가면서 cpu를 할당하여 각 작업을 처리
  • 다중 프로그래밍 방식과 결합하여 모든 작업이 동시에 진행되는 것처럼 대화식 처리 가능
  • 시스템 전체 효율은 좋아지나 사용자 입장에서는 반응 속도가 느릴 수 있음
  • 각 작업에 대한 응답 시간을 최소한으로 줄이는 것을 목적으로 한다.

다중 처리 시스템

  • 여러 개의 cpu와 하나의 주 기억장치를 이용하여 여러 개의 프로그램을 동시에 처리하는 방식
  • 여러 cpu는 하나의 메모리를 공유하며 단일 운영 체제에 의해 관리된다.
  • 프로그램 처리 속도는 빠르지만 자원 공유에 대한 문제를 해결해야한다.

실시간 처리 시스템

  • 데이터 발생, 또는 데이터 처리 요구가 있는 즉시 처리하여 결과를 산출 하는 방식
  • 처리 시간이 단축되고 처리비용이 절감된다.
  • 시간에 제한을 두고해야하는 업무에 적용됨( 우주선 은행 레이더 추적기 핵물리학 실험 은행의 온라인 업무)

다중 모드 처리

  • 여러 모드를 섞어 쓰는 모드

분산 처리 시스템

  • 여러 개의 컴퓨터를 통신 회선으로 연결하여 하나의 작업을 처리하는 방식
  • 각 단말장치나 컴퓨터 시스템은 고유의 운영체제와 cpu, 메모리를 가지고 있음