운영체제란?

  • OS(Operating System)
  • 컴퓨터 사용자와 하드웨어간의 인터페이스
  • 여러 프로그램 모음집 또는 그 모임의 자원들의 효율적인 관리를 목적으로한 프로그램

운영체제의 목표

  • 처리능력 향상
    • 일정 시간 내에 시스템이 처리하는 일의 양
    • 일 잘하냐?
  • 반환 시간
    • 시스템에 작업을 의뢰한 시간부터 처리가 완료 될 때까지 걸린 시간
    • 빠릿하냐
  • 사용 가능도
    • 자원이 필요할 때 즉시 사용 가능하냐
    • 여유 있냐? 효율성이 목적이지
  • 신뢰도
    • 시스템이 주어진 문제를 정확하게 해결하는 정도
    • 믿을만하냐?

운영체제의 기능

운영체제 정의와 상이한데 전체적으로는 시스템 관리 기능이라는 틀안에서 움직인다

  • 자원의 스케줄링
  • 사용자와 시스템간의 인터페이스
  • 하드웨어와 네트워크를 관리 및 제어
  • 데이터와 자원 관리 및 공유
  • 시스템 오류 검사 및 복구
  • 자원 보호 기능
  • 입.출력에 대한 보조 기능
  • VM
    • VM 나온건 조곰 뜬금포 같은데?

운영체제의 종류

  • 단일 작업 시스템
    • DOS
  • 다중 작업 처리 시스템
    • Window, linux, Unix

운영체제의 운용 기법

일괄 처리 시스템

[^1]: CPU 유휴시간이란 CPU가 농땡이 피우는 시간, CPU가 작업을 하지 않고 쉬는 시간

  • 초기 컴퓨터 시스템에서 사용된 형태
  • 일정량, 일정 기간 동안 데이터를 모아 한꺼번에 처리하는 방식
  • 일괄 처리를 위해 Job Control Language 제공해야한다
  • 컴퓨터 시스템을 효율적으로 사용할 수 있다
  • 반환시간이 늦지만 CPU 유휴 시간[^1]이 줄어듬
    • 당연한게 쉴 틈이 어딨어 일해야지
  • 급여 계산, 지불 계산, 연말 결산 등의 업무에 사용된다
  • Batch 처리에 용이하다

다중 프로그래밍 시스템

느낌이라면 옛날에 CPU 하나 달린 노트북 쓰는 느낌이지

  • 하나의 CPU와 주기억장치로 여러개 프로그램 동시에 처리하는 방식
    • 주 기억장치가 하나 이상의 프로그램을 기억하고 있어야함
  • CPU 사용률과 처리량이 증가

시분할 시스템

  • Round Robin System , Time Sharing System
    • 이름 값하는 시스템이지, 오래 기다리게 하기 싫으니까 적당히 기다리면서 일처리하자 이런거야
  • 여러 명의 사용자가 사용하는 시스템에서 컴퓨터가 사용자들의 프로그램을 돌아가면서 처리해주는 방식
  • 일괄 처리 형태에서 사용자 대기 시간을 줄이기 위한 것이다
  • 여러 사용자가 동시에 각자의 단말장치를 토앟여 동시에 운영체제와 대화하면서 각자의 프로그램을 실행한다
    • 리눅스 마스터에서 봤었나 초기 리눅스가 이러지 않았나?
  • 다중 프로그래밍 방식과 결합하여 대화식 처리가 가능하다
  • 시스템 전체 효율은 좋아지지만 사용자 입장에서는 반응 속도가 느려짐
  • 각 작업의 응답 시간을 최소한으로 줄이는 것을 목적으로 한다

다중 처리 시스템

  • 여러 개의 CPU와 하나의 주기억 장치를 이용하여 여러 프로그램을 동시에 처리하는 방식
  • 안정성과 신뢰성이 높다
    • CPU 하나가 고장나도 다른 친구가 대신할 수 있거든
  • 여러 CPU는 하나의 메모리를 공유하며 단일 운영체제에 의해 관리
  • 프로그램 처리 속도는 빠르지만 자원 공유에 대한 문제점을 해야한다

실시간 처리 시스템

  • 데이터 발생 즉시, 또는 데이터 처리 요구가 있는 즉시 처리하여 결과를 산출하는 방식
  • 처리 시간 단축 및 처리 비용 절감
  • 시간에 제한을 두고 수행도어야 하는 작업에 용이하다

다중 모드 처리

  • 여러 모드를 섞어 쓰는 것이다

분산 처리 시스템

  • 여거 개의 컴퓨터를 통신 회선으로 연결하여 하나의 작업을 처리하는 방식이다