공부한거 정리하는 노트에요

[OS] 운영체제란?

by 구설구설
운영체제(OS)는 하드웨어를 응용 프로그램이 활용할 수 있는 유용한 형태로 변환하는 소프트웨어이다.

운영체제의 역할

  • 하드웨어 사용을 위한 추상화(Abstraction) 설계
  • 응용 프로그램이 사용할 수 있는 API 정의
  • 보호 및 격리
    • 악의적이거나 결함 있는 응용 프로그램의 행위를 제한
    • 응용 프로그램 간의 격리
  • 자원 공유
    • 제한된 하드웨어 자원의 다중화

추상화

추상화는 복잡한 것을 이해하기 쉽게 만드는 과정 또는 결과로, 중요하지 않은 세부 사항을 무시하도록 돕는다.

운영체제가 추상화하는 대상은 다음과 같이 다양하다:

  • CPU 프로세서
  • DRAM
  • 저장소

이러한 하드웨어가 어떻게 작동하는지 사용자가 알지 못하더라도, 운영체제를 통해 이를 조작할 수 있다.


보호 및 격리

초기 운영체제에서는 커널과 응용 프로그램이 동일한 주소 공간에서 실행되었기 때문에, 응용 프로그램이 커널의 명령어와 데이터를 읽거나 수정할 수 있었다.

이로 인해 악의적인 응용 프로그램이 커널을 공격할 가능성이 있었고, 이를 방지하기 위해 운영체제 설계자는 커널을 응용 프로그램으로부터 보호하는 매커니즘을 고안하였다.

커널 보호의 주요 매커니즘

  1. 응용 프로그램이 중요한 명령어를 직접 실행하지 못하도록 제한
  2. 응용 프로그램이 다른 응용 프로그램 및 커널의 메모리에 접근하지 못하도록 차단
  3. 운영체제가 응용 프로그램으로부터 제어권을 다시 가져올 수 있도록 보장

이와 같은 방식으로 운영체제는 하드웨어 자원의 효과적인 활용과 응용 프로그램 간의 안전한 실행 환경을 제공한다.

'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

블로그의 정보

공부중임

구설구설

활동하기