본문 바로가기

I'm interested in/Programming

아들에게 프로그래밍 가르치기 (2)

이번에는 무슨 얘기를 할거냐면, 컴퓨터의 구조에 대한 얘기를 해볼까 해.

컴퓨터, 하면 상윤이는 뭐가 생각나지?

모니터, 키보드, 마우스,.. 뭐 이런 게 생각나겠지?
그런데 사실 이런 거는 컴퓨터가 아니고 컴퓨터의 '주변기기'라고 해.

그럼 진짜 컴퓨터는 뭐지? 그거는 컴퓨터 본체 라고 부르는 네모난 덩어리 안에 있지.
나중에 한 번 열어서 보여줄건데, 컴퓨터를 뜯어보면 안에는 메인보드라고 부르는 각종 전자부품이 가득 있는 네모난 판이 하나 있고, 컴퓨터에 전원을 공급하기 위한 네모난 박스가 있고, 컴퓨터에서 나오는 신호를 모니터로 보내주기 위한 '그래픽카드' 라는 장치가 있고, 컴퓨터에서 작업한 내용을 저장하기위한 '하드디스크'가 있어.

그리고 메인보드 안에는 컴퓨터의 brain에 해당하는 CPU(Central Processing Unit)라는 장치가 있지.

이 cpu 가 컴퓨터의 계산을 담당하는 장치야.

자, 그럼 노트북은 어떨까? 노트북 안에도 이런 게 있을까?
정답은 노트북 안에도 이런게 다 들어있다는 거야. 대신 부피를 줄이기 위해서 조그맣게 만든 것들이 들어가있지.
메인보드도 좀 작은 걸로. 하드디스크도 작게 만들어서 넣어놓았지.
작게 만드는게 어렵기 때문에 같은 성능의 노트북과 일반 컴퓨터를 비교하면 노트북이 좀 더 비싼 편이야.

이제 컴퓨터의 구조는 대강 알겠지?

 

그럼 이어서 컴퓨터를 "작동시키는" 프로그램에 대한 얘기를 좀 더 해보자.

상윤이가 컴퓨터를 쓸 때 어떻게 사용하지?
마우스로 이리저리 찾아보고, 키보드로 입력하면 화면에 뭔가가 나오지?

다시 생각해보면 컴퓨터는 계산기라고 했는데 어떻게 저런 일을 하는 걸까?

어떻게 저런 일을 하느냐 하면, 우리가 키보드를 누르면 화면에 어떤 글자를 내보내는 작업을 하도록 프로그램이 이미 만들어져서 작동하고 있는거야. 마우스를 움직이면 어떤 일을 해야할지, 컴퓨터 전원을 켜면 어떤 일을 해야 할지에 대한 명령들이 미리 만들어져서 컴퓨터 안에 들어가 있는거야. 그래서 우리가 키보드나, 마우스를 작동시켜서 컴퓨터를 우리가 원하는 대로 작동시킬 수 있는거지.

이런 프로그램을 OS (Operation System) 라고 불러.
OS 에는 우리가 컴퓨터에서 사용하는 Windows7 이라든가, 상윤이 핸드폰에 들어있는 Android, 아니면 아이패드에 들어있는 iOS 같은 것들이 있어. 어때, 다들 친숙한 것들이지?
즉, 아이패드나 핸드폰에도 안에 컴퓨터들이 들어있고, 이 컴퓨터를 작동시키기 위한 프로그램이 이미 설치되어있다는 얘기야.

이거는 마치 상윤이가 레고로 집을 만들 때 바닥에 까는 녹색 판과 같은거야. 상윤이가 추가로 게임을 설치한다고 하면 그 게임은 이 OS위에 설치가 되는거지. 그런데, 만약에 상윤이가 가지고 있는 레고판 위에 듀플러 레고를 끼우려고 하면 되겠어? 안되겠지? 판이 안맞잖아. 그런 것처럼 OS가 다르면 프로그램이 다른거야. 즉, 안드로이드 프로그램은 안드로이드 기계에만 써야 되고, 윈도우용 프로그램은 윈도우에만 설치가 되는거야.

우리집 노트북에 설치되어있는 OS는 Microsoft 라는 회사에서 만든 Windows7이라는 OS 야. Winows가 프로그램 이름이고 7은 버전이야. 상윤이 버전 알지? version. 마인크래프트할 때 뒤에 0.8.1 이런 거 붙잖아. 프로그램을 바꿀 때마다 버전이 바뀌는거잖아. Windows는 3.1 -> Windows95 -> Windows98 -> Windows Vista -> Windows7 -> Windows8.0 -> Windows8.1 이렇게 버전이 바뀌고 있어. 우리집에 있는 거는 이중에 Windows7 이라는 거지.

노트북을 딱 켜면 첨에 나오는 바탕화면과 아이콘들과.. 뭐 이런 화면들이 바로 Windows7의 모습이야.
만약에 노트북에 다른 OS를 설치해놨다면 뭔가 다른 모습의 화면이 나오겠지.
이제 알겠지?

이렇게 해서 컴퓨터의 구조에 대한 얘기는 여기까지 하고, 다음은 이제 컴퓨터를 다루는 방법에 대한 얘기를 해보자.

다 읽었으면 밑에 읽었다고 리플 달아놔. 잘 모르겠는거는 질문하고.

'I'm interested in > Programming' 카테고리의 다른 글

아들에게 프로그래밍 가르치기 (1)  (0) 2014.07.28
생활코딩 작심 40시간 강좌  (0) 2014.06.24