본문으로 바로가기

시작에 앞서

프로그래밍 언어에 대해 공부하기 위해서는 프로그램이 작동하는 컴퓨터 시스템에 알아야 합니다. 이전까지는 이런 부분을 몰라도 PC를 사용하는 데 지장이 없었겠지만, 프로그래밍을 하기 위해서는 어떤 요소들로 컴퓨터 시스템이 구성되어 있는지, 또 각 요소들은 어떤 특징을 가지고 있고, 어떤 기능을 수행하는지에 대해 알아두는 것이 중요하기 때문에 잠시 정리하겠습니다.   





컴퓨터 시스템의 구성


일반적인 컴퓨터는 하드웨어와 소프트웨어로 이뤄집니다. 하드웨어는 유형의 것으로 모니터, 프린터, 태블릿, 트랙패드, 마우스 등의 입출력 장치와 장치를 연결하는 케이블까지 하드웨어에 속합니다. 소프트웨어는 하드웨어에 명령을 내려 특정한 작업을 하도록 하는 명령어의 집합체입니다. 특정한 형태 없이 컴퓨터 내부에 존재합니다. 





컴퓨터 하드웨어의 핵심은 흔히 CPU라고 말하는 중앙처리장치(Central Processing Unit)와 주 메모리(Main Memory) 및 보조 메모리(Secondary Memory), 입출력장치(Input/Output Device)입니다. 중앙처리장치는 하드웨어에게 명령을 지시하고, 처리하는 인간의 두뇌(Brain) 역할을 합니다. 발전 속도가 매우 빨라서 최근에는 하나의 CPU안에 8개의 코어가 담긴 CPU도 일반 개인이 사용할 수 있을 정도로 보급화가 이뤄졌습니다. 정말 몇 년전 까지만 해도 상상도 할 수 없던 일입니다. 






메모리는 CPU에 의해 수행되는 프로그램과 데이터가 임시로 저장되는 장치입니다. 주 메모리는 대부분이 RAM(Random access memory)으로 이루어져 있고 작은 용량의 ROM(Read only memory)이 사용됩니다.  RAM은 전원이 꺼지면 저장된 데이터가 소실(volatile)되는 특징이 있어서 프로그램이 실행될 때 필요한 데이터들이 임시로 저장되는 공간입니다. ROM은 전원이 꺼지더라도 데이터가 소실되는 문제가 없어서(nonvolatile) PC 구동에 항상 필요하고, 프로그램을 처리할 때 꼭 필요한 명령어들이 저장됩니다. 21세기 초만 하더라도 RAM은 저장 공간이 작고 비쌌지만, 최근 공정의 발달과 대량생산으로 인해 가격이 많이 하락하여 고용량의 RAM을 장착한 PC를 사용하는 사람이 많이 늘어났습니다. 다다익램 이라는 말이 있습니다. RAM은 많을수록 좋다는 말입니다. RAM의 용량이 늘어나면, 그만큼 많은 데이터를 저장하여 처리할 수 있기 때문이죠.






조 메모리는 USB 메모리, 하드 디스크, Blu-ray 미디어, 플래시 메모리 등 대용량의 저장공간을 가지는 장치입니다. 전원이 유지되지 않아도 데이터가 손실될 우려가 적어 데이터 대부분을 이곳에 저장하고 있죠. 최근 이 분야는 눈부신 발전이 있었습니다. 바로 SSD(Solid state Drive)의 탄생이죠. 반도체 메모리를 여러 개 붙여 설계하고 데이터 입출력처리를 할 수 있도록 컨트롤러를 부착해 완성하는 SSD는 기존 HDD의 단점이었던 속도 문제와, 단일 플래시 메모리의 단점이었던 용량문제를 동시에 해결한 제품으로 현재는 초당 1Gb의 데이터 입출력이 가능한 제품도 출시되어있습니다.





입출력장치는 대표적으로 키보드, 마우스, 모니터, 프린터가 있습니다. 마트에서 사용하는 바코드 스캐너, 컴퓨터를 이용하여 그림을 그릴 때 사용하는 태블릿, 마이크, 터치스크린 등도 입출력장치의 범주에 속합니다. 





끝내며




오늘은 프로그래밍을 공부하기에 앞서 프로그램이 작동하는 컴퓨터 시스템에 대해 정리해보았습니다. 어떤 일이든 기본이 중요하다고 합니다. 탄탄하게 기반을 다진 후 쌓아 올려야 나중에 무너지지 않습니다. 이제 시작입니다!



본 게시글이 도움이 되셨다면, 로그인이 필요 없는 아래 공감버튼을 눌러주세요.