컴퓨터 시스템/운영체제

운영체제 이해를 위한 컴퓨터 하드웨어

bewisesh91 2021. 12. 24. 00:43
728x90

컴퓨터 하드웨어

1. 프로세서(Processor) : CPU, GPU, 응용 전용 처리 장치 등

CPU(컴퓨터의 두뇌, 중앙처리장치)란 컴퓨터의 다양한 연산을 수행하고, 모든 장치의 동작을 제어하는 하드웨어이다.

레지스터란 프로세서 내부에 있는 메모리로서 프로세서가 사용할 데이터를 저장하는 컴퓨터에서 가장 빠른 메모리이다.

 

레지스터의 종류

운영체제와 프로세서

운영체제는 프로세서에게 처리할 작업을 할당(프로세스 생성) 및 관리하며, 프로그램의 프로세서 사용을 제어한다(프로그램의 프로세서

사용 시간 관리, 복수 프로그램간 사용 시간 조율 등).

 

2. 메모리(Memory) : 주 기억 장치, 보조 기억 장치 등 데이터를 저장하는 장치(기억 장치)

메모리의 종류는 레지스터, 캐시, 주 기억 장치(메인 메모리), 보조 기억 장치 등으로 구분할 수 있다. 캐시는프로세서 내부에 있는 메모리로 CPU와 메인 메모리 사이의 입출력 병목 현상을 해소한다. 캐시의 동작은 캐시 히트(필요한 데이터 블록이 캐시에 있는 경우)와 캐시 미스

(필요한 데이터 블록이 캐시에 없는 경우)로 구분된다. 캐시에서 중요한 개념이 지역성(Locality)이다. 지역성은 크게 공간적 지역성(참조한 주소와 인접한 주소를 참조하는 특성)과 시간적 지역성(한 번 참조한 주소를 곧 다시 참조하는 특성)으로 구분할 수 있다. 지역성은 캐시

적중률(cache hit ratio)과 밀접하다. 주 기억 장치는 프로세서가 수행할 프로그램과 데이터를 저장하는 기억 장치로 대표적으로 DRAM이 있다. CPU와 디스크 사이의 입출력 병목 현상을 해소한다. 보조 기억 장치는 용량이큰 프로그램과 데이터를 저장하며, 프로세서가 보조

기억 장치에 직접 접근할 수 없다. 따라서 주 기억 장치를 거쳐서 접근해야 하며 프로그램과 데이터가 주 기억 장치보다 크기가 큰 경우 가상 메모리를 사용한다.

 

운영체제와 메모리

운영체제는 프로그램의 요청에 따라 메모리를 할당하고 회수 한다. 또한, 가상 메모리를 생성하고 관리하는 역할 역시 담당한다.

 

3. 주변장치 : 키보드/마우스, 모니터/프린터, 네트워크 모뎀 등

 

운영체제와 주변장치

운영 체제는 주변 장치 사용을 위한 인터페이스 제공하는 등 장치 드라이버 관리를 담당한다. 또한 주변 장치의 요청을 인터럽트를 통해

처리하며, 파일 생성 및 삭제와 디스크 공간 관리 등의 역할도 담당한다.

 

4. 시스템 버스 : 하드웨어들이 데이터 및 신호를 주고 받는 물리적인 통로

 

 

추가 개념 : Mode Bit
사용자 프로그램의 잘못된 수행으로 다른 프로그램 및 운영체제에 피해가 가지 않도록 하기 위한 보호 장치가 필요하다.

Mode Bit을 통해 하드웨어적으로 두 가지 모드의 Operation을 지원한다.

 

1 : 사용자모드(사용자 프로그램 수행)

0 : 모니터 모드(OS 코드 수행)

 

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

Interrupt나 Exception 발생시 Mode Bit을 0으로 바꾼다.

예를 들어, 모든 I/O 작업은 Mode Bit이 0일 때 접근가능하다.

따라서, 사용자 프로그램이 I/0를 요청할 경우 Mode Bit 0으로 바꾸어야만 한다.

사용자 프로그램에게 CPU를 넘기기 전에 운영체제는 Mode Bit을 1로 바꾼다.

 

추가 개념 : Timer

정해진 시간이 흐른 뒤 운여에제에게 제어권이 넘어가도록 인터럽트를 발생시키는 하드웨어이다.

CPU를 특정 프로그램이 독점하는 것을 방지한다. 시분할(Time Sharing) 개념을 구현하기 위해 널리 이용된다.

 

추가 개념 : Device Controller

I/O 장치 유형을 관리하는 일종의 작은 CPU를 의미한다. 제어 정보를 위해 Control Register, Status Register를 갖는다.

정보 저장을 위해 Local Buffer(일종의 Data Register)도 갖고 있다.

Device Controller는 I/O가 끝났을 경우, CPU에 인터럽트를 발생시켜 그 사실을 알린다.

Device Driver는 각 I/O를 사용하기위해 설치하는 소프트웨어를 의미한다.

 

추가 개념 : Direct Memory Access Controller

잦은 인터럽트로 CPU를 방해하는 것을 막기 위해 DMA가 I/O에서 받아온 정보를 메모리에 전달하는 장치이다.