본문 바로가기
Choi solyi/책

[책]혼자 공부하는 컴퓨터구조 + 운영체제

by SOLYI 2022. 12. 29.

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

 

* 이 책을 선택한 이유
나는 경영학과 출신으로 국비학원에서 6개월간 교육을 받고 웹 개발자로 취직하여 3년 차에 접어든다.
전공자들은 대체로 1, 2학년 때 컴퓨터 구조나 운영체제에 대해 필수로 학습한다고 들었다.
남들이 하도 필수 과목이다, 개발자라면 반드시 알아야하는 개념이다라는 말을 많이 해서 학점은행제로 컴퓨터 구조와 운영체제 과목을 이수했지만, 학점 은행제 특성상 재밌는 수업과는 거리가 멀어 흥미를 느끼지 못했다.
그 결과, 내 머릿 속에 남은 개념은 zero에 가까운 상태였다.
하지만 가슴 한켠엔 언젠간 공부해봐야지..라는 생각만 갖고 있던 차에 이 책을 만났다.


* 이 책의 구성
핵심 키워드나 말풍선, 좀 더 알아보기, 핵심포인트, 확인문제 등으로 독자의 수준에 맞추어 다양한 깊이로 공부할 수 있게 도와준다.
'혼자 공부하는' 이라는 시리즈의 이름과 걸맞게 혼자서도 공부할 수 있게끔 github로 추가 자료를 제공하거나 동영상 강의도 제공한다. 그뿐만 아니라 혼자 공부하다 보면 의지가 나약해지기 마련. 혼공 학습단과 함께 학습할 수 있는 기회도 제공한다.

 

(출판사 한빛 미디어에서 제공하는 저자 직강의 유튜브 영상도 있다)

https://youtu.be/LBqJwmFMQHI



* 학습 로드맵
컴퓨터 구조
컴퓨터가 이해하는 정보 알아보기
컴퓨터의 4가지 핵심 부품 학습하기
운영체제 시작하기
프로세스와 스레드 이해하기
CPU 스케줄링 기법 학습하기
프로세스와 스레드 관리 기법 학습하기
가상 메모리와 파일 시스템 학습하기


* 책 소개
첫 장에서는 컴퓨터 구조를 알아야 하는 이유에 대해 설명한다.
개발자에게는 문제 해결 능력이 중요하다는 말을 한번 쯤 들어봤을 것이다. 컴퓨터 구조를 안다면 실무에서 문제가 생겼을 때 코드만 아는 사람과는 차이를 보인다고 한다.
당장 주니어 개발자가 크게 신경 쓸 부분은 아닐수도 있지만 주니어 개발자에서 한 걸음 더 성장하기 위해선 서비스의 성능, 용량, 비용도 고려할 줄 알아야 한다고 생각하는데 컴퓨터 구조를 안다면 이런 부분을 스스로 알고 개선시켜 나아갈 수 있다.

컴퓨터나 개발을 공부하면서 조금이라도 관심이 있다면 CPU 나 메모리, 보조기억장치, 입출력 장치 등의 용어를 이미 알고 있으리라 생각한다. 내가 전에 썼던 컴퓨터는 CPU는 I7-7700에 메모리는 16G였다 정도..
구체적으로 어떤 일을 하는지에 대해 알아보려 한적이 없을 뿐 머리로는 '뭐가 더 좋은지' 정도만 알고 있던 수준이다.

CPU나 RAM의 실물 사진을 보여줘도 흠 그렇군정도겠지만 이 책에서는 누가 봐도 이해하기 쉬운 그림으로 각 역할들을 구분 지어주며 설명을 해주는 부분이 좋았다.


2장에서는 컴퓨터의 표현 방법에 대해서.
정보의 단위부터 비트 바이트 등에 대한 설명도 있고 이진법, 16진법에 대한 설명도 있다.
2진법까지는 흔하게 접할 수 있어 친숙하지만 16진법은 말만 들어도 복잡한 느낌... 61페이지의 이미지에서 친절하게 이해하는 방법을 설명해 준다

문자 집합과 인코딩에 대해서도 학습한다.
국비학원에서 아스키코드의 개념에 대해서 아주 살짝 훑었던것 같은데 이런 게 다 컴퓨터 구조에서 나오는 개념이었구나!


3장은 명령어에 대해서
기계어 어셈블리어 저급언어, 고급언어에 대한 개념을 설명해준다.
기계어 어셈블리어는 학은제로 살짝 맛만 본 정도였는데 현재 내가 쓰는 언어들(자바, 씨샵)과는 너무 달라 난해하게만 느껴졌었다.

소프트웨어 개발자는 자세히 알 필요는 없지만 하드웨어와 밀접한 프로그램 개발자는 어셈블리어를 많이 이용하기도 한다고.

4장은 CPU에 대해서
I3, I5, I7... 정도의 개념만 알고 있었는데 책에는 그런 내용이 없다..
CPU의 구성요소 중 ALU와 제어장치에 대해서나 레지스터 등에 대해 학습한다.
레지스터가 컴퓨터 정리할 때 하는 레지스트리와 유사한 개념인 걸까..?ㅎ (모름)

5장에서는 CPU의 향상 기법에 대해서
4장에선 생소한 용어와 개념들만 줄줄이 쓰여있었다면, 5장은 클럭이라던지 코어, 멀티코어 (드디어 아는 거 나왔다), 스레드와 멀티 스레드 등에 대한 설명이 있다.

책 중간중간에 구조나 모양새가 그림으로 그려져 있어 이해하는데 도움이 됐다.


6장은 메모리와 캐시메모리에 대해서
이건 많이들 들어봤을 RAM에 대한 내용이다. 크면 좋다 정도만 알고 있어서 RAM이란 무엇인지 뭘 하는 건지 알 수 있었다.
전원을 끄면 저장된 내용이 사라지는 저장장치를 휘발성 저장 장치라고 하는데 이게 메모리, 하드디스크나 SSD와 같이 전원이 꺼지더라도 저장한 내용이 유지되는 건 비휘발성 저장 장치!
램에도 종류가 있는지 몰랐는데 고속도로 이미지로 표현하고 있어서 이해가 쉬웠다.

7장은 보조기억장치에 대해서
하드디스크와 플래시메모리(USB를 말하는 거겠지?)에 대한 내용이다.
제일 친숙해서 꼼꼼히 읽은 파트.

RAID에 대해서도 나오는데 이건...
정보처리기사 필기인지 네트워크관리사 2급인지 둘 중 하나를 준비하다가 본 적 있다.
그땐 0부터 6까지 그저 암기하기 위해 노력했지만 각 각이 뭘 의미하는지 알 수 있었다.

8장은 입출력장치에 대해..
책 초반에 3장 정도까지는  익숙하지 않은 개념들에 대한 내용이라 꼼꼼히 읽진 않았지만 4장부터 아는 개념이 나오기 시작하니 책이 더 재밌게 느껴진다.

그 외에도 14장까지 운영체제, 프로세스와 스레드, CPU 스케줄링, 프로세스 동기화, 교착상태, 가상 메모리, 파일 시스템 등 개발자가 알아두면 반드시 도움이 될 내용들을 담고 있다.


마지막으로..
경영학과 출신 개발자지만
내가 이러한 컴퓨터 구조와 운영체제에 대한 이해가 있는 상태에서 개발 공부를 했더라면 이해도 더 빨랐을 테고 성장에도 도움이 됐었을 텐데!라는 아쉬움이 조금 남는다. 
이것들을 미리 알았다고 해도 내가 모든 지식을 활용하는 개발자였을까?라고 생각해보면 아니라고 확신하기에 ㅋㅋㅋ 그나마 상대적으로 덜 바쁜 주니어 시기?라서  이렇게 따로 책 읽고 공부할 시간이 주어지는 것 같다. 지금 이 순간에 집중하며 배워 나아가기.


그리고... 정보처리기사에도 나오는 내용들이 여럿 있어서 정보처리기사를 준비하는 사람들에게도 도움이 될 것 같다.  실기 시험만 남겨두고 있는 상태라서 정보처리기사 공부 전에  이 책을 2, 3차례 더 읽어볼 예정이다.

정보처리기사 책만 볼 땐 자세한 개념이나 설명들이 없고 한줄한줄 암기해야 했어서 이해도 제대로 못하고 꾸역꾸역 입에 넣은 것 같다.
다방면으로 이론과 개념을 공부해서 고득점으로 합격하기 목표!

책의 사이즈가 커서 들고 다니기엔 힘들지만
책상에 자리 잡고 앉아 읽는다면 큰 이미지와 충분한 여백들이 있어서 문제없을 것 같다.


 

책 정보

혼자 공부하는 컴퓨터 구조+운영체제

저자 강민철 | 출판 한빛미디어 | 출간일 2022년 8월 16일

정가 28,000원 | 쪽수 504쪽

반응형