데이터를 기반으로

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

도서 리뷰/빅데이터&IT

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

이노후 2022. 12. 30. 13:23
728x90
반응형

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

출판사 : 한빛미디어

 

지은이 : 강민철

 

독서 기간 : 2022-12-15 ~ 2022-11-30

 

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

 

항상 빅데이터, AI, 데이터 분석 등에 관련된 전공 서적만 읽어왔다.

 

하지만, 이번에는 한번 IT 관련 도서를 읽어봐야겠다는 생각이 들었다. 그 이유는 사실 해당 책 목차 부분에 너무나 평소에 궁금했던 내용들이 적혀있기 때문이었다.

 

먼저 목차부터 살펴 보면 다음과 같다.

 

Chapter 01 컴퓨터 구조 시작하기
   01-1 구조를 알아야 하는 이유
   01-2 컴퓨터 구조의 큰 그림

Chapter 02 데이터
   02-1 0과 1로 숫자를 표현하는 방법
   02-2 0과 1로 문자를 표현하는 방법

Chapter 03 명령어
   03-1 소스 코드와 명령어
   03-2 명령어의 구조


Chapter 04 CPU와 작동 원리
   04-1 ALU와 제어장치
   04-2 레지스터
   04-3 명령어 사이클과 인터럽트

 

Chapter 05 CPU 성능 향상 기법
   05-1 빠른 CPU를 위한 설계 기법
   05-2 명령어 병렬 처리 기법
   05-3 CISC와 RISC

Chapter 06 메모리와 캐시 메모리
   06-1 RAM의 특징과 종류
   06-2 메모리의 주소 공간
   06-3 캐시 메모리

Chapter 07 보조기억장치
   07-1 다양한 보조기억장치
   07-2 RAID의 정의와 종류

Chapter 08 입출력장치
   08-1 장치 컨트롤러와 장치 드라이버
   08-2 다양한 입출력 방법

Chapter 09 운영체제 시작하기
   09-1 운영체제를 알아야 하는 이유
   09-2 운영체제의 큰 그림

Chapter 10 프로세스와 스레드
   10-1 프로세스 개요
   10-2 프로세스 상태와 계층 구조
   10-3 스레드

Chapter 11 CPU 스케줄링
   11-1 CPU 스케줄링 개요
   11-2 CPU 스케줄링 알고리즘

Chapter 12 프로세스 동기화
   12-1 동기화란
   12-2 공유 자원과 임계 구역

Chapter 13 교착 상태
   13-1 교착 상태란
   13-2 교착 상태 해결 방법

Chapter 14 가상 메모리
   14-1 연속 메모리 할당
   14-2 페이징을 통한 가상 메모리 관리
   14-3 페이지 교체와 프레임 할당

Chapter 15 파일 시스템
   15-1 파일과 디렉터리
   15-2 파일 시스템

내가 최근에 읽은 도서 중 가장 목차가 길었던 도서가 아닌가 싶다.

 

그만큼 많은 정보를 담고 있는 책이라고 생각이 든다. 사실 이 책을 고른 이유도 해당 목차에 내가 궁금했던 내용들이 생각보다 많이 담겨있기 때문이었다.

 

사실 데이터 분석 업무를 진행하면서 코딩을 할때도 있고 DB 셋팅을 할 때도, 서버 조작을 할 때 등 다양한 IT 업무 환경에 놓일 때가 많다. 하지만, 정작 컴퓨터에 대한 지식이 깊지 않은 나로써 해당 도서는 한 줄기의 빛과 같다고 느껴졌다.

 

'혼자 공부하는' 시리즈는 서점이나 다른 매체를 통해서 익히 들은 시리즈 도서이지만, 해당 도서를 처음으로 접하게 되었다.

 

확실히 나처럼 혼자 공부하는 사람들을 위해 특화된 책이라고 생각된게, 중간 중간 해당 내용은 뒤에 나오니 너무 암기하려고 하지 말아라 라는 조언들은 볼 수 있었다. 이러한 부분들이 혼자 공부하는 입장에서는 외로움도 달래 주지만, 좋은 방향으로 독서 or 공부를 할 수 있는 이정표가 되어서 좋았다.

 

책을 읽어내려가다 가장 감명깊었던 첫 부분은 바로 인코딩 부분이었다.

 

데이터 분석을 진행하는 초심자 및 비IT전공자들은 처음 인코딩에 대한 개념은 단순하게 컴퓨터가 인지하게 바꿔주는 것으로만 이해하고 넘어가는 사람들이 대부분이다.

 

하지만, 해당 부분을 읽고 인코딩의 개념을 명확히 이해할 수 있었다. 항상 csv 파일을 load 할 때 컴퓨터가 이해할 수 있도록 encoding을 지정해주고 파일을 불러와서 작업을 했다.

 

이후, 전처리 완료 후 데이터 셋을 저장할 때도 encoding 옵션을 설정하여 저장하려고 했던 때가 있다.

 

디코드에 대한 개념이 없는 상태에서 둘 다 같은 개념으로 이해해서 발생했던 실수 중 하나이다. 이처럼 컴퓨터의 근본을 이해하니 기존에 시행착오를 겪었던 오류들이 현저하게 줄겠다 라는 생각이 들게되는 부분이었다.

 

하여, 지속적으로 해당 도서를 읽어나갈 수 있는 힘이 생기게 되었다.

 

추가로, 명령어에 대한 부분과 DB 스캔에 대해서 언급을 하고자한다. 둘 다 비슷한 맥락으로 이해했는데, 컴퓨터가 받아들이는 순차에 따라 속도가 개선될 수 있다.

 

명령어의 순서에 따라 데이터 처리속도가 달라지는 것은 DB 스캔과도 같다. DB에서 데이터를 조회할 때 어떠한 조건을 주느냐에 따라 똑같은 결과여도 속도가 다르다.

 

index, PK 등 다양한 변수를 고려하여 쿼리를 작성해야 컴퓨터가 보다 쉽고 빠르게 일처리를 진행할 수 있고 그 결과 빠른 속도를 얻을 수 있는 것이다.

 

나는 해당 도서를 IT 업계에 종사하시는 모든 분들께 강력하게 추천하는 책이 될 것 같다.

 

해당 도서를 읽기 전과 후의 포텐셜은 차원이 다르다고 생각된다.

 

 

 

 

 

728x90
반응형