기어가더라도 제대로

[운영체제 - 김덕수 교수님] OS 본문

CS/운영체제

[운영체제 - 김덕수 교수님] OS

Damagucci-juice 2022. 7. 24. 12:01

사용자, 응용 프로그램에게 서비스를 제공하는 녀석

  • User Interface(편리성)
    • CUI(Character user interface)
    • GUI(Graphical User interface)
    • EUCI(End-User Comfortable Interface)
      • MP3
  • Resource management(효율성)
    • HW resource - 프로세서, 메모리, i/o
    • SW resource - file, application, message, signal
  • Process and Thread management
    • 실행 주체, 가벼운 실행 단위
  • System management(시스템 보호)

‏‏‎ ‎

컴퓨터 시스템의 구성

운영체제(OS)  image

  • Kernel(커널)
    • 자원 관리를 하는 OS에서의 핵심 주체
  • System Call Interface
    • 커널에 직접 접근하는 것은 사용자나 프로그램이 시스템에 직접 접근하는 것과 마찬가지이므로, 실수의 가능성, 버그, 보안 등의 이유로 매우 위험
    • 직접 접근을 막고 커널에 요청하는 것이 안전한데, 이러한 행위를 시스템 콜 이라고 함.
    • 커널의 기능 중에서 사용자가 사용할 수 있는 기능을 모아놓은 인터페이스

운영체제(OS)  image

‏‏‎ ‎

운영체제의 구분

  • 동시 사용자 수
    • Single-user system
    • Multi-user system
  • 동시 실행 프로세스 수
    • Single-tasking system
    • Multi-tasking system (Multiprogramming system)
  • 작업 수행 방식 (사용자가 느끼는 사용환경)
    • Batch processing system
    • Time-sharing system
    • Distributed processing system
    • Real-time system

‏‏‎ ‎

순차 처리(No OS ~ 1940s)

  • 운영체제 개념 존재하지 않음
    • 사용자가 기계어로 직접 프로그램 작성
    • 컴퓨터에 필요한 모든 작업 프로그램에 포함
      • 프로세서에는 명령어 저장 방법, 계산 대상, 결과 저장 위치와 방법, 출력 시점, 위치 등
  • 실행하는 작업 별 순차 처리
    • 각각의 작업에 대한 준비 시간이 소요
  • 만약 각각 다른 언어로 프로그램을 짜는데, 사전 작업이 필요할 것이다.
    • C, Java, Python 별로 다른 세팅을 위한 준비 시간이 필요했다.(가정임)

‏‏‎ ‎

Batch system(1950s~1960s)

  • 모든 시스템을 중앙에서 관리 및 운영
  • 사용자의 요청 작업을 일정 시간 모아 두었다가 한번에 처리
  • 시스템 지향적
  • 장점
    • 많은 사용자가 시스템 자원 공유
    • 처리 효율(throughput) 향상
  • 단점
    • 생산성 저하
      • 같은 유형의 작업들이 모이기를 기다려야 함
    • 긴 응답시간
      • 약 6시간
        • 작업 제출에서 결과 출력까지의 시간

‏‏‎ ‎

Time Sharing System(1960s~1970s)

운영체제(OS)  image

운영체제(OS)  image

‏‏‎ ‎

병렬 처리 시스템(Parallel Processing System)

  • 단일 시스템 내에서 둘 이상의 프로세서 사용
    • 동시에 둘 이상의 프로세스 지원
  • 메모리 등의 자원 공유(Tightly-coupled system)
  • 사용 목적
    • 성능 향상
    • 신뢰성 향상(하나가 고장나도 정상 동작 가능)
  • 프로세서간 관계 및 역할 관리 필요

‏‏‎ ‎

Distributed Processing Systems

  • 네트워크를 기반으로 구축된 병렬처리 시스템(Loosly-coupled system)
    • 물리적인 분산, 통신망 이용한 상호 연결
    • 사용자는 분산 운영체제를 통해 하나의 프로그램, 자원처럼 사용 가능
    • 슈퍼컴퓨터, 클라이언트 서버
  • 장점
    • 자원 공유를 통한 높은 성능
    • 고신뢰성, 높은 확정성
  • 단점
    • 구축 및 관리가 어려움

‏‏‎ ‎

Real-time System

  • 작업 처리에 제한 시간(deadline)을 갖는 시스템
    • 제한 시간 내에 서비스를 제공하는 것이 자원 활용 효율 보다 중요
  • 작업(task)의 종류
    • Hard real-time task
      • 시간 못지키는 경우 치명적 영향
      • 예) 발전소, 무기 제어 등
    • Soft real-time task
      • 동영상 재생 등
    • Non real-time task

‏‏‎ ‎

운영체제의 구조

  • 커널(Kernel)
    • OS의 핵심 부분(메모리 상주)
      • 가장 빈번하게 사용되는 기능들 담당
        • 시스템 관리(Processor, memory, Etc) 등
    • 동의어
      • 핵, 관리자 프로그램, 상주 프로그램, 제어 프로그램
  • 유틸리티(Utility)
    • 비상주 프로그램
    • UI 등 서비스 프로그램

운영체제(OS)  image

운영체제(OS)  image

운영체제(OS)  image

현대의 컴퓨터는 계층 구조를 따른다.

모듈화: 계층 별로 나누는 것

운영체제(OS)  image

‏‏‎ ‎

운영체제의 기능

  • 프로세스(Process) 관리
    • 커널에 등록된 실행 단위(실행 중인 프로그램)
    • 사용자 요청/프로그램의 수행 주체(entity)
    • OS의 프로세스 관리 기능
      • 생성/삭제, 상태관리
      • 자원할당
      • 프로세스간 통신 및 동기화(synchronization)
      • 교착상태(deadlock) 해결
    • 프로세스 정보 관리
      • PCB(Process Controll Block)
  • 프로세서 관리
    • 중앙 처리 장치(CPU)
      • 프로그램을 실행하는 핵심 자원
    • 프로세스 스케쥴링
      • 시스템 내의 프로세스 처리 순서 결정
    • 프로세서 할당 관리
      • 프로세스들에 대한 프로세서 할당
        • 한 번에 하나의 프로세스만 사용 가능
  • 메모리 관리
    • 주기억장치
      • 작업을 위한 프로그램 및 데이터를 올려 놓는 공간
    • Multi-user, Multi-tasking 시스템
      • 프로세스에 대한 메모리 할당 및 회수
      • 메모리 여유 공간 관리
      • 각 프로세스의 할당 메모리 영역 접근 보호
    • 메모리 할당 방법(scheme)
      • 전체 적재
        • 장점 - 구현 간단 / 단점: 제한적 공간
      • 일부 적재(virtual memory concept)
        • 프로그램 및 데이터의 일부만 적재
        • 장점 - 메모리의 효율적 활용 / 단점: 보조 기억 장치 접근 필요
  • 파일 관리
    • 파일 : 논리적 데이터 저장 단위
    • 사용자 및 시스템의 파일 관리
    • 디렉토리 구조 지원
  • I/O 관리
    • 입출력 과정
      • OS 를 반드시 거쳐야 함

운영체제(OS)  image

‏‏‎ ‎

운영체제(OS)  image

‏‏‎ ‎

‏‏‎ ‎

Comments