본문 바로가기
개발공부 개발새발/OS

OS ) 컴퓨터, 운영체제란 무엇인가.

by 휴일이 2024. 12. 9.

컴퓨터 시스템의 4 요소

  1. 하드웨어
  2. 운영체제
  3. 응용 프로그램
  4. 사용자

하드웨어

구성

  • 중앙 처리 장치 (CPU)
  • 메모리 및 입출력 장치

계산용 자원 제공

응용 프로그램

종류

  • 워드 프로세서
  • 웹 브라우저
  • 컴파일러 등등…

→ 사용자의 계산 문제를 해결하기 위해 **시스템 자원**이 어떻게 사용되어야 하는가를 정의

💡 운영체제는 다른 프로그램이 유용한 작업을 할 수 있는 환경을 제공한다.

사용자 관점에서의 컴퓨터(운영체제 → 사용자 모드)

랩탑, 키보드, 모니터 마우스 등, 사용되는 인터페이스에 따라 달라진다. 즉, 사용하려는 **시스템**에 따라 달라진다.

  • 시스템은 한 사용자가 자원을 독점하도록 설계 되었다.

사용자 관점에서의 운영체제의 목표

  • 사용자가 수행하는 작업에 “최대한의 효율” 을 내는 것.
  • 사용의 용이성을 위해 설계되며, 성능에도 약간 신경을 쓰지만 → HW, SW 자원이 어떻게 이용되는 지는 전혀 신경쓰지 않음.
    • 일반 사용자용 운영체제는 자원 활용의 효율성보단, 사용자 편의성을 우선으로 한다.
💡 일부 컴퓨터는 사용자 관점이 존재하지 않거나 매우 작다.
예 ) 가전제품이나 자동차 내의 내장형 컴퓨터는 사용자의 개입이 없이 작동하도록 설계 됨.

시스템 관점에서의 컴퓨터(운영체제 → 커널 모드)

운영체제는 자원할당자. 하드웨어와 가장 밀접하게 연관된 프로그램.

  • 문제를 해결하기 위한 여러가지 자원(CPU 시간, 메모리, 저장장치, 입출력 장치)를 가진다.
  • 컴퓨터 시스템을 효율적이고 공정하게 운영할 수 있도록 어느 요청에 자원을 할당할지 결정한다.
  • 컴퓨터의 부적절한 사용을 방지하기 위해 사용자 프로그램의 수행을 제어 함.
    • 특히 입출력 장치의 제어와 작동에 깊이 관여 함.

→ 운영체제는 시스템 자원 할당과 프로그램 수행(입출력 장치의 제어, 작동)을 제어한다.

운영체제의 존재 이유

1960 년 대, 무어의 법칙(Moore’s Law) 이 집적회로의 트랜지스터 수가 18개월마다 배가할 것이라고 예측했다. 즉, 18개월마다 컴퓨터가 발전한다는 것이다.

  • 운영체제는 이렇게 빠르게 발전하는 컴퓨터 세상에서 유용한 컴퓨팅 시스템을 만드는 문제를 해결하기 위한 합리적인 방법을 제공한다.
  • 컴퓨팅 시스템의 기본 목표 → 프로그램을 실행하고 사용자 문제를 더욱 쉽게 해결하는 것.
  • 응용 프로그램에는 입출력(I/O) 장치 제어 같은 특정 공통 작업이 필요하고, 운영체제는 자원을 제어하고 할당한다.

운영체제를 부를 때

  • 운영체제는 OS 를 작동시키는 데에 필요한 모든 것을 제공한다.
    • 커널, 시스템 자원 등

운영체제에는 꼭 “커널” 만 포함 된 것은 아니다.

미들웨어를 제공하기도 한다.

  • 모바일 운영체제 각각에는 DB, 그래픽 지원 미들웨어, 핵심 커널 등이 포함되어 있음.

결론

운영체제에는 커널, 미들웨어 프레임워크(Java, Kafka 등), 사용자 프로그램이 포함 된다.

컴퓨터 시스템의 구성

컴퓨터는 하나 이상의 CPU 와 공유 메모리 사이의 엑세스를 제공하는 공통 버스(시스템 버스)를 통해 연결된 여러 장치 컨트롤러(디스크 드라이브, 오디오 또는 그래픽 디스플레이)로 구성 된다.

장치 컨트롤러

  • 일부 로컬 버퍼 저장소
  • 특수 목적 레지스터
    • 이것들을 유지 관리 함.
💡 장치 컨트롤러는 CPU 의 버퍼와 레지스터가 아닌, 고유의 버퍼와 레지스터를 가지고 있으며 그것들에 들어있는 데이터를 CPU 로 보내서 명령을 할 수 있음.

장치 드라이버

장치 컨트롤러를 사용하기 위한 인터페이스를 제공.

- CPU 와 장치 컨트롤러는 병렬로 실행되어 메모리 사이클을 놓고 경쟁한다.
- 메모리 컨트롤러는 드라이버들이 공유 메모리에 질서 있게 엑세스할 수 있도록 하기 위해 메모리에 대한 엑세스를 동기화 한다.
728x90

'개발공부 개발새발 > OS' 카테고리의 다른 글

OS ) 저장 장치  (0) 2024.12.18
OS ) 인터럽트  (0) 2024.12.17
OS ) 멀티 코어가 뭡니까?  (0) 2024.11.20
OS ) 시스템콜, 코루틴, 그리고 이벤트 루프란?  (0) 2024.10.29
OS ) CPU와 메모리  (0) 2023.11.02