단일 구조 운영체제
초기에 생겨난 가장 보편적인 형태입니다. 운영체제의 모든 기능을 커널과 동일한 메모리 공간에 적재한 후 시스템 호출만으로 사용할 수 있습니다. 작고 간단하면서 시스템 기능이 제한된 구조입니다.
장단점
대부분의 기능을 커널에 그룹화해서 구현하므로, 직접 통신하여 시스템 자원을 효율적으로 관리할 수 있다는 장점이 있습니다. 그러나 커널 크기가 상대적으로 커지면서 버그의 원인이나 기타 오류를 구분하기 어렵고, 새 기능을 추가하는 수정과 유지 보수가 매우 어렵습니다. 또 동일한 메모리에서 실행하므로 한 부분에서 발생한 문제 때문에 시스템 전체에 심각한 영향을 줄 수 있고 악성 코드로 피해를 입기가 쉽다는 단점이 있습니다.
계층 구조 운영체제
계층 구조에서는 비슷한 기능을 수행하는 요소를 그룹화하여 계층적으로 구성합니다. 사용자 프로세스의 요청을 수행할 때 여러 계층을 거쳐야 하므로, 한 계층에서 다음 계층으로 데이터를 전달할 때마다 추가적인 시스템 호출이 발생합니다. 따라서 호출 한 번으로 서비스를 받는 단일 구조보다는 성능이 떨어집니다.
장단점
계층적 구조의 장점은 모듈화로 단일 구조 운영체제보다 모듈화가 잘 되어 있다는 것입니다. 각 계층은 자신의 하위 계층 서비스와 기능만 사용하므로, 계층 구조에서는 시스템 검증과 오류 수정을 쉽게 할 수 있습니다. 시스템을 계층으로 나누면 시스템 설계나 구현이 단순해집니다.
마이크로 커널 구조 운영체제
커널에는 최소 기능만 포함시켜 크기를 대폭 줄이고 기타 기능은 사용자 공간으로 옮겨 사용자 영역에서 수행하는 서버 구현 방법입니다.
하드웨어 초기화와 메모리 관리(주소 공간 관리), 프로세스(스레드) 관리와 프로세스 간 통신, 프로세스 간 협력을 하는 동기화 기능 등 기본 기능만 실행합니다. 대신 네트워크 시스템, 파일 시스템 상호작용과 장치 관리 등 대부분의 운영체제 구성 요소는 커널 외부, 즉 사용자 영역의 서버로 옮겨 구현합니다.
커널을 가볍게 했으며, 운영체제 서비스를 사용자 영역의 독립적인 서버에서 수행하기 때문에 서버에서 잘못 수행하더라도 다른 서버와 커널에 치명적인 영향을 주지 않습니다. 또 운영체제의 많은 기능을 사용자 영역의 서버로 구현할 수 있기 때문에 서버 개발이 용이하고, 운영체제의 기능을 쉽게 변경할 수 있습니다.
모듈화 정도가 높아 확장성, 이식성, 규모 확장성이 높지만, 모듈 간에 통신이 빈번하게 발생하여 성능이 떨어질 수 있습니다. 또 응용 프로그램과 서버 간에 자료를 교환하려고 커널을 출입하는 문맥 교환 때문에 속도가 느립니다.
'운영체제' 카테고리의 다른 글
[OS] 운영체제 - 프로세스의 개념과 상태 변화 (0) | 2021.12.30 |
---|---|
[OS] 운영체제 - 운영체제의 서비스 (0) | 2021.12.30 |
[OS] 운영체제 - 운영제체의 발전 과정과 유형 (0) | 2021.12.29 |
[OS] 운영체제 - 운영체제의 기능 (0) | 2021.12.29 |
[OS] 운영체제 - 개념과 발전 목적 (0) | 2021.12.29 |
댓글