레이블이 05. 운영체제의 역사/종류-B인 게시물을 표시합니다. 모든 게시물 표시
레이블이 05. 운영체제의 역사/종류-B인 게시물을 표시합니다. 모든 게시물 표시

2017년 3월 12일 일요일

05. 운영체제의 역사/종류-B3

3) 실시간 운영체제(RTOS; Real-Time OS)

* 실시간 시스템(Real-Time Computing System)의 필요
  : 프로세서의 처리 능력이 단순히 빨라서 좋은 것이 아니고 반드시 특정시간(Deadline)이내에 완료해만 하는 시스템.
  : 주로 군사, 항공, 우주 산업 분야에서 사용. 최근 자율주행자동차.

Factory Automation
< 공장 자동화(Factory Automation) > 

< 미사일 요격 시스템 >

 : 실시간 시스템을 운용하기 위한 OS
 : 1순위 작업을 OS가 모니터링 하다가 필요에 따라 다른 작업의 리소스 할당을 줄이거나 없애고 1순위 작업에 투입.

참고) 실시간 운영체제는 본 블로그에서 자세히 다루지 않음.

[Side Knowledge]
* 컴퓨터 시스템의 분류
  --운영체제도 시스템 발달에 따라 순차적으로 적용되어 짐.

  : Server-Client System 
Server-Client System


  : Handheld System - 노트북, 전자수첩, 스마트폰, 타블릿

  : Embedded System
 Embedded System


05. 운영체제의 역사/종류-B2

2) 분산 운영체제(Distributed OS)
 * 더 좋은 컴퓨터를 운용하기 위한 또 다른 방안?
  : Cost (비용) - 상대적으로 적은 비용
  : Performance (성능) - 더 높은(고) 성능의 발휘
  : Reliability (신뢰성) - 최대한 작업이 중단되지 않도록

 * Distributed Computing System (분산 처리 시스템) 등장
  : 독립적인 다수개의 시스템이 네트웍으로 상호 연결됨.
  : CPU(Processor), Main Memory가 다 수개가 됨.
  : Loosely-coupled system (약결합 시스템)
    -> CPU, Memory가 모두 직접 연결되지 않고 네트웍으로 연결.
  : 대표적인 예 - Alphago ( 알파고 )

Distributed Computing System

 * Distributed OS (분산 운영체제)
  : 분산 시스템을 운영하기위한 운영체제
  : 처리 능력의 향상. 동시에 여러 작업을 수행할 수 있음.
  : 신뢰성 확보. 특정 장치가 중지 되어도 다른 장치가 대체 수행.
  : 저비용. 고성능 컴퓨터 1대 보다 저성능 다수개의 컴퓨터로 구현이 저렴

참고) 분산 OS는 본 블로그에서 자세히 다루지 않음.

05. 운영체제의 역사/종류-B1

1) 다중 프로세서 운영체제(Multiprocessor OS)
 * 더 좋은 컴퓨터를 운용하기 위한 방안?
  : Cost (비용) - 상대적으로 적은 비용
  : Performance (성능) - 더 높은(고) 성능의 발휘
  : Reliability (신뢰성) - 최대한 작업이 중단되지 않도록

 * Multiprocessor System (다중 프로세서 시스템) 등장
  : 다수의 processor (CPU)가 1개의 Main Memory (메인 메모리)를 공유하는 시스템
  : 연산을 담당하는 장치인 Processor가 복수개 이므로 더 빨리 더 많은 작업 처리 가능.
  : Parallel Computing System (병렬 처리 시스템) 
  : Tightly-coupled System (강결함 시스템)

Tightly-coupled System
<다중 프로세서 시스템: 원본출처 >

 * Multiprocessor OS (다중 프로세서 운영체제)
  : 처리 능력의 향상. 동시에 여러 작업을 수행할 수 있음.
  : 신뢰성 확보. 특정 프로세서가 중지 되어도 다른 프로세서가 대체 수행.
  : 저비용. 고성능 CPU 1개 보다 저성능 CPU 다수개가 더 저렴함
  : CPU Management
   -> 각 프로세서가 어떤 일을 담당할 것인가?
   -> 필요한 경우 프로세서간 작업의 공유는 어떻게 할 것인가?
      즉, 작업의 동기화는 어떻게 할 것인가?
  : Memory Management
   -> 각 프로세서간 메모리 점유 관리

참고) 다중 프로세서 OS는 본 블로그에서 자세히 다루지 않음.

[Side Knowledge]
* Multicore System
  : 1개의 CPU 칩셋에 여러개의 core를 집적하여 만듬.

  : 듀얼 코어(dual-core) 프로세서 - 두 개의 코어
  : 트리플 코어(triple-core) 프로세서 - 세 개의 코어
  : 쿼드 코어(quad-core) 프로세서 - 네 개의 코어
  : 헥사 코어(hexa-core) 프로세서 - 여섯 개의 코어
  : 옥타 코어(octa-core) 프로세서 - 여덟 개의 코어
  : 데카코어(Deca-core) 프로세서 - 열 개의 코어
  : 도데카 코어(Dodeca-core) 프로세서 - 열두개의 코어