운영체제의 유형

원래벌레·2022년 9월 4일
0
post-thumbnail
post-custom-banner

🌞 운영체제의 유형

🌼 일괄 처리 시스템

  • 일괄처리
    -> 중간에 사용자의 개입 없이 한꺼번에 작업 묶음을 처리한다.
  • 장점
    -> 작업 설치시간, 철거 시간 감소
  • 단점
    -> 일괄 처리할 작업들의 유형이 동일해야 한다.
    -> 사용자 중간 개입이 불가능하다.
    -> 작업 우선순위 부여 곤란
    -> 프로세서 유휴

일괄 처리 시스템 문제를 해결하는 방법

  • 버퍼링

    -> CPU가 연산하는 동안 입력장치의 데이터를 미리 주기억장치에 저장
    -> CPU가 연산하는 동안 주기억장치의 데이터를 출력장치로 내보냄

  • 스풀링

    데이터를 장치, 프로그램, 혹은 시스템에 의해 사용되거나 수행되게 하기 위해 임시로 보관하는 행위
    -> 디스크를 버퍼로 사용
    버퍼링은 주기억장치를 사용

    -> 여러 작업의 데이터를 버퍼에 모아 둠
    버퍼링은 한 작업의 (입출력) 데이터를 모아 두는 것을 주로 의미함

    -> 여러 작업의 입출력과 계산을 동시 진행
    버퍼링은 같은 작업의 (입)출력만 겹치게 함

🌼 다중 프로그래밍 시스템

  • 두개 이상의 프로그램을 주기억장치에 적재하여 번갈아 가며 실행하는 컴퓨터 시스템

  • 일괄 처리 시스템의 비효율성을 해결
    I/O를 처리하는 중 CPU가 노는 상태 발생 이를 해결

다중 프로그래밍 시스템의 특징

  • 프로세서 사용률 증가

  • 운영체제가 복잡해짐

    -> 여러 프로그램을 메모리에 적재 하려면, 복잡한 메모리 관리가 필요함
    -> 여러 프로그램이 준비 상태라면, 하나를 선별하는 메커니즘이 필요함

🌼 다중 처리 시스템 ( 프로세서 多 )

  • 둘 이상의 프로세서를 사용하는 단일 컴퓨터 시스템

  • 여러 프로세서가 메모리, 주변장치, 시스템 버스, 클록 등을 공유한다.

  • 신뢰성이 높다
    -> 프로세서 하나가 고장 나도 다른 프로세서가 작업 계속

  • 프로세서 간의 연결, 상호작용, 역할 분담 등이 필요하다.

  • 다중 처리 시스템의 구성 방법
    -> 대칭적 구성

    -> 비대칭적(주종)적 구성

🌼 시분할 시스템 ( Time Sharing System )

  • CPU(코어) 하나로 여러 유저를 감당하는 시스템
    즉 하나의 코어가 한명의 유저 일을 처리하다가, 다른 유저꺼를 처리하고 번갈아가면서 일을 한다. 하지만 유저는 이것에 대해서 위화감을 느끼지 않고 CPU가 자신만을 위해 일하는 것으로 착각하게 한다.
  • 여러 사용자가 동시에 한 컴퓨터의 CPU의 시간을 나누어 쓰는 시스템
  • 다중 프로그래밍과 다중 사용자 시스템이 결합된 형태
  • CPU를 일정한 시간 단위로 여러 사용자에게 번갈아 할당
    -> 라운드로빈( round robin ) CPU 스케줄링 기법
    -> 각 사용자는 프로세서를 독점한 듯한 착각 가능
  • 컴퓨터를 대화식으로 사용하려는 시도에서 탄생
  • 빠른 응답시간
  • CPU유휴 시간 감소

다중 프로그래밍 시스템과 시분할 시스템 특징

  • 메모리에 여러 프로그램을 적재하므로 메모리 관리가 필요하다.

  • 어떤 프로그램을 먼저 실행할지 결정하는 스케줄링 개념이 필요하다.

  • 다중 프로그래밍 시스템의 목표 : 프로세서 사용률의 최대화

  • 시분할 시스템의 목표 : 응답시간의 최소화

🌼 실시간 처리 시스템

  • 작업의 요청에 대한 결과를 얻기까지 시간 제약이 존재하는 시스템

  • 고정된 시간 제약을 지키지 않으면 실패 취급
    -> 입력 후 응답에 소요되는 시간을 반응(응답)시간이라 함
    -> 반응시간이 온라인 처리에 비해 매우 짧음

  • 제약의 엄격함에 따른 두 가지 유형
    -> Hard
    -> Soft

경성 실시간 처리 시스템 (Hard)

  • 작업의 실행 시작이나 완료에 대한 시간 제약 조건을 지키지 못할 때 시스템에 치명적인 영향을 주는 시스템
    -> 무기제어, 발전소 제어, 철도 자동 제어, 미사일 자동 조준, 우주선 운행, 레이더 추적기
    -> 시간의 정확성, 보장성, 예측성 필요

연성 실시간 처리 시스템 (Soft)

  • 시간 제약 조건을 지키지 못해도 전체 시스템에 치명적이지 않은 시스템
    -> 동영상은 초당 일정 프레임 이상의 영상을 재생해야 한다는 제약이 있으나, 일부 프레임을 건너 뛰어도 동영상 재생 시스템에는 큰 영향을 미치지 않는다.

🌼 분산 처리 시스템

  • 네트워크로 연결된 독립된 컴퓨터 시스템들의 집합
    -> 컴퓨터마다 메모리와 운영체제가 있다.
    -> 한 프로그램을 여러 컴퓨터가 동시 실행 할 수 있다.
    -> 데이터를 여러 컴퓨터에서 공유한다.

분산 운영체제

  • 분산 처리 시스템을 하나의 운영체제가 관리하는 시스템

  • 분산 처리 시스템을 하나의 컴퓨터로 보이게 하는 것이 목표이다.
    -> 사용자는 각 자원의 위치를 몰라도 사용 가능

  • 하나의 운영체제가 시스템 전체를 관리해야 하므로 구현이 어렵다.

  • 처리능력, 저장용량, 연산속도, 신뢰성, 사용가능도 향상

  • 시스템의 점진적 확장이 용이

  • 중앙 집중형 시스템에 비해 보안성이 취약하다.

cf) 약결합 (loosely-coupled) : 메모리를 공유하고 있지 않은 경우
<-> tightly coupled

🌞 가상화

가상화 : 물리적 자원 추상화, 논리적 자원 형태로 표현하는 기술

-> 기술 발달로 경제성이 높아지면서 성능, 안정성, 효율성 향상 등 강점으로 본격적 확산
-> 적용 대상에 따라 서버 가상화, 데스크톱 가상화, 스토리지 가상화, 네트워크 가상화, 소프트웨어 가상화로 구분
( 이 중 운영체제와 깊이 관련된 것은 서버 가상화 )


하이퍼바이저 : 호스트 컴퓨터에서 다수의 운영체제를 동시에 실행하기 위한 논리적 플랫폼

🌼 서버 가상화

물리적 서버 하나에 가상 서버를 여러개

-> 호스트 기반 가상화 : 호스트 운영체제에서 가상 머신 구동
-> 베어메탈 기반 가상화 : 호스트 운영체제 설치 전 가상화 솔루션을 탑재

🌞 클라우드 컴퓨팅

  • 인터넷을 통해 가상화된 컴퓨터 시스템을 요구하는 만큼 즉시 제공
    (on-demand avilability)받는 기술

  • 그리드 컴퓨팅의 분산 컴퓨팅 개념, 유틸리티 컴퓨팅의 과금 모델, 서버-클라이언트 모델을 적용

  • 서비스 종류 : IaaS, Paas, SaaS

  • IaaS(Infrastructure as aService)
    -> 서버, 스토리지, 네트워크 등의 자원을 제공
    -> 아마존의 EC2와 S3가 예시이다.

  • PaaS(Platform as a Service)
    -> 응용 프로그램의 구축, 테스트 및 설치가 가능한 통합개발 환경을 제공
    -> 구글, 다음, 네이버에서 제공하는 Open API

  • SaaS(Software as a Service)
    -> 특정 소프트웨어를 인터넷으로 제공
    -> 해당 소프트웨어와 관련된 데이터도 클라우드에서 관리

profile
학습한 내용을 담은 블로그 입니다.
post-custom-banner

0개의 댓글