오뚝이개발자

[OS]CH2. 운영체제 개요 본문

CS 기초/OS

[OS]CH2. 운영체제 개요

땅어 2020. 5. 26. 23:32
728x90
300x250
  • 운영체제의 역할

    • User Interface(편리성)

    • Resource Management(효율성)

    • Process and Thread management

    • System management

  • System call interface=>사용자가 kernel에 필요한 기능 요청하는 통로(커널에 직접 접근X)

Multi-layer architecture(출처 : HPC Lab)

  • 운영체제의 구분

    • 동시 사용자 수에 따라

      • single-user system

      • multi-user system

    • 동시 실행 프로세스 수에 따라

      • single-tasking system

      • multi-tasking system(=multi-programming system)

    • 작업 수행 방식에 따라

      • Batch system

      • Time-sharing system

      • Distributed processing system

      • Real-time system

  • 동시 사용자 수에 따른 구분

    • Single-user system

      • 한 명의 사용자만 시스템 사용(모든 시스템 자원 독점)

      • 자원관리, 시스템 보호 방식 간단

      • Ex) 개인용 장비(PC, mobile) : windows, android, MS-DOS

    • Multi-user system

      • 동시에 여러 사용자들이 사용

      • 자원에 대한 소유 권한 관리 필요

      • 기능과 구조가 복잡

      • Ex) 서버, 클러스터에 사용 : Unix, Linux

  • 동시에 실행되는 프로세스 수에 따른 구분

    • Single-tasking system

      • 하나의 작업(프로세스)만 수행

      • Ex) MS-DOS

    • Multi-tasking system

      • 동시에 여러 작업 수행

      • Ex) Windows, Linux

  • 작업 수행 방식에 따른 구분

    • 발전 순서

      • 순차처리->일괄처리(Batch)->시분할(time-sharing)->분산처리(distributed)->실시간(real-time)

      • OS라는 개념이 없을 때 작업을 '순차처리'했었다.(각 작업에 대한 준비시간이 필요했음, 일종의 setting)

    • Batch system 

      • 사용자의 요청작업을 일정시간 모아두었다 처리(준비시간 절약)

      • 장점

        • system-oriented(효율 up)

        • 처리효율(Throughput) 증가

      • 단점

        • 생산성(productivity) 감소(같은 유형의 작업이 모이기를 기다려야 하므로)

        • 응답시간(response time) 증가

     

Batch system (출처 : HPC Lab)

  • Time-sharing system

    • 여러 사용자가 자원을 동시에 사용

    • 장점

      • 응답시간 감소

      • 생산성 증가(프로세서 유휴 시간이 감소하므로)

       

time-sharing system(출처 : HPC Lab)

  • Personal Computing

    • "개인"이 시스템 전체 독점

  • Parallel Processing system

    • 단일 시스템 내에서 둘 이상의 프로세서 사용(동시에 둘 이상의 프로세스 지원)

    • 특징

      • 메모리 등의 자원 공유(Tightly-coupled system)

    • 사용목적

      • 성능향상

      • 신뢰성 향상(하나가 고장나더라도 정상 동작 가능)

       

parallel processing system(출처: HPC Lab)

  • Distibuted Processing system(분산처리 시스템)

    • "네트워크"를 기반으로 구축된 병렬처리 시스템(Loosely-coupled system)

    • 특징

      • 물리적인 통신망 이용한 상호연결

      • 각각 OS 탑재한 다수의 범용 시스템으로 구성(각 node는 각자의 OS를 가짐)

      • 사용자는 분산운영체제를 통해 하나의 프로그램, 자원처럼 사용 가능

      • Ex) Cluster system, P2P, client-server system

    • 장점

      • 자원공유를 통한 높은 성능

      • 고신뢰성

    • 단점

      • 구축, 관리 어려움

       

분산처리시스템(출처:HPC Lab)

  • Real-time system

    • 작업처리에 "제한시간"(deadline)을 갖는 system

    • 즉, 제한시간 내에 서비스를 제공하는 것이 자원 활용 효율보다 중요

    • 구분

      • Hard real time task

        • 시간 제약 못지키면 치명적

        • Ex) 무기제어, 발전소 제어

      • Soft real time task

        • Ex) 동영상 재생

  • 커널이란?

    • OS의 핵심부분으로 메모리에 상주하는 프로그램

    • 역할

      • 빈번한게 사용되는 기능 담당

      • 시스템 관리(process, memory)

       

OS의 layer 구조(출처:HPC Lab)

  • 단일 구조

    • 커널에 모든 기능 추가

    • 장점

      • 커널 내 모듈 간 직접 통신(효율적)

    • 단점

      • 커널의 거대화

      • 오류, 버그 多

      • 한 모듈의 문제가 전체 시스템에 영향(동일 메모리 상에 있으므로)

       

단일 구조 OS(출처:HPC Lab)

  • 계층 구조

    • 장점

      • 모듈화->계층 간 검증 및 수정 용이

    • 단점

      • 단일구조 대비 성능 저하(여러 계층 거쳐야 하므로)

       

계층 구조 OS(출처:HPC Lab)

  • 마이크로 커널 구조

    • 커널에 필수 기능만 포함시켜 크기를 최소화

    • 기타 기능은 사용자 영역에서 수행토록 함

     

마이크로 커널(출처:HPC Lab)

728x90
300x250
Comments