[OS] 운영체제란?
by 구설구설운영체제(OS)는 하드웨어를 응용 프로그램이 활용할 수 있는 유용한 형태로 변환하는 소프트웨어이다.
운영체제의 역할
- 하드웨어 사용을 위한 추상화(Abstraction) 설계
- 응용 프로그램이 사용할 수 있는 API 정의
- 보호 및 격리
- 악의적이거나 결함 있는 응용 프로그램의 행위를 제한
- 응용 프로그램 간의 격리
- 자원 공유
- 제한된 하드웨어 자원의 다중화
추상화
추상화는 복잡한 것을 이해하기 쉽게 만드는 과정 또는 결과로, 중요하지 않은 세부 사항을 무시하도록 돕는다.
운영체제가 추상화하는 대상은 다음과 같이 다양하다:
- CPU 프로세서
- DRAM
- 저장소
이러한 하드웨어가 어떻게 작동하는지 사용자가 알지 못하더라도, 운영체제를 통해 이를 조작할 수 있다.
보호 및 격리
초기 운영체제에서는 커널과 응용 프로그램이 동일한 주소 공간에서 실행되었기 때문에, 응용 프로그램이 커널의 명령어와 데이터를 읽거나 수정할 수 있었다.
이로 인해 악의적인 응용 프로그램이 커널을 공격할 가능성이 있었고, 이를 방지하기 위해 운영체제 설계자는 커널을 응용 프로그램으로부터 보호하는 매커니즘을 고안하였다.
커널 보호의 주요 매커니즘
- 응용 프로그램이 중요한 명령어를 직접 실행하지 못하도록 제한
- 응용 프로그램이 다른 응용 프로그램 및 커널의 메모리에 접근하지 못하도록 차단
- 운영체제가 응용 프로그램으로부터 제어권을 다시 가져올 수 있도록 보장
이와 같은 방식으로 운영체제는 하드웨어 자원의 효과적인 활용과 응용 프로그램 간의 안전한 실행 환경을 제공한다.
'CS > OS' 카테고리의 다른 글
[OS] 듀얼 모드 (Dual Mode, 이중 모드) (0) | 2024.12.12 |
---|---|
[OS] 프로세스 (0) | 2024.12.11 |
[OS] SSD (0) | 2024.05.24 |
[OS] 하드 디스크 (0) | 2024.05.23 |
[OS] I/O Device (0) | 2024.05.22 |
블로그의 정보
공부중임
구설구설