CS/운영체제

[운영체제-1] 운영체제 개요

1. 컴퓨터 시스템의 기본 구성

컴퓨터 시스템의 4가지 구성요소

  1. 하드웨어 (CPU, 메모리, I/O장치)
  2. 운영체제
  3. 응용 프로그램
  4. 사용자 (사람, 기계, 컴퓨터)

 

2. 운영체제의 정의와 하는 일

운영체제의 목적

  • 유저 프로그램을 구동, 유저 문제 해결을 쉽게 하기 위함
  • 컴퓨터 시스템을 사용하기 쉽게 하기 위함
  • 컴퓨터 하드웨어를 효율적으로 사용할 수 있게 하기 위함

 

운영체제의 구성

  • 커널 + 시스템 프로그램으로 구성됨
  • 커널 : 컴퓨터에서 항상 실행되는 하나의 프로그램
  • 시스템 프로그램 : 모든 프로그램을 포함, 시스템 운영과 관련 있는 응용 프로그램

 

운영체제가 하는 일

  • 리소스 할당의 주체
    • 모든 리소스를 관리
    • 자원에 대한 충돌되는 요청 사이에서 효율적이고 공정하게 사용 리소스 분배
  • 제어 프로그램
    • 프로그램 실행을 제어, 오류 및 부적절한 사용 방지

 

3. 컴퓨터 시스템의 작동

컴퓨터 부팅

  • 부트 스트랩(Bootstrap, 부팅)
  • PC의 전원 버튼을 누른 직후부터, 운영체제가 메모리에서 동작하기 시작할 때까지의 모든 과정
    1. 메인보드에 전력 공급
    2. ROM or EPPROM에 저장된 BIOS 루틴이 시작
    3. BIOS는 셀프테스트를 통해 주변 하드웨어를 체크
    4. MBR(Master Boot Record)에 존재하는 부팅정보를 읽어오는 부트스트랩 실행
    5. RAM에 Bootloader를 적재. 디스크에 있는 OS(커널) 코드를 복사하여 메모리에 적재. 초기화

컴퓨터 시스템 동작 전제

  • 입출력 장치, CPU는 동시 실행 가능
  • 각 장치 컨트롤러는 특정 디바이스 유형을 담당. 로컬 버퍼 존재
  • CPU는 메인 메모리 - 로컬 버퍼간 데이터 이동
  • 입출력은 장치에서 컨트롤러의 로컬 버퍼로 전달
  • 장치 컨트롤러는 인터럽트를 발생시켜 CPU에 작업 완료를 알림

 

4. 인터럽트

인터럽트 (Interrupt)

  • CPU가 프로그램을 구동 중일 때, 입출력이나 예외 상황이 발생하여 처리가 필요한 경우에 CPU에 신호를 보내는 것
  • 하드웨어 인터럽트
    • 하드웨어가 발생시키는 인터럽트
    • CPU외의 하드웨어가 CPU에게 신호를 보내야 할 경우 발생 (ex : 전원 이상, 외부적 기능 이상 등)
  • 소프트웨어 인터럽트
    • 소프트웨어가 발생시키는 인터럽트
    • 사용자 프로그램이 인터럽트 하는 경우 발생 (supervisor call)

 

인터럽트 발생 시 시스템 동작

  • 인터럽트 발생 : CPU가 수행중인 작업 중지
  • 인터럽트 종료 : CPU는 일시 중단되었던 컴퓨팅 재개
  • 세부 동작
    1. 서비스 루틴으로 제어 전송
    2. 인터럽트에 의해 중단된 명령어 주소를 반드시 저장 (인터럽트 종료 시 다시 돌아오기 위해)
    3. 인터럽트 서비스 이후, 저장된 복귀 주소를 프로그램 카운터에 적재. 중단된 컴퓨팅 재개