-
운영체제 구조운영체제/시스템 구조 2018. 2. 3. 14:17
MS DOS
최소의 공간에 최대의 기능을 제공하도록 작성됨
모듈들로 분할되지 않음
인터페이스의 기능 계층이 분리되지 않음
초기UNIX
커널과 시스템 프로그램으로 구성됨
하나의 계층으로 결합되기에는 엄청나게 많은 기능을 제공함
이러한 구조는 구현하기 어렵고 유지 보수하기 어렵지만 성능면에서는 장점을 가진다.
커널
시스템 호출 인터페이스 아래와 물리적 하드웨어의 모든 것
커널은 시스템 호출을 통하여 기능들을 제공한다.
계층적 접근
운영체제가 여러 개의 계층으로 분할되어 있음
최 하위 계층은 하드웨어, 최 상위 계층은 사용자 인터페이스
장점 : 구현과 디버깅이 간단함
어려운 점 : 여러 계층을 적절히 정의 하는 것
각 층은 자신보다 하위 수준의 층에 의해 제공된 연산들만 사용해 구현한다.
이 접근 방식은 시스템 호출 오버헤드로 인해 다른 구현 방식보다 효율이 떨어진다.
마이크로 커널
모든 중요치 않은 구성 요소를 커널로부터 제거하고
그것들을 시스템, 사용자 수준 프로그램프로 구현하여 운영체제를 구성
장점 : 운영체제의 확장이 용이하다. 다른 하드웨어로 이식이 용이하다. 높은 보안성과 신뢰성을 제공한다.
단점 : 사용자 공간과 커널 공간과의 통신 오버헤드 때문에 성능이 감소한다.
모듈
최근의 운영체제는 적재 가능 커널 모듈로 구현된다.
객체지향 프로그래밍 기법을 사용하여 커널은 핵심적인 구성 요소의 집합을 가지고 있고
부팅이나 실행 중 부가적인 서비스들을 링크한다.
커널의 각 부분이 정의되고 보호된 인터페이스를 가진다는 점에서 계층적 구조와 비슷하지만
임의의 모듈을 호출할 수 있다는 점에서 계층적 구조보다 유연하다.
중심 모듈은 핵심기능만을 가지고 있다는 점에서 마이크로 커널과 유사하지만
통신하기 위해서 메시지 전달을 호출할 필요가 없기 때문에 더 효율적이다.
혼용 시스템
현대 운영체제는 하나의 순수한 모델이 아닌 혼용 구조이다.
성능, 보안, 사용 요구 등을 충족하기 위해서 혼용 구조를 채택한다.
Mac OS X
Apple Mac OS X 운영체제는 혼용 구조를 사용한다.
최 상위 계층은 프로그램 환경과 프로그램에 그래픽 인터페이스를 제공하기 위한 서비스들의 집합이다.
ㅋ
커널은 Mach 마이크로 커널과 BSD Unix 로 구성된다.
Mach는 메모리 관리, 프로세스간 통신 설비, 스레드 스케줄링 등을 제공한다.
BSD 구성 요소는 BSO명령어 라인 인터페이스, 네트워킹, 파일 시스템 지원, POSIX API의 구현을 제공한다.
IOS
iPhone, IPad를 위한 모바일 운영체제로 Mac OS에 기능을 추가한 것이다.
Android
모바일 장치를 위한 소프트웨어 스택으로
리눅스 운영체제, 미들웨어, 핵심 응용 프로그램 들로 구성된다.
안드로이드 SDK를 제공한다.
Java 안드로이드 API를 사용하여 개발하며
프로그램은 SDK에서 한번 더 변환된다.
'운영체제 > 시스템 구조' 카테고리의 다른 글
시스템 부트 (0) 2018.02.03 운영체제 디버깅 (0) 2018.02.03 운영체제 설계 및 구현 (0) 2018.02.03 시스템 프로그램 (0) 2018.02.03 시스템 호출의 유형 (0) 2018.02.03 댓글