<aside> 💡
한빛미디어의 <혼자 공부하는 컴퓨터 구조+운영체제>를 요약 정리했습니다.
</aside>
RAM : 전원을 끄면 저장된 명령어와 데이터가 모두 날아가는 휘발성 저장 장치 (↔ 비휘발성 저장장치 (예) 하드디스크, SSD, CD-ROM, USB 메모리)
CPU는 보조기억장치에 직접 접근하지 못하기 때문에 비휘발성 저장 장치에는 보관할 대상을 저장하고, 휘발성 저장 장치에는 실행할 대상을 저장함
⇒ RAM 용량이 커지면 프로그램 실행 속도가 어느 정도 증가함 (필요 이상 커지면 비례해서 증가하지는 않음)
DRAM(Dynamic RAM) : 시간이 경과함에 따라 저장된 데이터가 점차 사라짐
SRAM(Static RAM) : 시간이 지나도 저장된 데이터가 사라지지 않음
SDRAM(Synchronous Dynamic RAM) : 클럭 신호에 맞춰 CPU와 정보를 주고 받을 수 있는 DRAM
DDR SDRAM(Doubld Data Rate SDRAM) : 대역폭을 넓혀 속도를 빠르게 만든 SDRAM
확인 문제 (p.184 ~ 185)
물리 주소 : 메모리 하드웨어가 사용하는 주소
논리 주소 : CPU와 실행 중인 프로그램이 사용하는 주소
⇒ CPU와 메모리가 서로 이해하기 위해 논리 주소와 물리 주소 간의 변환이 이루어져야 함
메모리 관리 장치(MMU, Memory Management Unit) : 논리 주소와 물리 주소 간의 변환을 담당하는 하드웨어
한계 레지스터 : 다른 프로그램의 영역을 침범하지 않도록 명령어 실행을 방지하고 보호하는 데 사용
논리 주소의 최대 크기를 저장
⇒ 프로그램의 물리 주소 범위 : 베이스 레지스터 값 ~ 베이스 레지스터 값 + 한계 레지스터 값
CPU는 메모리에 접근하기 전에 접근하고자 하는 논리 주소가 한계 레지스터보다 작은지를 항상 검사함
⇒ 만약 CPU가 한계 레지스터보다 높은 논리 주소에 접근하려고 하면 인터럽트(트랩)을 발생시켜 실행을 중단함
확인 문제 (p.194 ~ 195)
저장 장치 계층 구조 : CPU에 얼마나 가까운가를 기준으로 계층적으로 나타낸 구조
캐시 메모리 : CPU의 연산 속도와 메모리 접근 속도의 차이를 줄이기 위해 사용하는 메모리
확인 문제 (p.205)
하드 디스크(자기 디스크) : 자기적인 방식으로 데이터를 저장하는 보조기억장치
하드 디스크가 저장된 데이터에 접근하는 시간
플래시 메모리 : USB 메모리, SD 카드 SSD 등
셀 : 플래시 메모리에서 데이터를 저장하는 가장 작은 단위
페이지 : 셀들이 모여 만들어진 단위
블록 : 페이지가 모여 만들어진 단위
플레인 : 블록이 모여 만들어진 단위
다이 : 플레인이 모여 만들어짐
페이지 상태 : 읽기와 쓰기는 페이지 단위로 이루어지지만 삭제는 블록 단위로 이루어짐
쓰레기값을 저장하고 있는 공간은 사용하지 않을 공간임에도 불구하고 용량을 차지함
⇒ 이러한 용량 낭비를 방지하기 위해 가비지 컬렉션을 통해 유효한 페이지들만 새로운 블록으로 복사한 후 기존 블록을 삭제하여 공간을 정리함
확인 문제 (p.219)
RAID(Redundant Array of Independents Disks) : 하드 디스크와 SSD를 사용하는 기술로 데이터의 안정성 혹은 높은 성능을 위해 여러 개의 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술
RAID 0 : 여러 개의 보조기억장치에 데이터를 단순히 나누어 저장하는 구성 방식으로 줄무늬처럼 분산되어 저장된 데이터를 스트라입이라 하고, 분산하여 저장하는 것을 스트라이핑이라고 함
→ 하드 디스크 중 하나에 문제가 생긴다면 다른 모든 하드 디스크의 정보를 읽는 데 문제가 생길 수 있음
RAID 1 : 복사본을 만드는 방식으로 미러링이라고도 부름
RAID 4 : 패리트 비트를 사용해서 오류를 검출함
RAID 5 : 패리티 정보를 분선하여 저장하는 방식
RAID 6 : 서로 다른 두 개의 패리티를 두는 방식
확인 문제 (p.228 ~229)
장치 컨트롤러 (입출력 제어기, 입출력 모듈) : 입출력장치와 컴퓨터 내부 사이에서 정보를 주고 받을 수 있게 돕는 장치