CS/운영체제

[CS/운영체제] 운영체제란?

Gaeun Lee 2024. 1. 3. 13:06

운영체제

  • 컴퓨터의 하드웨어를 관리하는 소프트웨어
  • 응용프로그램들의 기반을 제공하고 컴퓨터 사용자와 컴퓨터 하드웨어 사이의 중개 역할을 함
  • 사물 인터넷 장치를 포함하는 차와 가전제품에서부터 스마트폰, 개인용 컴퓨터, 기업 컴퓨터, 클라우드 컴퓨팅까지 어디에나 존재
  • 현대의 컴퓨팅 환경에서 운영체제의 역할을 탐구하기 위해서는 먼저 컴퓨터 하드웨어의 조직과 구조를 이해하는 것이 중요함
    • 여기에는 CPU, 메모리, I/O 장치 뿐만 아니라 저장소도 포함
    • 운영 체제의 기본적인 책임은 이러한 자원을 프로그램에 할당하는 것

 


 

운영체제 역할

  • 컴퓨터 시스템
    • 관점 (1)
    •  
      1. 하드웨어 : 컴퓨터의 기본적인 컴퓨팅 자원을 제공함
        1. CPU (Central Processing Unit)
        2. 메모리
        3. I/O 장치
      2. 운영체제
        1. 하드웨어를 제어
        2. 다양한 사용자를 위해 다양한 응용 프로그램 간의 사용을 조정
      3. 응용프로그램 : 자원이 사용자의 컴퓨팅 문제를 해결하는 데 사용되는 방법을 정의합니다.
        • ex) 워드프로세서, 스프레드시트, 컴파일러, 웹브라우저
      4. 사용자
    • 관점 (2)
      • 하드웨어
      • 소프트웨어
      • 데이터
      ⇒ 운영 체제는 컴퓨터 시스템의 작동에 이러한 자원을 적절하게 사용할 수 있는 수단을 제공함

 


 

  • 운영체제를 바라보는 두 가지 관점
    1. 사용자 관점
      1. 사용자가 자신의 자원을 독점하도록 설계됨
      2. 목표는 사용자가 수행하고 있는 작업을 최대화하는 것
      3. 이 경우 운영 체제는 대부분 사용 편의성을 위해 설계되었으며, 성능 및 보안에는 일부 관심이 있지만 리소스 활용(다양한 하드웨어 및 소프트웨어 리소스 공유 방법)에는 관심이 없음
    2. 시스템 관점
      1. 운영체제 = 자원 할당자
        • 운영체제는 하드웨와 가장 밀접하게 관련되어 있는 프로그램임
        • 문제를 해결하는 데 필요한 많은 자원들(CPU 시간, 메모리 공간, 저장 공간, 입출력 장치 등)의 관리자 역할을 함
        • 상충될 수도 있는 자원 요청들에 직면하여 컴퓨터 시스템을 효율적이고 공정하게 운영할 수 있도록 특정 프로그램들과 사용자들에게 어떻게 자원을 할당할지 결정해야 함
      2. 운영체제 = 제어 프로그램
        • 다양한 입출력 장치들과 사용자 프로그램들을 제어할 필요가 있음
        • 사용자 프로그램들의 실행을 관리하여 컴퓨터의 오류와 부적절한 사용을 방지함
          • 특히 입출력 장치들의 작동과 제어에 관한 것

 


 

  • 운영체제 정의
    • 운영체제는 컴퓨터에서 항상 실행되는 하나의 프로그램 (일반적으로 커널이라고 함)
    • 커널과 함께 두 가지 다른 종류의 프로그램이 존재
      1. 시스템 프로그램: 운영체제와 연결되어 있지만 반드시 커널의 일부는 아님
      2. 응용 프로그램: 시스템의 동작과 관련이 없는 모든 프로그램을 포함
    • 모바일 운영체제에는 코어 커널뿐만 아니라 애플리케이션 개발자들에게 부가적인 서비스를 제공하는 소프트웨어 프레임워크인 미들웨어도 포함되어 있는 경우가 많음
      • ex. 가장 중요한 두 모바일 운영체제인 애플의 iOS와 구글의 안드로이드는 각각 코어 커널과 데이터베이스, 멀티미디어, 그래픽을 지원하는 미들웨어를 포함하고 있음
    • 운영체제에는 항상 실행되는 커널, 애플리케이션 개발을 용이하게 하고 기능을 제공하는 미들웨어 프레임워크, 운영체제가 실행되는 동안 시스템을 관리하는 데 도움이 되는 시스템 프로그램이 포함되어 있음