EverGiver

운영체제의 유형 본문

전공/운영체제

운영체제의 유형

친절한개발초보자 2022. 3. 12. 19:26
728x90

Multiple programing system

 

  • 프로세서가 입출력 작업 시 다른 프로세서의 수행이 불가능하여 프로세서와 메인 메모리의 활용도가 떨어지는 batch processing system의 문제를 다중 프로세스 시스템 도입하여 해결
  • 프로세서가 유휴 상태일 때 실행 대기 중인 다른 작업이 프로세서를 점유하여 사용할 수 있도록 동작

  • Non-preemptive (비선점)
    - 높고 효율적인 프로세서 사용률(효율적인 운영) 증가
    - 많은 사용자의 프로세서가 동시에 프로세서를 할당받은 효과 (concurrent)
    - 복잡한 프로세서 관리
      ▷ 대가 Process 관련 추가 메모리 공간 필요
      ▷ Process scheduling

  • Preemptive : Time slice (quantum)
    - 다중 프로세서를 논리적으로 확장한 개념, 프로세서가 다중 작업을 교대로 실행
    - 다수의 사용자가 동시에 컴퓨터의 자원을 공유할 수 있는 기술
    - 각 process에 일정한 프로세서 사용시간(time quantum)을 할당하고 교대로 프로세서 사용
      ▷ ms 수준의 time quantum
      ▷ Context switching overhead
      ▷ Response time과 processor efficiency의 trade-off

 

 

다중 프로세서 (multiple processor) 시스템

 

  • 병렬처리 (parallel processing) : 단일 컴퓨터 시스템 내에서 둘 이상의 프로세서 사용, 동시에 둘 이상의 프로세서 지원
  • 여러 프로세서와 시스템 버스, 메모리와 주변장치 등 공유
  • 빠르고, 프로세서 하나가 고장 나도 다른 프로세서 사용하여 작업 계속, 신뢰성이 높다
  • SMP (Symmetric Multiple Processing)과 ASMP (ASymmetric Multiple Processing)

다중 처리 시스템

 

 

Real-time processing system (실시간 처리 시스템)

 

  • Reponse time이 정해져 있고 이를 지켜야 한다.
  • 온라인 시스템은 실시간일 필요 없지만, 실시간 처리 시스템은 항상 온라인 상태
  • 고정 시간 제약을 잘 정의하지 않으면 시스템 실패
  • 실시간 처리 시스템의 두 가지 유형 
    - Hard real time processing system
      ▷ 작업의 실행 시작이나 완료에 대한 시간 제약 조건을 지키지 못할 때 시스템에 치명적인 영향을 주는 시스템
      ▷ 보장되는 컴퓨팅, 시간의 정확성과 컴퓨팅 예측성을 갖게 해야 한다.
      ▷ Ex) 무기 제어, 발전소 제어, 철도 자동 제어, 미사일 자동 조준 등이 이에 해당한다.
    - Soft real time processing system
      ▷ 작업 실행에서 시간 제약 조건은 있으나, 이를 지키지 못해도 전체 시스템에 치명적인 영향을 미치지 않는 시스템
      ▷ Ex) 동영상

 

 

Distributed processing system (분산 처리 시스템)

 

  • 시스템마다 독립적인 운영체제와 메모리로 운영, 필요시 통신하는 시스템
  • 사용자에게는 중앙집중식 시스템처럼 보이는데, 다수의 독립된 프로세서에서 실행
  • 데이터를 여러 위치에서 처리/저장, 여러 사용자가 공유
  • 하나의 프로그램을 여러 프로세서에서 동시에 실행

 

 

운영체제의 서비스 제공

 

  • Booting Service : 컴퓨터 하드웨어 관리, 프로그램을 실행할 수 있도록 컴퓨터를 시동
    - ROM BIOS(or UEFI)의 OS loading 필요
  • User service : 프로그래머가 프로그래밍 작업을 설계할 수 있도록 한다.
    - User interfacce : CLI, Menu, GUI
    - Program 실행
    - I/O operation, file system access, error detection
  • System service : 시스템의 효율적인 동작 보장
    - Resource allocation, account management, protection and security
  • System call : 프로그램이 운영체제의 기능을 서비스 받을 수 있는 프로그램과 운영체제 간의 인터페이스 제공 (API)

 

운영체제의 구조

 

  • 운영체제가 점점 더 다양한 하드웨어와 소프트웨어를 지원하면서 구조 또한 복잡해짐
  • 복잡한 시스템은 설계, 구현, 테스트, 유지 보수 등 모든 면에서 어렵다.
  • 이것의 해결을 위해 운영체제를 설계하는 다양한 방법 등장

 

Monolithic kernel (단일구조)

 

  • 초기에 생겨난 가장 보편적 형태
  • 운영체제의 모든 기능을 커널(컴퓨터 운영 체제의 핵심이 되는 컴퓨터 프로그램으로, 시스템의 모든 것을 완전히 통제)과 동일한 메모리 공간에 적재 후 시스템 호출만으로 사용
  • 커널의 핵심 기능을 구현하는 모듈들이 구분 없이 하나로 구성
  • 수정과 유지 보수 매우 어려움

 

 

Hierarchical kernel (계층구조)

 

  • 계층 구조에서는 비슷한 기능을 수행하는 요소를 그룹화하여 계층적으로 구성
  • 사용자 프로세스의 요청을 수행할 때 여러 계층을 거쳐야 하므로, 한 계층에서 다음 계층으로 데이터를 전달할 때마다 추가적인 시스템 호출 발생
    - 호출 한 번으로 서비스를 받는 단일 구조보다는 성능 낮다.
  • 단일 구조 운영체제보다 모듈화가  잘 되어 있다.
    - 시스템 검증과 오류 수정 용이

 

 

Micro kernel

 

  • Mach : 단일 커널의 문제점 해결 위해 1980년대 Carnegie-Mellon에서 개발 (최초의 micro-kernel)
  • 커널에서 최소 기능만 포함시켜 크기를 대폭 줄이고 기타 기능은 사용자 공간으로 옮겨 사용자 영역에서 수행하는 서버 구현
  • 하드웨어 초기화, 메모리 관리(주소 공간 관리), Process (Thread) 관리, 프로세스 간 통신, 프로세스 간 협력 동기화 기능만 실행
  • 네트워크 시스템, 파일 시스템 상호작용과 장치 관리 등 대부분의 운영체제 구성 요소는 커널 외부, 즉 사용자 영역의 서버로 옮겨 구현
  • 모듈화 정도가 높아 확장성, 이직성, 규모 확장성이 높다
  • 모듈(커다란 장치나 배열 내에서 비교적 작은 크기의 부품으로써 독립적으로 설치되고, 교체되고, 사용될 수 있도록 설계된 구성요소를 말한다.) 간 통신이 빈번하게 발생하여 성능이 떨어질 수 있다.

마이크로 커널 구조

 

728x90

'전공 > 운영체제' 카테고리의 다른 글

Process Concept  (0) 2022.03.21
컴퓨터 동작  (0) 2022.03.13
컴퓨터 시스템 소개  (0) 2022.03.12
운영체제 발전 과정  (0) 2022.03.06
운영체제 소개  (0) 2022.03.06
Comments