2020-10-23 운영체제 목적 및 분류 (강의정리)
운영체제
- 운영체제란 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층
목적
- 컴퓨터 시스템의 자원을 효율적으로 관리
- 최근에는 멀티코어이지만 운영체제에서는 1개의 코어를 가지고 어떻게 프로그램을 동시에 효율적으로 실행하고 관리할지를 결정? 다룬다.
- 프로세서, 기억장치, 입출력 장치 등을 효율적으로 관리(하드웨어 자원)
- 형평성 있는 자원 분배
- 주어진 자원(하드웨어 성능)으로 최대한의 성능을 내도록
- 사용자 및 OS 자신을 보호
- 프로세스, 파일, 메세지를 관리(소프트웨어 자원)
- 컴퓨터 시스템을 편리하게 사용할 수 있는 환경 제공
- OS는 동시 사용자/프로그램들이 각각 독자적으로 컴퓨터에서 수행되는 환경을 제공
- 하드웨어를 직접 다루는 복잡한 부분은 OS가 대행.
- 협의의 운영체제(커널) : OS의 핵심부분으로 메모리에 상주한다.
- 부팅이 일어나고 메모리에 항상 올라가 있는 시스템? 프로그램
- 광의의 운영체제 : 커널뿐만 아니라 각종 주변 시스템 유틸리티를 포함하는 개념
분류
- 동시 작업 가능 여부
- 단일작업(single taksing) : 한번에 하나의 작업만 처리(과거의 컴퓨터)
- 다중 작업(multi taksing) : 동시에 2개 이상의 작업처리
- 하나의 명령어 수행이 끝나기전에 다른 명령이나 프로그램을 수행할 수 있다.
- 지원하는 사용자의 수 : 동시접속 여부에 따라 분류
- 단일 사용자(single user) : MS-DOS, Window
- 다중 사용자 : Unix, 계정을 만들어서 동시에 접속할 수 있는지
- 처리방식
- 일괄처리(batch processing)
- 작업 요청을 모아서 한번에 처리
- 작업이 끝날때까지 기다려야한다.
- interactive하지 않는다.
- 시분할(time sharing) : 현대운영체제 방식
- 여러 작업을 수행할 때 컴퓨터 처리 능력을 일정한 시간 단위로 분할하여 사용
- 일관처리시스템에 비해 짧은 응답 시간을 가진다 ex) Unix
- Interactive방식 => 입력을 하자마자 바로바로 입력되고 반응이 나온다.
- 실시간(Realtime OS) : 개념적으로는 시분할과 다르다. 데드라인이 존재.
- 정해진 시간 안에 작업이 반드시 종료됨이 보장되어야한다. ex) 원자로 제어, 미사일제어, 반도체장비
- 실시간 시스템개념 확장
- Hard realtime system(경성 실시간 시스템) : 데드라인에 크게 영향을 받는 시스템. 위의 Realtime OS
- Soft realtime system(연성 실시간 시스템) : 데드라인에 어긋났지만 크게 영향을 없는 시스템. 실시간 운영체제에서 조금 완화
- 일괄처리(batch processing)
- Multitasking, Multiprogramming, TimeSharing, Multiprocess : 해당 용어들은 여러작업을 동시에 수행됨을 뜻한다.
- Multi programming : 메모리에 여러 프로그램이 올라간 방식
- TimeSharing : CPU의 시간을 분할하여 나누어 쓴다.
- Multiprocessor : 하나의 컴퓨터에 CPU(processor)가 여러개 붙어있다.
예시
- 유닉스계열
- 여러명이 사용할 수 있도록 설계
- 대부분 C언어로 작성
- 이전에는 어셈블리로 OS를 작성했다
- 유닉스를 만들기 위해 C언어를 만들정도
- 높은 이식성 : 다른컴퓨터에서도 실행하기가 쉽다
- 최소한의 커널구조 : 커널의 크기를 최소로 해서 메모리를 작게 사용한다.
- 복잡한 시스템에 맞게 확장 용이
- 소스코드 공개
- 프로그램 개발에 용이
- 다양한 버전
- Linux, System V, Solaris
- MS Window
- DOS는 단일 사용자용 OS, 메모리를 640kb로 제한
- 개인용 컴퓨터용으로 개발
- 다중 작업용 GUI기반 OS
- DOS와 프로그램 호환성 제공
- 불안정성 : 프로그램 여러개 실행시키면 뻗었었다.
- 풍부한 지원 소프트웨어
느낀점
- 운영체제에 대해서 대략적으로만 알고있었는데, 이화여대 반효경 교수님 강의를 통해 시작맥락을 잡을 수 있었다. 다 수강하고 공룡책을 봐야겠다.
Written on October 23, 2020