2023. 11. 1. 12:20ㆍ스터디/OS 스터디
운영체제(OS)란 무엇일까?
쉽게 말해서 컴퓨터 하드웨어를 관리하는 소프트웨어이다.
그럼 하드웨어는 어떻게 구성되어있는가?
하드웨어는 크게 프로세서, 메모리, 주변장치로 구성된다.
## 프로세서
프로세서(CPU)는 컴퓨터 하드웨어에 부착한 모든 장치의 동작을 제어하고 명령을 실행한다.
프로세서는 연산장치, 제어장치, 레지스터로 구성되고, 이들은 내부 버스로 연결한다.
## 레지스터
CPU 내부에 있는 일시적 저장 공간.
사용자가 직접 정보를 바꿀 수 있는지의 여부에 따라 가시/비가시 레지스터로 구분 가능하다.
### 가시 레지스터
사용자가 운영체제와 사용자 프로그램을 이용하여 정보를 변경할 수 있는 레지스터. 데이터 레지스터와 주소 레지스터가 있음.
데이터 레지스터(DR) : 함수 연산에 필요한 데이터를 저장. 연산 결과로 플레그 값을 저장
주소 레지스터(AR) : 주소나 유효 주소를 계산하는데 필요한 주소의 일부분 저장. 주소 레지스터에 저장한 값을 이용해 산술 연산 가능
저장하는 정보에 따라 다음과 같이 나뉨
- 기준 주소 레지스터 : 프로그램을 실행할 때 사용하는 기준 주소 값을 저장. 하나의 프로그램이나 일부에 서로 연관 있는 정보를 저장. 연속된 저장 공간을 지정하는 데 참조할 수 있는 주소. 페이지나 세그먼트처럼 블록화된 정보 접근에 사용
- 인덱스 레지스터 : 유효 주소를 계산하는 데 사용하는 주소 정보 저장
- 스택 포인터 레지스터 : 메모리에 프로세서 스택을 구현하는 데 사용. 반환 주소, 프로세서 상태 정보, 서브 루틴 임시 변수 저장
### 불가시 레지스터
사용자가 정보를 변경할 수 없는 레지스터. 프로세서의 상태와 제어를 관리. PC, IR,MAR,MBR, 누산기 등이 있음.
프로그램 카운터(PC) : 다음에 실행할 명령어의 주소를 보관
명령어 레지스터(IR) : 현재 실행하는 명령어를 보관
누산기(ACC) : 데이터를 일시적으로 저장
메모리 주소 레지스터(MAR) : 프로세서가 참조하려는 데이터 주소를 명시하여 메모리에 접근하는 버퍼 레지스터
메모리 버퍼 레지스터(MBR) : 프로세서가 메모리에서 읽거나 메모리에 저장할 데이터 자체를 보관하는 버퍼 레지스터
## 메모리
저장장치. 사용처에 따라 용량과 속도가 다름.
### 메인 메모리
프로세서에서 즉각적으로 수행할 프로그램과 데이터를 저장. 프로세서 외부에 있음.
주기억장치라고도 한다.
메모리는 다수의 셀로 구성되며, 각 셀은 비트로 구성된다.
### 캐시
프로세서 내/외부에 있으며, 처리 속도가 빠른 프로세서와 상대적으로 느린 메모리의 속도 차이를 보완하기 위한 고속 버퍼이다.
다음과 같이 메인 메모리에서 데이터를 블록 단위로 가져와 프로세서에 워드 단위로 전달하고, 데이터가 이동하는 대역폭을 확대한다.
캐시를 통해 메모리의 부담을 줄이고, 속도를 향상시킬 수 있다.
#### 캐시 동작 과정
캐시에 데이터 저장 시 크기 분할 -> 번호 부여 -> 태그 저장 순으로 동작한다.
CPU는 메인 메모리에 접근하기 전에 캐시에 해당하는 주소의 자료가 있는 지 먼저 확인한다.
만약 있으면(캐시가 적중하면) 데이터를 그대로 가져오고, 없으면(캐시가 미스하면) 메모리에서 데이터를 가져오고, 캐시에 저장한다.
실제 프로그램에서는 공간 지역성 및 시간 지역성의 특징이 있기 때문에 캐시를 효율적으로 쓸 수 있는 것이다.
- 공간 지역성 : 참조한 주소와 인접한 주소 내용을 다시 참조하는 특성
- 시간 지역성 : 한 번 참조한 주소를 곧 다시 참조하는 특성
## 시스템 버스
하드웨어를 물리적으로 연결하여 서로 데이터를 주고 받을 수 있게 하는 통로.
기능에 따라 데이터 버스, 주소 버스, 제어 버스로 구분
- 데이터 버스 : 프로세서와 메인메모리, 주변장치 사이에서 데이터 전송
- 주소 버스 : 프로세서가 시스템의 구성 요소를 식별하는 주소 정보를 전송
- 제어 버스 : 프로세서가 시스템의 구성 요소를 제어하는 데 사용
참조 : 한빛아카데미 - 그림으로 배우는 구조와 원리 운영체제 - 구현회 저
'스터디 > OS 스터디' 카테고리의 다른 글
프로세스 관리 (0) | 2023.11.11 |
---|---|
프로세스 상태 변화와 상태 정보 (0) | 2023.11.11 |
프로세스의 개념과 상태 변화 (0) | 2023.11.11 |
운영체제의 소개 (0) | 2023.11.01 |
컴퓨터 시스템의 동작 (0) | 2023.11.01 |