책/운영체제

운영체제 Ch01_'Introduction'

RyoTTa 2020. 12. 18. 23:32
반응형

Chapter 1 서론

 

1.1 운영체제가 할일

 컴퓨터 하드웨어를 관리하는 소프트웨어

 응용 프로그램을 위한 기반을 제공

 컴퓨터 하드웨어와 사용자 사이에서 중재자 역할

 

 컴퓨터의 시스템의 구성요소

  하드웨어, 운영체제, 응용 프로그램, 사용자

 

 관점별 운영체제

  사용자 관점 : 사용되는 인터페이스에 따라 달라진다. PC에서는 사용의 용이성에 초점, 자원의 이용에는 신경쓰지 않음

                    워크스테이션에서는 사용의 용이성과 자원활용, 휴대용 컴퓨터에서는 사용의 용이성, 자원절약

  시스템 관점 : 하드웨어와 가장밀접하게 연관된 프로그램, 자원 할당자(CPU시간, 메모리공간, 파일저장), 제어프로그램(프로그램의 실행을 관리, 오용 방지)으로 인식 

 

1.2 컴퓨터 시스템의 구성

 현대의 시스템에는 CPU와 구성요소와 공유 메모리 사이의 액세스를 제공하는 공통 버스를 통해 연결된 여러 장치 컨트롤러로 구성된다. 일반적으로 운영체제에는 각 장치 컨트롤러마다 장치 드라이버가 존재한다.

Computer System Organization

 

 

 

 1.2.1 인터럽트

  입출력 작업을 시작하기 위해 장치 드라이버는 장치 컨트롤러의 적절한 레지스터에 값을 적재한다. 이후 내용을 검사하여 적절한 작업을을 수행한다. 작업이 완료된 후 완료 상태를 운영체제에 알리게 되는데 이것이 인터럽트이다.

  운영체제와 하드웨어간의 상호작용방식의 핵심 부분

  CPU가 인터럽트 되면, 일을 중단하고 즉시 인터럽트 서비스 루틴이 위치한 주소를 실행하게 된다. 중단한 일의 주소는 저장되고, 서비스 루틴의 실행이 완료되면 인터럽트 되었던 주소를 PC에 적재하고 재개한다. 

  HW 인터럽트 : Timer, I/O, DMA

  SW 인터럽트 : System call

  여러가지의 인터럽트 서비스 루틴 주소를 제공하기위해 인터럽트 벡터(주소의 배열)를 유지한다.

Interrupt Timeline

  기본적인 인터럽트 메커니즘

   1. CPU는 명령어를 실행할때 마다 인터럽트 요청 라인을 확인한다.

   2. 컨트롤러가 인터럽트 요청 라인에 신호를 보낸것을 CPU가 감지하면 인터럽트 번호를 읽고 인터럽트 벡터를

       사용하여 인터럽트 핸들러 루틴으로 점프한다.

   3. 인터럽트 처기리는 작업 중에 변경될 상태를 저장, 원인 확인, 처리 수행, 상태 복원을 수행한다. 

   간단히 말해, 발생(Raise) - 포착(Catch) - 디스패치(Dispatch) - 복원(Clear) 단계를 수행

 

  마스크 불가능 인터럽트 : 복구할 수 없는 메모리 오류와 같은 이벤트 처리에 사용

  마스크 가능 인터럽트 : 장치 컨트롤러가 서비스를 요청하기 위해 사용

  우선순위 레벨을 구현하여 모든 인터럽트를 마스킹하지 않고 인터럽트를 연기 할 수있다.

 

 1.2.2 저장장치 구조

  RAM(Random Access Memory) : 프로그램이 실행되려면 먼저 적재되어야할 곳, 주기억장치

  Bootstrap program

   컴퓨터가 처음 전원이 인가되었을때 실행되는 프로그램. ROM or EEPROM에 저장되어있다.

   CPU register, Memory, Device controller 등의 초기화를 수행하고, OS를 로드하고 시작하게 한다.

  모든 형태의 메모리는 바이트 배열을 제공, 즉 자신의 주소를 가지고 있으며 load, store 통해 상호작용 한다.

 

Von Neumann Architecture

  폰 노이만 구조 시스템에서는 먼저 메모리로부터 명령을 인출해, 명령 레지스터에 저장한다. 이후 명령어를 해독하고    메모리로부터 피연산자를 인출하고, 레지스터에 저장하도록한다. 또한 결과가 메모리에 저장될 수 있다. 

 

  보조저장장치 : 많은 데이터를 영구히 저장, 비휘발성 저장 장치

   register - cache - main memory - NVM - HDD - CD-ROM - magnetic tape

   계층 구조

 

 1.2.3 입출력 구조

  장치 컨트롤러

   CPU와 디바이스 컨트롤러는 버스로 연결되어있다.

   Local buffer, Special-purpose register 등으로 구성

   Data의 입력, 출력에 관함

 

  DMA(Direct Memory Access)

   직접 메모리 엑세스, 인터럽츠 처리로 대량의 데이터 이동에는 높은 오버헤드를 피하기 위함

   CPU의 개입없이 장치 컨트롤러는 버퍼로부터 메모리 데이터 블록 전체를 전송

 

1.3 컴퓨터 시스템 구조

 1.3.1 단일 처리기 시스템

  Single-processor System

  단일 처리 코어를 가진 하나의 CPU를 포함하는 단일 프로세서를 사용하는 시스템

 1.3.2. 다중 처리기 시스템

  Multi-processor System

  단일 코어 CPU가 있는 두개 이상의 프로세서를 사용하는 시스템 

  단일 처리기 시스템보다 처리량 증가, 하지만 N CPU != N times performance 

   

 

1.4 ~ 1.12 제외

반응형