티스토리 뷰

[한빛아카데미] 운영체제 책으로 학습한 내용을 정리한 것입니다.

 

* 컴퓨터 시스템(Computer System)

- 소프트웨어 + 하드웨어로 구성

- 소프트웨어(Software) : 어떤 작업을 지시하는 명령어로 작성한 프로그램

- 하드웨어(Hardware) : 데이터를 처리하는 물리적인 기계장치a

- 운영체제(Operating System) : 컴퓨터 하드웨어를 관리하는 소프트웨어

 

[컴퓨터 하드웨어의 구성]

출처 : https://m.blog.naver.com/qkfdjq451/221166299773

 

* 프로세서(Processor)

- 컴퓨터 하드웨어에 부착한 모든 장치의 동작을 제어하고 명령을 실행함

- 중앙처리장치(CPU, Central Processing Unit)라고도 함

 

[프로세서의 구성]

출처 : https://mk28.tistory.com/15

 

* 레지스터(Register)의 구성

- 레지스터 : 프로세서에 내부에 있으며, 프로세서가 사용할 데이터를 보관하는 가장 빠른 메모리

- (용도에 따라) 전용 레지스터와 범용 레지스터로 구분할 수 있음 

- (사용자가 정보를 변경할 수 있는 지에 따라) 사용자 가시 레지스터와 사용자 불가시 레지스터로 구분할 수 있음

 

* 사용자 가시 레지스터(User-Visible Register)

- 사용자가 운영체제와 사용자 프로그램을 이용하여 정보를 변경할 수 있는 레지스터

종류 설명
데이터 레지스터
DR, Data Register
- 함수 연산에 필요한 데이터를 저장함
- 값, 문자 등을 저장하므로 산술 연산이나 논리 연산에 사용하며, 연산 결과로 플래그 값을 저장함
주소 레지스터
AR, Address Register
- 주소나 유효 주소를 계산하는데 필요한 주소의 일부분을 저장함
- 주소 레지스터에 저장한 값(값 데이터)를 사용하여 산술 연산을 할 수 있음
기준 주소 레지스터 - 프로그램을실행할 때 사용하는 기준 주소 값을 저장함
- 기준 주소 레지스터는 페이지나 세그먼트처럼 블록화된 정보에 접근하는데 사용함
인덱스 레지스터 - 유효 주소를 계산하는데 사용하는 주소 정보를 저장함
스택 포인터 레지스터 - 메모리에 프로세서 스택을 구현하는데 사용함
- 많은 프로세스와 주소 레지스터를 데이터 스택 포인터와 큐 포인터로 사용함
- 보통 반환 주소, 프로세서 상태 정보, 서브루틴의 임시 변수를 저장

 

* 사용자 불가시 레지스터(User-Invisible Register)

- 사용자 정보를 변경할 수 없는 레지스터

종류 설명
프로그램 카운터
PC, Program Counter
- 다음에 실행할 명령어의 주소를 보관하는 레지스터
- 계수기로 되어 있어 실행할 명령어를 메모리에서 읽으면 명령어의 길이만큼 증가하여 다음 명령어를 가리키며, 분기 명령어는 목적 주소로 갱신할 수 있음
명령어 레지스터
IR, Instruction Register
- 현재 실행하는 명령어를 보관하는 레지스터
누산기
ACC, ACCumulator
- 데이터를 일시적으로 저장하는 레지스터
메모리 주소 레지스터
MAR, Memory Address Register
- 프로세서가 참조하려는 데이터의 주소를 명시하여 메모리에 접근하는 버퍼 레지스터
메모리 버퍼 레지스터
MBR, Memory Buffer Register
- 프로세서가 메모리에서 읽거나 메모리에 저장할 데이터 자체를 보관하는 버퍼 레지스터

 

* 메모리(Memory)

- 메모리는 컴퓨터 성능과 밀접한데, 사용자는 당연히 크고 빠르며 비용이 저렴한 메모리를 요구함

- 속도가 빠른 메모리의 경우에는 가격이 비싸서 보통은 메모리 계층 구조를 구성하여 비용, 속도, 용량, 접근시간 등을. 상호 보완함

 

[메모리 계층 구조]

출처 : https://velog.io/@yu-jin-song/CS-메모리-계층-구조

 

- 캐시 : 메인 메모리와 프로세서의 속도 차이를 보완함

- 레지스터 : 최상위에는 프로세서가 사용한 데이터를 보관함

- 불필요한 프로그램과 데이터는 하드 디스크에 저장했다가 실행/참조할 때만 메인 메모리로 옮기는 원리를 작용한 방법

 

* 메인 메모리(Main Memory)

- 프로세서 외부에 있으며, 프로세서에서 즉각적으로 수행할 프로그램과 데이터를 저장하거나 프로세서에서 처리한 결과를 메인 메모리에 저장함

- 입출력장치도 메인 메모리에서 데이터를 받거나 저장함

- 주기억장치 또는 1차 기억장치라고도 함

- 저장 밀도가 높고 가격이 싼 DRAM(Dynamic RAM)을 많이 사용함

- 디스크 입출력 병목 현상을 해결하는 역할

- 다수의 셀(Cell)로 구성되며, 각 셀은 비트로 구성됨

(참고) 셀이 K비트라면 셀에 2^k값을 저장할 수 있음

- n비트라면 주소 범위는 0~2^(n-1)

 

* 메모리 매핑(Memory Mapping)

- 컴파일로 논리적 주소를 물리적 주소로 변환하는 과정

- 물리적 주소 : 컴퓨터에 주어진 주소

- 논리적 주소 : 컴파일러가 프로그램을 기계 명령어로 변환할 때 변수와 명령어로 할당하는 주소

(참고) 논리적 주소는 별도의 주소 공간에 나타남

 

* 캐시(Cache)

- 프로세서 내부나 외부에 있으며, 처리 속도가 빠른 프로세서와 상대적으로 느린 메인 메모리의 속도 차이를 보완하는 고속 버퍼

- 데이터를 블록 단위로 가져와 프로세서에 워드 단위로 전달하여 속도를 높임

- 캐시 적중(Cache Hit) : 작은 용량의 캐시에 프로세서가 이후 참조할 정보가 있을 경우

- 캐시 실패(Cache Miss) : 작은 용량의 캐시에 프로세서가 이후 참조할 정보가 없을 경우

- 공간적 지역성(Spatial Locality) : 대부분의 프로그램이 참조한 주소와 인접한 주소의 내용을 다시 참조하는 특성

- 시간적 지역성(Temporal Locality) : 한 번 참조한 주소를 곧 다시 참조하는 특성

 

* 시스템 버스(System Bus)

- 하드웨어를 물리적으로 연결하여 서로 데이터를 주고받을 수 있게 하는 통로

- 컴퓨터 내부의 다양한 신호(데이터 입출력 신호, 프로세서 상태 신호, 인터럽트 요구와 허가 신호, 클록, 신호 등)를 시스템 버스로 전달함

출처 : https://richong.tistory.com/92

 

[시스템 버스 종류]

종류 설명
데이터 버스 - 프로세서와 메인 메모리, 주변장치 사이에서 데이터를 전송함
- 워드 : 데이터 버스를 구성하는 배선 수는 프로세서가 한 번에 전송할 수 있는 비트 수를 결정
주소 버스 - 프로세서가 시스템의 구성 요소를 식별하는 주소 정보를 전송함
- 주소 버스를 구성하는 배선 수는 프로세서와 접속할 수 있는 메인 메모리의 최대 용량을 결정함
제어 버스 - 프로세서가 시스템의 구성 요소를 제어하는데 사용함
- 제어 신호로 연산장치의 연산 종류와 메인 메모리의 읽기나 쓰기 동작을 결정함

 

* 주변장치

- 프로세서와 메인 메모리를 제외한 나머지 하드웨어 구성 요소

- 단순히 입출력장치라고도 하나, 크게 입력장치, 출력장치, 저장장치로 구분함

 

[주변장치 종류]

종류 설명
입력장치 - 컴퓨터에서 처리할 데이터를 외부에서 입력하는 장치
출력장치 - 입력장치와 반대로 컴퓨터에서 처리한 데이터를 외부로 보내는 장치
저장장치 - 메인 메모리와 달리 거의 영구적으로 데이터를 저장하는 장치
- 데이터를 입력하여 저장하며, 저장한 데이터를 출력하는 공간이므로 입출력장치에 포함하기도 함
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함