본문 바로가기

CS/운영체제

운영체제(2)- 시스템 구조

반응형

Mode bit

mode bit을 통해 하드웨어적으로 두 가지 모드의 operation 지원

  • 0(모니터 모드) : OS 코드 수행
  • 1(사용자 모드) : 사용자 프로그램 수행

※ 보안을 해칠 수 있는 중요한 명령어는 모니터 모드에서만 수행 가능한 특권명령으로 규정

 

※ 모니터모드= 커널 모드, 시스템 모드

 

 

TIMER

  • 정해진 시간이 흐른 뒤 운영체제에게 제어권이 넘어가도록 인터럽트를 발생시킴
  • CPU를 특정 프로그램이 독점하는 것으로부터 보호
  • 타이머 값이 0이 되면 타이머 인터럽트 발생

현대의 운영체제는 인터럽트에 의해 구동됨

 

시스템 콜

사용자 프로그램이 운영체제의 서비스를 받기 위해 커널 함수를 호출 하는 것

 

Interrupt

  • Interrupt(하드웨어 인터럽트) : 하드웨어가 발생시킨 인터럽트
  • Trap(소프트웨어 인터럽트)
    • Exception : 프로그램이 오류를 범한 경우
    • System call : 프로그램이 커널 함수를 호출하는 경우

모든 입출력 명령은 "특권명령"

 

I / O device controller(hardware)

  • 해당 I / O 장치유형을 관리하는 일종의 작은 CPU

Device driver(software)

  • OS 코드 중 각 장치별 처리루틴

인터럽트 벡터 : 해당 인터럽트의 처리 루틴 주소를 가지고 있음

인터럽트 처리 루틴(인터럽트 핸들러) : 해당 인터럽트를 처리하는 커널 함수

 

동기식 입출력(Synchronous I / O)

  • I / O 요청 후 입출력 작업이 완료된 후에야 제어가 사용자 프로그램에 넘어감
  • 구현 방법 1 
    • I / O가 끝날 때까지 CPU를 낭비시킴
    • 매 시점 하나의 I / O만 일어날 수 있음
  • 구현 방법 2 
    • I / O가 완료될 때까지 해당 프로그램에게서 CPU를 빼앗음
    • I / O처리를 기다리는 줄에 그 프로그램을 줄 세움
    • 다른 프로그램에 CPU를 줌

비동기식 입출력(Asynchronous I / O)

  • I / O가 시작된 후 입출력 작업이 끝나기를 기다리지 않고 제어가 사용자 프로그램에 즉시 넘어감

※ 두 경우 모두가 I / O의 완료는 인터럽트로 알려줌

 

DMA controller (Direct memory access)

  • 빠른 입출력 장치를 메모리에 가까운 속도로 처리하기 위해 사용
  • 바이트 단위가 아니라 block단위로 인터럽트를 발생시킴

Caching

  • 동일한 데이터에 반복해서 접근해야 하거나 많은 연산이 필요한 일일때, 결과를 빠르게 이용하고자 성능이 좋은 혹은 가까운 곳에 저장하는 것
  •  캐시는 컴퓨터의 성능을 향상 시키기 위해 사용되는 메모리를 말한다
  • 주기억장치와 CPU 사이에 위치하고, 자주 사용하는 데이터를 기억한다
반응형