하드웨어를 효율적으로 관리하는 시스템
응용프로그램(App)나 사용자에게 서비스를 제공하는 시스템
컴퓨터 시스템 개요
[하드웨어]
1. 프로세서
- 프로세서연산 수행, 컴퓨터의 모든 장치의 동작 제어
- 계산하는 녀석(중앙처리장치, 컴퓨터의 두뇌)
- CPU, GPU, 응용 전용 처리장치
*레지스터
- 프로세서 내부에 있는 메모리
- 프로세서가 사용할 데이터 저장
- 컴퓨터에서 가장 빠른 메모리
- 종류
(용도에 따른 분류)
-- 전용 레지스터, 범용 레지스터
(사용자가 정보 변경 가능 여부에 따른 분류)
-- 사용자 가시 레지스터, 사용자 불가시 레지스터
(저장하는 정보의 종류에 따른 분류)
-- 데이터 레지스터, 주소 레지스터, 상태 레지스터
PC : 명령어의 주소를 기억(보관)하는 레지스터
IR : PC를 통해서 가져온 명령어가 보관되는 레지스 터
ACC : 계산하는 과정에서 일시적으로 저장하는 레지스터
프로세서의 동작은 다양한 레지스터를 통해서 연산이 이루어 진다.
*운영체제와 프로세서
-- 프로세서에게 처리할 작업 할당 및 관리
-- 프로그램의 프로세서 사용 제어
2. 메모리
- 데이터를 저장하는 장치(기억장치)
- 프로그램, 사용자 데이터 등을 저장
- 프로세서가 직접 접근할 수 있음
- 메모리의 종류
캐시 : CPU에 있는 메모리
메인 메모리(주 기억장치) : DRAM
보조기억장치 : HDD
주 기억장치
- 프로세서가 수행할 프로그램과 데이터 저장
- DRAM을 주로 사용(현재 DDR4 사용, 용량이 크고 가격이 저렴)
- 디스크 입출력 병목현상 해소(프로세서 - 디스크 간의 격차를 주 기억장치를 통해 간극을 좁힘)
캐시
- 프로세서 내부에 있는 메모리(L1, L2 캐시 등)
- 속도가 빠르고 가격이 비쌈
- 주 기억장치의 입출력 병목현상 해소
- 캐시의 동작
-- 일반적으로 HW적으로 관리 됨
-- 캐시 히트 : 필요한 데이터 블록이 캐시 존재
-- 캐시 미스 : 필요한 데이터 블록이 없는 경우
프로세서 -> 캐시에게 메인 메모리에 데이터가 있는지 확인
캐시는 메인 메모리에 데이터가 있으면 가져옴(존재 O - 캐시 히트)
캐시는 메인 메모리에 데이터가 있으면 가져오지 못함(존재 X - 캐시 미스)
지역성(Locality)
- 공간적 지역성
-- 참조한 주소와 인접한 주소를 참조하는 특성(순차적 프로그램 수행)
- 시간적 지역성
-- 한 번 참조한 주소를 곧 다시 참조하는 특성(For 문 등의 순환문)
우리짜는 많은 프로그램들은 공간적 지역성+시간적 지역성을 모두 가지고 있음
지역은 캐시 적중률과 밀접(알고리즘 성능 향상을 위한 중요한 요소 중 하나)
3. 보조기억 장치
- 프로그램과 데이터를 저장
- 프로세서가 직접 접근할 수 없음(주변장치)
- 주 기억장치를 거쳐서 접근
- 프로그램 필요 메모리 > 현재 메모리 인데 어떻게 사용? -> 가상 메모리
- 용량이 크고 가격이 저렴
- CD, DVD 등
*시스템 버스
- 하드웨어들이 데이터 및 신호를 주고받는 물리적인 통로
- 데이터 버스, 주소 버스, 제어 버스가 있음
3. 주변 장치
- 프로세서와 메모리를 제외한 하드웨어 들
- 입력장치, 출력장치, 저장장치
*주변장치와 운영체제
- 장치 드라이버 관리(주변 장치 사용을 위한 인터페이스 제공)
- 인터럽트 처리(주변 장치의 요청 처리)
- 파일 및 디스크 관리(파일 생성 및 삭제, 디스크 공간 관리 등)
관련자료
https://www.youtube.com/watch?v=EdTtGv9w2sA&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN