[OS] 2. 컴퓨터 시스템의 구조

mingreen·2021년 5월 3일
0

Operating System

목록 보기
2/3

컴퓨터 시스템 구조


전체적인 컴퓨터 시스템의 구조는 Computer(CPU, Memory) 와 I/O Device(Disk, keyboard, mouse 등등) 으로 이루어진다.

위 그림에서의 세부 구조를 하나씩 알아보자.

Mode Bit

사용자와 운영체제는 시스템 자원을 공유한다. 따라서 사용자가 수행하는 코드와, 운영체제가 수행하는 코드의 구분이 필요하다.

Register 내의 mode bit 이라는 구분자로 이를 구분한다.
즉, 사용자 프로그램의 잘못된 동작으로 다른 프로그램이나 운영체제에 피해가 가지 않도록 하기 위해 사용하는 것이다.

1 : 사용자 모드, 사용자의 프로그램을 수행할 수 있는 모드이다.
0 : 커널 모드(=시스템 모드, 모니터 모드), 운영체제의 코드를 수행할 수 있는 모드이다.

특권 명령(보안을 해칠 수 있는 중요한 명령어)은 커널 모드에서만 실행가능하므로,
Interrupt 나 Exception이 발생하면 하드웨어가 mode bit 을 0으로 변경한다.

운영체제는 이 수행을 완료하고 사용자 프로그램에게 CPU를 넘겨주기 전에 mode bit 을 1로 변경한다.

이러한 방식을 이중 모드(Dual mode)라고 하고 대부분의 CPU는 이중 모드를 지원한다.

Timer

CPU를 특정 프로그램이 독점하는 것을 방지하기 위해 있는 장치이다.
타이머는 매 클럭 틱 마다 1씩 감소하고, 세팅한 타이머가 0이 되면 Timer Interrupt를 발생시켜 운영체제에게 제어권이 넘어가도록 한다.

Time Sharing(시분할 처리 방식)을 위해 이용되고, 현재 시간을 계산하기 위해서도 이용된다.

Device Controller

해당 I/O 장치를 관리하는 일종의 작은 CPU(H/W)이다.
제어 정보를 위해 control register, status register를 가지고, local buffer 를 가진다.

실제 I/O는 local buffer 와 실제 I/O 장치(device)사이에서 일어나는 것이다.
Device Controller는 이를 확인하고 있다가 완료되면 CPU에 interrupt를 걸어 이를 알린다.

profile
주니어 백엔드 개발자의 기록하는 습관 만들기🧑‍💻

0개의 댓글