edwith CS50강의를 보며 정리했습니다.

 


● 비트

단위

정보의 최소 단위인 비트의 개념을 설명하려 한다. '손 들어', '불 꺼' 등과 같은 정보를 실생활에서는 컴퓨터 세계에서는 전기의 유무로 판단한다. True/False 등을 0,1 의 비트 개념으로 부호화할 수 있다. 하지만 하나의 비트로 쓰이는 것은 비효율적이기 때문에 최소 8개의 비트를 사용하여 하나의 문자를 표현한다. 즉, 1바이트(byte) 는 8비트(bit)로 이루어져 있다. 

하지만 1바이트도 유용하지는 않다. 우리가 일상생활에서 대화를 하거나 메시지, 메일을 보낼 때에는 여러 바이트가 필요하기 때문에 보통은 바이트의 단위가 아닌 킬로바이트(kb)의 단위로 사용을 하기 시작한다. 1kb는 1,000byte로 이루어져 있다. 사실 정확히 1,000byte는 아니고 2의 제곱으로 표현할 수 있는 1,024의 수치를 가진다. 1바이트가 8비트, 즉 2의 세제곱인 것처럼 말이다. 왜냐하면 0과 1로 이진 분류하면 판독과 표기가 쉽기 때문에 2의 제곱으로 표현한다.

우리가 메모리를 사서 컴퓨터에 꼽으면 막상 표기된 것보다 더 적은 용량의 메모리가 사용이 가능한 이유는 무엇일까? 
제조사는 kb를 법에 맞춰 1,000바이트의 개념으로 광고하고 컴퓨터는 크기를 1,024바이트의 단위로 계산하기 때문이다. 그래서 수를 1,000이 아닌 1,024로 나눈다면 계속해서 1GB가 아니라 900MB를 보게 되는 것이고 그 단위가 커질수록 차이도 크게 나게 되는 것이다. 단위가 하나씩 올라갈수록 크기는 1,000배씩 커진다.

우리가 문서를 작성하며 많은 글자수, 혹은 이미지/표 등을 넣게 되면 메가바이트의 용량을 차지할 수도있다. 1mb는 1,000,000byte로 이루어져 있다. 메가바이트의 다음 단위는 기가바이트(gb)이다. 이는 10억 byte와 같은 뜻이다. 만약 1GB의 용량이 있다는 것은 10억 바이트, 또는 80억 비트의 용량이 있다는 것과 같다.

기가바이트의 다음 단위는 테라바이트(TB)다. 이는 1조 byte와 같은 뜻이다. 이렇게 큰 단위의 메모리를 하드를 누가쓸까? 보통 서버에 이를 많이 사용한다. 구글과 같은 대용량의 데이터가 있는 사이트의 경우는 안전한 공간에 보관된 컴퓨터에 많은 양의 html과 웹페이지를 저장한다. 또한 요새는 사진 기술의 발달로 디지털 사진 파일의 크기도 증가하고 있기 때문에 사진을 저장하는 데 사용할 수도 있다. 기술의 발달에 따라 소비자들도 점점 더 큰 용량을 요구하고 있다.

더 큰 용량인 페타바이트와 엑사바이트도 존재하지만 아직 일반 소비자들에게는 거리가 먼 단위이다. (몇 년안에 달라질수도)

기억

보통 USB 메모리에는 하드 드라이브가 들어있지 않고, '플래시 기억장치'라는 것이 들어있다. USB에는 내부에 움직이는 부품이 없으며, 전기 신호로 자료를 저장한다.

우리가 자료를 분실하지 않기 위해서는 자료를 '백업'해야 한다. 즉, 자료를 분실할 것을 대비하여 지금 가지고 있는 것을 두 개씩 저장하고 있다는 것이다. 문제는 이 백업 자료를 저장하기 위해 점점 더 많은 돈을 지불해야 한다는 것이다.

edwith CS50강의를 보며 정리했습니다.

 


● 기억장치

 

CPU의 용량은 굉장히 제한적이라서 1MB정도의 저장공간만 있다. 한 번에 64bit정도만 처리하면 되기 때문이다. CPU가 두 수를 더한다면 64bit + 64bit 이기 때문에 파일 크기와 관계 없이 적은 양만 CPU로 가져온다. 계산을 하는 동안 데이터를 다른 곳에 저장하는데, 그것을 저장하는 곳이 바로 RAM이다.

RAM은 임의 접근 기억장치다. 메모리는 두 가지 종류가 있는데, RAM과 하드디스크가 있다. 두 메모리는 반대의 성질을 띄는데, 하드디스크는 영구적이고 휘발성이 없는데 반해 RAM은 일시적이고 전원을 끄면 사라지기 때문에 휘발성이 있다. 보통 파일이나 프로그램을 더블클릭하면 도달하는 곳이 RAM이다. 문서를 작성하거나 프로그램을 실행할 때 자료나 프로그램들은 하드디스크에 복사되고 RAM에 일시저장된다. RAM에 저장되는 이유는 하드디스크보다 빠르기 때문이다.

RAM이 더 빠른데도 불구하고 하드디스크를 보통 더 크게(많이) 가지고 있는 이유는 하드디스크에 있는 내용물을 동시에 볼 필요가 없기 때문이다. 우리가 동시에 하드디스크의 모든 프로그램을 실행하지는 않기 때문이다. 또한, CPU에는 어차피 병목현상이 있기 때문에 하드디스크의 용량과 무관하게 훨씬 좁은 파이프라인으로 데이터가 흘러 들어가게 된다.

RAM의 용량이 더 작은 이유는 비싸기도 하고 기술적으로 아직 많은 용량을 담을 수 없기 때문이다. RAM이 더 동적이라고도 말할 수 있는데, RAM이 여러가지를 한꺼번에 처리하는 반면에 하드디스크는 정적인 상태라고 말할 수 있다. 하지만 RAM과 하드디스크는 서로 상응하는 관계이기 때문에 계속해서 커질 것이다. 

하드디스크에 있는 프로그램을 더블클릭하면 RAM에 적재되고 이 일이 발생하기 위해서는 컴퓨터가 입력장치(마우스,키보드)에 반응하기 위해 CPU로 비트가 흘러 들어간다. 메모리의 종류에는 L1,L2,L3 등의 캐시 종류가 있는데 L1은 1차, L2는 2차를 의미한다. 

L1 캐시가 이 셋 중에서 가장 작고 빠르며, 중앙처리장치가 재빨리 받아 처리할 수 있도록 몇 킬로바이트의 데이터만을 저장한다. L2 캐시는 L1 캐시보다 조금 크지만, 그만큼 더 느리다. L3 캐시는 보통 몇 메가바이트를 저장할 수 있어 셋 중 가장 크지만 가장 느리다. 그래도 L3 캐시는 RAM보다는 빠르다.

CPU에 가까울수록 더 빨리 데이터를 받을 수 있지만 양이 적다. 기술적 효율성 때문에 이런 순서로 진행이 된다. CPU는 항상 할 일이 있고 비트를 계속 보낼 수 있기 때문에 빨라야 하고, CPU에서 멀어질수록 느려도 된다. 

하드디스크가 크면 더 많은 것들을 저장할 수 있고, RAM이 크면 동시에 더 많은 일을 한꺼번에 수행할 수 있다. 사실 '동시에' 수행되지는 않지만 엄청나게 빠른 속도로 수행되기 때문에 동시에 수행되는 것처럼 느껴지는 것이다. CPU는 한번에 한가지 일밖에 처리할 수는 없지만 인간이 컴퓨터보다 상대적으로 느리기 때문이다.

요즘 운영체제에서는 '가상 기억장치'라는 것을 제공하는데 만약 500MB 정도의 작은 RAM에서 파일을 실행한다면 이 비트들을 RAM에서 하드디스크로 옮긴다. 프로그램을 실행시키기 위한 공간이 필요하기 때문이다. 그래서 우리가 어떠한 프로그램을 실행할 때 버벅거리거나 로딩이 오래걸린다면 그러한 가상 기억장치로의 이동작업이 이루어졌기 때문이다.

이렇게 버벅거리는 동안 하드디스크에 있던 프로그램을 다시 RAM으로 옮기고 RAM에 있던 프로그램을 다시 하드디스크로 옮기는 작업이 이루어진다. RAM이 크면 이러한 과정들이 생략되기 때문에, PC를 구매할 때 램(메모리)가 큰 것에 투자하는 것이 좋다. 물론 CPU나 디스크(하드) 크기가 큰 것도 좋지만 그래도 램이 우선순위가 높지 않을까?

L2, L1 캐시(Cache)는 CPU에 붙어 나오는데, 구매할 때 L2캐시가 많은 것을 구매할 수 있는 것이 아니다. 1.3GHz의 PC가 1.5GHz의 PC보다 빠를 수도 있는데, RAM이나 CPU의 캐시의 차이에 따라 달라질 수 있다.

edwith CS50강의를 보며 정리했습니다.


● 하드웨어

우리가 pc를 구매할 때, 마케팅팀의 눈속임에 따라서 플로우가 흘러가게 된다. nn만원만 더 투자하면 훨씬 성능이 좋은 걸 사게 되도록 가격이 구성되어 있기 때문이다. 이런 눈속임에 홀리지 않고 정말 나에게 필요한 것이 무엇인지 알고 가격대가 합리적인지 캐치하기 위해서는 하드웨어에 대해 알아두면 좋다. 하드웨어는 컴퓨터를 물리적으로 구성하는 요소이며, 다양한 하드웨어의 기능과 차이점에 대하여 잘 알수록 유용하게 활용할 수 있다.

Processor/CPU : Intel Core i7-8700 Processor(3.2GHz, 8GT/s FSB)

위와 같은 하드웨어가 있을 때 인텔 사의 cpu를 쓰고 속도는 3.2GHz 라는 것을 알 수 있다. FSB는 Front Side Bus의 줄임말로, 기억장치의 속도나 메인보드의 부품들의 속도를 볼 때 참고할 수 있다. 이는 중앙처리장치라고도 하는데, 입력 장치에서 받은  명령을 실제로 처리한다. CPU가 1초에 얼마나 많은 연산을 할 수 있는지 속도를 측정하는 단위는 기가헤르츠(GHz)다.

 

Operating system : Genuine Windows 10 Professional 64

위와 같은 운영체제가 적혀있는데 보통 크게 윈도우, MacOS, 리눅스 등의 운영체제가 있고 우리가 어느 나라에 가든 그 나라의 법을 따라야 하는데 운영체제에 따라 사용법이 다르다. 그래서 어떤 방식으로 컴퓨터를 운영할지에 대한 체계라고 생각하면 된다.  운영체제에는 32bit와 64bit가 있는데 같은 버전에서도 다른 bit가 있다. 요즘은 거의다 64bit이고 훨씬 빠르다. 하지만 32bit에서 만든 프로그램이 32bit 전용 프로그램이라면 64bit에서 실행하지 못할 수도 있다.

 

Display : 27.1 "WXGA LED Panel with Wide viewing Angle

디스플레이의 유형인 WXGA 등의 약어는 종류를 쉽게 구분하기 위해 사용하는 것이다.

 

Total memory : Crucial RAM 16GB DDR4 3200MHz CL22 

Hard Drive : Seagate BarraCuda 1TB Internal Hard Drive HDD – 2.5 Inch SATA 6 Gb/s 5400 RPM 128MB Cache

16기가의 램 메모리와 1테라바이트의 하드디스크를 가지고 있는 것임을 알 수 있다.

기억장치는 입력된 명령이나 데이터가 저장되는 공간으로, 주기억장치보조기억장치로 나누어진다. 주기억장치에는 RAM이 있다. RAM은 기억된 정보를 읽어내기도 하고 다른 정보를 기억시킬 수 있는 메모리로서, 응용 프로그램을 일시적으로 불러오거나 데이터를 일시적으로 저장하는데 사용되는 임의 접근 기억 장치이다. RAM이 메모리에 얼마나 많은 양의 정보를 저장할 수 있는지 측정하는 단위는 보통 기가바이트(GB)가 사용된다.

하드드라이브(C:)는 영구적으로 데이터를 저장한다. 이런 하드드라이브를 보조기억장치라고 하는데, 많이 쓰이는 하드디스크(Hard Disk Drive, HDD)는 원판 모양의 플래터를 회전시켜 드라이브에 데이터를 읽고 쓰는 원리다. 하드드라이브는 다양한 용량이 존재하는데 보통 기가바이트(GB)나 테라바이트(TB) 단위가 쓰인다.

 

입력장치출력장치를 통틀어 입출력장치라고 부른다. 컴퓨터의 입력장치로는 마우스, 키보드, 스캐너 등이 있다. 입력장치사용자가 입력한 자료를 컴퓨터가 이해할 수 있는 형태로 변환하는 장치다. 컴퓨터의 출력장치로 대표적인 것은  모니터와 프린트를 들 수 있다. 흔히 모니터는 이야기 할 때  크기와 해상도와 크기를 언급하는데 모니터의 크기는 보통 대각선 끝과 끝의 길이를 인치로 표시한다.

 

해상도는 우리가 이미지를 볼 때 얼마나 선명하게 볼 수 있는가를 숫자로 나타낸다. 화면에 이미지를 확대해 보면 하나의 작은 점으로 나타나는데 이 하나의 작은 점을 픽셀이라고 한다. 즉 픽셀의 개수가 해상도가 된다. 픽셀의 개수가 많으면 많을수록 해상도는 높아지고 우리는 선명한 이미지를 볼 수 있다.

+ Recent posts