운영체제
- 운영체제 OS(operating System): 부팅시 가장 먼저 만나게 되는 소프트웨어 / 사용자에게 편리한 인터페이스 환경을 제공하고 컴퓨터 스템의 자원을 효율적으로 관리하는 소프트웨어이다.
- 윈도우, MacOS, 유닉스, 리눅스, 안드로이드..
- 임베디드 운영체제: CPU의 성능이 낮고 메모리 크기도 작은 시스템에 내장하도록 만든 운영체제
운영체제의 역할
- 자원 관리: 자원을 응용 프로그램에 나누어주어 사용자가 원활하게 작업할 수 있도록 돕는다.
- 자원 보호: 비정상적인 작업으로부터 보호한다.
- 하드웨어 인터페이스 제공: 제품을 사용할 때 별도의 소프트웨어를 설치해야 하는 과정을 복잡하지 않게 해주는 역할을 한다.
- 사용자 인터페이스 제공: 사용자가 운영체제를 편리하게 사용하도록 지원한다.
운영체제의 목표
- 효율성: 같은 자원을 관리하더라도 효율적으로 관리해야 한다.
- 안정성: 운영체제의 역할 중 '자원 보호'와 연관된다. 프로그램의 안전 문제와 하드웨어적인 보안 문제를 처리할 수 있어야 하고 문제 발생시 이전으로 복구하는 결함 포용 기능을 수행해야 한다.
- 확장성: 운영체제는 다양한 시스템 자원을 추가하거나 제거하기가 편리해야 한다.
- 편리성: 사용자가 편리하게 작업할 수 있는 환경을 제공한다.
운영체제의 구조
- 커널: 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것
- 단일형 구조 커널
- 커널의 핵심 기능을 구현하는 모듈들이 구분 없이 하나로 구성되어 있다.
- 장점: 모듈이 거의 분리되지 않았기 때문에 통신 비용이 줄어 효율적인 운영이 가능하다.
- 단점
- 버그나 오류 수정이 어려움
- 상호 의존성이 높아 작은 결함이 시스템 전체로 확산될 수 있음
- 이식성이 낮음
- 복잡한 현대의 운영체제와는 현실적으로 맞지 않음
- 계층형 구조 커널
- 비슷한 기능을 가진 모듈을 묶어서 하나의 계층으로 만들고 계층 간 통신을 통해 운영체제를 구현하는 방
- 모듈화했기 때문에 단일형보다 버그나 오류를 쉽게 처리할 수 있음
- 디버깅이 쉽다
- 마이크로 구조 커널
- 프로세스 관리, 메모리 관리, 프로세스 간 통신 관리 등 가장 기본적인 기능만 제공
- 다른 커널의 비해 많은 부분이 사용자 영역에 구현되어 있음
- 각 모듈은 세분화되어 존재하고 모듈 간의 정보 교환은 프로세스 간 통신을 이용하여 이루어짐
- 단일형 구조 커널
- 시스템 호출
- 커널이 자신을 보호하기 위해 만든 인터페이스
- 사용자나 응용 프로그램이 컴퓨터 자원에 직접 접근하는 것을 차단. 따라서 자원을 이용하려면 시스템 콜을 통해
서 접근해야 한다.- 직접 접근: 사용자가 직접 컴퓨터 자원에 접근하여 작업하는 방식
- 시스템 호출을 통한 접근: 누군가에게 요청하여 작업의 결과만 받는 방식.
- 드라이버
- 하드웨어와 커널 사이의 인터페이스
- 하드웨어의 특성을 반영한 소프트웨어
- 가상머신
- 운영체제와 으용 프로그램 사이에서 작동하는 프로그램
- 응용 프로그램이 모두 동일한 환경에서 작동하는 것처럼 보이게 해줌
'CS > 운영체제' 카테고리의 다른 글
[운영체제] 프로세스 동기화 (0) | 2024.03.26 |
---|---|
[운영체제] CPU 스케줄링 (1) | 2024.03.26 |
[운영체제] 스레드 (0) | 2024.03.26 |
[운영체제] 프로세스 (0) | 2024.03.26 |
[운영체제] 컴퓨터 구조 / 성능 향상 (0) | 2024.03.26 |