운영체제란 무엇인가?

  • 컴퓨터 사용자와 컴퓨터 하드웨어 사이의 중개자 역활을 하는 프로그램

운영체제의 목표

  • 사용자 프로그램을 실행하고 사용자 문제를 보다 쉽게 해결할 수 있도록 하자
  • 컴퓨터 시스템을 사용하기 편리하게 만들자
  • 컴퓨터 하드웨어를 효율적으로 사용하자

컴퓨터 시스템 구조

  • 하드웨어
    • CPU
    • 메모리
    • I/O 장치
  • 운영체제: 다양한 응용 프로그램 및 사용자 간의 하드웨어 사용을 제어하고 조정합니다.
  • 응용프로그램: 워드, 컴파일러, 웹 브라우저, 데이터베이스 시스템, 비디오 게임
  • 사용자: 사람, 기계, 다른 컴퓨터

운영체제가 하는 일

  • 자원의 이용률을 관리한다.
  • 워크스테이션의 전용 자원과 서버가 제공하는 공유 자원을 효율적으로 사용 하도록 한다.
  • 관점에 따라 달라진다

운영체제의 정의

  • 모든 사람들이 받아들이는 정의는 없다.
  • OS는 자원 할당기
    • 모든 자원을 관리: cpu, 메모리, 입출력 장치
    • 효율과 공정한 자원 사용을 목적으로 하는 상충된 요구 사이에서 결정
  • OS는 제어 프로그램
  • 운영체제를 주문했을 때 판매자가 배송하는 모든 것
  • 컴퓨터에서 항상 실행되는 유일한 프로그램을 커널이라고 한다.
  • 그 외 다른 모든 것들은
    • 시스템 프로그램(운영체제와 같이 배송됨)이거나
    • 응용프로그램
  • 커널 + 시스템 프로그램 + 응용프로그램

컴퓨터 시동

  • 부트스트램 프로그램이 전원이 공급되는 시점 혹은 다시 부트될 때 적재된다
    • 통상 ROM 또는 EPROM에 저장되고 펌웨어라고 불림
    • 시스템의 모든 구성을 초기화 한다.
    • 운영체제 커널을 적재 시킨 후 커널을 실행 시킨다.

컴퓨터 시스템 구성

  • 하나 이상의 CPU와 장치 제어기
    • 공유 메모리에 접근할 수 있도록 공통 버스로 연결되어 있다.
    • CPU와 장치는 병행 수행하기 때문에 메모리를 사용하기 위해 경쟁함
      • 동시에 접근 불가능

컴퓨터 시스템 연산

  • 입출력 장치와 CPU는 병행 실행된다
  • 각 장치 제어기는 특정 유형의 장치를 책임진다
  • 각 장치 제어기는 지역 버퍼를 가진다.
  • CPU는 메인 메모리는로 지역 버퍼(캐쉬 메모리) 혹은 지역 버퍼에서 메인 메모리로 데이터를 이동한다.
  • 입출력은 장치에서 제어기의 지역 버퍼로 데이터를 이동하는 것이다
  • 장치 제어기는 인터럽터를 발생시켜 CPU에게 연산이 끝났음을 알린다.

인터럽트의 공통 기능

  • 인터럽트는 인터럽트 서비스 루틴에게 제어권을 넘긴다.
    • 종류별로 서비스 루틴이 다를 수 있으며
    • 모든 서비스 루틴의 주소를 저장하고 있는 자료구조를 인터럽트 벡터라고 한다.
  • 인터럽트 아키텍처는 반드시 인터럽트 된 명령어의 주소를 저장해야 한다.
  • 트랩 또는 예외는 소프트웨어가 발생시킨 인터럽트를 의미한다
    • 인터럽트: 명령어가 끝나고 새로운 명령어가 시작되기 전 처리
    • 예외: 명령어가 끝나기 전에 처리 (의미가 더 강함)
  • 운영체제는 인터럽트가 발생하여 작동을 시작하는 방식(Interrupt driven)

인터럽트 핸들링

  • CPU는 인터럽트가 발생한 신호를 파악
    • 과거: poliling (주기적으로 cpu가 모든 기기를 체크)
    • 현재: vectored (cpu가 발생한 신호를 분석해서 거기에 맞는 인터럽트 시스템을 전달)

입출력 구조

  • 전제조건: cpu하고 별도의 하드웨어가 필요
  • 운영체제가 핵심기능을 가지고 있기 때문에 운영체제에게 핵심기능을 요청하는 식으로 구현 됨
  • 입출력이 시작된 후, 제어권은 완료를 기다리지 않고 바로 사용자 프로그램에게 넘어간다
    • 시스템 호출: 사용자가 입출력 완료를 대기할 수 있도록 운영체제에게 요청
    • 장치 상태 테이블: 장치마다 유형 주소와 상태를 표시
    • OS는 장치의 상태를 결정하고 인터럽트를 추가하기 위하여 항목을 갱신할 때 테이블을 찾아본다.

저장장치의 정의와 표기

  • 기본단위는 비트
  • 한 바이트는 8비트 대부분에 컴퓨터에서는 가장 작은 편리한 저장 된위
  • 1 킬로바이트 KB 2^10
  • 1 메가바이트 MB 2^20
  • 1 기가바이트 GM 2^30
  • 1 테라바이트 TB 2^40
  • 1 페타바이트 PB 2^50

저장장치 구조

  • 메인 메모리: CPU가 직접 접근할 수 있는 유일한 대용량 저장 매체
    • 임의 접근
    • 휘발성
  • 보조 저장장치: 대용량 비휠발성 저장 용량을 제공하는 메인 메모리의 확장
  • 하드 디스크: 자성 기록 가능 물질로 덮힌 단단한 금속 또는 유리 플래터
    • 디스크 표면이 논리적인 트랙으로 나뉘고 트랙은 다시 섹터로 나뉜다
    • 디스크 제어기가 장치와 컴퓨터의 논리적인 상호 작용을 결정한다.
  • 반도체 디스크: 하드 디스크 보다 빠른 비휠발성 저장 매체
    • 다양한 기술
    • 점점 더 대중화 되고 있음

'CS > OS' 카테고리의 다른 글

CPU 스케줄링 기준  (0) 2023.04.17
식사하는 철학자 문제  (0) 2023.04.11
프로세스  (0) 2023.03.20
운영체제 구조  (0) 2023.03.13
저장장치 계층 구조  (0) 2023.03.13

+ Recent posts