1%의 프로그래밍 작동 원리 - 성공과 실패를 결정하는
가와마타 아키라 지음, 권기태 옮김 / 성안당 / 2019년 8월
평점 :
장바구니담기


 


성공과 실패를 결정하는 1%의 프로그래밍 작동원리 코딩교육은 논리력,창의력,문제 해결력을 키울 수 있고 인공지능,사물 인터넷,지능형로봇,빅데이터 분석및 활용 등 4차 산업혁명 시대에 모든 것이 소프트웨어를 통해 구현될 수 있다고 믿는다. 선진국에서는 코딩을 정규 교육 과정에 편입시켜 교육하고 있으며 우리나라에도 전국 교과과정에 소프트웨어 교육을 의무화 하고있다.




이 책은 기본 논리를 시작으로 CPU구조/명령 ,시스템,펌웨어,운영체제,어셈블러,고급 언어,보안, 마무리로 이어진다.우리가 잘못  이해하고 있는 부분들을 발취하여 자세한 설명과 응용능력을 길러주고 있다.정보기기가 동작하는 구조는 많은 사람들의 손을 거쳐 만들어지기 때문에 특별한 사람은 없다.이들 모두가 일반적인 기술을 가지고 있다.

 

 

 

문제가 발생해도 그 원인은 잘못된 조작이나 고장인 경우가 많다.다만 일반적인 사용자의 접근을 막기위한 블랙박스 같은 것이 존재하는 경우도 있다. 컴퓨터가 동작하는 구조를 설명하고 구조가 단순한 예전의CPU인 Intel 8080 을 에뮬레이션하는 프로그램 EE 8080을 준비하여 보여준다.에뮬레이터의 소스 코드에 관해 설명하고 활용하는 빙법을 설명한다.

디지털과 아날로그에 대한 설명에서 아날로그와 디지털의 차이는 연속과 이산이라고 할 수 있다.연속은 자국이 없는 상태를 말한다.이산은 끊어진 자국이 있는 상태이다.1970년대 이후 기술의 진보에 따라 디지털 컴퓨터가 우세하게되었다.서로의 장단점이 있지만 고속의 과학기술 계산에 있어서는 아날로그 컴퓨터가 정확한 금액이나 올바른 고객의 이름을 취급하는 것이 중요한 비즈니스 용도라면

디지털 컴퓨터가 유리하다.컴퓨터의 착상은 기독교의 포교를 위한 수단이라는 설도 있다.영국의 수학자 조지 부울에 대한 이야기가 나온다. 그는 모든 논리는 0과 1의 두 값으로 환원할 수 있다고 말한다.우리는 이것을 부울 대수라고 부른다.현대의 컴퓨터에는 왜 True (1)와 False (0)만 표현할 수 있는 2치 논리형이 좋은가라는 논리적 근거는 이 부울 대수에 있다.

컴퓨터의 핵심이 되는 부품을 CPU(Centeral Processing Unit:중앙처리장치)라고 부른다.그러나 이 CPU만으로 일을 할 수 없다.그래서 CPU의 구조와 버스 ALU라고 하는 CPU를 구성하는 각 부분의 명칭과 의미 구조를 설명한다.버스는 크게 세가지로 나눌 수 있다.첫 번째,특정 장치 내부에서만 사용되는 내부 버스,두 번째,CPU가 외부에 보이는 버스 CPU마다 설계가 다르고

다른 버스가 존재한다.CPU와 완전히 분리된 버스가 있다.복수의 장치 사이에서 공통으로 사용하기 위한 공통 규격화된 버스이다.펌웨어는 시스템이 리셋될 때 최초로 실행되는 소프트웨어이다.그 결과 CPU도 리셋된다.전원을 켜면 프로그램이 실행이되고 IPL이 실행,부트스트랩 로더가 실행 되면서 목적 프로그램이 실행된다.운영체제(OS)는 컴퓨터의 가장 기본적인 소프트웨어이다.

역할은 크게 나누어 두가지가 있다. *셀 기능 * API 기능 셀기능은 사용자의 기본조작을 받아들인다. API 기능은 각 애플리케이션이 운영 체계의 기능을 이용하는 수단을 제공한다.가장 기본적인 기능을 제공하는 부분을 일반적으로 커널 이라고 부르고 구체적인 분할 방법은 운영체계의 종류에 따라 다르다.어셈블러에는 다음과 같은 장점이 존재한다.바이너리 파일을 직접 다루는 것보다


이해하기 쉽고 CPU의 전체 기능을 액세스 할 수 있기 때문에 이 CPU로 가능한 전체 기능을 끌어낼 수 있다.고급 언어보다 효율성이 좋은 코드를 작성할 수 있다.가장 빠른 속도로 실행할 수 있는 프로그래밍 언어이다.그러나 그 반대되는 단점도 가지고 있다.보안과 부록으로 나오는 에뮬레이터 조작설명도 유용하게 사용할 수 있다.

 


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo