profile image

L o a d i n g . . .

 

 

[스터디 그룹] 혼자 공부하는 프로그래밍 | Facebook

프로그래밍에 관심 있는 분들이 모여있습니다.

www.facebook.com

 

 

혼공단 3주차는 1주차에 적었던 핵심부품중 메모리, 주기억장치, 입출력장치를 학습했다.

 


메모리

ROM

롬은 비휘발성 저장장치(non-volatile memory)로 컴퓨터의 전원을 꺼도 저장된 내용이 유지되는 장치이다. HDD, SSD, CD-ROM, USB와 같은 보조기억장치들이 대표적인 비휘발성 저장장치로 불린다. 문서, 이미지 등 보관할 대상들을 여기에 담아둔다.

 

RAM

램은 휘발성 저장장치(volatile memory)로 컴퓨터의 전원을 끄면 저장된 명령어와 데이터가 모두 날아간다. 실행중인 파일이나 클립보드 복사, 저장 전 작업하고있던 문서들이 RAM에 저장되고 있다. 실행할 대상들을 여기에 담아둔다. 

 

용량과 성능

RAM 용량은 컴퓨터 성능에 영향을 미친다. 16GB램은 8GB보다 더 나은 사용자 경험을 제공할 수 있다. 용량이 크면 보조기억장치에서 많은 데이터를 가져와 미리 RAM에 저장할 수 있기 때문이다. 따라서 많은 프로그램을 동시에 실행할 수 있다. 하지만 무조건 RAM 용량이 크다고 해서 빠른 성능을 기대하긴 어렵다.

 

그 이유는 RAM은 CPU와 상관관계가 높기 때문이다. RAM은 CPU가 처리하고자 하는 일을 임시 저장한다. RAM이 성능이 좋아 보조기억장치에서 많은 데이터를 미리 가져다 놓고 기다려도 처리하는 CPU가 느리다면 일이 빨라진다고 말하기는 어렵기 때문이다. 

책장이 보조기억장치, 책을 둘 공간이 있는 책상을 메모리 그리고 사람을 CPU라고 생각해보자.

용량이 큰 보조기억장치는 마치 큰 책장과도 같아서 많은 책을 보관할 수 있다.

그리고 큰 메모리(RAM)은 넓은 책상과도 같아서 그만큼 책을 쌓아둘 공간이 더 많다.

하지만 아무리 책을 많이 담고 쌓아두어도 책을 읽는 CPU가 속독하지못하고 천천히 읽는 스타일이라면 메모리에 담긴 처리는 느릴 수 밖에 없다. 따라서 하나가 월등해서 좋은게 아닌 보조기억장치, 메모리, CPU 세 장치가 모두 조화롭게 받쳐주어야 최고의 효울 컴퓨팅 경험이 가능해진다.

 

[205p 확인문제1이 여깄네!..!!!!!]

보통 레지스터, 캐시, RAM을   주기억장치 라고 부른다. 프로그램이 실제로 구동될 때 이 세 기억장치를 사용하기 때문이다.

 

 

RAM의 종류 (185 확인문제 3번)

- DRAM: 주로 주기억장치로 활용되며, 집적도가 높아 대용량화 하기 유리하나 시간이 지나면 저장된 데이터가 점차 사라지는 단점이 있다.

- SRAM: 주로 캐시메모리로 활용되며, 집적도가 상대적으로 낮지만 시간이 지나도 저장된 데이터가 사라지지않아 캐시메모리로 사용된다.

- SDRAM: 클럭과 동기화된 DRAM.

- DDR SDRAM: SDR SDRAM에 비해 대역폭이 두 배 넓다.

 

 

RAM의 주소

- 물리주소: 메모리가 사용하는 하드웨어상의 실제 주소

- 논리주소: CPU와 실행중인 각각의 프로그램에 부여된 프로그램이 사용하는 주소

위 주소는 CPU와 버스사이에 위치한 MMU(메모리 관리 장치)라는 하드웨어를 통해 논리주소를 물리주소로 변환된다.

 


 

RAID

지금 다니고 있는 회사는 물리서버 납품 및 구축(설치, 세팅)을 개발자가 한다.😂 그때 RAID(n) 구성을 해달라는 단어를 많이 듣는다. RAID(Redundant Array of Independent Disk)는 주로 하드디스크와 SSD를 사용하는 기술로, 데이터 안전성 혹은 높은 성능을 위해 여러 개의 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술을 뜻한다.

 

RAID 사용이유

- 하나의 보조기억장치처럼 쓸 수 있어 대용량의 단일 볼륨을 사용하는 효과를 낼 수 있다.

- 디스크 I/O 병렬화로 인해 성능 향상을 기대할 수 있다.

- 데이터 복제를 통해 안전성을 향상시킬 수 있다.

 

RAID의 종류

RAID에는 레벨이 있다. 

RAID0

위키피디아 RAID0

각 하드디스크가 위와 같이 번갈아가며 데이터를 저장한다. 만약 4개의 하드디스크라면 4개의 하드디스크가 번갈아 가며 데이터를 저장한다. 분산하며 저장하는 것을 Striping이라고 부르며, 이 모습이 줄무늬처럼 보여 Stripe set 또는 Striped volume 이라고 불린다. 

예를 들면 4TB 저장 장치 한 개를 읽고 쓰는 속도보다 4개로 나뉘어져 읽고 쓰기 때문에 이론상으로는 1TB저장장치 네 개의 속도가 4배가량 빨라지게 된다.

 

RAID0의 단점으로는 저장 정보가 안전하지 않다는 점이 있다. 구성된 하드디스크 중 하나에 문제가 생긴다면 다른 모든 하드디스크가 읽고 쓰는데 문제가 생길 수 있기 때문이다.

 

이를 보완하기위해 나온

RAID1

위키피디아 RAID

RAID1은 그림처럼 복사본을 만드는 방식이다. 거울처럼 완전한 복사본을 만드는 구성이기 때문에 미러링(Mirroring)이라고도 부른다. 복구가 간단해 안전성이 올라가지만 속도는 RAID0보다 느리고 하드디스크 개수가 한정되었을 때 사용 가능한 용량이 적어지는 단점이 있다.

예를 들어 RAID0의 경우는 4TB의 정보를 저장한 수 있지만 RAID1에서는 2TB의 정보만 저장할 수 있기 때문에 많은 용량의 하드디스크가 올라가고 비용이 증가하게된다.

 

 

RAID2, RAID3

현재는 잘 사용하지 않는 구성방식이다.

 

RAID4

위키피디아 RAID

RAID4는 1의 미러링 대신 오류를 검출하고 복구하기 위한 정보(패리티 비트)를 저장하는 장치를 두는 구성방식이다. 패리티를 저장한 장치를 이용해 다른 장치의 오류를 검출하고, 오류가 있다면 RAID4가 복구를 하기때문에 RAID1보다 적은 하드디스크로도 안정성을 높일 수 있다.

단점으로는 새로운 데이터가 저장될 때마다 패리티를 저장하는 디스크에도 데이터를 쓰게되어 패리티 저장 장치에 병목 현상이 발생한다는 점이다. 

 

RAID5

RAID5는 block level striping으로 구성되어있다. 패리티 정보를 분산하여 RAID4의 단점인 병목 현상을 해소한다. RAID5를 구성하기 위해서는 최소 3개의 디스크가 필요하다.

 

RAID6

RAID6은 서로 다른 두 개의 패리티를 두는 방식이다. RAID5에비해 안전한 구성이지만 새로운 정보를 저장할 때마다 저장될 패리티가 두 개이기 때문에 쓰기속도는 RAID5에비해 느리다. 

 

이외 RAID를 혼합하여 RAID0 + RAID1 = RAID10, RAID0 + RAID5 = RAID50 방식도 있다. 이렇게 혼합하는 방식을 Nested RAID라고 부른다

 

 

 

 

이번주 학습 후기

- SSD랑 RAM 샀으니까 SSD랑 RAM 하나씩 더 사고 CPU도 성능 좋은걸로 사서 컴퓨터를 더 부려먹어줘야겠다.

반응형
복사했습니다!