메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

뇌를 자극하는 프로그래밍 원리 : CPU부터 OS까지

뇌를 자극하는 프로그래밍 원리 : CPU부터 OS까지

한빛미디어

집필서

절판

  • 저자 : 한세경
  • 출간 : 2007-09-12
  • 페이지 : 564 쪽
  • ISBN : 9788979145069
  • 물류코드 :1506
  • 초급 초중급 중급 중고급 고급
4.3점 (7명)
좋아요 : 29

우리는 흔히 차를 만드는 사람과 차를 모는 사람은 평행선에 위치해 있다고 생각하곤 한다.

하지만 해외 유명한 카레이서들이 직접 차의 엔진을 제작하여 성능을 극한으로 끌어올리고 더 훌륭한 레이스를 펼치는 것을 보면, 그들에겐 더 이상 차를 만드는 사람과 모는 사람의 경계는 존재하지 않는다.

앞의 예와 같이 개발자들이 흔히 할 수 있는 오해가 하드웨어인 CPU와 소프트웨어인 OS가 각각 개별적으로 동작한다고 생각하는 것이다. 이는 일반적으로 논리회로나 OS 등을 개별적인 과목으로 학습학기 때문에 서로의 유기적인 결합에 대해 쉽게 느끼지 못하기 때문이다.

사실 컴퓨터라는 하나의 '차'를 몰기 위해서는 차의 엔진에 해당하는 CPU 구조에 대해 파악해야 한다. 또한 이와 함께 속도를 올리고, 바퀴와 와이퍼를 움직이도록 지시하는 것에 해당하는 각 프로그램이 구동하는 베이스인 OS의 역할에 대한 이해도 필요하다. 그래야만 각각의 움직임(프로그램)이 차라는 하나의 개체에서 결합되어 어떻게 충돌없이 동작할 수 있는지 또 동작하게 할 수 있는지를 이해할 수 있다.

이 책은 자판기, 카레이스, 차 공장 프로세스 등 실제 우리가 접하기 쉬운 예제와 설명들을 토대로 개발자들이 프로그램을 제작할 시 놓치고 지나가기 쉬운, CPU와 C, OS의 역할과 상호 관계에 대해 한 눈에 알수 있도록 했다.

이를 통해 단지 일반적인 상식 선에서 프로그램을 이해하는 것을 뛰어넘어, 더 넓은 시야를 보유한 고급 프로그래머로 도약할 수 있는 기본을 닦아준다.

주요내용

  • 디지털과 컴퓨터, 0과 1의 세상
  • 논리회로와 플립플롭
  • CPU와 ALU의 다양한 연산
  • 산술 연산 장치 - Adder의 구현
  • CPU의 필수 도구 - 레지스터와 클럭
  • 인스트럭션과 인스트럭션 셋
  • 쉴틈 없이 일하라 - 파이프라이닝
  • 어셈블리어 VS 고급 언어
  • 약방의 감초 - 변수
  • 포인터와 포인터의 사촌 배열
  • 함수 - 스택프레임, 서브루틴
  • 선점 방식 OS와 비선점 방식 OS
  • 프로세스 VS 스레드
  • 윈도우즈의 최강자 서버 - IOCP
  • CPU의 시간표 - 스케줄링

"예를 들어 printf라는 함수가 글자를 화면에 출력하기까진 매우 많은 조력자들이 필요합니다. 당장 함수 호출이나 변수 전달 방식과 같은 기본 메커니즘에서부터 전혀 상관없을 것 같은 OS의 역할, 그리고 가장 기본적인 CPU의 동작까지. 많은 프로그래머들 중에서도 printf 함수를 호출하고 결과를 응용할 줄은 알지만 그 속에서 일어나는 일에 대해서 깊이 관심을 가지거나 자세히 아는 분은 그리 많지 않을 것입니다. 이 책에서는 이런 궁금증을 각 Part별로 나누어 가능한 쉽게 그리고 자세히 설명하려 노력하였습니다."
- 저자 서문 중에서

한세경 저자

한세경

한양대학교 전기컴퓨터 공학부를 졸업하고, 서울대학교 전기공학부에서 제어 및 임베디드 시스템을 전공하여 현재 SK(주) 기술원에서 근무하고 있다. 학부 1학년 때부터 삼성 소프트웨어 멤버쉽 활동을 시작한 이후 각 IT분야에서 다양한 개발 경험을 축적하였으며 4개국어에 능통할 정도로 자기 개발에 철저하다. 또한 현재 레이스 선수로 활동하는 열혈 바이크 매니아이다.

추천사 
저자 서문 
로드맵 

Part1. CPU와 친해지기 - 누구나 알기 쉬운 CPU의 구조
1장. 0과 1의 세상 
01. 디지털과 컴퓨터 
02. 0과 1의 세상 

2장. 논리회로 
01. 기본 연산 게이트 
02. BOOLE 대수 
03. BOOLE 대수의 응용 

3장. 조합 및 순차 논리회로 
01. 조합 논리회로 
02. 순차 논리회로 
03. RS 플립플롭 
04. D 플립플롭 
05. 기타 플립플롭들과 이들의 존재 의의 

4장. 컴퓨터의 두뇌 - CPU 
01. CPU의 탄생 비화 
02. 범용 논리회로 
03. 산술 연산 장치 - Adder의 구현 
04. 32비트 ALU의 구현 
05. ALU에서의 뺄셈 구현 
06. 인스트럭션 맛보기 

5장. CPU의 필수 도구 - 레지스터와 클럭 
01. ALU와 메모리
02. 컴퓨터의 곱셈과 레지스터 
03. 컴퓨터의 시계 - 클럭 

6장. CPU의 언어 - 인스트럭션
01. 프로그램 저장방식 컴퓨터 
02. 인스트럭션의 구성요소

7장. 실전 인스트럭션 셋 - MIPS 
01. MIPS의 레지스터
02. 레지스터의 활용
03. R-타입 인스트럭션 
04. I-타입 인스트럭션 
05. J-타입 인스트럭션 

8장. 실전 CPU 설계 - MIPS의 데이터 경로 
01. R-타입 인스트럭션의 CPU 수행 
02. I-타입 인스트럭션의 CPU 수행 
03. J-타입 인스트럭션의 CPU 수행 

9장. 쉴틈없이 일하라 - 파이프라이닝
01. 파이프라이닝 
02. 구조적 위험(Structural Hazard)
03. 분기 위험(Branch Hazard)
04. 데이터 위험(Data Hazard)

Part2. 인간의 말을 배운 컴퓨터 - 아무도 알려주지 않는 C의 비밀
10장. 컴파일러의 등장 
01. CPU의 청동기 시대 - 어셈블러 
02. CPU의 철기 시대 - 고급 언어의 등장 

11장. 변수의 정체 
01.약방의 감초 - 변수 
02.변수의 종류와 선언 
03.변수의 크기와 부호 
04.양날의 칼 - 포인터 
05. 함수까지 가리키는 만능 재주꾼 - 포인터
06. 포인터의 함정 - 댕글링 포인터 
07. 아무나 가리키는 포인터 - 일반 포인터
08.포인터의 사촌 - 배열 
09. 포인터와 배열 
10. 다중(다차원) 배열

12장. 메모리 나누기 - 코드, 데이터, 스택, 힙
01. 코드 및 데이터 세그먼트 
02. 스택 세그먼트 
여기서 잠깐 폰 노이만 vs 하버드 아키텍쳐 
03. 힙 세그먼트 

13장. 함수가 호출되기까지 
01. 벽돌과도 같은 함수 - 구조화된 프로그래밍 
02. 함수호출의 기본 원리 - 스택 프레임
03. 스택 프레임을 통한 함수간 값 전달 
04. 지역 변수

Part3. 프로그램의 정부 - 운영체제(OS)
14장. OS의 정체 
01. 누구냐 넌? - OS 
02. 선점과 비선점 방식 
15장. 프로그래머가 알아야 할 필수 OS 
01. 프로세스 vs 스레드
02. 동기화 
03. Blocked I/O vs Non-blocked I/O 
04. 멀티 스레딩과 서버 
05. 윈도우즈의 최강자 서버 - IOCP

16장. OS가 제공하는 편리한 기능 
01. 프로세스 vs 메모리 
02. 프로그램이 실행되기까지
03. 멀티 프로그램을 위한 메모리 관리
04. 페이징 
05. 페이징을 활용한 가상 메모리
06. 페이지 테이블을 위한 캐쉬 메모리 - TLBs 
07. 페이징을 통한 프로세스 간 메모리 공유
08. CPU의 시간표 - 스케줄링
09. 실시간 운영체제 

정답과 해설 
찾아보기

수요가 좀 되는 것 같은데 재판매 고려해보시는게 어떠신지요..

요즘 프로그래밍 언어에 대해서 갑자기 관심이 생겨서 읽고있는 대학생입니다.

 

중고로도 구하기 힘들고, E-BOOK 으로도 구하기가 매우 힘드네요..

 

재출판을 소망하고 있습니다.

 

저 말고도, 제 친구 동기들도 다 구하고싶다고 하더라구요..

 

 

좋은책 왜 절판 시킵니다. 다들 못구해서 난리네.

개정판 출시가 절실합니다!!!!!!

CSI 는 그래픽이 뛰어난 드라마다.
피해자가 어떤 가스를 흡입하여 사망에 이르렀을 때 수사관이 이를 추측하고 검증하는 과정이 그래픽으로 실감나게 표현된다.
가스가 코로 흡입되어 기도를 거쳐 폐에 도착하고 그 가스로 인해 세포가 영향을 받아서 주위의 기관이나 조직을 손상시켜서 사망에 이르는 과정이 손에 잡힐 듯 그려진다.

컴퓨터의 동작도 마찬가지로 그렇게 그림처럼 그려져서 보여졌으면 하는 바램을 가지고 있었다. 네트워크 분야에서는 패킷을 생산하여 전송하고 받아서 다시 풀어지는 과정을 동영상으로 설명하는 것을 본적이 있는데, 아주 감탄했던 기억이 있다.

뇌를 자극하는 프로그래밍 원리는 컴퓨터 그래픽으로 구성된 동영상은 아니지만 이처럼 컴퓨터 내부를 리얼리스틱(?)하고도 비주얼(?)하게 보여주고 있다.

윈도우에서 실행파일을 더블클릭하면 저장된 실행파일이 실행되어, 프로그램코드는 텍스트영역으로, 정적변수는 데이터영역으로 로딩되어 main() 이 실행되고 동적인 변수나 지역변수는 스택으로 쌓여 운영체제가 제공하는 API 의 보조를 받아 의도하는 프로그램이 수행되는 과정이 훤하게 보안다. 게다가 이 때 CPU는 클럭마다 어떤 동작을 하게 되는 지도 대략 감을 잡을 수 있다.

책 어딘가에 이 책을 보면 연봉이 2배가 될거라는 장담(?)을 본 것 같다.
이 말이 실현될 거라는 데에 동의하지는 않지만 프로그램 개발자라는 일을 연봉만으로 하는 게 아니라면 반드시 읽어보길 바란다.
컴퓨터의 내부를 들여다 볼 수 있게 해주는 CSI 수준의 실험도구를 갖추어 놓으면 최소한 프로그램을 짜면서 의자를 기소해야 하는 상황은 만들지 않을 것이다.

59쪽의 경우 NAND 게이트의 진리표는 잘못되어 있습니다.
나머지 부분도 한 번 꼼꼼히 살펴볼 필요가 있겠습니다.

책 내용은 쉽게 이해 할수 있게

쓰여졌습니다..

하지만 오타가 너무 많은게 문제네요..

오타에 관한 정정내용을 빨리 정리해서

올려주심이 좋을듯 싶습니다.

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
뇌를 자극하는 프로그래밍 원리 : CPU부터 OS까지
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
뇌를 자극하는 프로그래밍 원리 : CPU부터 OS까지
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
뇌를 자극하는 프로그래밍 원리 : CPU부터 OS까지
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 책0