Chapter 2. System Structure & Program Execution I
시스템의 구조와 프로그램의 실행에 대한 설명을 하기 위해 대략적인 도식을 나타내었다.
CPU의 여정
CPU내부에는 메모리보다 처리 속도가 빠른 Register라는 작은 공간이 존재한다.
그 중 다음에 수행할 명령어를 저장하는 PC(Program Counter)라는 것이 있는데,
이를 통해 다음 명령어를 수행하게 된다.
Instruction 은 주로 4Byte이기 때문에 PC값은 명령어를 하나씩 수행할 때마다 4씩 증가하게 된다.
CPU는 다음 수행할 명령어를 수행하기 전에 인터럽트가 들어온 게 있는지 확인한다.(Interrupt Line)
인터럽트가 들어오면 현재 하고 있던 작업을 멈추고(이 때, 수행한 정도를 기억하게 되는데 이를 프로세스 문맥이라고 한다.)
제어권을 운영체제에게 넘긴다.
각 요소에 대한 설명
Device Controller
device장치들에는 각각마다 작은 CPU라고 할 수 있는 device controller라는 것이 있다.
(device controller는 device에 붙어있는 하드웨어이다. )
이 controller는 그 device를 전담하여 컨트롤하는 역할을 한다.
그리고 이 device controller에게는 각각의 메모리인 local buffer라는 것이 존재한다.
device controller는 자신의 local buffer에만 접근할 수 있다.
device controller와 device driver(장치구동기)와는 다르다.
device driver는 운영체제를 구성하는 코드 중 장치별로 처리하는 루틴을 담고 있는 코드인 software의 일종이다.
Main Memory는 CPU의 작업 공간이다.
CPU안에는 interrupt line 과 mode bit이라는 것이 존재한다.
Mode bit
mode bit이란 CPU에서 실행되고 있는 것이 운영체제인지 사용자 프로그램인지 구분해주는 것이다.
즉, CPU제어권을 운영체제가 갖고 있는가, 사용자 프로그램이 갖고 있는가를 구분해준다.
mode bit의 값이 1이면 사용자 모드로 사용자 프로그램이 CPU 제어권을 갖고 있는 상태이다.
이 때는 제한된 Instruction만 CPU에서 실행시킬 수 있다.
mode bit의 값이 2이면 커널 모드로 사용자 운영체제가 CPU 제어권을 갖고 있는 상태이다.
이 포스팅은 이화여대 반효경 교수님 강의를 듣고 요약한 내용을 담고 있습니다.
'Dev.Basic > 운영체제' 카테고리의 다른 글
[OS] 4. Process Management (0) | 2016.05.31 |
---|---|
[OS] 3-2. Process II / Thread란 무엇인가 / Thread 종류 (0) | 2016.05.30 |
[OS] 3-1. Process I / 프로세스란 무엇인가 / Process Control Block / Scheduler (0) | 2016.05.29 |
[OS] 2-2. System Structure & Program Execution II (0) | 2016.05.29 |
[OS] 1. Introduction to Operating System (3) | 2016.05.28 |