04. 운영체제 서비스
1. 부팅 서비스
컴퓨터 하드웨어를 관리하고, 프로그램을 실행할 수 있도록 컴퓨터에 시동을 건다.
부팅 = 운영체제를 메인 메모리에 적재하는 과정
2. 사용자 서비스
프로그래머가 프로그래밍을 쉽게 할 수 있도록 한다.
사용자 인터페이스 제공, 프로그램 실행, 입출력 동작 수행, 파일 시스템 조작, 통신, 오류 탐지를 제공한다.
3. 시스템 서비스
많은 사용자가 이용하는 프로그램에서는 컴퓨터 자원을 공유하여 시스템 자체의 성능을 향상할 수 있다.
자원 할당, 계정, 보호와 보안을 이용하여 시스템의 효율적인 동작을 보장한다.
4. 시스템 호출
시스템 호출은 현재 실행중인 프로그램과 운영체제 사이의 인터페이스로 API라고 부른다. 사용자 프로그램은 시스템 호출하여 운영체제의 기능을 제공받는다.
시스템 호출에서는 핵심 커널 서비스와의 통신. 새로운 프로세스의 생성과 실행, 하드웨어 관련 서비스가 있다.
시스템과 상호작용하는 동작은 사용자 수준 프로세스에서는 사용할 수 없지만, 시스템 호출을 통해 운영체제에 서비스를 요청할 수 있다.
시스템 호출 방법에는 두가지가 존재한다.
1. 프로그램에서 명령이나 서브 루틴의 호출의 형태로 호출할 수 있다. 주로 어셈블리어로 제공하지만 고급언어로 작성한 프로그램에서는 직접 수행 가능하다.
2. 시스템에서 명령 해석기를 사용하여 대화 형태로 요청
운영체제가 제공하는 일반적인 시스템 호출에는
- 프로세스 제어
- 파일 조작
- 장치 관리
- 정보 유지 등이 있다.
05. 운영체제 구조
1. 단일 구조 운영체제
대부분의 기능을 커널에 그룹화하여 구현하므로, 직접 통신하여 시스템 자원을 효율적으로 관리할 수 있다는 장점을 가지고 있다.
커널의 크기가 점점 커지면서 버그의 원인이나, 기타 오류의 구분이 어려워지고, 새로운 기능의 추가나 유지보수에 어려움을 가지고 있다.
동일한 메모리에서 실행하므로 하나의 문제로 전체 시스템에 영향을 미칠 수 있고, 악성 코드의 문제가 심하다.
2. 계층 구조 운영체제
비슷한 기능을 수행하는 요소들을 그룹화하여 계층으로 구성한 것이다. 단일 구조 운영체제보다 성능이 낮지만 시스템 모듈화가 잘 되어 있어서 시스템 검증과 오류 수정에 용이하다.
시스템을 계층으로 나누면 시스템의 설계&구현이 쉬워지고, 모든 계층은 시스템에 제한 없이 접근할 수 있기 때문에 오류와 악성코드에 민감하게 반응할 수 있다.
3. 마이크로 커널 구조 운영체제
단일 커널 문제를 해결하기 위해 개발되었다.
커널에 최소한 기능을 남겨 크기를 줄이고 기타 기능을 사용자 공간으로 옮겨 사용자 영역에서 수행하는 서버 구현 방법
장점 : 서버에서 오류가 발생해도 다른 서버와 커널에 큰 영향을 끼치지 않는다. 운영체제의 많은 기능을 사용자 영역의 서버에서 구현할 수 있기 때문에 서버 개발에 용이하고, 운영체제의 기능 변경이 가능하다.
단점 : 모듈 간의 통신이 빈번하여 성능이 떨어진다. 응용프로그램과 서버 사이의 자료 교환을 하려 커널에 출입하는 문맥교환 때문에 속도가 느리다.
'공부 자료 > 운영체제' 카테고리의 다른 글
운영체제 CH3.프로세스와 스레드 (0) | 2021.04.18 |
---|---|
운영체제 CH3. 프로세스와 스레드 (0) | 2021.04.18 |
운영체제 CH2. 운영체제의 소개 (0) | 2021.04.14 |
운영체제 CH2. 운영체제의 소개 (0) | 2021.04.14 |
운영체제 CH1.컴퓨터 시스템의 소개 (0) | 2021.04.13 |