책 이름 : Computer Systems: A Programmer's Perspective, Global Edition (3rd Edition)
저자 : Randal E. Bryant / David R, O'Hallaron
필자가 학부 2학년 때 수강했던 <컴퓨터 구조> 과목과 3학년 때 수강했던 <시스템 프로그래밍> 과목에서 공통으로 사용된 서적이다. 실제로 이 서적은 많은 대학교에서 컴퓨터 구조, 시스템, 그리고 운영체제와 관련한 학부 수업에서 사용할 만큼 유명하다. 물론 이 서적에서 다루는 내용은 너무나도 방대하기 때문에, 본 포스팅에서 모든 내용을 다룰 수는 없다. 대신, 필자가 수강했던 두 수업에서 비중 있게 다뤘던 내용들을 중심으로 포스팅을 해볼 예정이다. 그 내용을 정리하자면 다음과 같다.
<컴퓨터 구조> 과목에서 비중 있게 다룬 내용
① x86 ISA : 대부분의 현대 CPU에서 채택하는 ISA
② Sequential & Pipelined Implementation : CPU의 대표적인 두 가지 구현 방식
③ Cache Memory & Virtual Memory : 캐시 메모리, 가상 메모리
<시스템 프로그래밍> 과목에서 비중 있게 다룬 내용
① Linking : 컴파일 및 링킹의 원리
② Exceptional Control Flow : 예외적인 제어 흐름
③ System-Level IO : 시스템 수준의 입출력
④ Network Programming : 네트워크 프로그래밍
⑤ Concurrent Programming : 동시적 프로그래밍
위의 내용들도 전부 다 포스팅하는 것이 아니라, 필자의 판단 하에 어느 정도 우선순위를 매겨서 중요한 것들을 중심으로 먼저 포스팅할 것이다. 워낙 내용 자체가 방대해서 어디까지 포스팅할 수 있을지는 장담할 순 없지만, 필자의 힘이 닿는 데까지 정성을 들여서 정리를 해보겠다. 필자 스스로에게도, 그리고 또 다른 누군가에도 도움이 되는 포스팅이었으면 좋겠다.
'컴퓨터 구조 (Architecture) > CSAPP' 카테고리의 다른 글
[CSAPP] x86-64 - Procedures (2) | 2020.03.01 |
---|---|
[CSAPP] x86-64 - Control (7) | 2020.02.29 |
[CSAPP] x86-64 - Basics (4) | 2020.02.28 |
[CSAPP] Virtualization (0) | 2020.02.26 |
[CSAPP] Overview (0) | 2020.02.24 |