성공과 실패를 결정하는 1%의 프로그래밍 원리 레폿

성공과 실패를 결정하는 1%의 프로그래밍 원리 레폿

성공과 실패를 결정하는 1%의 프로그래밍 원리.hwp 문서자료.zip

성공과 실패를 결정하는 1%의 프로그래밍 원리

성공과 실패를 결정하는 1%의 프로그래밍 원리에 대해서 설명하고 있습니다. 전산레폿

이제 우리 생활에서 컴퓨터는 없어서는 안 될 중요한 생필품으로 자리 잡았다. 남녀노소를 불문하고 컴퓨터에 대해 알지 못하면 세상의 흐름을 알지 못하는 것과 다름없다고 해도 과언이 아닐 정도다. 우리나라에 본격적으로 보급된 지는 불과 10여년 밖에 되지 않았지만 그 파급 속도와 효과는 괄목할 만 하다. 인터넷으로 모든 것이 가능해지고 그 중요성도 날이 갈수록 높아지고 있다. 하지만 인터넷이 컴퓨터의 모든 것은 아니다. 나의 경우만 봐도 인터넷을 통한 검색, 메일, 게임, 채팅, 쇼핑 등 일반적인 것들도 남들만큼은 하고 한글2002로 문서 작업도 어느 정도는 하는 편이다. 그런데 정작 원론적인 것으로 들어가면 무지하다. 컴퓨터 본체 속이 어떻게 생겼는지, 어떤 원리로 작동하는 것인지 등에 대해서는 입을 꾹 다물게 된다. 얼마 전 하드 디스크에 이상이 생겼는지 컴퓨터가 자동으로 꺼지고 오류 창이 뜨고 해도 뭐가 어떻게 잘못되었는지 몰라 방치해 두었다가 하드 디스크를 새로 바꾸는 안타까운 일도 겪은 나로서는 이 책이 어쩐지 나를 위한 책이라는 생각이 들었다.
책은 매우 두꺼웠지만 생각보다 재미있게 구성되어 있었다. 너무 원론적이지도 않지만 꼭 알아야 할 하드웨어와 소프트웨어의 구조 및 프로그래밍 원리 등을 되도록 재밌고 알기 쉽게 썼다는 느낌이 들었다. 우선, 1장 ‘CPU를 알면 프로그래밍이 보여요!’를 간략하게 정리해 보겠다. CPU(Central Processing Unit), 즉 중앙처리장치는 컴퓨터를 구성하는 부품 중에서 프로그램의 명령어에 따라 데이터의 연산과 컴퓨터 전체를 제어하는 장치를 말한다. CPU의 내부는 레지스터와 제어장치, 연산장치, 클록 이렇게 4가지로 구성되어 있다. 레지스터는 일종의 메모리로 하나의 CPU에 20~100개 정도가 있는데 처리하려는 명령어와 데이터를 보관하는 영역이다. 제어장치는 컴퓨터 전체를 제어하는 장치로 메모리의 명령어와 데이터를 읽은 후 레지스터에 넣는다. 연산장치는 레지스터가 메모리로부터 읽은 데이터를 연산하는 역할을 한다. 클록은 컴퓨터가 작동하는 시간이 계산되는 클록신호를 발생시킨다. 그리고 CPU안의 레지스터는 종류와 역할에 따라 어큐뮬레이터, 플래그 레지스터, 프로그램 카운터, 베이스 레지스터, 인덱스 레지스터, 범용 레지스터, 명령어 레지스터로 나뉜다.
CPU에 대해 알아보았으니 프로그램이 실행되는 원리에 대해 알아보겠다. 먼저 어떤 프로그램이 실행되면 하드디스크에 보존된 프로그램을 메모리에 복사한다. 메모리에는 명령어나 데이터의 이동 장소를 나타내는 어드레스가 할당되어 있는데 일반적으로 하나의 명령어나 데이터는 여러 개의 어드레스에 걸쳐 보관된다. 따라서 프로그램이 실행됨으로써 CPU가 어떤 명령어를 실행하게 되고, 프로그램 카운터의 값이 나타나게 된다. 그러면 제어장치는 그 값을 참조해 메모리에서 명령어를 읽어내고 실행하게 되는 것이다. 이것이 바로 프로그램의 실행 원리이다. 클릭만 해놓고 컴퓨터가 알아서 할 때까지 묵묵히 기다리기만 하던 나로선 이런 엄청난 구조와 분업에 놀라지 않을 수 없었다. 함수의 호출 과정은 거의 상상을 초월하는 수준이었다.
2장 ‘컴퓨터는 2진수만 사용한다구요!’에서는 2진수에 대해서 자세히 언급하고 있는데 이 2진수로 정보를 나타내고 연산하는 방법을 제대로 익힐 수만 있다면 프로그램의 작동 원리도 쉽게 알 수 있다. 모든 숫자와 문자열 및 그래픽 등의 정보가 컴퓨터의 내부에는 2진수 값으로 취급되기 때문이다. 컴퓨터가 이렇게 2진수로 변환된 데이터만 취급하는 이유는 컴퓨터 내부가 IC(Integrated Circuit), 즉 집적회로로 구성되어 있기 때문이다. 여기서 IC란 검은 몸체의 양쪽에 일정한 간격을 두고 핀이 배열된 형태를 가지고 있는 것을 말한다. CPU와 메모리도 이 IC의 한 형태이다. IC의 몸체에 달린 모든 핀들이 직류 전압 0V나 +5V중 하나의 전압만 띄는 현상 때문에 컴퓨터는 2진수를 사용할 수밖에 없는 것이다.
컴퓨터가 다루는 정보의 최소 단위인 비트는 2진수의 한자리에 해당한다. 그러나 컴퓨터에서 다루는 정보는 8자리의 2진수를 기본으로 한다. 이와 같이 2진수가 8자리 모인 것을 바이트라고 부르는데 이는 정보의 기본 단위가 된다. 컴퓨터는 2진수로 주어진 정보가 숫자인지 문자인지 스스로 구별하지 못하기 때문에 프로그램의 소스코드로 직접 입력해야 한다. 즉 같은 데이터로도 프로그램을 만드는 방법에 따라 전혀 다른 결과를 산출할 수 있다는 것이다. 컴퓨터가 구별하는 방법은 2가지가 있는데 첫 번째 방법은 헤더라고 부르는 파일의 형식관련 정보를 파일의 맨 앞과 맨 뒤에 포함시키는 것이고, 두 번째 방법은 뒤에 붙은 파일의 확장자를 이용하는 방법인데 일반적으로 이 둘 모두 사용한다.
다시 2진수 얘기로 돌아가서, 이 2진수로 시프트 연산을 쓰면 곱셈이나 나눗셈을 할 수 있다. 시프트 연산이란 2진수로 표현된 숫자의 자리를 좌우로 미는 연산이다. 자리를 왼쪽으로 옮기는 왼쪽 시프트는 곱셈을, 오른쪽으로 옮기는 오른쪽 시프트는 나눗셈을 한다. 그리고 덧셈, 뺄셈은 쉽게 이해하기 위해서 보수 개념을 알아야 하는데, 보수는 원래의 값을 반전시켜서 0은 1로 1은 0으로 만든 뒤 1을 더 해서 만든다. 그렇지만 양수와 음수의 오른쪽 연산은 차이가 있어서 오른쪽 연산은 논리 연산과 산술 연산으로 나뉜다. 음수의 논리 연산은 양수가 되어 버리기 때문에 산술 연산이 필요하다. 결국 0과 1이라는 단순한 숫자가 우리의 생활을 180도로 바꾸어 놓고 디지털 정보화 시대를 가져왔다고 생각하니 어쩐지 허탈하기도 하고 인생무상이라는 생각마저 들었다.

자료출처 : https://www.ALLReport.co.kr/search/Detail.asp?xid=a&kid=b&pk=16126966&sid=leesk55&key=

[문서정보]

문서분량 : 5 Page
파일종류 : HWP 파일
자료제목 : 성공과 실패를 결정하는 1%의 프로그래밍 원리
파일이름 : 성공과 실패를 결정하는 1%의 프로그래밍 원리.hwp
키워드 : 성공과,실패를,결정하는,1%의,프로그래밍,원리
자료No(pk) : 16126966

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다