이미 소장하고 있다면 판매해 보세요.
|
Part1. CPU와 친해지기 - 누구나 알기 쉬운 CPU의 구조
1장. 0과 1의 세상 2장. 논리회로 3장. 조합 및 순차 논리회로 4장. 컴퓨터의 두뇌 - CPU 5장. CPU의 필수 도구 - 레지스터와 클럭 6장. CPU의 언어 - 인스트럭션 7장. 실전 인스트럭션 셋 - MIPS 8장. 실전 CPU 설계 - MIPS의 데이터 경로 9장. 쉴틈없이 일하라 - 파이프라이닝 Part2. 인간의 말을 배운 컴퓨터 - 아무도 알려주지 않는 C의 비밀 10장. 컴파일러의 등장 11장. 변수의 정체 12장. 메모리 나누기 - 코드, 데이터, 스택, 힙 13장. 함수가 호출되기까지 Part3. 프로그램의 정부 - 운영체제(OS) 14장. OS의 정체 15. OS와 친해지기 - 핵심 OS 요소 16. OS 속 들여다 보기 - OS의 내부 동작 원리 |
|
우리는 흔히 차를 만드는 사람과 차를 모는 사람은 평행선에 위치해 있다고 생각하곤 한다.
하지만 해외 유명한 카레이서들이 직접 차의 엔진을 제작하여 성능을 극한으로 끌어올리고 더 훌륭한 레이스를 펼치는 것을 보면, 그들에겐 더 이상 차를 만드는 사람과 모는 사람의 경계는 존재하지 않는다. 앞의 예와 같이 개발자들이 흔히 할 수 있는 오해가 하드웨어인 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별로 나누어 가능한 쉽게 그리고 자세히 설명하려 노력하였습니다.” - 저자 서문 중에서 |