High Level OS & Interrupt based OS

운영체제

2020. 1. 8. 21:55

1. 컴퓨터의 분류

예전 : Terminal (Keyboard + Monitor)의 대수로 구분

Super Computer > Main Frame (100대 이상) > Mini (10대 이상) > Micro

 

현대 : 성능과 역할로 구분

Super Computer > Server > Work Station > PC (Handheld) > Embeded

 

2. 고등 운영체제 시스템

더 좋은 컴퓨터를 운용하기 위한 방안으로는 Low Cost (저비용), High Performance (고성능), Reliability (신뢰성)등이 있다. 아래의 시스템들은 현대에 등장한 고등 시스템들로, 아키텍처가 달라지면 OS역시 다르게 구성해야할 필요가 있다. 그러나 학부과정에서는 이러한 고등 OS에 대한 자세한 내용은 다루지 읻는다.

 

1) 다중 프로세서 시스템 (Multi Processor System)

 

[그림] 다중 프로세서 시스템

 

Multi Processor System은 다수의 Processor가 1개의 메모리를 공유해서 사용하는 시스템이다. 연산을 담당하는 Processor가 복수개이므로 더 빨리 많은 작업을 처리할 수 있게 된다. 이러한 시스템을 병렬 시스템 (Parallel System) 또는 강결합 시스템 (Tightly Coupled System)이라고 부른다. 다수의 프로세서를 이용하기 때문에 Performance가 좋아지고, 일반적으로 성능이 2배 나쁜 CPU의 가격은 1/2가 아니라 1/10 정도이기 때문에 Cost를 줄일 수 있다. 또한 하나의 CPU가 망가져도 다른 CPU가 동작하기 때문에 Reliablity를 보장할 수 있다. 이러한 Multi Processor System에는 당연하게 다른 종류의 전용 OS가 포함되어야한다. 

 

2) 분산 시스템 (Distributed System)

 

[그림] 분산 시스템

 

분산시스템은 Multi Computer System이라고 생각 할 수 있다. 독립적인 다수개의 시스템이 네트워크를 이용해 상호 연결되어있는 시스템이다. N개의 Processor + N개의 Memory를 사용한다. 이러한 시스템 역시 Multi Processor System과 비슷하게 고성능, 저비용, 신뢰성을 보장할 수 있다. Multi Processor System와 반대로 이러한 시스템은 약결함 시스템 (Loosly Coupled System)이라고 부른다. (CPU, Memory가 모두 네트워크로만 연결되어있음)

 

3) 실스템 시스템 (Real Time System)

앞선 두 시스템은 High Performance, Low Cost, Realiability를 목적으로 하지만, 실시간 시스템의 경우 단순히 빨라서 좋은 것이 아니라 반드시 일정 시간 (Deadline)안에 연산을 반드시 완료해야만하는 시스템이다. 자동차 네비게이션, 에어백, 군사, 항공, 우주, 중앙자동화 등에 사용된다. 실시간 시스템은 실시간 운영체제 (Real Time OS , RTOS)를 사용해야한다. RTOS는 1순위 작업을 수행하다가 필요에 따라 다른 작업의 리소스 할당을 줄이거나 또 다른 작업으로 1순위 작업을 넘길 수 있어야한다.

 

3. 인터럽트 기반 OS

오늘날의 운영체제는 인터럽트(Interrupt) 기반의 시스템이다. OS의 부팅이 끝나면, OS는 메모리에 상주(Resident) 하게 되고, Event가 발생하기 전까지 OS는 계속 대기한다. 인터럽트는 현재 프로세스와 독립적으로 CPU가 지금 즉시 처리해야할 사건이며, 인터럽트 발생시 CPU는 현재 프로세스를 멈추고 OS안에 포함된 ISR(인터럽트 서비스 루틴)을 먼저 실행한다. 이후, 인터럽트 서비스 루틴이 끝나고나면 다시 이전 상태로 복귀한다. 

 

[그림] User's Process VS OS's Interrupt

 

1) Hardware Interrupt

우리가 마우스 등의 하드웨어를 움직이면 걸리는 인터럽트이다. 마우스를 움직이면 전기신호가 프로세서의 인터럽트 선으로 입력되고, CPU는 지금 하던일을 중지함. 이 후 CPU가 마우스 인터럽트 서비스루틴(이하 ISR)으로 JUMP하게 됨. 이러한 ISR은 OS의 내부에 포함되어있고, 해당 상황에 해야할 작업 (마우스 움직임시 화살표 움직임 등)을 수행함. 작업이 끝나면 다시 기존 작업으로 돌아감. OS의 ISR은 평소에는 실행되지 않다가 이런식으로 인터럽트가 들어오면 실행됨.

 

2) Software Interrupt

소프트웨어 인터럽트는 사용자 프로그램이 실행중에 거는 소프트웨어적인 인터럽트이다. 예를 들어 우리가 한글2010을 실행 했을 때, 파일 불러오기 버튼을 누르면 CPU는 HDD에 접근하여 파일을 읽어와야하는데 이렇게 HDD를 읽는 등의 행동도 OS안에 있는 ISR을 실행해야한다. 파일이 로드되고나면 다시 기존 User 프로그램으로 복귀한다. HDD로드 같은 소스코드가 OS가 아닌 한글 2010같은 소프트웨어에 있으면 다른 소프트웨어(게임, 인터넷 등)에서도 이러한 기능을 중복하여 구현해야하는 불편함이 있기 때문에 OS에서 구현하고 인터페이스를 제공한다.

 

3) External Interrupt

CPU 혹은 OS 외적인 부분에서 사용자 필요에 의해서 발생된 인터럽트, Hardware Interrupt는 External Interrupt의 종류 중 하나이다. 주로 입출력 관련 인터럽트이다. 

 

4) Internal Interrupt 

안정된 시스템 동작을 위해 시스템 내부적으로 정의된 조건에 의해 발생되는 인터럽트로서 클럭 인터럽트와 트랩 인터럽트가 있다.

 

  • 클럭 인터럽트 (Clock Interrupt) : CPU가 특정 프로세스에 집중되지 않도록 관리하고 일정한 시간이 지나면 프로세스를 교환함.
  • 트랩 / 예외 인터럽트 (Trap / Exceptoin) : Overflow, Divide by zero 등 잘못된 동작 수행시, 정전이 걸릴시, 잘못된 권한 작업을 시도했을 때, 의도되지 않은 동작시 예외 처리를 담당함.

 

4. Reference 

 

운영체제

운영체제의 정의 및 역할 등에 대해 알아보고, 운영체제의 주요 요소들, 즉 프로세스 관리, 주기억장치 관리, 파일 시스템 등에 대해 공부한다.

www.kocw.net

 

운영체제, OS, Operating System

운영체제를 처음 공부하는 사람 특히, 공학 또는 컴퓨터 관련 비전공자를 대상으로 합니다.

truemind5.blogspot.com

 

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

CPU Scheduling (1) - FCFS (First Come, First Served)  (0) 2020.02.04
CPU Scheduling Criteria & Kinds  (0) 2020.02.04
Process Management  (0) 2020.01.29
O/S Service  (0) 2020.01.21
Dual Mode & H/W Protection  (2) 2020.01.21
History of OS  (0) 2020.01.08
운영체제란 무엇인가?  (0) 2020.01.03