운영체제의 구조 - accidentlywoo/legacyVue GitHub Wiki

운영체제의 구조

  • 일반적인 접근 방법은 독립적인 기능을 가진 작은 부분으로 분할하여, 즉 모듈화하여 개발과정을 단순화하고 체계화하여 오류 수정과 개발 기간을 단축하는 것이다.

단순 구조 운영체제

  • 최소 공간에서 가장 유용한 기능을 제공하도록 작성된 보편적인 운영체제 구조이다. 운영체제의 모든 기능 및 구성요소를 커널에 포함하면서 효율적인 모듈로 구분되지 못하고 인터페이스와 기능 수준의 명확한 분리가 어려웠다.
  • ex) UNIX 시스템 구조

계층 구조 운영체제

  • 계층 접근 방식의 주요 장점은 구조와 디버깅이 간단하다. 각 계층은 각각 낮은 수준(계층)의 기능(작업) 및 서비스를 사용하도록 선택되므로 디버깅 및 시스템 검증을 단순화한다.
  • 각 계층은 하위 수준(계층)에 의해 구현되고 운영되므로 각 계층은 이러한 작업이 구현되는 방식을 모두 알 필요가 없으며 각 계측은 특정 데이터 구조, 운영 등을 숨기고 계층의 작업과 역할만 실행할 뿐이다. 그러나 사용자 프로세스의 요청을 실행하는데 많은 계층을 통과해야 하는 문제점 즉, 높은 계층은 차례로, 낮은 계층에 대한 작업을 호출해야하는 어려움이 있다. 다시 말하면 각 계층은 한 계층에서 다른 계층으로의 데이터 전달에서 시스템에 추가 오버헤드의 시스템 호출이 발생된다.

마이크로 커널 구조 운영체제

카날은 운영 체제의 필수 불가결한 가장 중요한 부분으로 커널 공간(특권 모드)과 사용자 공간(권한이 없는 모드) 두 부분으로 구성되며 프로세스 상의 보호 역할을 수행한다. 이러한 커널은 두 가지 개념이 있으며 단일(모놀리식) 커널과 마이크로 커널이다.


요약

  1. 운영체제는 시스템 성능 향상과 사용자 편리성 제공 그리고 자원관리 및 오류제어라는 세가지 주요 목적을 위해 발전해왔다. 그러다보니 항상 시스템 확장성을 고려하여 발전하는 경향을 보인다.

  2. 운영체제는 프로그램 실행 환경과 필요한 자원(프로세스, 메모리, 파일, 장치)을 제공하고 관리해주며, 여러 가지 서비스를 제공한다. 시스템 호출을 통하여 운영체제의 서비스를 받으며, 명령 해석기는 사용자가 프로그램을 작성하지 않고도 시스템 호출을 요청할 수 있게 해준다.

  3. 초기 컴퓨터는 운영체제 없이 콘솔에서 수행되는 형태로 속도가 느리기 때문에 작업을 실행하는데 상당한 시간이 소요되었다. 특히 작업을 수행하는데 필요한 준비시간은 많은 단계와 시간의 낭비를 가져왔다.

  4. 작업 순차 처리 시스템에서의 준비시간(유휴시간)을 줄이기 위하여 유사한 작업을 묶어서 처리하는 배치(batch)처리 방법에 이어 유휴시간을 극복하기 위하여 작동작업순서(automatic job sequencing)은 많은 단계와 시간의 낭비를 가져왔다.

  5. 상주 모니터(resident monitor)는 하나의 작업에서 다른 작업으로 진행을 자동적으로 제어하는 프로그램이다. 시스템 성능을 향상시키는 버퍼링, 프로세서가 한 작업의 입력과 다른 작업의 계산과 출력을 동시에 수행하게 하는 스풀링 기법이 제아되었다.

  6. 시스템의 전체적인 성능을 향상시키기 위하여 개발된 다중 프로그래밍은 또한 사분할을 허용허게 되었다. 사분할 운영체제는 다수의 사용자들이 대화형으로 컴퓨터를 사용하도록 했다.

  7. 다중 처리 시스템은 다수의 프로세서(처리기)를 사용함으로써 시스템은 신뢰성과 가용성, 컴퓨터 능력의 증가 등 여러 가지 목적을 달성할 수 있게 되었으며 비대칭적(주/종) 다중 처리시스템 구성과 대칭적 구성 다중 처리 시스템이 제안되고 있다.

  8. 분산처리 시스템은 시스템마다 운영체제와 메모리를 가지고 독립적으로 운영되며 필요할 때 통신을 하는 시스템으로 하나의 대형 시스템이 담당하던 업무를 네트워크를 통하여 분산된 여러 시스템이 서로 통신하면서 나누어 처리하는 방식이다.

  9. 운영체제는 제 1세대(버퍼링, 스풀링), 제 2세대(다중 프로그래밍, 다중 처리, 사분할 시스템), 제 3세대(범용 시스템, 다중모드 시스템_, 제 4세대(네트워크 시스템, 가상기계, 분산 데이터처리, 개인 컴퓨터)로 발전되고 있다.

  10. 시스템 호출 계층은 프로세스 제어, 파일 및 장치 처리와 같은 기본적인 기능을 제공하며 시스템 서비스는 프로그램 제어, 자원 할당, 보호와 같은 여러 가지 형태로 분류될 수 있다.

  11. 새로운 운영체제의 설계는 매우 크기 때문에 모듈화하는 것이 매우 중요하며 계층 순서대로 시스템을 설계하는 것은 중요한 설계 기술로 간주된다.

  12. 마이크로 커널 방식은 커널로부터 많은 기능을 제거하고 최소 기능만 커널 내부에 포함하므로 커널의 크기를 대폭 축소하고 나머지 기능은 '사용자' 공간으로 이전하여 사용자 영역에서 수행되는 서버로 구현하는 방식이다.