컴퓨터 구조와 기초
챕터1에 배운건 컴퓨터 구조(Computer Architecture)의 입문에 가깝습니다. 사실 제가 입학 후 1달 정도 학교를 안나가느라 수업을 못들어서 튜링머신을 몰랐나봅니다. -_-. 원래 이번 챕터는 컴퓨터 구조를 다루려고 했으나 컴퓨터 구조만 다루기에는 양이 너무 적고 컴퓨터 구조의 극히 일부만 다루므로, 컴퓨터 구조와 컴파일러 소개, 운영체제(OS, Operating System) 소개까지 덧붙여 "컴퓨터 구조와 기초"라는 제목으로 아래 내용을 다룹니다.
- 메모리
- CPU란 무엇인가, CPU에 일 시키기
- 컴퓨터에서 수의 표현(a.k.a. 이진수)
- 컴파일러란?
- 운영체제란?
사실 이번 챕터에 다루려고 했던 컴퓨터 구조는 꽤 방대한 과목이고 컴퓨터 공학에서 꽤 중요한 과목입니다. 보통 컴퓨터 구조에서 다루는 내용은 다음과 같습니다.
- 컴퓨터 개론
- 디지털 논리 회로(조합논리 회로, 순서논리 회로)
- CPU(산술 논리 연산장치, 레지스터, 컴퓨터 명령어)
- 어셈블리어
- 제어장치(명령어 사이클, 파이프라이닝)
- 기억장치(캐시, 주/보조기억장치, 페이징)
- 보조기억장치
- 인터럽트
- 병렬 컴퓨팅
주니어 웹 개발자 아니 거의 다수의 웹 개발자들은 직접적으로 컴퓨터 하드웨어를 다루지 않기 때문에 이 모든 내용을 알 필요는 없습니다. 다만 시스템 프로그래밍, OS에 관심있으신 분은 한 번 읽어보셔도 좋습니다. 예전에 자신만의 OS를 만든다고 나댔을때 사실 가장 도움 많이되는것은 Intel x86 Architecture 책하고 이 컴퓨터 구조였습니다. 네, 사실 부트로더까지만 만들고 printk도 못 만들었죠.