CS/OS

[운영체제] Chapter2 운영체제

ImYena 2021. 8. 26. 15:35
728x90

운영체제(OS, Operating System)

  • 컴퓨터 시스템 자원(Hardware, HW) 관리
  • 응용 프로그램(Application, App)나 사용자에게 서비스 제공
더보기

컴퓨터 시스템의 구성

  • OS : System Call Interface, Kernel, Resource Management

- 사용자가 직접 Kernel에 접근하는 경우 문제가 발생하므로, OS에게 요청하게 되는데, System Call Interface(시스템 라이브러리)를 사용해서 요청


운영체제 역할

  • User Interface; 편리성
    • CUI : 문자기반
    • GUI : 그래픽 기반
    • EUCI(End-User Comfortable Interface) : 특별한 목적만을 위해 만들어진 시스템을 위한 UI
      • mp3 UI
  • Resource Management; 효율성
    • HW resources
    • SW resources
  • Process and Thread(조금 더 가벼운 프로세스) Management
  • 시스템 보호

운영체제 구분

1) 동시 사용자 수

  • 단일 사용자 시스템(Single-user System)
    • 동시에 한 명의 사용자가 모든 시스템 자원 독점
    • 자원관리와 시스템 보호 간단
      • window 7/ 10, mac os, android 등
  • 다중 사용자 시스템(Multi-user System)
    • 동시에 여러 사용자 접근
    • 구조 복잡, Multitasking 필요
      • 서버, 클러스터 장비, unix 등

 

2) 동시 실행 프로세스 수

  • 단일 작업 시스템(Single-tasking System)
    • 시스템 내에 하나의 작업만 존재
    • 운영 체제 구조 간단
      • ms-dos
  • 다중 작업 시스템(Multi-tasking System, Multiprogramming System)
    • 동시에 여러 작업의 수행 가능(동시 수행, 동기화를 관리해야 함)
    • 구조가 복잡
      • unix, linux, window 등

 

3) 작업 수행 방식

  • 순차 처리; No Os ~ 1940s
    • 운영체제의 개념이 존재하지 않음(사용자가 직접 기계어로 직접 프로그램 작성)
    • 실행하는 작업별 순차 처리
  • 일괄 처리 시스템(Batch Processing System); 1950s ~ 1960s
    • 모든 시스템을 중앙에서 관리 및 운영
    • 사용자의 요청 작업을 일정 부분 모아두었다가 한 번에 처리
    • 장점
      • 많은 사용자가 시스템 자원 공유
      • 처리 효율 향상
    • 단점
      • 생산성 저하(같은 유행의 작업들이 모이기를 기다려야 함)
      • 긴 응답 시간(작업 제출, 결과 출력 시간이 길다)

일괄 처리 시스템(Batch Processing System)

  • 시분할 시스템(Time Sharing System)
    • 여러 사용자가 시스템 및 가상 메모리 관리
    • 사용자 지향적(User-oriented)
    • 장점
      • 응답시간 단축
      • 생산성 향상, 프로세서 유휴 시간 감소
    • 단점
      • 통신 비용 증가
      • 통신으로 인한 보안 문제 발생
      • 개인 사용자 관점 체감 속도 저하

시분할 시스템(Time Sharing System)

더보기
  • Personal Computing
    • 개인이 시스템 전체 독점
    • CPU 활용률이 고려 대상이 아님
    • OS가 상대적으로 단순
    • 장점
      • 빠른 응답시간
    • 단점
      • 낮은 성능
  • 병렬 처리 시스템(Parallel Processing System)
    • 시스템 내에서 둘 이상의 프로세서 사용
    • 메모리 자원 공유(Tightly-coupled System)
    • 장점
      • 성능 항상
      • 신뢰성 향상(하나가 고장 나더라도 시스템 돌릴 수 있음)
    • 단점
      • 프로세서간 관계 및 역할 관리 필요
      • 확장 한계
  • 분산 처리 시스템(Distributed Processing System)
    • 네트워크 기반 구축 병렬 처리 시스템.
    • 장점
      • 자원 공유를 통한 높은 성능
      • 고신뢰성, 높은 확정성
    • 단점
      • 구축 및 관리가 어려움

분산 처리 시스템(Distributed Processing System)

  • 실시간 시스템(Real-time System)
    • 작업 처리에 대한 제한 시간(Deadline)을 갖는 시스템
      • Hard Real-time System Task
        • 시간 제약을 지키지 못하면, 시스템에 치명적인 영향
        • 발전소, 무기 제어 등등
      • Soft Real-time System Task
        • 실시간으로 처리되는 것이 좋지만, 필수는 아님.
        • 동영상 재생
      • None Real-time Task

운영체제  구조

컴퓨터 시스템

커널(Kernel)

  • os의 핵심(메모리에 상주)
    • 가장 빈번하게 사용되는 기능들을 담당함
      • 프로세서 , 메모리 관리 등
  • 동의어
    • 핵, 관리자 프로그램, 상주 프로그램, 제어 프로그램 등

유틸리티(Utility)

  • 비상주 프로그램
  • UI 등 서비스 프로그램

 

  • 단일 구조 운영체제
    • 장점
      • 커널 내 모듈간 직접 통신(빠르고 효율적 자원 관리)
    • 단점
      • 커널의 거대화(유지보수 문제)
      • 동일 메모리에 모든 기능이 들어있어, 한 모듈의 문제가 전체 시스템에 영향을 줄수 있음

단일 구조 운영 체제

  • 계층 구조 운영체제
    • 장점
      • 모듈화(검증 및 수정 용이)
      • 구현의 단순화
    • 단점
      • 단일 구조 대비 성능 저하

계층 구조 운영 체제

  • 마이크로 커널 구조
    • 커널 크기의 최소화(필수 기능만 포함)
    • 기타 기능은 사용자의 영역에서 수행

마이크로 커널 구조


운영체제  기능

  • 프로세스 관리(Process Management)
    • 프로세스이란?
      • 커널에 등록된 실행 단위(실행중인 프로그램)
      • 사용자 요청/프로그램의 수행 주체(Entuty)
    • 프로세스 관리 기능
      • 자원할당
      • 생성/삭제 상태 관리
      • 프로세스간 통신 및 동기화(Sysnchronization)
      • 교착상태(deadlock) 해결
  • 프로세서 관리(Processor Management)
    • 프로세서란?
      • CPU(중앙처리장치) : 프로그램 실행 핵심 자원
    • 프로세서 관리 기능
      • 프로세스 스케쥴링
      • 프로세서 할당 관리
        • 프로세스들에 대한 프로세서 할당
  • 메모리 관리(Memory Management)
    • 메모리란?
      • 주 기억장치(Main Memory) : 작업을 위한 프로그램 및 데이터를 올려 놓는 공간
    • 메모리 관리 기능
      • 프로세스에 대한 메모리 할당 및 회수
      • 메모리 여유 공간 관리
      • 각 프로세스의 할당 메모리 영역 접근 보호
    • 메모리 할당 방법
      • 전체 적재
        • 장점 : 구현 간단
        • 단점 : 제한적 공간
      • 일부 적재(Virtual Memory Concept)
        • 장점 : 메모리 효율적 활용
        • 단점 : 보조기억 장치 접근 필요
  • 파일 관리(File Management) 
    • 파일이란?
      • 논리적 데이터 저장 단위
    • 파일 관리 기능
      • 사용자 및 시스템의 파일 관리
      • 디렉토리 구조 지원
      • 파일 생성/삭제
      • 파일 접근/조작
      • 파일 물리적 저장 공간 사상(Mapping)
      • 백업 등
  • 입출력 관리(I/O Management)
    • 프로세스에 직접 입력 불가능 반드시 운영체제를 거쳐서 입력해야 함
  • 보조 기억 장치 및 기타 주변 장치 관리
  • 디스크, 네트워킹 등

 


출처 : YouTube, HPC Lab. KOREATECH

728x90
반응형