OS란?
- 하드웨어 등의 컴퓨터 자원들을 를 효율적으로 관리하는 프로그램
하드웨어엔 크게 세 가지가 있다.
1) 프로세서 : 계산하는 장치 (CPU, GPU 등)
2) 메모리 : 저장하는 장치
3) 주변장치 : 키보드, 모니터 등의 IO장치, 네트워크 장치
1. 프로세서
- 연산을 수행
- 컴퓨터의 모든 장치의 동작 제어
레지스터 : 프로세서 내부에 있는 메모리
- 프로세서가 사용할 뎅터 저장
- 컴퓨터에서 가장 빠른 메모리 (대신에 용량을 적다)
레지스터의 종류 :
- 용도에 따른 분류 : 전용 레지스터 (목적이 있음), 범용 레지스터
- 변경 가능에 따른 분류 : 사용자 가시 레지스터, 사용자 불가시 레지스터
- 저장하는 정보의 종류에 따른 분류 : 데이터 레지스터, 주소 레지스터, 상태 레지스터
사용자 가시 레지스터
- 데이터 레지스터 : 데이터를 저장한다
- 주소 레지스터 : 주소를 레지스터
(c언어에서 변수 앞에 register를 입력하면, 해당 변수를 레지스터에 저장할 수 있도록 한다.)
사용자 불가시 레지스터
- 프로그램 카운터 : 실행할 명령어의 주소를 보관하는 레지스터
- 명령어 레지스터 : 현재 실행하는 명령어를 보관하는 레지스터
- 누산기 : 데이터를 일시적으로 저장하는 레지스터
운영체제의 역할
- 프로세스에게 처리할 작업 할당 및 관리
- 프로그램의 프로세서 사용 제어
메모리 : 데이터를 저장하는 장치
메모리의 종류 : 레지스터, 캐시, 메인 메모리, 보조기억장치
주기억장치 (DRAM 등)
- 프로세서가 수행할 프로그램과 데이터 저장
- 디스크 입출력 병목현상 (I/O bottleneck 해소)
캐시
- 프로세서 내부에 있는 메모리 (L1, L2 캐시 등)
- 메인 메모리의 입출력 병목현상 해소
캐시의 동작
- 일반적으로 HW적으로 관리 됨
프로세서가 원하는 데이터를 캐시에서 찾는다
-> 필요한 데이터 블록이 캐시 존재하는 경우 : 캐시 히트
-> 필요한 데이터 블록이 없는 경우 : 캐시 미스
캐시가 효과를 낼 수 있는 이유 :
- 공간적 지역성 : 참조한 주소와 인접한 주소를 참조하는 특성 (예 : 순차적 프로그램 수행)
- 시간적 지역성 : 한 번 참조한 주소를 곧 다시 참조하는 특성 (예 : For 문 등의 순환문)
-> 지역성은 캐시 적중률 (cache hit ratio)과 밀접 : 알고리즘 성능 향상 위한 중요한 요소 중 하나
가상 메모리 (Virtual Memory) : 주 기억장치보다 데이터가 큰 경우, 보조기억장치의 일부를 주 기억장치처럼 쓰는 것
시스템 버스 (System Bus) : 하드웨어들이 데이터 및 신호를 주고 받는 물리적인 통로
'Pintos Project > 이론 공부' 카테고리의 다른 글
[PintOS, Project3] Virtual Memory - Paging System (0) | 2021.02.18 |
---|---|
Lecture 5 : Process Scheduling (0) | 2021.01.30 |
Lecture 4 : 스레드 관리 (Thread Management) (0) | 2021.01.29 |
Lecture 3 : 프로세스 관리 (0) | 2021.01.29 |
Lecture2 : OS overview (0) | 2021.01.28 |
댓글