목적:
컴퓨터 시스템의 작동 원리를 이해하기 위해
(컴퓨터 시스템 구조)
컴퓨터 내부 장치: Cpu + Memory (cpu 작업 공간)
컴퓨터 외부 장치: I/O device 입출력 장치(디스크, 키보드, 모니터, 네트워크 장치)
Deivce controller:
각 I/O 디바이스에는 각 디바이스를 담당하는 작은 CPU가 설치되어 있습니다.
이를 디바이스 컨트롤러라고 합니다.
CPU는 장치 컨트롤러에 데이터를 읽도록 지시하고,
그렇게함으로써 CPU는 메모리 조작을 수행하고 I / O 장치의 작업은 장치 컨트롤러에
일을 분담하게 됩니다.
(디스크 내부를 제어하는 것은 CPU 역할이 아니라 장치 컨트롤러 역할입니다.
)
Local buffer:
여기 메인 CPU의 작업 공간 인 Main Memory가 있습니다.
이러한 장치 컨트롤러도 작업 공간이 필요합니다.
그것을 Local buffer라고 부릅니다.
등록자:
CPU내에 메모리보다 고속으로 정보를 저장할 수 있는 스페이스
모드 비트:
CPU 내에서 실행되는 것이 OS인지 사용자 프로그램인지를 구별해주는 역할을 합니다.
mode bit 0일 때 ==> OS에 CPU가 있기 때문에
메모리 액세스, I/O device 액세스 권한을 모두 갖게 된다
mode bit 1일 때 ==> 사용자 프로그램에 CPU가 있기 때문에 제한됨
Instruction만 CPU에서 실행 가능(보안측)
인터럽트 라인 :
CPU에 붙어 있어 I/O 장치로부터 Local buffer에 내용을 모두 읽어들여 오면,
이것은 CPU에 알려야 하지만, 이 알리는 행위를 하기 위해서 Interrup line이 존재합니다.
Interrupt line이 있으므로 CPU는 자신의 일을 하고 Interrup line에 신호가 들어오면,
했던 일을 멈추고 인터럽트와 관련된 일을 합니다.
Timer 동작:
특정 프로그램이 CPU를 독점적으로 방지하는 하드웨어입니다.
예를 들어 for 또는 while 문을 통해 무한 루프가 들어가면,
CPU는 그 프로그램에서 빠져 나오지 않아 분할 작업을 할 수 없게 됩니다.
여기서 OS가 CPU를 가지고 있지만, 복수의 프로그램이 실행되면 CPU를 인도하게 된다.
그래서 CPU가 Instruction을 실행해도 정해진 시간이 되면, 타이머는 CPU에 Interrupt를
걸어줍니다.
이렇게 하면 CPU 제어 권한이 OS로 전달됩니다.
이 프로세스에서는 타이머에 값을 설정한 다음 전달합니다.
promgram이 CPU를 사용하여 시간이 만료되면 타이머 인터럽트가 들어가 CPU 제어권이 OS에
옮겨, 그 OS는 다음의 프로그램에 CPU를 인도해, 이러한 프로세스를 OS가 관리해 주게 됩니다.
DMA 컨트롤러:
Memory에 직접 액세스할 수 있는 controller
I / O 장치가 너무 자주 인터럽트를 걸면 CPU가 방해하기 때문에
DMA 컨트롤러를 통해 중간에 local buffer에 들어가는 작업이 끝나면
DMA는 직접 메모리에 복사합니다.
이렇게 작업이 끝난 후 CPU에
Interrupt를 한 번만 걸어 CPU를 효율적으로 관리할 수 있습니다.
더 알아야 할 개념 System call
출처: http://kocw.net/home/search/kemView.do?kemId=1046323
강의: 이화여대, 반효경(운영체제)