메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

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

1:1 과외하듯 배우는 컴퓨터공학 자습서

한빛미디어

집필서

판매중

  • 저자 : 강민철
  • 출간 : 2022-08-16
  • 페이지 : 504 쪽
  • ISBN : 9791162243091
  • 물류코드 :10309
  • 초급 초중급 중급 중고급 고급
4.9점 (61명)
좋아요 : 75

혼자 해도 충분합니다! 1:1 과외하듯 배우는 IT 지식 입문서

 

이 책은 독학으로 컴퓨터 구조와 운영체제를 배우는 입문자가 ‘꼭 필요한 내용을 제대로 학습’할 수 있도록 구성했다. 뭘 모르는지조차 모르는 입문자의 막연한 마음에 십분 공감하여 과외 선생님이 알려주듯 친절하게, 핵심 내용만 콕콕 집어 준다. <컴푸터 구조>편에서는 컴퓨터를 이루고 있는 부품들과 각 부품의 역할을 알아본다. 또한 컴퓨터 내부의 구조와 작동법을 이해하고, 컴퓨터가 어떻게 명령어를 처리하는지 학습한다. <운영체제>편에서는 운영체제의 필요성을 배운 뒤 앞서 배운 컴퓨터의 부품들을 운영체제가 어떻게 사용하는지 전체 과정을 살펴본다. ‘전공서가 너무 어려워서 쉽게 배우고 싶을 때’, ‘개발자가 되고 싶은데 뭐부터 봐야 하는지 모를 때’ ‘기술 면접을 제대로 준비해야 할 때’ 다른 입문서에서는 알려주지 않았던 진짜 컴퓨터 공학 지식을 <혼자 공부하는 컴퓨터 구조+운영체제>에서 만나 보자! 


 

42명의 베타리더 검증으로, ‘함께 만든’ 입문자 맞춤형 도서

 

42명의 베타리더와 함께 입문자에게 꼭 맞는 난이도, 분량, 학습 요소 등을 적극 반영했다. 어려운 용어와 개념은 한 번 더 풀어 쓰고, 적절한 예시와 이해하기 쉬운 그림으로 누구나 이해할 수 있도록 구성했다. 또한 일상 소재를 활용한 비유를 활용하여 어렵게 느껴질 수 있는 컴퓨터 구조와 운영체제를 머릿속에 직접 그리듯이 설명해 준다. ‘혼자 공부해 본’ 여러 입문자의 초심과 눈높이가 책 곳곳에 반영된 것이 이 책의 가장 큰 장점이다.

 

 

누구를 위한 책인가요?

  • 개발자가 되고 싶어 컴퓨터 구조와 운영체제를 배우려고 하는 비전공자, 일반인
  • 컴퓨터 구조와 운영체제의 기본 용어조차 헷갈리는 학부생
  • 취업을 위해 기술 면접을 봐야 하지만 기초가 부족한 졸업반
  • 컴퓨터의 작동 구조를 제대로 알고 싶은 주니어 개발자
  • 매일 코딩을 하지만 막상 프로그램을 움직이는 하부 기술에 대한 이해가 부족한 개발자

10309_detail.jpg

 

강민철 저자

강민철

리눅스 커널과 클라우드, 보안에 관심이 많은 개발자이자 연구자이다. 취미로 오픈 소스 기여와 버그 헌팅을 하고, 부업으로 온 오프라인 강의를 하고 있다. 강의와 집필로 지식을 나누고, 코드와 논문으로 지식을 발굴하는 삶을 지향하며 훗날 세계 최고의 엔지니어가 되길 꿈꾸고 있다.

Chapter 01 컴퓨터 구조 시작하기

 

01-1 구조를 알아야 하는 이유

__문제 해결

__성능, 용량, 비용

[2가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

01-2 컴퓨터 구조의 큰 그림

__컴퓨터가 이해하는 정보

__컴퓨터의 4가지 핵심 부품

[7가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

 

Chapter 02 데이터

 

02-1 0과 1로 숫자를 표현하는 방법

__정보 단위

__이진법

__십육진법

[5가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

02-2 0과 1로 문자를 표현하는 방법

__문자 집합과 인코딩

__아스키 코드

__EUC-KR

__유니코드와 UTF-8

[4가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

 

Chapter 03 명령어

 

03-1 소스 코드와 명령어

__고급 언어와 저급 언어

__컴파일 언어와 인터프리터 언어

[좀 더 알아보기] 목적 파일 vs 실행 파일

[6가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

03-2 명령어의 구조

__연산 코드와 오퍼랜드

__주소 지정 방식

[좀 더 알아보기] 스택과 큐

[4가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

 

Chapter 04 CPU와 작동 원리

 

04-1 ALU와 제어장치

__ALU

__제어장치

[4가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

04-2 레지스터

__반드시 알아야 할 레지스터

__특정 레지스터를 이용한 주소 지정 방식(1): 스택 주소 지정 방식 

__특정 레지스터를 이용한 주소 지정 방식(2): 변위 주소 지정 방식 

[좀 더 알아보기] 상용화된 CPU 속 레지스터 및 주소 지정 방식

[8가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

04-3 명령어 사이클과 인터럽트

__명령어 사이클 

__인터럽트 

[좀 더 알아보기] 예외의 종류

[5가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

 

Chapter 05 CPU 성능 향상 기법

 

05-1 빠른 CPU를 위한 설계 기법

__클럭

__코어와 멀티 코어

__스레드와 멀티스레드

[5가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

05-2 명령어 병렬 처리 기법 1

__명령어 파이프라인 

__슈퍼스칼라 

__비순차적 명령어 처리

[3가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

05-3 CISC와 RISC

__명령어 집합

__CISC

__RISC  

[3가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

 

Chapter 06 메모리와 캐시 메모리

 

06-1 RAM의 특징과 종류

__RAM의 특징 

__RAM의 용량과 성능

__RAM의 종류

[6가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

06-2 메모리의 주소 공간

__물리 주소와 논리 주소

__메모리 보호 기법

[5가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

06-3 캐시 메모리 

__저장 장치 계층 구조 

__캐시 메모리

__참조 지역성 원리  

[4가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

 

Chapter 07 보조기억장치

 

07-1 다양한 보조기억장치

__하드 디스크  

__플래시 메모리 

[6가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

07-2 RAID의 정의와 종류

__RAID의 정의

__RAID의 종류 

[6가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

 

Chapter 08 입출력장치

 

08-1 장치 컨트롤러와 장치 드라이버

__장치 컨트롤러 

__장치 드라이버 

[2가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

08-2 다양한 입출력 방법

__프로그램 입출력

__인터럽트 기반 입출력

__ DMA 입출력

[6가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

 

Chapter 09 운영체제 시작하기

 

09-1 운영체제를 알아야 하는 이유

__운영체제란

__운영체제를 알아야 하는 이유 

[2가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

09-2 운영체제의 큰 그림

__운영체제의 심장, 커널

__이중 모드와 시스템 호출

__운영체제의 핵심 서비스 

[좀 더 알아보기] 가상 머신과 이중 모드의 발전

[좀 더 알아보기] 시스템 호출의 종류

[4가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

 

Chapter 10 프로세스와 스레드

 

10-1 프로세스 개요

__프로세스 직접 확인하기

__프로세스 제어 블록

__문맥 교환

__프로세스의 메모리 영역 

[4가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

10-2 프로세스 상태와 계층 구조

__프로세스 상태

__프로세스 계층 구조 

__프로세스 생성 기법

[4가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

10-3 스레드

__프로세스와 스레드 

__멀티프로세스와 멀티스레드 

[3가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

 

Chapter 11 CPU 스케줄링

 

11-1 CPU 스케줄링 개요

__ 프로세스 우선순위

__스케줄링 큐

__선점형과 비선점형 스케줄링 

[7가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

11-2 CPU 스케줄링 알고리즘

__스케줄링 알고리즘의 종류

[5가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

 

Chapter 12 프로세스 동기화

 

12-1 동기화란

__동기화의 의미

__ 생산자와 소비자 문제

__공유 자원과 임계 구역 

[4가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

12-2 공유 자원과 임계 구역 

__뮤텍스 락

__세마포

__모니터

[3가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

 

Chapter 13 교착 상태

 

13-1 교착 상태란

__식사하는 철학자 문제 

__자원 할당 그래프

__교착 상태 발생 조건 

[4가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

13-2 교착 상태 해결 방법

__교착 상태 예방

__교착 상태 회피

__교착 상태 검출 후 회복

[3가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

 

Chapter 14 가상 메모리

 

14-1 연속 메모리 할당

__스와핑

__메모리 할당

__외부 단편화

[4가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

14-2 페이징을 통한 가상 메모리 관리 

__페이징이란

__페이지 테이블

__페이징에서의 주소 변환

__페이지 테이블 엔트리

[좀 더 알아보기] 페이징의 이점 - 쓰기 시 복사

[좀 더 알아보기] 계층적 페이징 

[4가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

14-3 페이지 교체와 프레임 할당 

__요구 페이징

__페이지 교체 알고리즘 

__스래싱과 프레임 할당

[4가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

 

Chapter 15 파일 시스템

 

15-1 파일과 디렉터리

__파일

__디렉터리

[좀 더 알아보기] 상대 경로를 나타내는 또 다른 방법

[7가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

15-2 파일 시스템 

__파티셔닝과 포매팅

__파일 할당 방법

__파일 시스템 살펴보기

[좀 더 알아보기] 저널링 파일 시스템

[좀 더 알아보기] 마운트 

[7가지 키워드로 정리하는 핵심 포인트]

[확인 문제]

 

____정답 및 해설

____찾아보기

도서 특징


하나, ‘입문자 맞춤형 7단계 구성’을 따라가며 체계적으로 반복하는 탄탄한 학습 설계!

이 책은 컴퓨터 구조와 운영체제의 핵심 내용을 7단계에 걸쳐 반복 학습하면서 자연스럽게 머릿속에 기억되도록 구성했다. [핵심 키워드]와 [시작하기 전에]를 통해 각 절의 주제에 대한 대표 개념을 워밍업한 후, 본격적으로 컴퓨터 구조와 운영체제를 알려준다. 마무리에서는 [핵심 포인트]와 [확인 문제]로 주요 개념을 한 번 더 복습한다. ‘혼자 공부할 수 있는’ 커리큘럼을 그대로 믿고 끝까지 따라가다 보면 프로그래밍 공부가 난생 처음인 컴퓨터 구조+운영체제 입문자도 무리 없이 책을 끝까지 완독할 수 있을 것이다!

 

둘, ‘혼공’에 힘을 실어 줄 동영상 강의와 혼공 학습 사이트!

책으로만 학습하기엔 여전히 어려운 입문자를 위해 저자 직강 동영상도 지원한다. 또한 학습을 하며 궁금한 사항은 언제든지 저자에게 질문할 수 있도록 학습 사이트를 제공한다. 저자가 질문 하나하나 직접 답변을 달아주고 있으며, 관련 최신 기술과 정보도 얻을 수 있다. 게다가 혼자 공부하고 싶지만 정작 혼자서는 자신 없는 사람들을 위해 [혼공 학습단]을 제공한다. 혼공 학습단과 함께하면 마지막까지 포기하지 않고 완주할 수 있다.

http://hongong.hanbit.co.kr

 

셋, 언제 어디서든 가볍게 볼 수 있는 혼공의 잇템, [용어 노트] 제공!

꼭 기억해야 할 컴퓨터 구조와 운영체제의 핵심 개념과 용어만 따로 정리한 [용어 노트]를 제공한다. 처음 공부하는 사람들이 컴퓨터 공학 지식을 어려워하는 이유는 낯선 용어 때문이다. 혼공은 언제 어디서든 꺼내 볼 수 있는 [용어 노트]로 낯선 용어를 반복적으로 학습하도록 도와준다. 제시된 용어 외에도 새로운 용어를 추가하면서 나만의 용어 노트를 완성해 가는 과정도 또 다른 재미가 될 것이다.

 

 

먼저 읽은 베타리더들의 한 마디

  • 처음 접했을 때 생소한 개념들을 쉽고 자세하게 설명하고 있어 입문자여도 막힘없이 술술 읽을 수 있습니다. _베타리더 양선아 님
  • 컴퓨터 구조, 운영체제라고 하면 왠지 딱딱하고 어렵고 재미없을 것 같다는 편견을 깨게 해 준 좋은 책입니다. _베타리더 윤이찬미 님
  • 전공자에게는 다소 지루한, 비전공자에게는 다소 어려운 주제인데, 쉽고 정확하게 설명하려는 노력에 감탄했습니다. _베타리더 박수빈 님
  • 전공 서적을 공부할 때처럼 지루하고 재미없어 읽다가 포기하는 책이 아니라, 혼자서도 차근차근 끝까지 읽게 되는 책입니다. _베타리더 이준원 님
  • 컴퓨터 구조와 운영체제가 중요한 건 알지만 배울 엄두가 나질 않았는데, 상황을 설명하는 친근한 그림이 많아 쉽게 이해할 수 있습니다. _베타리더 이건우 님
  • 아무리 전공 서적을 읽어도 이해가 안 되고 용어만 둥둥 떠다녔었는데, 이 책을 읽고 머릿속에 흩어져 있던 용어들이 싹 정리되었습니다. _베타리더 박보람 님

 

추천사

 

그저 그런 개발자에게는 운영체제와 컴퓨터 구조가 중요하지 않겠지만, 실력 있는 개발자에게는 컴퓨터 구조와 운영체제를 아는 것이 필수라고 생각합니다. 이 책은 컴퓨터 구조와 운영체제에 대해 가장 쉽게 설명하고 있습니다. 책에 녹아 있는 저자의 지식과 경험이 입문자부터 전공생, 주니어 개발자들에게 많은 도움이 될 것입니다. _강민성 님(배달의 민족 개발자)

 

이 책은 다른 서적들과는 달리, 이해하기 쉬운 그림과 함께 CPU, 메모리, 보조기억장치, 입출력장치 그리고 스케줄러, 가상 메모리, 파일 시스템 등 운영체제의 각 기능이 작동하는 원리를 매우 친절하게 설명하고 있습니다. 소프트웨어 개발자로 성장하려는 사람이라면 일독할 것을 강력하게 추천하는 바입니다. _이민석(현 국민대학교 소프트웨어학부 교수, 전 이노베이션 아카데미 학장)

 

이 책은 컴퓨터 구조에 대해 아주 기본적인 내용부터 CPU와 하드웨어 작동 원리의 깊숙한 곳까지 비교적 쉽게 설명하고 있습니다. IT 엔지니어링을 목표로 하고 있는 엔지니어라면 꼭 한 번쯤 읽어 보고 기본기를 쌓는 데 도움이 되었으면 좋겠습니다. _조대협(구글 클라우드 엔지니어)

 

이 책은 처음 공부하는 학습자에게는 좋은 길라잡이가, 이미 공부해 본 학습자에게는 좋은 개념 정리서가 되어줄 거라 생각합니다. 학부 시절로 돌아간다면 전공 수업보다 이 책으로 컴퓨터 구조 공부를 시작하고 싶네요.  _ 안수빈(서울대학교 대학원)



이번에는 혼자 공부하는 컴퓨터 구조 + 운영체제(이하 혼공컴운)이다.

혼자 공부하는 컴퓨터 구조 + 운영체제로 참여하게 된 혼공학습단 10기

 

혼공학습단 4번째이자, 혼공시리즈는 5권째이다.

  • 혼자 공부하는 파이썬(개정판)

  • 혼자 공부하는 머신러닝+딥러닝

  • 혼자 공부하는 데이터 분석 with 파이썬

  • 혼자 공부하는 C언어(개정판)

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

 

이전과는 코드를 볼 일이 거의 없었다. 그래서 수월할거라 생각하지 마라~

분량이 엄청나다. 하지만, 그냥 네번째가 아니다. 짬이 쌓였다.

그 동안 경험으로 혼공단 휴가 때가 아니라, 본인의 휴가에 맞춰서 미리 미리 준비했으니 말이다.

 

그리고, 6주 동안 전혀 밀리지 않았다.

점심 먹고 30분씩 꾸준히 읽으니, 밀릴 일이 없다. 거의 2번 읽었는데도 말이다.

책 읽는 습관은 덤이다. :D

 

책의 구성은 크게 2개의 파트로 되어 있는데, 컴퓨터 구조편(1장~8장)에서는 컴퓨터 내부의 구조와 작동 방법에 대해서 설명하고, 운영체제편(9장 ~ 15장)에서는 운영체제의 필요성과 어떻게 효과적으로 프로세스를 실행하는지 설명한다.

 

컴퓨터 구조 파트의

Chapter 1은 컴퓨터 구조를 알아야 하는 이유와 컴퓨터의 4가지 핵심부품에 대해서 설명한다.

Chapter 2는 0과 1만 아는 컴퓨터가 데이터를 표현하는 방법에 대해서 배우고

Chapter 3은 프로그래밍 언어와 명령어 구조에 관해서 설명한다.

Chapter 4는 CPU의 구성 요소 및 작동 원리에 관해서 설명하고.

Chapter 5는 멀티 코어와 멀티 스레드와 같이 CPU 성능 향상 기법에 관해서 설명한다.

Chapter 6은 메모리 종류와 캐시 메모리의 원리에 관해서 설명하고,

Chapter 7은 보조기억장치(하드디스크)와 RAID에 관해 설명한다.

마지막, Chapter 8에서는 장치 컨트롤러와 장치 드라이버에 관한 설명이다.

 

운영체제 파트의

Chapter 9는 운영체제를 알아야 하는 이유와 커널에 관해서 설명하고,

Chapter 10은 프로세스와 스레드, 멀티 스레드에 관해서 배울 수 있다.

Chapter 11은 CPU 스케줄링의 원리와 알고리즘에 관해 설명하고,

Chapter 12는 프로세스 동기화 기법에 관해 설명한다.

Chapter 13은 프로세스의 교착상태가 발생하는 이유와 예방에 관해서 설명하고

Chapter 14는 가상 메모리를 관리하는 원리에 대해서 설명한다.

마지막, Chapter 15는 운영체제가 파일과 디렉터리를 관리하는 방법과 파일 시스템 원리에 관한 설명으로 마무리한다.

 

각 장은 소주제 2~3개로 구성되며, 분량은 많지 않다.

먼저 '핵심 키워드'를 제시하고 '시작하기 전에'에서는 배울 주제를 설명한다. '말풍선'으로는 기억해야 할 내용이나 질문을 던져 한번 더 정리할 수 있도록 도와준다. '좀 더 알아보기'에서는 추가 설명이 필요한 내용을 담고 있다. 설명이 끝나면 마지막에 '마무리'로 내용을 리마인드하고 확인 문제 풀면 끝.

 

하루 한시간이면 일주일에 3개장은 충분히 읽을 수 있다.

 

난이도는 쉽다. 그렇다고 필요성이 낮다는 말은 아니다. 꼭 필요한데, 쉽다는 뜻이다.

시험칠 것이 아니라면, 외울 필요가 없다. 그냥 고개를 끄덕이면서 읽으면 된다. 반드시

 

특히, 개발자이거나 개발자가 목표이면 무조건 읽어야 한다.

프로그래밍에 도움이 되는 것은 두말하면 잔소리지만, 이 것도 모르고 컴퓨터 프로그래머라고 하면 부끄럽기때문이다. 이제 저는 부끄럽지가 않습니다.

 

이 책을 읽고나서는 대충 알고 있었던 컴퓨터와 운영체제의 정보들이 확실히 자리를 잡아 지식이 된 느낌이다. 잘못 알고 있는 지식을 수정할 수 있는 것도 빠질 수 없는 장점이다.

 

혼공학습단에서 혼공컴운이 좋은 점은 혼공단 종료와 함께 완독을 할 수 있는 것이다.

예전의 경우는 마지막 장이 커리큐럼에서 빠진적이 종종 있었다. 충분히 이해한다. 혼공 주제에 따라서 그럴 수 있다. 혼공컴운의 장점을 얘기하는 것이니, 족장님 너무 뭐라하기 없깁니다. ㅎㅎ

 

혼공컴운은 이해가 쉽도록 그림이 아주 많다. 덕분에 쉽게 이해가 되었다.

 

책 디자인은 아시겠지만, 들고 다니면서 볼 사이즈는 아니다. ^^

개인적으로 책사이즈는 시원시원해서 정말 마음에 든다.

폰트와 말풍선 그림도 귀엽고 센스 만점이다.

 

혼공족장님의 노력이면 120% 완주해야 정상인데, 30%대로 머물러서 많이 아쉽지만,

족장님이 아니었으면, 10%도 안됐다는 거 아시죠? 고생 많으셨습니다.

 

마지막은 저자의 의견에 매우 공감하는 내용으로 마무리하겠습니다.



 



좋은 개발자는 컴퓨터를 분석의 대상으로 바라볼 뿐, 두려움의 대상으로 바라보지 않습니다. 그래서 컴퓨터에 대한 막연한 두려움은 "근간에 대한 이해 부족"이라고 생각합니다.

...

개발자 혹은 개발자 지망생들에게 꼭 필요한 근간을 모두 담고자 노력했습니다.

저자인터뷰, p6

 



다음에는 어떤 주제로 해야 할까요? 새혼공 시리즈 추가 부탁드립니다.

새 혼공시리즈로 찾아 뵙겠습니다.

 

 

#혼공학습단 #혼공 #혼공단 #혼공컴운 #운영체제 #컴퓨터구조 #주레피 #jurepi #혼자공부하는컴퓨터구조운영체제 #강민철 #한빛미디어 #컴퓨터공학 #컴퓨터구조 #운영체제 #하드웨어 #소프트웨어 #데이터 #메모리 #프로세스 #파일 #스케줄링 #독학



 

드디어 혼공단 10기가 마무리 됐다.

 

 

 

7월초부터 8월말까지 2달 꽉 꽉 채워 만났던 혼공학습단.

 

 

몰아서 하지 않으려고 평일에 조금 조금 야금 야금 블로그를 써서 항상 토요일에 올렸던 직장혼공단..이지만

다행히 지각은 단 한번도 하지않았다! (뿌듯)

 

다만 4주차 프로세스, 커널 공부할 때는 업무가 진짜 진심 미쳐버려서.. 망고보드 대신 하찮은 손그림을 쓸 수 밖에 없었다.

그래도 족장님이 하찮은 손그림도 커엽게 봐주셔서 다행이었다.. <3

 

 

컴퓨터를 바꾸려고 생각중이라 초반에 더 즐겁게 공부했던 혼공컴운.

왜 CPU를 좋은거를 사야하고 그에 맞춰서 램이나 SSD도 맞춰줘야 하는지 이제는 이해가 된다.

 

(나와에서 컴퓨터 장비를 구경할 때 내용들이 읽힌다. 히히)

 

 

 

여름방학이 지나고 나서부터 머리가 터질정도로 어려워 지긴 했지만,. 그래도 어째저째 선택미션까지 잘 풀었다.

 

 

 

남은 장비들도 특가 노렷다가 컴퓨터 잘 맞춰야지 :) 히힛

 

 


 

 

 

 

TO.족댱님께

 

족장님 고생 많았어용 :D 

 

혼공자부터 혼공얄코 그리고 혼공컴운까지

혼공단 하는동안 취업도하고 이직도하고 회사다니면서도 꾸준히 블로그하는 습관 들이기에 정말 좋은 스터디그룹이었어요.

 

이번에 디코도 생기고 ~.~ 재밌었습니당.

 

끝나도 디코 안나가고 버팅기고 놀아도 되나용?

 

++혼공 시리즈 구매하실 분들은 시기맞으면 혼공단도 꼭 참여해보세요!

 

 

 

2022년 한 해 동안 한빛미디어를 통해 IT와 관련된 많은 책들을 읽을 수 있었다. 사실 비전공자 입장에서 읽을 수 있는 책의 범위가 한정되었기 때문에, 주로 입문이나, 평소에 관심이 있던 분야의 책을 읽다가 12월에는 평소라면 선택하지 않을 책을 선택했다. 제목은 <혼자 공부하는 컴퓨터 구조+운영체제>다.

 

(아마도) 전공자에게 컴퓨터 구조나 운영체제의 중요성은 굳이 말할 필요가 없다. 하지만 비전공자가 컴퓨터 구조나 운영체제에 대해 알 필요가 있을까? 어릴적 부모님의 명령으로 컴퓨터 관련 자격증을 따기 위해 공부했을 때 비스무리한 분야를 공부한 적이 있었는데 나름의 배경지식으로 잘 써먹는 것을 보면 ‘알아둬서 나쁠 건 없나?’ 싶지만, 정보 홍수 시대에, 그리고 코드를 몰라도 게임이나 앱을 개발할 수 있는 시대에 비전공자가, 기획자가 컴퓨터 구조나 운영체제를 배울 필요가 있을까란 생각과 반대로 어떤 내용들을 다루고 있는지 궁금함과 초급용이라는 출판사의 말이 선택에 용기를 불어넣어주었다. 

 

다행히 책 <혼자 공부하는 컴퓨터 구조+운영체제>는 누군가가 알려주는 것처럼 세세하지만 필요한 내용만, 그리고 어렵지 않게 풀어 설명하고 있다. 

 

책은 크게 나누면 15개의 챕터로 나뉘어져 있다. 물론 이 책을 완벽히 이해했다고 할 순 없겠지만, 단순히 텍스트로만 나열된 것이 아니라, 최대한 이해를 돕기 위해 그림과 도표, 비유와 함게 설명하고 있어 좋았다.

 

책 <혼자 공부하는 컴퓨터 구조+운영체제>의 제목처럼 책은 컴퓨터 구조, 그리고 운영체제에 대해 다룬다. 큰 그림에서부터 작은그림에 이르는 순서로 다루기 때문에, 컴퓨터 구조를 예로 들자면 이해하는 정보와 4가지 핵심 부품에 대해 이야기를 시작하고, 각각에 대해서, 그리고 그 각각에 대해서도 상세히 풀어나가는 방식이다. 

 

단순히 정보만 나열하고 끝나는 것이 아니라, 그것이 왜 그렇게 만들어졌고 왜 알아야 하는지에 대해서도 이야기를 해주기 때문에 한층 이해하기도 쉽고, 배움에 동기부여도 된다. 잘은 모르지만 상대적으로 깊이 있는 내용을 다루는 것에는 한계가 있는 책이라고 생각한다. 하지만 나같은 비전공자나 컴퓨터 구조나 운영체제에 대해 잘 모르는 전공자라 하더라도, 무엇을 알아야 하고, 모르는 상태인지 알 수 있는 데는 충분할만큼 다른 두꺼운 컴퓨터 구조, 운영에 대해 다루는 책과 구성은 거의 동일하니 말이다.

 

컴퓨터 구조나 운영체제에 대해 모르는 개발자들도 많다고 한다. 회사에서 요구하는 스펙이긴 하지만, 실제 작업할 때는 상용 엔진들이나 툴이 워낙 잘 되어 있어 특정 분야나 업무가 아니면 몰라도 일을 하는데 문제가 없기 때문이리라. 하지만 이런 상용 엔진이나 툴에서 문제가 생기거나, 원하는 것이 이들이 지원해주는 것이 아닐때 컴퓨터 구조와 운영체제를 알아야 하는데, 평소엔 잘 몰라도 문제가 없는 블랙박스 같은 존재다. 좋은 일로든, 나쁜 일로든 전공자고, 그것을 업으로 삼는다면 언젠간 그것을 열어봐야 하는 시점이 오지 않을까. 거시적으로 보지 않더라도 실력 있는 개발자들이 컴퓨터 구조나 운영체제의 중요성에 대해 이야기하는 것을 비전공자인 나도 알 정도이니 말이다.

 

그렇다면 <혼자 공부하는 컴퓨터 구조+운영체제> 이 책이나 지식은 전공자나 관련 업무를 진행하는 사람에게만 필요할까? 나 같은 비전공자의 경우에도 컴퓨터 구조나 운영체제에 대해 알아두면 도움이 된다. 알아두면 쓸모있는 지식이랄까, 어쨌든 컴퓨터와 운영체제는 그리 신경쓰진 않지만 우리 생활에 밀접하게 연결되어 있고, 이들이 어떤 성격과 구조로 되어있는지 알아둔다면 컴퓨터와 가까운 사람일수록 더 큰 도움이 될 수 있으리란 생각이 들었다. 이 필요성을 어떻게 설명해야 할까 고민을 많이 했는데, 비전공자에겐 ‘교양’이고, 이 교양 수업은 컴퓨터를 중심으로 돌아가는 세상에서 사고를 확장시킬 수 있는 기회를 제공할 수 있으리라 믿는다.

자격증 책이나 전공서적보다가 이거보니까 엄청 선녀임

설명을 이리 쉽게 해놨어...ㅋㅋㅋ

입문자들을 위한 책이라기엔 꽤나 자세하게 운영체제에 대해서 설명하므로 주니어 개발자가 읽기에도 손색없다고 생각한다.

다양한 키워드들을 제공하고, 해당 키워드 들을 눈높이에 맞춰서 풀어주는데 이부분이 상당히 인상깊었다.

읽으면서 상당히 친절한 책이라고 느꼈다.

 

그리고 책의 부록으로 혼공 용어노트를 제공해주는데, 영어 단어장마냥 한번씩 읽어보기에 괜찮았다.

개발자들은 키워드로 대화하는 경우가 많은데, 내가 정말 키워드를 설명할수 있는가? 궁금해서 단어 외우듯이 한번 가리기 설명해봤더니 꽤나 간단하게 설명하기가 어려웠다.

 

신박한 부록이었음. 추천하는 책.

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

 

 컴퓨터공학수업에서 중요한 과목들을 꼽으라고 한다면 보통 컴퓨터구조와 운영체제는 반드시 들어가는 과목일 것이다. 하지만 이 두 과목은 학교에 따라 어느정도 차이는 있지만 상당히 어려운 편이고, 처음 배우는 입장에선 실무에서 어떻게 쓰이는지도 잘 와닿지 않는 부분이 있어 다소 진입장벽이 있는 편이다.

 이 책은 제목에 걸맞게 이런 컴퓨터구조와 운영체제를 쉽게 풀어서 설명하고 있다. 

 책의 앞쪽은 컴퓨터구조에 관한 것이고, 뒷부분은 운영체제에 관한 내용이다. 둘 다 첫 챕터에서는 해당 과목을 배워야하는 이유를 말하고 두번째 챕터에서는 전체적인 그림을 소개한다. 그 후에 세부적인 설명으로 들어가는데 배워야하는 이유와 큰 그림을 우선적으로 소개함으로써 목적의식과 방향성을 뚜렷하게 해준다.

 각 챕터의 내용이 끝나면 마무리로 해당 파트에서 배웠던 부분을 가볍게 상기할 수 있는 질문들이 있다. 만약 스터디를 한다면 해당 질문들을 한명씩 돌아가면서 답변하는 시간을 가지는 식으로 활용해도 좋을 것 같다. 또한 책의 맨 뒷부분엔 혼공노트가 들어가 있는데 이 노트 역시 스터디를 진행할 경우엔 돌발퀴즈로 쓰기 좋아보였다.

 좀 더 심화적으로 공부하고 싶은 사람에겐 약간 아쉬울 수도 있겠단 생각이 들었으나 전체적으로 처음 해당 과목을 접하는 사람들이나 면접등을 앞두고 가볍게 정리하는 사람들에게 도움되는 책이라고 느꼈다. 

+ 개인적으로 가장 마음에 들었던 절은 컴퓨터구조에선 5장 CPU 성능 향상 기법과 운영체제에서 14장 가상 메모리였다. 해당 파트들은 전공으로 공부할때 다소 소홀하게 보고 넘겼던 부분이었는데도 이해하기 쉬웠다.

컴퓨터 구조와 운영체제 등 소위 "기본 개념"이 없이 컴퓨터 H/W, S/W를 다루는 것을 직업으로 가지면 성장에 한계가 있다고들 합니다. 이 때문에 컴퓨터(전산) 관련 전공자만 고집하는 회사도 있습니다. 전공자 학생이 이 책을 선택했다면 쉽지 않은 개념과 교수님의 불편한 강의를 보완하고 싶은 마음일 것이고, 비전공자 학생이 선택했다면 자신의 프로그래밍 스킬 블록 아래에 "기본 개념" 블록을 끼워 넣고 싶어서일 것 같습니다. 대견하고 응원합니다!

 

보통 이공학 분야는 수학과 관련되어 "이해" 중심의 학습이 필요하다고 생각하기 쉽지만, 실상은 모두 외울 것들입니다. 컴퓨터 구조와 특히, 운영체제의 교과서에 나오는 단어, 개념은 은퇴하는 그날까지 알고 있어야 합니다. 해당 개념은 트렌드에 휘둘리는 정보가 아니라 첨단 정보기술을 떠받치고 있는 주춧돌이자 대들보이고, 암기된 개념은 내 IT 경력의 주춧돌이자 대들보가 됩니다.

 

이 도서는 컴퓨터 구조와 운영체제의 기본기를 익히고 싶은 학생을 대상으로 합니다. 학부 과정에서 배우는 해당 내용의 참고서 정도입니다. 저자도 언급하고 있지만 보다 깊이 있거나 하지 않고 철저히 기본 개념을 쉽게 설명하기 위해 최선을 다한 도서 압니다. 개발자가 되고 싶은 비전공자, 기본 용어조차 어려워하는 학부생, 개발자가 되고 싶거나 컴퓨터의 작동 원리를 알고 싶은 중고대학생에게 적합합니다. 이 도서의 장점을 꼽자면 아래와 같습니다.

 

1.

영어 단어를 쉽게 외우는 사람도 있지만, 그렇지 않은 상황에서는 어원을 보거나 예문을 함께 곁들이면 조금 쉽게 외워지는 느낌을 받습니다. 이 도서의 각 그림이 그렇습니다. 어려운 개념을 쉽게 설명하기 위해 저자의 이해를 바탕으로 직접 그린 그림과 친절할 설명이 암기에 도움이 됩니다.

 

2.

단방향 식의 설명이 아닌 아래 링크를 통해 질문을 할 수 있습니다. 궁금한 점, 건의사항, 각종 오타 및 부족한 설명 부탁 등 적극적인 피드백을 받을 수 있습니다.

https://github.com/kangtegong/self-learning-cs/issues?q=

 

3.

본 도서는 입문자의 이해를 돕기 위한 많은 그림이 포함되어 있습니다. 이 그림을 주로 활용하여 별도의 TP를 구성해 주입식으로 학습할 수 있도록 동영상 강의를 제공합니다.

https://hongong.hanbit.co.kr/컴퓨터-구조-운영체제/

 

대상 독자가 입문자로 한정적이고 목적이 철저한 쉬운 설명이기 때문에 책의 깊이를 언급하는 것은 반칙입니다만, 적어도 독자들은 이 책을 덮을 시점에는 이를 알고 있어야 합니다. 또한 이 책의 학습으로 알게 된 내용이 절대적이진 않습니다. 책에 오류가 있지는 않지만 이론과 실제는 조금 다를 수도 있기 때문입니다.

 

이 책의 내용을 기본으로 하지만, 실제 운영체제 세상을 양분하고 있는 윈도와 리눅스는 나름 철학이 있고 이에 구현체는 조금은 다를 수 있습니다. 예를 들어 프로세스, 스레드와 관련되어 main 함수가 실행된 메인스레드와 서브스레드가 실행 중인 상태에서 메인스레드만 종료되었을 때 양 운영체제의 다른 결과와 이 책의 설명이 매칭이 정확하지 않을 수도 있습니다. 뮤텍스와 바이너리 세마포 비교와 같은 것도 그렇습니다.

 

보편적이고 추상적인 개념이 그런 것이지 구체적인 사례는 훨씬 복잡하고 다양할 수 있다는 점을 당부하고 싶습니다. 오히려, 이 도서를 선택한 입문자가 앞으로 지속적으로 궁금한 것을 능동적으로 알아가는 과정과 경험이 쌓이며 알게 되는 다양한 구현체의 실제 컴퓨터 구조와 운영체제 내용은 정말 재밌습니다. 기대해도 좋습니다.

 

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

 

이번에 한빛 체험단에 선정되어 혼자 공부하는 컴퓨터구조 + 운영체제를 읽게 되었다.

결론부터 말하자면, 완전 추천하고 싶다.

나는 비전공자 출신으로 개발 업무를 시작하게 되었는데, 업무 초기에는 컴퓨터 기초 지식에 대한 필요가 없었다.

그런데, 업무를 하면 할수록 같이 일하는 분들과 미묘한 한두끗 차이가 생기기 시작하면서 점점 벌어져간다는 느낌을 받았다.

그 미묘한 한두끗 차이가 네트워크, 컴퓨터구조, 운영체제와 같은 컴퓨터 공학 기초들이었다.

 

그래서 흔히들 추천하는 공룡책과 같은 책을 보려했으나, 현업 업무를 하면서 전공 서적을 틈틈히 보는 것은 굉장히 힘든 일이었다.

그런데! 이 책, 혼자 공부하는 컴퓨터구조 + 운영체제 책은 업무와 함께하며 보기에 큰 부담이 없었다.

 

설명 자체도 간결하게 되어있고, 추가로 공부할 수 있는 컨텐츠들을 제공해주어서이다.

 

이번에 체험단 리뷰 작성을 위해 다소 빠르게 읽어냈지만, 틈틈히 시간내어 더 읽어볼 생각이다.

 

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



컴퓨터는 상당히 오랜 기간 많은 사람의 아이디어가 구현된 집합체 입니다. 그 가운데 핵심이며, 기초라 할것이 컴퓨터 하드웨어와 운영체제 아닌가 싶습니다. 그래서, 이를 이해해 나가는건, 그리 녹녹한 과정은 아닙니다. 전공하는 학생들이 한 학기동안 복잡한 설명을 들으면서 공부하게 되거든요.

오래전, 학교에서 운영체제를 배웠던 기억을 더듬어 보면, 너무 지루하고, 너무 어려웠던 과정이었습니다. 어려운 책에 대한 교수님의 해석 과정 역시 어렵고, 지루하고 따분했으니까요. 하지만, 시간이 지나고, 보니 그때 그 수업이 개발자로서 일하는데 꽤 도움이 되는 과정이었다고 생각하게 되네요.

이 책에서도 언급되어있지만, DMA와 같은 개념은 임베디드 관련 분야에서 일할때, 칩셋의 메뉴얼에서도 다시 보게 되었고, 프로세스, 쓰레드 같은 것도 잊을만 하면 한번씩 사용했었거든요.

 

책을 읽으면서, 느낀건, 이렇게 쉽게 설명이 가능한 걸, 그때 교수님은 왜 그렇게 어렵게 설명하셨을까 .... 입니다. 아마도, "지식의 저주"와 같은 개념상의 괴리가 있었던게 아닐까 짐작은 해봅니다. 교수님은 너무 잘알고 계신걸 우리는 너무 모르고 있으니, 너무 모르는 사람을 대상으로 아는 사람의 설명이 아는 사람 입장에서 아무리 쉽다 해도 쉬울리가 없겠죠. 그리고 지금 제 입장도 좀 아는 사람의 쪽에 속하니까 설명이 쉽게 느껴지는 것일 수도 있고요. 그런 생각을 하며 책을 보니, 몇몇 개념은 전혀 모르는 사람에게 설명이 더 필요하겠다 싶은 것들이 있었습니다.

그 순간 동영상 강의가 존재한다는 책 표지 모습이 생각 났습니다. "혼공" 시리즈 책은 처음 보는 거라서, 유튜브로 해당 컨텐츠를 찾아보았는데요. 강의가 꽤 많이 진행되어 있었습니다. 이 책을 통해 컴퓨터 구조나 운영체제를 처음 접한 사람이라면, 강의도 함께 보며 이해하는데 수월할 수 있겠다 싶었습니다.

 

제 경우, '코딩은 "생각의 방법"'이라는 지론을 가지고 있습니다. 어떤 프로그래밍언어를 배운다고 해도, 그 프로그래밍 언어가 추구하는 패러다임과 언어를 설계한 사람의 철학이 그 프로그래밍언어의 근간을 이루고 있고, 패러다임과 철학은 결국, "생각의 방법"이거든요. 게다가 패러다임과 철학의 근거는 운영체제라는 또다른 틀안에서 구현되도록 되어 있습니다. 그래서 운영체제를 이해한다는 건, 좋은 코딩을 하기 위한 근본적인 아이디어 창구를 가지게 되는 것입니다. 코딩 일을 하다보면, 해결해야 할 문제들이 많은데요. 가끔 복잡한 문제를 해결해야 할때, 누군가의 아이디어가 간절하게 되거든요. 그런데 운영체제에 대한 이해가 있으면, 일종의 "힌트"를 얻게 되요.

 

꽤 오래전에 배웠던 운영체제라는 개념에 대해 그리고, 당시에는 없었던 추가된 개념에 대해, 이런 저런 추억을 떠올리며 재미있게 읽을 수 있었던 책이었던 것 같습니다.

 

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



책 소개

 

 

  • 책 제목 : 혼자 공부하는 컴퓨터구조 + 운영체제
  • 글쓴이 : 강민철
  • 초판 2쇄 : 2022년 9월 24일
  • 출판사 : 한빛미디어

 

 

책의 특징

책의 특징에 대해 시작하기 전에 잠시 포인트를 벗어난 고백을 해보자면 사실 본인은 한빛미디어의 혼공 시리즈에 대해 좋은 인식이 있었기 때문에(혼자 공부하는 파이썬이 큰 지분을 가지고 있다), 해당 책을 처음 받았을 때 매우 기대감에 차있었다.

 

그럼과 동시에 컴퓨터 구조와 운영체제를 정말 한번에 다룬다고? 라는 의심도 있었다.

전공자로써 해당 내용이 대학교 교재로 접했을때 얼마나 두껍고 어렵고 지루한 내용인지 잘 알고 있기 때문에 이 두께와 비전공자까지 커버하는 설명 방식으로 책에 담기에는 매우 어려울 것이라는 생각이 들었기 때문이다.

 

그래서 기대감과 의심으로 과연 혼공 시리즈가 이번에도 기대감을 만족시킬 수 있을지 한번 보자며 읽기 시작하였다.

 

 

 

[ 역시 실망시키지 않는 쉬운 설명 ]

위에서 본인이 혼공 시리즈에 대해 좋은 인식이 있다고 한 이유 중 제일 큰 부분은 설명이 쉽기 때문이다. 그리고 역시나 이 책도 그러하다.

개발 서적에서 어렵고 이해하기 힘든 내용들이 존재하는건 어쩔 수 없는 일이다. 그럼에도 독자들이 쉽게 느끼게 만들기 위해서 개념서들에서는 여러 방법들을 쓰는데 본인은 그 중 그림과 예시/비유들이 제일 효과적이라고 생각하는 편이다.

해당 책이 그 대표적인 예시라고 들 수 있을 정도로 이를 조화롭게 사용하고 있다고 느꼈다.

 

예를들어 아래에서는 뮤텍스락과 세마포어를 옷가게의 탈의실로 설명하고 있다. 그림까지 귀엽게, 이 얼마나 귀엽고 와닿는 설명인가?! 

 

 

그리고, 아래의 CPU 메모리의 입장에서 말하는 것 처럼 주저리 귀엽게 적어둔 설명들도 소소한 재미였다.

(이런게 재미라고? 라는 의문을 가질 수 있겠지만... 개발 서적의 이론 사막에서 이런 소소한 요소들에서 재미를 찾는 본인의 취향이기에 너그러이 여겨주시길...)

 

 

 

 

 

 

[ 쉬운 설명과 달리 꽉찬 내용 ]

비전공자들까지 커버하기 위해 설명을 쉽게 쓰느라 내용이 상대적으로 빈약하지는 않을까? 하는 고민을 한다면 해당 책의 목차만 봐도 아니라는 것을 간단히 알 수 있을 것이다. 사실 책을 읽는 내내 계속 들었던 생각이 "이 책이 내 대학교때도 있었다면 좋았을텐데..." 였다.

대학교 교재 기준으로, 웬만한 중요 내용들은 다 커버하고 있는 기본서이기 때문이다.

 

만일 내가 되돌아가서 책을 빨리 접했었다면, 대학교에서 컴퓨터 구조/운영체제 강의를 듣기 전에 읽어두어 게임의 치트키를 쓴 것 처럼 교수님 설명이 3배는 쉽게 이해했을 것이다.

그리고, 기술 면접을 준비하고 있다면 해당 책으로 기억이 가물한 부분들을 되새기는데 사용했을 것 같다.

 

물론, 지금도 늦지 않았으므로 기본서로 두고두고 활용할 것이다 :)

 

 

 

 

 

[ 이래도 기억 안해? ]

책이 아무래도 중요한 부분들을 핵심적으로 담고 있기 때문에 중요 포인트들은 기억하고 것이 좋을 것이다.

그것을 알기 때문에 책에서는 반복하고 확인하고 요약하고 기억에 오래남을 팁까지 전수하고 있다.

 

예를들어 우선은 매 단원마다 마무리로 문제를 제공하여 이해한 내용을 확인하게한다. 그리고, 심지어는 직접 눈으로 보는게 좋으니 유튜브에서 영상도 찾아보라는 조언까지 한다.

혹 들고다니면서 볼 열혈 독자들을 위해 중요 단어들에 대해 한손에 들어오는 노트까지 제공한다.

 

이쯤되면 "이래도 기억 안할거야?" 이다.

 

 

 

 

추천 대상

개인적인 아쉬움으로 더 강력 추천하고 싶은 대상이 있다.

 

바로 관련 수업을 듣는 대학생이다. 교수님이 직접 낸 전공 교재를 사용했던 입장으로써 이렇게 쉽게 이해할 수 있었는데 끙끙댔던 시간이 조금 아까울 정도이다.

 

그리고, 기본서가 필요하고 부족한 부분을 채우거나 한번 더 확인하고 싶은 전공자들, 그 외에도 비전공자들까지도 추천하고 싶다. 

그만큼 기본적이고 꽉 채우면서도 최대한 쉽게 설명이 되어있기 때문이다.

 

 

책의 한줄평

이렇게 쉽게 설명할 수 있었던거였구나...

한빛미디어의 혼자 공부하는 시리즈는 이름에 맞게 독학하는 이들에게 안성맞춤인 책이다. 책 한 권을 독학하기 위한 프로그램을 따로 제공하기 때문이다. (학습 사이트 제공, 강의 제공)

이 책은 읽기 쉽고 이해하기 쉬운 말로 설명하고 있다. 그래서 책을 읽으면서 머릿속에서 컴퓨터 구조에 대한 그림을 그릴 수 있었다. 실제로 매 챕터마다 그림도 제공하고 있어서 설명을 쉽게 이해할 수 있었다. 

첫번째 챕터 내용에도 나오지만, 개발자는 코드만 잘 짜면 되는 거 아닌가? 라고 생각할 수 있다. 하지만 개발은 결국 컴퓨터와 운영체제 기반에서 코드를 짜는 일이기 때문에 컴퓨터 구조와 운영체제 지식를 우선적으로 익혀야할 필요가 있다. 잘 배운 컴퓨터 구조와 운영체제 지식은 개발자에게 문제 해결 능력을 더욱 향상시켜줄 수 있을 것이다.

이 책은 컴퓨터구조와 운영체제를 공부하고 싶지만 전공 서적이 부담스러운 이들에게 추천한다. 책 한 권으로 여러 부차적인 프로그램까지 얻을 수 있어서 안성맞춤이다!

 

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

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

2022년 마지막으로 읽은 책이 될 것 같은데, '혼자 공부하는 ... 시리즈'는 처음 접한 것 같네요.

간단히 평한다면 처음 프로그래밍을 시작할 때 한 번쯤 읽어 봤으면 합니다.

컴퓨터 구조와 OS에 대해 넓게 다루고 있습니다.

전공서적이나 메뉴얼 같은 것은 깊게 파는 대신에 넓지 못해서 보고 나면 이 나무가 어디에 속한 나무인지 깨닫지 못하는 경우가 있는데,

이 책은 넓게 다루어 그런 우려는 없습니다.

또한 프로그래밍에 필요하지만 어려운 주제인 스케줄링이나 프로세스, 쓰레드, 동기화, 데드락에 대한 설명은 쉽게 접근할 수 있게 해줬습니다.

하지만, 적당한 깊이로 다루고 있어 조금 더 깊은 이야기가 필요하지 않을까 하는 생각합니다.

어려운 주제를 쉽게 풀어 놓은 저자의 능력에 찬사를 보냅니다.

 

 

그리고, 취업을 하기 위해 면접을 준비한다면 정리해볼 수 있는 노트를 별도로 제공하는 것도 좋은 것 같습니다.

 

꼭 면접이 아니더라도 가끔 용어 노트를 보고 기억을 다시 떠올리게 하는 용도로도 좋을 것 같습니다.

달마다 그렇듯 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받았습니다. 컴퓨터 공학도 이제 공부해야 할 때가 되서 서평 책으로 저거를 골랐다. 신간은 아닌데 비교적 최근에 출간됐고, 독학용으로 나온거라 괜찮아 보였다. 일단 책 내용은 다른 컴퓨터 구조와 운영체제 내용을 다룬 책은 많이 읽어보지 않아서 내가 비교할 순 없지만, 왠만한 중요한 내용은 정보시간에 배웠던 것을 포함해 다 있는 것 같다. 그래서 이번 서평은 인터넷에서 주문하려는데 책 구성이 좀 궁금한 사람들을 위한 안내서 형식으로 적어보려고 한다. 특별히 찾는 내용이 있다면 책의 목차를 참고하시길. 그리고 책 뒤에 부록처럼 용어가 따로 정리된 작은 책이 붙어있다. 가운데 사진처럼 본책의 용어색인과는 별개로 저 용어노트에 정리된 단어 목차가 존재하고, 마지막 사진처럼 본책의 각 챕터마다 등장한 용어가 정리되어있다. 그리고 본 책의 각 챕터는 한빛미디어에서 자주 보던 오라일리 도서의 짧은 정리 몇줄보다 자세하게 마무리 페이지가 있고, 문제를 내주는데 본책 뒷쪽에 답과 간략한 풀이가 있다. 예전에 한빛아카데미에서 출간한 파이썬 책으로 수업한 적이 있는데 그 책은 수업을 목적으로 나온거라, 답은 강사나 교수에게 맡기는 형식으로 정답지가 따로 존재하지 않았다. 그 외에도 예전에 베타리딩 했던 수학책에서는 부피 감소 및 두께에서 오는 위압감을 줄이기 위해 답지를 QR코드로 찍어 온라인으로 확인해야 했는데, 이 책은 뒤에 붙어있어서 매우 편하다! 아직 정보처리 자격증 같은거는 준비를 안해봐서 그런 자격증이나 면허 대비 및 보충용으로는 관련 문제집에 비해 어떨지는 모르겠지만, 혼자서 공부할 수 있는 수준의 지식은 대부분 다루고 있는 것 같다. 본인이 정가 28000원 혹은 여기서 10% 할인된 가격을 지불하고 이 책의 대부분을 혼자 효율적으로 단기간에 공부할 의지가 있다면 읽어볼만 할 것이다. 안될것같으면 그룹 스터디 용으로도 적절할 것 같고. 실제로 한빛미디어에서도 이 책 시리즈로 온라인 학습단같은거 진행하던데.

항상 빅데이터, 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 업계에 종사하시는 모든 분들께 강력하게 추천하는 책이 될 것 같다.

 

 

 

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

한빛미디어에서 새로 출판한

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

 

책 표지는 혼공 시리즈를 그대로 따라갑니다.

 

책 왼쪽 아래에 보면 전공자를 위한 필수 용어 + 비전공자를 위한 쉬운 그림이라고 써져 있는데

정말 그림도 쉽게 나와서 이해하기도 쉽고 필수 용어들도 다 잘 되어있는 것 같습니다.

 

책만 보기 힘들면 유튜브 강의도 있으니

같이 보시는 걸 추천드립니다.

 

독자의 한 마디만 봐도 이 책이 얼마나 쉽게 설명한 지를 알 수 있습니다.

저도 처음에는 비전공자를 위한 책이니 쉬운 내용만 담겨 있겠지라고 생각했지만

읽어보니까 전공 수업에서 배웠던 내용들이 그대로 수록되어 있습니다.

 

전공 수업에서 어렵게 설명했던 내용들이 여기서는 쉬운 그림과 함께

쉽게 설명해 줘서 좋았습니다.

 

책 그림도 잘 보이고 귀여우며

책 가독성도 좋습니다.

 

한 챕터의 마지막에는 마무리가 있어서

복습하기 좋습니다.

 

중요한 개념들에는 꼭 그림이 다 들어가 있어서

이해하기 쉽게 만들었습니다.

 

뒷부분에서 배울 내용들은 몇 쪽을 참고해야 되는지까지

친절히 알려줍니다.

 

회전 지연, 전송 시간 등

글로만 있으면 이해하기 어려운 내용들인데

그림까지 있으니 이해하기 쉬웠습니다.

 

운영체제 수업 들으면서

공유 자원과 임계 구역 공부할 때 애를 먹었는데

이 책에는 예시와 그림까지 적절히 섞어서 설명해 줘서

이해하기 좋았습니다.

 

책 뒷부분에는

마무리에 대한 정답이 수록되어 있습니다.

 

중요한 부분만 뽑아서 다시 복습하기 좋게 만들었습니다.

중요 용어, 그림까지 다 있으니 책으로 공부하고 틈틈이 보면 좋을 것 같습니다.

 

제가 이 책을 봐본 결과

CS를 공부해 보고 싶은 비전공자분들이나

다시 개념 정리를 하고 싶은 전공자분들에게

추천드립니다.

 

아무래도 운영체제하면 공룡책이 제일 대표적인데

확실히 책이 딱딱하고 지루합니다..

 

공룡책보면 좋긴 할 텐데

이 책으로 먼저 보는 것도 괜찮을 것 같습니다.

 

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

 

 

 

컴퓨터공학을 전공하는 학생이라면

한번은 반드시 배우고 가야하는 그 과목,

바로 컴퓨터구조 & 운영체제이다

 

학교에서 배울 때는 왠지 딱딱하고 재미없는 과목이었지만

이제는 이렇게 쉽고 자세하게 설명하는 책이 나오니

기쁘기도 함과 동시에 라떼는 왜 없었나 싶기도 하다

 

지난날 아무리 읽어도 이해가 안되었던 내용이

이제는 이렇게 쉽게 머릿속으로 들어올 수가 없다

 

 

이 책의 특징

이 책은 이해하기 쉬운 그림과 함께 CPU, 메모리, 보조기억장치 외

운영체제의 각 기능이 작동하는 원리를

그림과 함께 매우 쉽게 설명한다

 

누가 읽으면 좋을까?

컴퓨터공학 전공 신입생이 보면 좋을 듯 하다

 

학부에서는 해당 책이 아닌 전공 책 또는

원서를 통해 수학을 할 것이다

처음부터 어렵게 공부하기 보다는 

이 책을 통해 빠르고 쉽게 익힌 후에

접근을 하는 것도 좋을 것이다

 

개발자는 운영체제를 알아야 하는가?

그렇다

 

개발의 깊이가 깊어질수록 운영체제의 영역에 도달하게 된다

이 때 운영체제를 깊이 이해하고 있는 개발자와

아닌 개발자의 차이의 실력은 천지 차이다

 

(줄여서)혼공 운영체제는

입문자를 위해 저자 직강 동영상도 지원한다

궁금한 사항은 바로 질문할 수 있고 대답을 해준다고 하니

이를 활용하면 좋을 것이다

 

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

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

 

 

* 이 책을 선택한 이유
나는 경영학과 출신으로 국비학원에서 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쪽

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

 

정리

- 컴퓨터구조와 운영체제에 대한 기본적인 내용을 모르는 입문자도 쉽게 공부할 수 있음

- 쉬운 설명과 친근한 그림이 통해 이해도를 높임

 

오랜만에 읽어보는 혼공시리즈, '혼자 공부하는 컴퓨터구조 + 운영체제' 였다.

개인적으로 혼공 시리즈를 좋아한다. 혼자 공부하는 자바, SQL ,자바스크립트 등 다양하게 읽어봤는데 이번에는 컴퓨터 구조와 운영체제라고 해서 기대를 가지고 읽었다.

 

개발자는 코드만 잘 짜면 되는 거 아닌가?

라는 생각을 나도 했었다. 그러나 시간이 지나면서 생각이 바뀌었다. 코드를 짜면서도 컴퓨터 구조와 운영체제를 제대로 이해하지 못하고 코드를 짠다면 쓰레기 코드가 나올수 밖에 없었다.

 

그림을 통한 쉽고 빠른 이해

컴퓨터 구조와 운영체제에 있어서 글로만 모든 내용을 설명하는 것은 굉장히 어려운 일이다. 그렇기 때문에 어떤 그림으로 설명을 하느냐에 따라 잘 이해되는 책이 될 수도, 이해하기 어려운 책이 될 수도 있다. 혼자 공부하는 컴퓨터 구조 + 운영체제 책은 그림이 엄청 친근하다. 친절하다. 그래서 컴퓨터 구조를 이해하는데 많은 도움이 된다.

 

입문자에게는 컴퓨터 구조와 운영체제를 이해하기 위해, 

이미 지식이 있는 사람에게는 알고 있는 지식이 맞는지 혹은 이해도를 조금 더 높이기 위해 이 책을 읽어보길 권한다. 쉽게 설명되어 있는 책인만큼 어렵지 않게 읽을 수 있을 것 이다.

 

# 요약

- 대학에서 배우는 컴퓨터구조와 운영체제의 핵심을 책 한권으로!

 

# 장점

- 혼자 공부하기 어려운 주제이고, 수업을 들었어도 추상적응로 머릿 속에 남는 부분이 있기 마련인데, 책의 설명이 친절하여 초심자가 이해하기에 적합

- 컴퓨터에 대한 기본기가 부족하다고 생각하는 분들에게 추

 

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

 

운영체제 = 공룡

컴퓨터 전공한 사람이라면 누구나 아는 '공룡책'.

'운영체제'를 다룬 내용을 1000페이지에 달하는 방대한 내용으로 다루고 있는데, 표지는 귀여운 공룡들로 하고 있어 일명 '공룡책'으로 불리운다. 지금은 아마 10판까지 나온 것으로 알고 있는 명실상부 베스트 셀러 도서 이다.

( 사실 온라인 강좌 사이트인 '인프런'에서도 공룡책 내용을 중심으로 한 무료 강의를 제공하고 있는데.. 무려 전체 강의 시간이 약 17시간 에 달할 정도로 그 내용은 방대하다!! - 보러 가기)

나도 학부 시절에 중간/기말 고사때만 열심히(?) 봤던 기억이 있는데.. 볼 때마다 좌절을 했다.... 너무 어려웠거든.. ㅠㅠ

  

공룡은 이제 잊어라!

이번에 한빛미디어 '혼공' 시리즈에서 새로 나온 도서는 약 500 페이지 분량에 컴퓨터구조와 운영체제를 다루고 있었다.

페이지에 색상을 두어 컴퓨터구조와 운영체제를 직관적으로 볼 수 있게 구분을 하였다.

 

그리고 친절한 설명과 함께 그림을 많이 두어서 이해하기 쉽도록 하였다.

 

책 뒤에는 요약집이 따로 마련되어 있어서 혼자 공부하는 사람에게 유용하게 구성되어 있었다.

 

이런 분들께 좋아요!

이 책은 500 페이지라는 적지 않은 양에 컴퓨터구조와 운영체제를 모두 다루고 있다.

그렇다고 내용이 부실한 것은 아니다. 적절한 삽화와 친절한 설명은 혼자서 전공 과목을 공부하고 싶거나,

빠르게 전공 과목을 복기하고 싶은 사람에게 많은 도움이 될 것 같다. 더구나 요즘 기술 면접에 들어가면 OS에 관한 기본 지식을 물어보는 경우도 있으니 단 시간 내에 면접을 준비하는 사람에게도 도움이 될 것 같다.

 

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

 

 

나는 컴공 비전공자다. 덕분에 오랜 기간 동안 개발자로 일하고 있음에도, 아직도 생소하고 잘 모르겠다고 생각되는 이슈들이나 용어들에 계속해서 부딪히고 있다. 

개발자로서 은퇴하는 그 순간까지도 아마 이 경험은 변하지 않겠지만, 어릴 적에 이런 도서들이 많았으면 좀 좋았을까...

 

컴퓨터 구조에 대한 큰 그림, 컴퓨터의 주요 부품들(CPU, RAM, Cache, RAID 등)에 대한 자세한 설명들은 '아.. 어릴 적에 조립식 컴퓨터 만들 때 이거 아무것도 모르고 만들었네...' 하는 뜬금없는 추억의 어퍼컷을 날려주었고, 운영체제 파트들은 컴퓨터 구조보다는 좀 더 익숙한 주제들이 다뤄지지만 프론트엔드 개발자로서 직접적으로 운영체제를 크게 다룰 일을 없었기에 잘 모르는 부분들도 꽤 보였다.

 

해가 갈수록 팍팍해지는 면접과 테스트. CS 관련 문제들을 어렵지 않게 만나볼 수 있는 요즘.

작년에 번역 출간된 '한 권으로 읽는 컴퓨터 구조와 프로그래밍'과 함께 읽고 달달 외우면, CS 지식 인터뷰는 별 이슈 없이 통과할 수 있지 않을까 싶다. 'ㅅ') 

2023년에는 두 책 모두 완독을 목표로.

 

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



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

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

한빛미디어의 "혼자 공부하는 컴퓨터 구조 + 운영체제"을 리뷰하게 되었습니다.


 

 

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

어려운 컴퓨터 구조와 운영체제의 원리를 누구나 쉽게 이해할 수 있도록 용어와 개념은 한 번 더 풀어쓰고, 적절한 예시와 이해하기 쉬운 그림으로 재미있게 구성했다. 또한 일상 소재를 활용한

www.hanbit.co.kr

책 소개

개발자로서 가장 기초가 되는 컴퓨터구조와 운영체제에 대해 알려주는 책입니다.

혼공시리즈답게 얕지 않은 지식을 굉장히 재밌고 쉽게 전달해주는 것이 좋았습니다.


책의 내용과 퀴즈

흥미를 유발하고 이해가 쉽도록 그림 위주의 설명으로 제공되는데 이게 혼공 시리즈의 장점이라고 생각합니다.

또한 이해했는지 확인하는 마무리 퀴즈가 좀 더 꼼꼼히 학습을 하도록 유도하는데 열심히 읽게 되더라구요.

혼공 노트

혼공시리즈답게 부록으로 혼공 노트가 제공됩니다.

역시 얇아서 들고 다니며 읽기 편한데 이 또한 혼공시리즈의 장점이죠.


마무리

정말 재미있게 읽었습니다.

비전공자인 저도 쉽게 이해할 수 있고, 이렇게 Index knowledge를 넓혀서 다른 분들과 대화하는 데 더 도움이 되었어요.

혼공 시리즈가 왜 유익한 지 또 한 번 알 수 있는 책이었습니다.

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

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

이번에 리뷰할 도서는 <혼자 공부하는 컴퓨터구조+운영체제>입니다. 컴퓨터 공학을 전공하지는 않았지만, 예전에 간혹 프로그래밍 관련 책을 보면 컴퓨터 구조나 운영체제에 대해 심도 깊게 다루는 것을 본 적이 있었습니다. 하지만 최근 프로그래밍 분야의 책이나 강의, 블로그 등을 찾아보면 이런 내용들을 간단히 언급하거나 아얘 다루지 않고 "Hello world"만으로 시작하는 경우가 대부분입니다.

물론 최근 소프트웨어 분야에서 컴퓨터구조나 운영체제에 대해 소홀한 부분은 대부분의 디테일은 사용자가 직접 관여하지않아도 잘 작동할 수 있도록 숨겨져 있습니다. 하지만 아는 만큼 보인다고, 개발 실력을 높이기 위해선 하드웨어까지 신경 쓸 수 있어야 합니다.

가령 2차원 행렬에 대한 연산을 프로그래밍 언어로 직접 구현해 본다고 생각해 보겠습니다. 그 중 두 행렬의 덧셈에 대해 구현한다고 생각하면 다음과 같이 구현해볼 수 있다.

	#include <vector>using namespace std;vector<vector<double>> add_1(vector<vector<double>> lhs, vector<vector<double>> rhs) {	vector<vector<double>> result(lhs.size(), vector<double>(lhs[0].size());        for (size_t r = 0; r < lhs.size(); ++r) {    	for (size_t c = 0; c < lhs[0].size(); ++c) {        	result[r][c] = lhs[r][c] + rhs[r][c];        }    }    return result;}vector<vector<double>> add_2(vector<vector<double>> lhs, vector<vector<double>> rhs) {	vector<vector<double>> result(lhs.size(), vector<double>(lhs[0].size());        for (size_t c = 0; c < lhs[0].size(); ++c) {    	for (size_t r = 0; r < lhs.size(); ++r) {        	result[r][c] = lhs[r][c] + rhs[r][c];        }    }    return result;}

두 행렬의 크기가 같아야 한다는 것과 같은 세부사항은 제외하고 보면 두 행렬의 덧셈을 공식대로 구현하였습니다. 위 코드에서는 add_1과 add_2라는 두 개의 함수가 있습니다. 두 함수는 거의 내용이 동일하지만, 반복문의 순서가 약간 차이가 있습니다. add_1의 경우 행에 대한 반복문 (r) 안에 열에 대한 반복문 (c)가 있고, add_2의 경우에는 반대로 열에 대한 반복문 안에 행에 대한 반복문이 있습니다. 이러한 순서의 차이를 시각적으로 표현하면 아래 그림처럼 나타낼 수 있습니다.

두 함수의 차이는 아주 작아 보입니다. 하지만 컴퓨터 구조에 대해 알고 있다면 add_2와 같은 방법은 특별한 이유가 없다면 사용하지 않을 것입니다. 이에 대해 간략히 설명하면, 메모리 상에 있는 데이터를 CPU가 접근해야 할 때 효율적이기 위해 다음 연산에 필요할 것으로 예상되는 변수를 CPU 내부에 위치한 캐시 메모리에 저장하게 됩니다. 이때, add_1의 경우 인접한 메모리를 순차적으로 연산하기 때문에 캐시 메모리에 저장한 데이터가 유효한 정보가 되고, add_2의 경우 멀리 떨어진 메모리를 반복해서 연산하게 되어 캐시에 올라간 정보는 무용지물이 됩니다. 따라서 간단한 내용이지만 일부 연산에 대해 연산량을 줄일 수 있게 됩니다.

과거에는 한정된 자원에서 얼마나 효율적으로 구현할 수 있는지가 개발에 있어서 중요한 항목이었다면, 지금은 넘처나는 자원을 통해 등한시되고 있습니다. 하지만 컴퓨터구조에 대해 학습하고 운영체제의 동작 원리를 이해하는 것은 불필요하게 낭비되는 자원을 줄일 수 있고, 개발 과정에서 필연적으로 마주치게 되는 운영처제나 컴퓨터구조에 대한 용어들을 잘 이해할 수 있도록 도와줍니다.

조코딩 유튜브 채널 컴퓨터구조+운영체제 저자 직강 영상

 


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

 

20221223-225426-9082-LR84.jpg

 

국내에서 컴퓨터 구조, 운영체제 과목을 대학 강의가 아닌 책으로 접하기 위해서는 여러 대학 교재를 보거나 흔히 공룡책으로 불리는 Operating System Concepts 를 보는 수 밖에 없었다. 후자를 혼자서 독파한 경험으로 효과는 좋았으나 노력 대비 시간이 너무 많이 들었다. 그렇다고 문턱이 낮은 책들은 내용이 빈약하거나 내용의 깊이가 전공을 커버하기엔 부족함이 있다.

 

사실 이 책을 처음 받았을 때는 컴퓨터 구조와 운영체제 과목을 한데 묶은데 비해 책이 생각보다 얇아서 적잖이 당황했었다. 그러나 내용을 보니 있어야 할 내용은 다 있다. 그래서 이 책은 시간 대비 노력의 중간 지점을 찾는 사람들이 보면 좋을 것 같다. 내용을 이해하는데 너무 많은 노력을 하지 않으면서도 있어야 될 내용은 전부 있다. 책은 절반 분량이 컴퓨터 구조, 나머지 절반이 운영체제 내용으로 구성되어있다.

 

굳이 아쉬운 부분을 짚어보자면 책이라는 매체 특성상 두 파트 중 하나는 반드시 먼저 배치가 되어야만 한다는 점이다. 모든 내용을 A부터 Z까지 알게 된다는 것은 상당히 의미있는 일이다. 그러나 이 책을 고른다는 것은 정도 보다는 빠른 지름길을 택했다고 본다. 그래서 개발자로써 이 책을 본다면 먼저 운영체제를 모두 보고 컴퓨터 구조에서 필요한 부분은 인덱스로 찾아가면서 보는것이 좋다고 나는 생각한다. 컴퓨터 구조 역시 모두 알면 좋지만, 운영체제 쪽을 더 힘줘서 보면 좋겠다.

 

최근 자바와 스프링으로 구현하는 동시성 프로그래밍에 대해 집중적으로 학습중이다. 스프링 WebFlux에서 자바 Concurrency로, 자바에서 스레딩으로, 스레드에서 동기와 비동기로, 최종적으로 세마포어까지 다시 파고 들어가고 있다. 이 책으로 운영체제를 다시 한번 빠르게 보는데 많은 도움이 됐다. 내용을 쉽게 풀어주는 삽화 뿐만 아니라 도식이 매우 풍부하면서도 중요한 내용들은 빠짐없이 있다. 

짧게 정리해보면 다음과 같다.

 

- 너무 얕은 수준이 아니면서 원서 수준의 독해력을 요구하지 않는다. 

- 그러면서도 많은 양의 도식과 쉬운 문장으로 풀어나간다.

- 꼭 알아야 할 내용은 모두 갖추고 있다.

 

언젠가 반드시 넘어서야 할 두 과목에 대해 고민하고 있거나, 잘 정리된 내용을 빨리 봐야한다면 이 책을 선택해도 큰 후회는 없을것 같다.

 

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

KakaoTalk_20220911_154303176.jpg

 

프로그래밍을 배우는 사람이 많이 늘어나고 있는 가운데 컴퓨터 구조와 운영체제까지 배우는 사람은 많이 없을 것이다.

그 두 가지를 몰라도 프로그래밍을 하는 데는 문제가 없기때문이다. 하지만 더 높은 수준의 프로그래밍 실력을 가지고, 어떠한 문제상황에 대처하기 위해서는 알고 가는 것이 좋다.

혼자 공부하는 이라는 제목처럼 혼자 공부하기 좋게 나왔다.

여타 이전에 나왔던 혼공(혼자 공부하는 00) 시리즈와 마찬가지의 구성을 가진다.

알기 쉽게 설명하고, 이해하기 쉬운 그림이 삽입되어있고, 키워드로 핵심 포인트를 정리하고 확인 문제로 마무리를 한다.

무작정 이 책을 사서 입문으로 하기보단 프로그래밍 언어 하나쯤은 공부를 하고 읽는다면 조금 더 쉽게 읽을 수 있을것이다.

컴퓨터 구조와 운영체제, 두내용을 하나로 합쳐 놓은 것이다. 입문서로 좋다. 이 책을 읽고 전공서로 넘어가면 좋을 것이다.

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

이 세상에는 IT를 업으로 하는 사람들이 존재한다. 그들 중 어떤 사람은 소프트웨어 엔지니어(개발자)일테며, 어떤 이는 인프라 엔지니어 또는 네트워크 엔지니어, DB 엔지니어 등일 것이다. 앞서 언급한 직업군의 공통점은 바로 엔지니어라는 것이다. 이들은 자신이 몸을 담고 있는 분야에서 마주한 '문제'를 해결하기 하는 사람들이다. 즉 엔지니어링이라는 것은 주어진 문제를 해결하는 과정인 것이다. 
 
그런데 소프트웨어 엔지니어가 코딩만 잘한다고 능사일까? 네트워크 엔지니어가 네트워크 이론과 장비 설정에 관련된 커맨드 라인만 잘 다룬다고 과연 좋은 엔지니어라고 할 수 있을까? DB 엔지니어가 데이터베이스에 대한 개념과 이론, 지식만 잘 안다고 과연 DB와 관련된 문제를 잘 해결할 수 있을까? 인프라 엔지니어가 구축한 인프라가 과연 비용 효율적인 결과물일까? 굳이 엔지니어가 아니어도 좋다. 궁극적으로 성능과 용량, 비용을 고려한 최적의 결과물을 만들어 내기 위한 범위에 포함되는 모든 이들에게 기본적으로 필요한 것은 컴퓨터 구조와 운영체제에 대한 지식이다. 
 
컴퓨터 구조와 운영체제에 대한 지식이 없어도 결과물은 충분히 만들어 낼 수 있다. 문제를 해결할 수 도 있다. 하지만 이 지식이 없이는 문제의 근원에 도달할 수 없으며, 근본적인 해결의 실마리를 찾아 낼 수조차 없다. 컴퓨터라는 개체 위에 존재하는 모든 것들-그것이 소드 코드이든, 인프라 설정 파일이든, 네트워크 설정 파일이든, DB이든 중요하지 않다-은 결론적으로 컴퓨터 구조와 운영체제의 이론에 직접 또는 간접적으로 영향을 받을 수 밖에 없기 때문이다. 결국 엔지니어링을 업으로 하는 IT 종사자들은 좋든, 싫든 컴퓨터 구조와 운영체제의 이론을 벗어날 수가 없다. 그것은 운명이고 필연이리라. 
 
그런데, 컴퓨터 구조와 운영체제 이론과 지식은 결코 쉽지 않다. 난해한 용어와 개념들로 가득차 있기 때문이다. 그렇다고 시중에 이들에 대해 쉽게 다루는 책이 마땅치 않다. 그래서 어떻게 공부하라는 말인가? 하지만 다행히도 한빛미디어에서 컴퓨터 구조와 운영체제에 대한 서적을 발간하고야 말았다. 오늘은 그 책에 대해 이야기를 풀어 나가려고 한다. 
 
 
 

KakaoTalk_20220912_231731410.jpg

 

 
이 책 자체는 개발자를 위해 절대적으로 필요한 도구로서 컴퓨터 구조와 운영체제를 강조하지만 서두에서 언급했듯이 해당 지식은 결코 개발자(소프트웨어 엔지니어)에게만 필요한 지식이 아니다. 개발자를 위시해서 인프라 엔지니어, 네트워크 엔지니어, DB 엔지니어, 스토리지 엔지니어, 백업 엔지니어 등등. 엔지니어가 아닌 업무를 하는 사람, 예컨대 소프트웨어 아키텍트, 인프라 아키텍트 등에게도 반드시 필요한 지식이 바로 컴퓨터 구조와 운영체제이다. 
 
시중에 유통되고 있는 컴퓨터 구조 또는 운영체제와 관련된 책들이 결코 적은 것은 아니다. 하지만 이 두 가지 주제 자체가 굉장히 딱딱하고 어려운 와중에 결코 쉽게 풀이하고 있는 책들은 없다고 해도 무방하다. 결론적으로 독자의 입장에서 독자의 수준을 충분히 배려하고 이해하지 않은 관점에서 쓰인 책들이 많다는 것이다. 독자의 수준을 어느 정도로 상정했는지 모르겠지만, 아직까지 컴퓨터 구조와 운영체제에 대해 쉽게 접근하기 위한 노력은 결코 만만하지 않다는 것은 누구나 다 공감하리라 생각한다. 
 
각설하고 본 서적은 컴퓨터 구조와 운영체제에 입문하려는 대상을 독자로 상정했고, 이에 따라 쉬운 설명과 다양한 삽화 및 도해로 어려운 개념을 이해되기 쉽도록 풀이해 나가고 있다. 군더더기 없는 설명과 재치 있는 은유를 통해, 각 챕터마다 등장하는 개념을 하나씩 마주하며 어느새 그것을 이해하고 있는 자신을 보고 놀랄지도 모르겠다. 
 
이 서적을 완독했다고 해서 컴퓨터 구조와 운영체제에 대한 모든 개념과 지식을 온전히 흡수할 수 있는 것은 아니다. 하지만 적어도 이 책을 통해 컴퓨터 구조와 운영체제에 대한 두려움과 공포를 극복하고 한걸음 더 나아갈 수 있다면, 그것만으로 소기의 목적을 달성했다고 볼 수 있지 않을까? 이 책의 완독은 결코 끝이 아니라 시작인 셈이다. 본 서적을 통해 컴퓨터 구조와 운영체제에 대한 관심과 흥미가 한층 커지고 이들에 대해 좀 더 제대로 학습하고 싶다는 열망이 타오른다면 그것만으로도 이 책은 본연의 역할을 다했다고 볼 수 있으리라. 
 
컴퓨터 구조와 운영체제는 단연코 쉬운 주제의 학습 대상이 아니다. 그렇기 때문에 이들을 향한 첫걸음을 떼기도 전에 좌절했다면, 그리고 절망했다면 이 책을 통해 다시금 새로운 마음으로 학습을 시작해 보는 건 어떨까? 
 
P.S 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

 

 

‘컴퓨터 구조’와 ‘운영체제’는 CS에서 가장 중요한 과목 중 하나이지만, 전공 서적들은 두껍고 친절하지 않아서 공부하기 쉽지 않은 과목 중 하나이기도 합니다.

C, C++ 처럼 하드웨어에 가까운 언어를 사용하지 않더라도, 성능을 높이고 효율적으로 코드를 최적화 하다 보면 언젠가 ‘컴퓨터 구조’와 ‘운영체제’라는 벽에 부딪히게 됩니다.

 

반드시 알고 있어야 하지만 친절하지 않은 교재들 탓에 공부하기 쉽지 않은 과목들이였지만, ‘혼자 공부하는 컴퓨터 구조+운영체제’ 덕분에 많은 사람들이 쉽게 공부할 수 있을 거라고 생각합니다.

교재 이름처럼 혼자 공부해도 충분할 정도로 다양한 비유와 그림들로 핵심 개념들을 친절하게 설명하고 있습니다.

물론 이 책에서 모든 걸 설명하고 있진 않습니다. 유명 전공 서적(ex. 공룡 책)을 보시기 전에 이 책을 보고 필수 개념들을 익힌다면 이해에 큰 도움이 될 거라고 생각합니다.

관련 경험이 없는 비전공자분들도 쉽게 이해할 수 있게 잘 설명되어 있으니, 관심이 있으시다면 한번 읽어 보셔도 좋을 것 같습니다..

 

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

전공을 아니나 종종 프로그램 속에 들어가 볼 일이 있기도 하고, 자주 랩탑 구매에 관여하기도 한다. 그런데 전공도 아니고 따로 공부를 하고 있지도 않아서 정해진 루트만 이용하고, 컴퓨터 구매시에도 할 때마다 어렵다.

 

그래서 신청하게 된 이 실무교재, <혼자 공부하는 컴퓨터 구조 + 운영체제>. 평소 내가 알고 싶어했던 기초적인 지식 다지기에 더없이 적합한 내용이였다.

 

 

기대 이상의 전문적인 내용이여서 때론 이해하기 힘든 부분도 있었지만,

 

컴퓨터의 구조를 알기위해서는 데이터 표현 방식, 명령어들, 컴퓨터의 4가지 핵심부품, CPU, 메모리, 보조기억장치, 입출력장치, 운영체제를 이해하기 위한 프로세스와 스레드, 가상 메모리와 파일 시스템, 등으로 구성되어있어서, 체계적인 혼공을 할 수 있게 도와주고 있었다.

 

각 장마다 마무리 페이지로, 용어정리와 함께 확인 문제로 습득여부를 시험해볼 수 있도록 하고 있었고, 별책으로 용어 노트를 제공해 주고 있었다. 중간중간에 있는 여기서 잠깐박스도 매우 유용하다.

 

아직은 100% 모두 다 내 것이 되지는 않았지만, 여기저기 열어보면서 필요할 때마다 도움 받고 싶은 교재이다. 강추하고픈 컴퓨터관련 기초다지기 혼공교재이다.

 

 

_CPU는 프로그램을 실행하는 과정에서 메모리에 저장된 데이터를 빈번하게 사용합니다. 하지만 CPU가 메모리에 접근하는 시간은 CPU의 연산 속도보다 느립니다. CPU가 연산을 빨리 한다 해도 메모리에 접근하신 시간이 느리면 CPU의 빠른 연산 속도는 아무런 쓸모가 없겠죠? 이를 극복하기 위한 저장 장치가 바로 캐시 메모리입니다._

 

 

_모든 프로세스는 운영체제로부터 자원을 할당받습니다. 프로세스마다 필요로 하는 자원은 각기 다르지만, 모든 프로세스가 공통으로 사용하는 자원이 있다면 그건 CPU입니다._

 

 

혼자공부하는컴퓨터구조운영체제1.jpg

 

혼자공부하는컴퓨터구조운영체제2.jpg

 

혼자공부하는컴퓨터구조운영체제3.jpg

 

혼자공부하는컴퓨터구조운영체제4.jpg

 

혼자공부하는컴퓨터구조운영체제5.jpg

 

 

 

학부 때에 전공필수였던 '컴퓨터 구조'와 '운영체제' 과목은 꽤 어렵게 느껴졌습니다. 그래도 전공서적은 버리지 않았고, 아주 가끔은 회사 일로 찾아보기도 했습니다. 어느새 Java도 Spring 같은 프레임워크에서 쓰는 게 보편적이라 운영체제를 직접 상대할 일이 훨씬 줄어들었고, 퍼블릭 클라우드 기반의 MSA와 쿠버네티스가 흔해지면서 컴퓨터 구조조차 가상 위에 가상 위에 가상인 상황이며 당장은 이들 프레임워크에 능숙해지는 게 우선이 된 듯도 합니다. 그래도 이 프레임워크는 왜 이게 default일까, 왜 저런 기능은 나오지 않을까 같은 궁금증을 가지는 주니어 개발자와 엔지니어가 많을 겁니다. 그러한 니즈에 딱 맞는 책이 나왔습니다.

 

이 책이 제가 대학 다니던 시절에 있었다면 얼마나 좋았을까요? 더군다나 운영체제는 영문 원서라서 골치가 정말 아팠던 기억이 납니다. 나중에 읽어 보니 어차피 기술용어라 그냥 읽히는 수준이었건만 수업으로 들을 때에는 정말 힘들었습니다. 더불어 이 책에 나오는 그림은 정말로 이해에 도움이 됩니다. 전공서적의 그림들은 현학적으로만 느껴졌는데, 이 책의 그림들은 보면서 납득이 됩니다.

 

하지만, 분량이 전공서적의 절반 정도이다 보니 내용이 꽤 압축적입니다. 소견이지만, 이 책을 보고 RAID를 처음 접한 독자가 이 개념을 이해하지는 못할 겁니다. 물론 이 정도 분량으로 이 책보다 더 쉽게 쓰기는 힘듭니다. 아마도 그렇기에 혼공 홈페이지를 통해 이해를 돕는 게 아닐까 합니다.

 

https://hongong.hanbit.co.kr/컴퓨터-구조-운영체제/

 

2022년 9월 12일 기준으로 강의 영상이 모두 올라오지는 않았습니다. 몇 개를 보니 책에서 다루는 개념을 보다 친숙하게 느끼게 해줍니다. 보통 노력이 아닙니다. 영상 완결이 기다려집니다.

 

이 책은 컴퓨터공학도로서 '컴퓨터 구조', '운영체제' 과목 이수에 어려움을 겪거나 예습하려는 이에게 적극 권합니다. 컴퓨터공학도가 아니더라도 프로그래밍의 세계에 들어와서 이런 저런 교육을 받고 토이 프로젝트에서 코피를 쏟는 이에게도 권합니다. 스스로를 불안하게 하는 '깊이'를 채우는 데에 도움이 크게 될 겁니다. 이 책과 더불어 소프트웨어공학, 데이터베이스에 여력이 있다면 네트워크 관련 도서를 최신순으로 검색하여 골라 보면 어지간한 바탕은 다지는 셈입니다. 그후에는 실전 경험입니다.

 

https://hanbit.co.kr/search/search_list.html?keyword=소프트웨어공학

 

책을 충분히 이해하지 못했더라도 자책하지 않기를 바랍니다. 수십 간의 지식과 경험이 쌓인 분야이기에 당연한 겁니다. 업계에서 계속 노력한다면 어느 순간 체득한 지식과 경험을 통해 이전보다 쉽게 이해가 가게 됩니다. 버리지 말고 가지고 계세요.

대학교에서 컴퓨터를 전공하면서 가장 어렵게 느껴졌던 과목이 바로 '컴퓨터 구조'였다. 교수님의 설명도 이해가 되지 않았고, 아무리 책을 봐도 친절한 설명을 찾기 어려워 처참히 망했던 과목이자, 오래된 숙원 같은 존재였는데 한빛 미디어에서 최근에 혼자 공부하기 좋은 컴퓨터 구조/운영체제 책을 발간했다고 해서 기쁜 마음으로 리뷰를 남겨보려고 한다.

우선, 여타 책과는 다르게 컴퓨터 구조와 운영체제의 내용이 책 한 권에 들어가있는 점이 눈에 띈다. 전공생들 혹은 IT 직종 지망생이라면 필수적으로 익혀야 할 중요한 두 과목을 한 번에 컴팩트하게 공부할 수 있다는 점이 신선하고 좋았다.

책의 첫 부분인 1장~8장에서는 컴퓨터 내부의 구조와 작동법에 대한 설명으로 이루어져있다. 프로그래밍의 기본 작동 원리를 이해하고 문제 해결 능력을 기를 수 있는 부분으로, 자칫 어렵고 지루해질 수 있는 기술 부분을 쉽고 재미있게 설명해주고 있었다.

나머지 9~15장에서는 운영체제의 필요성부터 프로세스, 가상 메모리에 관련된 전반적인 부분을 다루고 있다. 다양한 예시와 설명을 통해 고난도의 지식들을 재밌게 공부할 수 있는 책이라고 느껴졌다. 줄글로만 이루어진 설명 대신 여러 그림들이 설명을 도우며 어려운 개념들도 혼자서 충분히 소화할 수 있게 구성이 되어 있었다.

특히 컴퓨터 구조가 어려운 입문자들에게는 무조건 추천하고 싶은 도서로, 내가 대학생으로 돌아간다면 반드시 이 책을 통해서 컴퓨터 구조와 운영체제를 공부하고 싶을만큼 공부 의욕이 샘솟는 책이었다.

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

이번 기회에 이 시리즈를 읽으면서 긍정적으로 이 시리즈에 대해 생각하게 되었다.

 

 

어설프게 잡힌 개념도 이번 기회에 잘 잡을 수 있었다.

가령 운영체제를 '정부'라고 표현하면서 자원할당, 규칙 등을 정해주는 것이라고 비유한 것도 이해하기 매우 좋았다.

이 밖에도 어려 부분에서 어렵지 않게 책을 작성하려고 한 부분이 확인되어 이 '혼자공부하는' 시리즈를 긍정적으로 볼 수 있었다.

최근 좀 더 필요한 분야들이 생겼는데 그 부분도 이 '혼자공부하는' 시리즈를 통해서 해결하면 되겠다는 생각이 들 정도로 입문이 쉽다. 

 

컴퓨터구조

01 컴퓨터 구조 시작하기

메모리 - 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부분

CPU - 메모리에 저장된 명령어를 읽어 들이고 해석하고 실행하는 부분

보조기억장치 - 전원이 꺼져도 보관할 프로그램 저장하는 부분

입출력장치 - 컴퓨터 외부에 연결되어 컴 내부와 정보를 교환

시스템 버스 - 컴퓨터 네 가지 핵심 부품들이 서로 정보를 주고받는 통로(주소버스, 데이터버스, 제어버스)

 

03 명령어

저급언어 : 기계어(0과1의 명령어 비트), 어셈블리어

고급언어 -> 저급언어 변환 방법 : 컴파일방식(C), 인터프리트 방식(파이썬)

 

04 CPU의 작동원리

제어장치 - 클럭 신호를 받아들인다.

레지스터 - 스택 주소 지정 방식. 스택은 메모리 안에 있음. 스택영역

 

05 CPU 성능 향상 기법

클럭 - 클럭 속도 = CPU 속도 단위(Hz)

코어와 멀티코어

스레드와 멀티스레드 - 하드웨어적 스레드, 소프트웨어적 스레드

예) 2코어 4스레드 : 명령어 실행 부품 2개 포함, 한 번에 4개의 명령어 처리

 

06 메모리와 캐시 메모리

RAM용량이 크면 많은 프로그램을 동시에 빠르게 실행할 때 유리하다

캐시메모리 : CPU와 메모리 사이에 위치. 레지스터보다 용량이 크고 메모리보다 빠른 SRAM 기반 저장장치

 

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

컴퓨터 전공자라서 컴퓨터구조, 운영체제는 학부생 때 이미 지겹게 들었던 수업내용이다. 그럼에도 이 책을 선택해서 읽은 것은 대학 때의 기억이 가물가물해지기도 했고, 전공자임에도 용어나 개념을 막상 물어보면 제대로 대답하지 못했던 경험들이 생각나서 한번쯤은 다시 복습해보고 싶었다.

그렇다고 대학교 전공책들을 펼쳐서 읽어볼 용기는 나지 않았고(이미 버려서 책이 없기도 하다) 개념들을 재밌게 복습할 한 권의 책이면 족했다.



한빛미디어에서 출간하고 있는 "혼자 공부하는~" 시리즈는 쉽게 이해할 수 있는 자습서로 유명하다. 주변 동료들이 파이썬 언어를 공부한다고 한창 혼자 공부하는 파이썬 책을 사다가 독학하면서 마스터하는 모습들을 봐서 믿고 볼 수 있는 IT 도서라는 좋은 이미지가 박혀있었다.

그런데 컴퓨터구조, 운영체제를 대학 전공 때 교수님들이 좀 난해하게 가르쳐 주셨던 기억이 있어 마냥 어렵다는 느낌이 있어 과연, 쉽게 풀어낼 수 있을까 라는 의구심을 가지고 책을 읽었다.


이 책에 담긴 내용은 컴퓨터 구조 개요, 컴퓨터에서 인식하는 0과 1의 이진법, 문자집합과 인코딩, 소스코드와 명령어에 대한 이해, CPU와 작동원리, 레지스터, 명령어 사이클과 인터럽트, CPU 설계기법, 명령어 병렬처리, 메모리, 주소공간과 캐시메모리, 보조기억장치, RAID, 입출력장치, 운영체제, 프로세스와 스레드, CPU 스케줄링, 동기화, 교착상태, 가상메모리와 페이징, 파일시스템 등 정말 전공자들이 다루는 내용들을 다양하게 담고 있다. 


이 책의 좋은 점은 그림 도식화가 예쁘고 귀엽게(?!) 되어 있어 편안하게 읽힌다는 것이다. 전공책들의 그림 도식화는 딱딱하고 다소 눈에 들어오지 않았는데 IT 입문자부터 이해할 수 있도록 눈높이를 독자에게 맞게 구성하다보니 그림도 아기자기하다. 책 내용도 이해가 쉽도록 비유가 많이 들어가있고 구어체처럼 쓰여있어 강의를 듣듯이 술술 읽히고 각 장마다 핵심포인트를 키워드로 딱딱 요약하고 확인문제까지 있어 독학, 스터디 교재 등등 다양하게 활용하면서 공부할 수 있을 것 같다.


용어노트도 있어 취준생, 전산직 공무원 준비생 등 면접을 준비하는 사람들에게도 도움이 많이 될 것 같다.


요새는 개발자 연봉이 높아져서 너도나도 개발을 시작하는데, 단순히 개발언어만을 다루는 것 뿐만 아니라 내가 짜는 프로그램이 컴퓨터 내부적으로 어떤 구조로 되어 있고 어떤 원리로 동작하게 되는지를 이해를 해야 정말 수준높은 프로그래머가 될 수 있다고 생각한다. 그러려면 컴퓨터구조, 운영체제는 어느 정도 알고 있어야 한다. 

그러면 IT분야에 뛰어들 사람들은 이 책을 한번쯤 읽어보는 것을 추천하고 싶다. 


이 책은 연계된 무료 유투브 강의도 있어 강의를 들으면서 책을 읽어도 된다. (전공자는 사실 책만으로도 이해가 잘 된다)

  ※ 유투브 강의 사이트

https://hongong.hanbit.co.kr/%EC%BB%B4%ED%93%A8%ED%84%B0-%EA%B5%AC%EC%A1%B0-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C/



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

이 책은 컴퓨터 구조와 운영체제가 한권의 책으로 구성되어 있어서 대학에서 전공으로 관련 공부를 해야 하는 입문자들이거나 SW개발을 시작하는 비전공자들한테는 훌륭한 입문서이다.

적절한 예시와 이해하기 쉬운 그림으로 인해 비전공자도 쉽게 이해를 할 수 있도록 구성되어 있습니다.

많은 프론트, 백엔드 SW개발자들이 컴퓨터 구조에 대해서 어려워서 두려움을 가지고 있으나 이 책을 한번 본다면 그 두려움이 많이 줄어들 것이다. 그리고 보다 높은 단계의 개발자로 성장하기 위해서는 반드시 알아야 할 컴퓨터 구조와 운영체제를 눈높이 맞게 잘 설명해 주고 있는 책이다.

주니어 개발자들이랑 이야기를 하다보면 전공자들도 컴퓨터 구조나 운영체제에 대해서 자세히 모르고 있는 경우가 많았고 비전공자들은 굉장히 어려워하고 있었는데 이 책 한 권이면 그런 것에 대해 어느정도 해소될 수 있을것으로 보입니다.

용어 정리도 잘 되어 있어서 용어를 잊어버렸을 경우 용어 노트를 통해 쉽게 찾아서 확인할 수도 있다.

책의 구성은 1~3장은 컴퓨터 구조를 알아야 하는 이유와 컴퓨터 작동에 대한 큰그림 형태의 구성으로 되어 있습니다.

4~8장까지는 컴퓨터 핵심부품인 CPU,메모리, 보조기억장치, 입출력 장치에 대해 설명을 하고 있습니다.

9~10장은 운영체제가 관련된 내용으로 프로세스와 스레드 관련 내용에 대해 설명을 하고 있습니다.

11~13장은 CPU 스케줄링 및 프로세스 동기화와 관련내용에 대해 설명을 하고 있습니다.

14~15장은 가상메모리 및 파일 시스템에 대해 설명을 하고 있습니다.

이 책은 처음부터 순차적으로 학습해야 합니다. 그래야 쉽게 이해할 수 있습니다.

전공자는 알고 있던 정보를 좀 더 확실하게 내 것으로 만들 수 있고 비전공자들한테는 어려웠던 컴퓨터 구조와 운영체제를 좀 쉽게 이해시켜줄 수 있는 책이어서 SW개발자들은 반드시 읽어야 할 책으로 추천합니다.

 

[서론]

 

학창시절에 컴퓨터 구조론와 운영체제론을 각각 한 학기씩 따로 배웠었다.

 

1년이나 수업에 나갔음에도 잘 이해하지 못했다.

 

그래서 시험기간에 피를 토하면서 겨우겨우 암기했던 기억이 있다.

 

물론 기말고사가 끝남과 동시에 외운 내용은 모조리 백지가 되었다.

 

그 이후로는 다시 볼 일이 많이 없었다. 

 

특정 파트의 정보가 필요하면 웹에서 찾아보는 정도였다. 

 

그래도 언젠가 이런 기초를 다시 정리해야겠다고 오래동안 생각만 하던차에,

 

이 책을 통해 다시 가볍게 살펴보게 되었다.

 

 

[내용]

 

사실 이 주제는 프로그래밍 관련 직업에 종사하는 모두가 중요하다고 생각한다. 

 

그런데 정작 공부를 시작하는 사람은 많지 않다. 

 

실무와 직접적인 관련이 있는 부분이 적기 때문이다. 

 

이 책은 그런 가려움을 긁어주기 위해 기획된 것 같다. 

 

컴퓨터 구조와 운영체제를 얕고 빠르게 모두 다룬다.

 

컴퓨터 구조 기초부터 시작해서 CPU, 메모리, 보조기억장치, 입출력장치를 살펴본다.

 

운영체제 파트에서는 프로세스, 스레드, CPU 스케줄링, 프로세스 동기화와 

 

교착 상태, 가상 메모리, 파일 시스템까지 핵심이 되는 내용들을 가볍게 살펴본다.

 

그런데 아주 기초적인 내용부터 시작했음에도 생각보다 깊이 들어간다.

 

저자가 제대로 설명하려고 많이 애를 썼다는 뜻이다. 

 

본문을 차근차근 따라가다보8=면 이미 대충 아는 것 같았던 개념도 재정리할 수 있어서 좋았다. 

 

 

[편집]

 

흠 잡을 데가 없는 편집이다.

 

귀여운 삽화가 이해를 도우며, 실생활에 최대한 근접하고자 다양한 사례를 제시한다.

 

워낙 명성이 자자한 "혼자 공부하는~" 시리즈 답게 문장이 부드럽게 읽히고 내용 이해에 무리가 없다.

 

 

[결론]

 

이 책은 유머러스하다.

 

재미있다는 뜻이다.

 

컴퓨터 공학 전공자가 아닌 입문자도 막힘없이 술술 읽을 수 있을만하다.

 

꼭 빡세게 이를 악물고 진지한 자세로 하는 공부가 아니어도 된다. 

 

누워서 가볍게 훑어보기에도 전혀 부담이 없다.

 

모르는 사람이 처음 익히기만 좋은 것이 아니다. 

 

이미 관련 내용을 학습한 경험이 있는 사람은 전체 개념을 확실하게 복습하고 넘어갈 수 있는 좋은 기회다. 

 

반드시 읽어볼만한 책이다.

 

 

한 마디로 '비전공자를 위한 맞춤형 CS 길라잡이'라 할 수 있겠다. 막막하고 딱딱하게만 느껴지는 컴퓨터 구조와 운영체제를 이보다 더 쉽고 명확하게 설명할 수 있을까?

 

나를 포함한 많은 비전공자가 처음 CS를 공부할 때 정보처리기사 공부를 많이 하곤 하는데, 나는 감히 이 책을 먼저 읽어보라고 추천하고 싶다. 시험 문제를 맞히기 위한 토막 공부가 아닌 실무에서 필요한 기본 지식을 즐겁게 습득할 수 있다.

 

어쩌면 입문서 치고 묵직한 두께에 놀랄 수 있다. 하지만 이것은 독자의 이해를 도우려고 늘어난 분량으로 보인다. 일상에서 일어나는 쉬운 비유들을 통해 독자의 호기심을 불러일으키고, 풍부한 그림 설명을 통해 추상적일 수 있는 느낌을 구체화해준다.

 

시중에 많은 CS 책들이 있지만, 진짜 입문자의 눈높이에 맞는 설명을 하는 책은 보기 드물다. 그만큼 어려운 내용을 쉽고 명확하게 전달하기 위해 노력한 흔적이 많이 묻어난다. 프로그래밍 지식이 하나도 없어도 Real '혼공'이 가능한 책.

 

기초 CS 학습이 필요한 모든 이들에게 적극적으로 추천한다.

 

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

 

 

1220911.jpg

 

 

IT 회사에 취업하려면 컴퓨터 구조와 운영체제를 알아야 합니다.

 

운영체제를 모르고 개발하면 깊이 있는 개발을 하지 못합니다.

 

개발 직군에 들어가기 위해 컴퓨터 구조와 운영체제를 공부하고 싶은 분들에게 도움 될만한 책을 살펴보려 합니다.

 

살펴볼 책은 '혼자 공부하는 컴퓨터 구조+운영체제'입니다.

 

컴퓨터 구조와 운영체제 과목은 딱딱하고 재미없는 과목으로 보일 수 있는데요.

정의를 잘 설명해주고 이해를 돕는 그림이 있어서 쉽게 이해할 수 있습니다.

 

혼자 공부하면서 잘 따라가고 있는지 확인해야 합니다.

 

과목마다 문제와 핵심 포인트를 복습하며 정리할 수 있습니다.

 

 

4220911.jpg

 

 

◆ 용어 노트와 혼공 학습 사이트

공부할 때 용어 정리가 중요합니다.

 

낯선 용어의 경우 더 많이 봐야 이해할 수 있습니다.

 

학습하면서도 용어를 공부하지만 빠른 시간 동안 용어를 보고 싶을 때 용어 노트를 보면 됩니다.

 

혼자 공부할 수 있도록 책에 담지 못한 내용은 깃허브를 통해 제공합니다.

 

또한 이해를 돕기 위해 저자는 직강 동영상도 제공해주고 질문을 받고 답변도 달아줍니다.

 

 

2220911.jpg

 

 

◆ 혼공에 최적화된 책

혼자서 공부하는 데 최적화된 책입니다.

 

이 책은 '프로세스는 실행 중인 프로그램이다.' 형태로 이 용어는 무엇이다로 정의되어 있습니다.

 

먼저는 정의를 잘 정리하면서 이해하려고 노력해야 합니다.

 

그림과 쉬운 설명을 통해 이해를 확장시켜 나가야 자기 것이 됩니다.

 

체계적인 반복 학습을 할 수 있도록 구성되어 있는데요.

 

주제가 끝나는 무렵에 핵심을 보며 반복하고 문제를 풀어보며 주요 개념을 이해했는지 확인할 수 있습니다.

 

 

3220911.jpg

 

 

끝으로 이 책은 순서대로 읽기를 권장합니다.

 

운영체제부터 먼저 공부하고 싶더라도 컴퓨터 구조 지식이 필요한 부분도 있습니다.

 

연결된 부분이 있기 때문에 앞부터 읽으시면 운영체제 파트를 이해하는 데 더 도움 될 것입니다.

 

면접 준비를 하시는 분들도 각 장마다 핵심을 정리하면 CS 질문 대비가 가능합니다.

 

자기주도학습을 통해 효과를 내려면 정리하고 말로 뱉어보며 공부해보시길 바랍니다.

 

컴퓨터 구조와 운영체제에 대한 이해가 필요하신 분들에게 이 책을 추천합니다.

 

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

 

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

 

컴퓨터 공학과 전공자 필수 과목 중 하나인 컴퓨터 구조와 운영체제.

이 과목들의 혼공 시리즈가 나와서 대단히 기쁘다.

결론은 역시나 혼공 시리즈답게 혼자서 충분히 공부할 수 있도록 기초 개념을 잘 잡아준다.

비전공자들은 구매해서 쭈욱 읽어보는 것을 적극 추천한다.

각 챕터에 대한 간략한 후기를 아래 나열해보는 것으로 이번 리뷰를 해보겠다.

  • Chapter 01 컴퓨터 구조 시작하기
    컴퓨터 구조의 큰 그림과 공부해야 하는 이유를 설명해준다.
    책에서도 설명되어있지만 컴퓨터 구조는 컴퓨터공학과의 전공 필수과목 중 하나이며 대부분의 채용 공고에서 컴퓨터구조를 중요시 여긴다. 서울대학교 컴퓨터공학과 교과목 정보를 살펴보면 2020입학 기준으로 컴퓨터 구조는 전공필수 과목이지만, 운영체제는 아니다.
    덧붙여 개발자가 컴퓨터 구조를 알아야 하는 이유는 본인이 만든 제품이 어느 하드웨서 돌아가는지는 파악해야 한다고 생각하기 때문이다. 하드웨어 이해도가 높다면 코드를 작성할 때 처음부터 효율적인 알고리듬을 설계할 수 있으며 이는 최적화 및 성능과 연결된다. 가령 본인이 만든 제품이 대박이 나고 온라인에서 동시 접속을 늘려야 하는 경우가 올 때, 자기 제품이 하드웨어에서 어떻게 동작하는지 알고 있다면 간단한 소프트웨어 조작만으로도 최적화할 수 있고 이는 장기적으로 개발 비용을 엄청 절약할 수 있다.
    또 대표적인 예시로 최근 하드웨어서 캐시 같은 부분 때문에 왠만한 경우에서는 해시맵 보다 배열을 쓰는게 훨씬 빠르다. 단순하게 공간복잡도만 따져서 해시맵을 쓴다면 이런 부분을 간과할 수 있다.
  • Chapter 02 데이터
    컴퓨터가 데이터를 이해하는 방법과 단위에 대해 알아본다. 결국 컴퓨터는 기계이기 때문에 모든 데이터는 0과 1로 이루어져있다는 사실을 항상 기억하고 있어야 한다.

  • Chapter 03 명령어
    컴퓨터는 명령어를 처리하는 기계이고, 프로그래머들이 작성한 모든 코드는 결국 명령어 형태로 변환된다. 즉, 챕터2에서 언급한 0과1로 바뀐다는 것인데 이것만 봐서는 뭔 말인지 알 수가 없다. 이를 번역한 언어가 어셈블리어다. 프로그래머가 어셈블리어를 볼 필요도 없고 배울 이유도 없다고 주장하시는 분도 있다. 물론 어셈블리 레벨까지 내려가서 코딩하는 일은 사실상 없을 것이다. 그러나 최종적으로 탑급 프로그래머가 되기 위해서는 컴퓨터가 어떻게 동작하는지를 알아야 된다고 봅니다. 물론 어셈블리어를 봐야하는 프로그래머는 전체 중 약 5%도 안될 것이다.
    그러나 다시 한번 말하지만 컴퓨터는 명령어를 처리하는 기계이고, 모든 데이터는 0과 1로 이루어져서 동작한다.

  • Chapter 04 CPU와 작동 원리


    어찌보면 컴퓨터구조에서 가장 중요한 챕터이다. CPU 내부에서 계산을 담당하는 ALU의 동작 방식과 제어 장치, 레지스터에 대해 설명한다. 책에서 간략한 그림으로 설명을 잘 해두었지만, 좀 더 직관적인 이해를 위해서는 영상이 좋다고 판단한다. 이에 대해 자세한 설명을 해준 영상을 소개하고 넘어가도록 한다.
    유튜브 bRd 3D : CPU는 어떻게 작동할까?
    https://youtu.be/Fg00LN30Ezg 
  • Chapter 05 CPU 성능 향상 기법
    챕터의 제목이 살짝 애매한 파트이다. 빠른 CPU를 위한 설계 기법과 명령어 병렬 처리 기법에 대해 알아본다.
    즉, 프로그램 성능 향상이 아닌 CPU 성능 향상이고 이를 위해 현대 CPU에서는 어떻게 동작하는지를 보여준다.
    CISC와 RISC에 대해 설명해주는데, 이는 현재 가장 좋은 CPU 양대산맥을 이루는 Intel과 ARM의 차이점을 말해줍니다. Intel CPU는 CISC 기기이며, ARM 기반 CPU는 RISC입니다. 이 2개의 작동 방식을 다르기 때문에 잘 알아두면
    나중에 CPU 선택할 때 좋다.

  • Chapter 06 메모리
    CPU와 더불어 중요한 챕터다. 결국 프로그램은 입력을 받아 메모리에 적재하고 CPU에서 계산하여 다시 메모리에 저장 후 출력하는 과정을 거친다. 메모리에 데이터가 어떻게 저장되고 CPU에서 이 데이터를 가져다 쓰기 위해서 어떤 과정이 이루어지는지 알 수 있다. CPU가 메모리에 접근하는 속도는 레지스터에 접근하는 속도보다 느리기 때문에 캐시 메모리를 사용하는데, 이 챕터에서는 캐시메모리가 어떤 것인지 어떻게 동작하는지를 자세히 알 수 있다.

  • Chapter 07 보조기억장치, Chapter 08 입출려장치
    7,8 챕터는 컴퓨터가 기본적으로 동작 방식 이외에 주변 장치들에 대해 설명해준다. 알아두면 좋은 내용이지만 앞의 챕터들에 비해서는 중요도가 조금 떨어지긴 한다. 가볍게 읽고 넘어가면 좋은 챕터들이긴 하다. 여기까지 읽으면 컴퓨터 구조에 대한 설명이 끝이난다.

    책에서는 아래와 같이 2가지를 제안한다.
    1. 직접 컴퓨터 부품들 찾아보기
    2. 특정 제품 분석하기
    개인적으로는 단순하게 그냥 컴퓨터 부품을 사서 조립해보기로 귀결되는 느낌이다. 내 컴퓨터를 더 좋은 컴퓨터로 업그레이드 하기 위해 제품을 사면 결국 그 제품에 대한 스펙을 알아보게 되고 분석하게 된다. 더 나아가서 컴퓨터 제품을 만드는 회사의 발표 영상을 보는 것도 도움이 된다. 대표적으로 ARM나 Apple에서 새로 발표하는 제품에 대한 성능에 대한 부분이다.

  • Chapter09 운영체제의 큰 그림
    이 책에서 가장 중요한 파트가 시작된다. 개인적으로는 컴퓨터 구조와 운영체제 중 하나를 선택해서 공부하라면 운영체제다. 프로그램은 운영체제 위에서 동작하기 때문에 운영체제에 대해 알아야 한다. 운영체제가 뭔지 모른다면 컴퓨터 사서 전원키면 윈도우가 당연히 실행되는 줄 안다. 물론 현재 운영체제 시장의 약 90%는 윈도우이기 때문에 일반 사용자들 입장에서는 상관없지만, macOS가 점점 10%까지 올라오고 있기 때문에 차이점을 알고 있어야 한다.
    챕터1과 마찬가지로 운영체제에 대한 큰 그림에 대해 설명하며, 책에서는 그냥 지나갔지만 부팅이 무엇인지 알아두면 좋다. 운영체제 과목 중간고사 혹은 대학원 컴퓨터 공학과 단골 질문 중 하나이기 때문이다.

  • Chapter 10 프로세스와 스레드
    대부분의 운영체제에서 프로세스와 스레드를 구분하지만, 리눅스에서는 명확하게 구분하지 않는다. 이 책에서는 그 이유를 리누스 토르발스의 메일을 인용하여 설명해준 점이 좋았다. 간단하게 실행 중인 프로그램을 프로세스, 프로세스를 구성하는 실행의 흐름 단위를 스레드라고 한다. 프로세스와 스레드의 차이점은 신입 개발자들 단골 질문들 중 하나이다.

  • Chapter 11 CPU 스케쥴링
    모든 프로세스는 CPU를 필요로 하고 먼저 사용하고 싶어한다. 그러나 CPU 자원을 할당하는 것은 한정되어 있기 때문에 어느 프로세스는 나중에 받을 수 밖에 없다. 즉, CPU 자원 할당을 뒤늦게 받는 프로세스는 동작이 느리다는 뜻이다. CPU 스케쥴링을 이해하면 프로세스 우선순위 높이는 방식을 알 수 있으며, 이는 본인이 만든 프로그램 성능 향상을 어떻게 할 수 있는지 깨닫는다. 문제는 우선순위를 높이는 방식이 항상 좋은 것만은 아니라는 점을 알아두어야 한다.

  • Chapter 12 프로세스 동기화
    현대 프로그래밍은 결국 병렬처리로 갈 수 밖에 없다. 대규모의 데이터를 빠르게 처리해야 하는데, CPU 자원은 한정적이기 때문이다. 이 챕터에서는 간략하게 설명해주었지만, 프로세스 동기화와 처리 방법에 대해서는 동시성 프로그래밍 책을 추천한다.(molonlabe.tistory.com/32)

  • Chapter 13 교착 상태
    흔히들 말하는 데드락. 식사하는 철학자 문제를 그림으로 잘 설명해주었다.
  • Chapter 14 가상 메모리
    운영체제의 가장 핵심적인 역할 중 하나다. 지금까지 컴퓨터구조와 운영체제를 알아야 하는 이유는 프로그램 최적화와 성능과 직결되기 때문이다. 그 중 핵심적인 역할을 하는 부분이 가상 메모리다. 
  • Chapter 15 파일 시스템
    USB 포맷을 해봤다면 NTFS와 ext 포맷 중 선택하라는 것을 본 적이 있을 것이다. 어떠한 차이가 있는지 설명해준다.

최근에 성능과 최적화 분야에 관심이 많아서 그런지 책을 굉장히 재밌게 읽었다.

물론 현재 맡고 있는 업무에 바로 직결되는 부분은 없기 하지만 일부 도움되는 부분은 있었다.

다른 개발자 동료들이 단순히 면접용 질문으로 공부하지 말고 근본을 파고들어 공유하는 문화가 발달했으면 좋겠다.

 

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

 

컴퓨터 구조, 운영체제, 듣기만 해도 머리가 아플 것 같다.
그래서일까, 컴퓨터 공학을 배운 전문 집단이 아닌 사람들은 회피하고, 공부하려고 마음 생각조차 하지 않는다.
그리고, 개발자, 데이터 분석가의 길로 접어든 사람들도 운영과 관련된 것이라 생각하고, 멀리 했을수도 있다.
그런데, 개발이나 분석가로 살아가다보면, IT 관리자들과 협업해야 할 시점이 곧 다가온다.
최근 인기 있는 리액트 핸즈온을 하려고 간 자리에서, 컴퓨터 구조에 대한 스쳐지나가듯 이야기하는 전문 용어에 머리가 탁 막힐때도 있다.

이제 컴퓨터 구조와 운영체제는 미래를 준비하는 사람들이라면, 개발자, 문과생들도 어느 정도는 알아두면 좋을 시대로 가고 있는 것 같다.
그래서 난 모든 사람들에게 이 책을 권하고 싶다. 선택의 문제가 아닌 그냥 필수가 되지 않을까 싶다.
다들 내가 왜 이것을 배워 하지만, 저는 책 초반 100페이지의 기본 내용들이 좋았다.
예전 R과 파이썬으로 문자열을 다룰때 글자가 깨져서, 머리가 아팠는데, 인코딩, 디코딩의 개념을 초보자도 알 수 있도로 쉽게 설명한 것과 적당한 내용(깊이 안 들어감)에 마음에 들었다.

그래서 책을 읽은 입장에서 새롭게 구입을 고민하는 분들에게 이렇게 보면 좋을 것 같은 이야기를 하고자 한다.
책은 사지만, 동영상으로 공부하시기를 추천해드린다.
현재 10개 정도의 동영상이 올라와 있는데, 저자분이 계속 올리고 있다.
전 책을 먼저 읽고 동영상을 보았는데, 사실 컴퓨터 구조와 운영체제는 아무리 쉽게 쉬워도 입문자에게는 어렵다.
그래서, 저자의 말로써 먼저 이해를 해보는 것이 좋다고 본다. 책의 많은 내용에서 어디를 중점으로 이해하는지 잘 설명해주신다.
책을 그냥 읽는 것이 아니라, 이해시키기 위해서 책에 없는 말로도 설명하고, 전체적인 윤곽을 잡아주므로, 책보다 영상을 먼저 보고, 책으로 정리하는 것이 좋다고 본다.
 

20220911_175445.jpg

 


그런데, 책도 그렇고, 영상도 그렇고 좋았던 점이 예시 그림들이 많다는 것이다.
그림만 연결해서 보아도, 그 단위의 이야기가 연결된다.
동영상도 그림과 간략 설명으로 하는데, 그림 위주로 설명이 나온다.

그리고 팁하나, 책에는 없는 실전 테스트 링크도 살짝 살짝 들어가므로, 책을 좀 더 쉽게 이해할 수 있게 구성하였다.

컴퓨터 공학에서 4년 동안 배울 내용을 한권으로 구성했다는 것은 별 내용이 없다고 여길수도 있지만, 컴퓨터 구조+운영체제를 한번도 배운적인 없다면 꽤 어려운 내용들도 심화편(100페이지 이후)에 나온다.
그런데, 이것도 지금 다 알아야 하기 보다는 앞으로 개발하는 과정에 생길 수 있는 여러 문제에 대한 단초가 될 수 있기에, 영상과 함께 책 한번 미리 읽어둔다고 가볍게 생각하는 것이 좋겠다.

지금까지 PC를 조립하고 업그레이드 하고, 운영체제를 여러번 밀고 깔고 반복한 세월이 꽤 되지만, 이번에 그동안 답답한 했던 것들이 많이 해소되었다.
물론 비용과 성능 향상을 위한 가장 기초적인 것들이지만, 이 책을 읽고 안 읽고는 매우 큰 격차가 날 수 있기에, 이번 기회에 쉬운 책으로 컴퓨터 구조와 운영 체제를 접해 보기를 권해본다.



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

 

본 포스터는 한빛미디어에서 [나는 리뷰어다]를 통해 책을 지원받아 작성한 리뷰 포스터입니다. 

 

 

이번에 리뷰할 책은 혼자 공부하는 컴퓨터구조 + 운영체제라는 책 입니다. 최근 대학원 졸업을 하고, 최근 많은 IT 기업에 면접을 다니고 있습니다. 면접에서 컴퓨터 구조와 운영체제에 대한 질문을 받은 적이 있는데, 한번도 배우거나 공부해본 적 없는 내용이다보니 하나도 대답을 못한 적이 있습니다. 데이터 분석 + AI 엔지니어쪽을 희망하더라도, 기본적인 컴퓨터구조나 운영체제쪽은 알아야겠다는 생각에 해당 책을 읽기로 마음먹었습니다. 

 

해당 책의 구성은 컴퓨터 구조(1~8장), 운영체제(9~15장)으로 구성되어있습니다. 전체 페이지는 500페이지로 양이 생각보다 많은 편입니다. 좀 더 세부적인 내용 구성은 아래와 같습니다. 

  • 1~3장 : 컴퓨터 구조를 알아야하는 이유 및 구조에 대한 그림, 작동 방법 
  • 4~8장 : 컴퓨터의 핵심 부품 : CPU, 메모리, 보조기억장치, 입출력장치 
  • 9~10장 : 운영체제, 프로세스와 스레드, 멀티프로세스와 멀티스레드 
  • 11~13장 : CPU 스케쥴링, 동기화 
  • 14~15장 : 가상 메모리 관리, 파일 시스템 

생각보다 양이 많아서 아직 내용은 다 못봤고, 관심이 있는 9~10장 내용을 먼저 보기 시작했습니다. 읽으면서 좋았던 점이 그림이 많아서 이해하기가 쉬웠고, 마무리로 학습문제가 있어서 중고등학교때 교과서를 읽는 느낌을 받았습니다. 

 

 

책의 표지에 개발자에게 필요한 전공 지식을 습득하고 싶을때, 기술 면접을 제대로 준비하고 싶을때라는 표현이 있는데, 굉장히 맞는 표현으로 느껴졌습니다. 기술 면접을 준비하는 많은 분들에게 도움이 될만한 책인 것 같고, 기술 면접을 준비하지 않더라도 해당 분야를 처음 공부하는 사람들에게 많은 도움이 되는 책 같습니다. 

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

 

- 개발자가 되기 위해 프로그래밍 언어와 관련된 공부를 하는 사람은 많이 있습니다. 코드를 작성하고 잘 동작하는 것이 중요하기 때문이죠. 하지만 컴퓨터 구조와 운영체제까지 공부하는 사람은 흔치 않습니다. 이를 몰라도 코드를 작성하는데 큰 문제는 없기 때문입니다.

- 하지만 어떤 문제가 발생했을 때, 컴퓨터 구조와 운영체제를 아는 것이 문제 해결에 더 빠르고 쉬운 길을 제공하는 경우가 많습니다. 키워드만을 알고 있더라도, 어디가 문제인지 파악하는데 더욱 효율적인 셈이죠. 또한 기술면접에서 간단한 CS 질문에 대해 답을 못하는 것은 매우 치명적이기 때문에 이를 위해서도 공부하는 것이 필요합니다.

 

## 혼자 공부하기 좋은 특징

 

- 컴퓨터 구조와 운영체제 전공 도서를 보면 빽빽한 텍스트에 지레 겁을 먹기 좋습니다. 외워야 할게 매우 많아 보이기도 하죠. [혼자 공부하는 컴퓨터 구조 + 운영체제, 혼공컴운]은 혼자 공부하기 좋은 구성을 가지고 있습니다.

 

### 꼭 필요한 내용만을 담았다

 

- 컴퓨터 구조와 운영체제는 보통 두 권의 책으로 공부합니다. (Mano의 컴퓨터 시스템 구조와 Abraham의 운영체제, 보통 공룡 책이라 부르죠) 그만큼 공부할게 많고 알아야 할것도 매우 많습니다.

- 하지만 혼공컴운은 입문자의 입장에서 두 권의 책에서 반드시 알아야 하는 것들만 녹여내 부담스럽지 않은 분량으로 구성되어 있습니다.

 

### 충분히 많은 그림으로 상황을 설명한다

 

- 딱딱하고 복잡한 설명 대신 다양한 상황을 그림과 함께 설명하고 있어, 책에서 설명하는 내용을 더욱 쉽게 이해할 수 있습니다.

- 또한 간단하고 재밌는 예시로 비유적인 학습이 가능한 것도 장점 중 하나입니다.

 

### 반복학습이 가능한 구조

 

- 각 챕터는 개념에 대한 설명 -> 키워드로 정리하는 핵심 포인트 -> 확인 문제로 구성되어 있습니다. 상대적으로 많은 내용을 먼저 학습하고, 짧은 키워드로 핵심 내용을 정리한 다음, 확인 문제를 통해 마지막으로 복습하고 있어, 보다 오래 기억될 수 있도록 잘 짜인 구조가 큰 장점입니다.

 

## 대상 독자

 

- 컴퓨터 구조와 운영체제를 한 번도 공부하지 않았던 개발자나, 개발자가 되고 싶은 예비 개발자가 읽기에 아주 적합한 도서라고 생각합니다.

 

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

	

한빛미디어에서<나는 리뷰어다>를 통해 책을 지원받아 작성한 리뷰입니다.

 

 

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

 

이번 리뷰할 책은 혼자 공부하는 컴퓨터 구조 + 운영체제입니다.

한빛미디어에서 출시했고 강민철 님이 저자입니다.

 

이전 리뷰도 혼자 공부하는 시리즈였는데 이번에도 같은 시리즈입니다.

2022.06.25 - [책일기] - [북리뷰] 혼자 공부하는 얄팍한 코딩 지식(비전공자도 1:1 과외하듯 배우는 IT 지식 입문서)

 

[북리뷰] 혼자 공부하는 얄팍한 코딩 지식(비전공자도 1:1 과외하듯 배우는 IT 지식 입문서)

한빛미디어에서<나는 리뷰어다>를 통해 책을 지원받아 작성한 리뷰입니다. 이번에 리뷰할 책은 혼자 공부하는 얄팍한 코딩 지식(비전공자도 1:1 과외하듯 배우는 IT 지식 입문서)입니다. 한빛미

hasudoki.tistory.com

 

이 시리즈는 색상이 들어가는 컬러북이어서 가독성이 좋고 이미지도 풍부하게 삽입되어 있어서 이해하기 쉽습니다.

전 리뷰에도 써놓았지만 간략하게 장점을 적어보겠습니다.

1. 가독성이 매우 좋음

2. 챕터마다 마무리 정리 후 문제가 있음

3. 유투브 동영상을 제공해줌

4. 마지막에 혼공 용어 노트 부록이 있음

 

자세한 내용은 이전 리뷰를 참고 부탁드립니다.

 

이제 책 컨셉이 아닌 책 내용에 대한 리뷰를 적어보겠습니다.

비전공자 개발자인 저에게 항상 고민거리가 있었습니다.

전공자들이 대학교 때 배운 지식들이 제게 없다는 점이었습니다.

실무에서는 큰 필요가 없다고 많이 이야기하시는데 결국 개발자로 커리어를 이어간다고 했을 때는 꼭 필요한 부분이라고 생각됩니다.

CPU, RAM, 하드웨어,  스레드 등 이런 용어들을 보면 아 대충 이런 거구 나하고 쓱 넘어간 부분들이

나중에 결국 다시 공부를 해야 되는 상황이 오게 됩니다.

 

그래서 대학교 때 전공서적을 검색해봤는데 아.. 역시 전공서적이다 하고 마음을 잠시 내려놓은 상태였습니다.

 

이때 마침 리뷰할 책이 컴퓨터 구조 + 운영체제라서 저한테 딱 맞는 상황이었습니다.

읽다 보니 제가 찾던 책이어서 너무 반가웠습니다.

 

비전공자를 위한 쉬운 그림

유튜브 강의

전공서적과는 다르게 친근하게 읽을 수 있는 구성

 

전반부에는 컴퓨터의 구조를 이야기하고 후반부에는 운영체제를 다루고 있습니다.

 

전공자분들을 한번 더 복습하는 기분으로

비전공자분들을 전공자가 되는 기분으로 읽으면 좋을 것 같습니다.

 

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

 

Intro

벌써 네 번째 읽어보는 혼공 시리즈 책입니다. 이번에는 컴퓨터 구조와 운영체제를 주제로 나왔네요. 저는 솔직히 혼공 시리즈가 너무 쉽다는 이유로 별로 좋아하지 않았습니다. 전공자 입장에서는 더 세부적인 걸 원하게 되는 것 같습니다. 그러나 몇몇 다양한 책을 읽어보니 혼공 시리즈만큼 읽기 편한 책이 없었습니다. 이제는 비전공자 또는 막 공부하기 시작하는 전공생에게 너무 도움이 되는 시리즈라고 느끼고 있습니다.

Book Review

읽기 쉬운 책

컴퓨터 구조를 처음 공부하게 되면 architecture를 ARM 또는 RISC-V로 배우게 되는데 이 책은 입문자를 대상으로 하니 그런 어려운 지식은 거의 배제되어 있습니다. 너무 디테일하게 CS 지식을 알려주는 책은 아니라는 겁니다. 만약 이 책이 디테일하고 쉽게 설명되었더라면 책 두께가 어마어마했을 것입니다.

정말 꼭 필요한 필수 요소 즉, 핵심만 들어가 있으며 공부하면서 쓸데없는 고민을 하지 않게 해줍니다. 그런 점에서 저는 이 책이 매우 읽기 쉬웠다고 생각합니다.

이해하기 쉬운 그림

초보자가 이해하기 쉽도록 그림으로 매우 설명이 잘 되어 있습니다. 컴퓨터 구조 같은 경우에는 처음 공부하게 되면 어떤 구조로 돌아가는지 순서가 어려울 수 있으나 이 책은 첫 장부터 삽화로 잘 표현이 되어 있기에 어렵지 않았습니다.

혼자 공부하는 사람을 위한 책

혼자 공부하게 되면 자신이 공부한 지식이 제대로 머리에 남았는지 알기 쉽지 않습니다. 그렇기에 공부한 후에 지식을 점검하는 것은 꼭 필수라 생각합니다. 이 책은 각 장의 마지막에 마무리로 정리를 다시 해주고, 확인 문제를 통해 제대로 공부했는지 점검할 수 있게 해줍니다. 이게 혼공 시리즈의 장점이라 생각합니다.

책의 맨 끝에 부록으로 혼자 공부하는 사람을 위한 혼공 용어 노트가 있습니다. 정말 별거 아니지만, 정말 출판사가 혼자 공부하는 사람을 위해 노력하고 있다는 모습이 보여서 재밌기도 하고, 이 책을 읽는 사람에게는 도움이 많이 되겠다고 생각했습니다.

대상 독자

컴퓨터 구조와 운영체제 수업을 선행 학습해보고 싶은 2학년 전공생에게 추천합니다. 제가 컴퓨터구조, 운영체제 수업을 들을 때 이 책이 왜 없었는지 아쉽기만 합니다. 그때로 돌아간다면 수업보다 이 책으로 먼저 공부를 시작했을 것입니다.

또한, 요즘 많은 비전공자들이 국비 학원 또는 다양한 교육 프로그램을 통해 개발을 공부하고 있는 걸로 알고 있습니다. 그러나 그런 프로그램에서는 CS 공부를 정말 간단하게 하는 경우가 많은 것 같습니다. 솔직히 저는 그 정도의 공부로는 부족하다고 생각하는 사람으로서 프로그램의 수업을 듣되, 꼭 책도 읽어보라고 권합니다. 나중에 다시 책 추천할 일이 있더라면 이 책으로 컴퓨터구조와 운영체제를 공부해보라고 할 것 같습니다.

 
 

potea_혼공컴운.jpg

 

컴퓨터 구조와 운영체제는 컴퓨터의 근간에 대한 이야기입니다. 

- 저자 인터뷰 중 -

 
 
 
분야에 상관없이 어느 정도 경지에 올라선 분들이 강조하는 것이 있습니다.
'기초, 기본에 충실해야한다.'
이 책에서 다루는 내용이 컴퓨터 공학의 기초에 대한 내용입니다.
 
 
다양한 프로그래밍 언어, 프레임워크, 라이브러리 등을 익히고 활용할 시간도 부족한 시대입니다만 배우고 익히다 보면 궁금해지고 파고 들어가는 것이 개발자의 습성아닐까요?
원리를 파고 들어가다 보면 결국 마지막에 마주치게 되는 것이 운영체제와 컴퓨터의 구조입니다.
자바스크립트를 공부했다면 브라우저의 원리가 궁금해지고, 브라우저를 공부하다보면 여러 엔진들의 원리가 궁금해지고, 하나하나 엔진들을 공부하다보면 운영체제와 컴퓨터 구조를 만나게 됩니다.
반대의 경우도 있습니다. 디지털 공학, 컴퓨터 구조를 배우고 어셈블리 언어, C언어, C++ 등의 순서로 점점 더 추상화된 언어를 배워나갈 수도 있습니다.
앞의 예가 비전공자분들인 경우가 많고, 뒤의 예가 전공자분들이 경우가 많을 것 같네요. (제 경험은 그렇습니다만 늘 그런 것도 아닙니다.)
 
 
양자 컴퓨터는 구조가 좀 다르겠지만 '폰 노이만(Von Neumann) 구조'의 컴퓨터, 이 세상 대부분의 컴퓨터는 이 책에서 이야기하는 내용을 벗어나지 않을 겁니다.
다양한 전공서적을 검토해서 핵심만을 뽑아서 집필했다는 저자의 말처럼 가장 중요한 기초 이론들로 꽉 채워져있습니다.
책은 컴퓨터 공학에 대한 내용을 알기 쉽게 잘 설명하고 있습니다. 적절한 그림과 예시 등으로 다소 어려운 내용들도 쉽게 설명하고 있습니다.
그리고 [유튜브 강의](https://youtu.be/bls_GjX-4U8)를 통해 저자의 설명을 들을 수 있습니다.
무료로 공개된 강의지만 '책 값이 강의료다'라고 생각하고 유료 강의와 같은 퀄리티로 준비했다는 저자분의 말씀이 인상적이었습니다.
 
 
주니어 채용에서 주로 질문하는 것들은 '기본'에 대한 내용입니다.
비슷한 커리큘럼으로 개발을 공부하고, 유사한 팀 프로젝트를 진행해서 포트폴리오로 제출하고 있기 때문에 그들의 실력을 판별하기가 쉽지 않습니다.
그래서 늘 질문하는 것들이 '기본'과 관련된 것들입니다.
이 책에 쓰여진 내용들은 '기본'이라고 생각하고, 탄탄한 기초를 쌓았는지 확인하기 위한 질문으로 좋겠다라는 생각이 들었습니다.
그리고 주니어들 중에 컴퓨터 공학에 대해 조금 부족한 분들에게는 이 책을 추천하면 괜찮겠다는 생각이 들었습니다.
기존에는 "한 권으로 그리는 컴퓨터과학 로드맵"이나 "CODE"를 추천했었습니다.
위의 책들은 기초를 다지기에 너무 얕거나 분량의 압박을 받아 실패(?)하는 경우가 많았습니다.
이번에 읽은 '혼.공.컴.운'은 적절한 깊이와 분량이 아닐까 싶네요.
 
 
"한빛미디어 [나는 리뷰어다] 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 

 

대상 독자

  • 현직 개발자 혹은 개발자 지망생
  • 기술 인터뷰를 준비중인 취업/이직 지망생 (0 ~ 3년차)

책의 특징

  • 비전공자도 쉽게 이해할 수 있는 그림 자료와 도식이 많이 있다.
  • 별도의 선행학습 없이 해당 책만 읽어도, 일정 수준 이상의 컴퓨터 구조, 운영체제 지식을 얻어갈 수 있다.

이 책을 읽어야 하는 이유

  • 클라우드 환경에서 명령어 몇줄로 애플리케이션 코드를 생성하는 요즘, 컴퓨터 구조가 어떻게 이루어졌고 동작하는지 생각할 수 있는 개발자는, 그렇지 않은 사람과는 문제 해결과 최적화를 이룬 접근 방법부터 다르다.
  • 전공 교재로 사용되는 교과서는 학문적으로 깊게 파고들다 보니 이해가 쉽지 않다. 이 책은 너무 깊지도, 그렇다고 얕지도 않은 수준으로 컴퓨터 구조, 운영체제의 핵심을 서술하여 독자들의 이해도를 높이는데 초점을 뒀다.

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

본 리뷰는 한빛미디어의 나는 리뷰어다에서 책을 제공받아서 작성된 리뷰입니다.

 

img (1).png

 

 

책 신청 이유개발자로서 요즘 같이 이직 준비 및 면접관으로써 참여 시에 CS 지식이 점점 더욱 필요한 시기인 것 같아서 공부도 하고 좀 더 깊이 있는 개발자로 성장하고 싶어서 신청하게 되었습니다.

 

목차컴퓨터 관련은 01 ~ 08챕터까지이고

운영체제 관련은 09~15챕터까지입니다.서평큰 챕터는 아무래도 책 제목처럼 컴퓨터, 운영체제로 나뉩니다.

이 책에서는 그래도 혼자 공부하는 시리즈라서 다양한 가이드가 있습니다.

 

이 책에서는 학습 로드맨을 제시를 해줍니다. 학습에 있어서 한눈에 어떤 파트가 중요한지 알 수 있어서 좋았던 것 같습니다.그리고 내용 중에 이해하기 쉽게 도표나 서식 도형 등 및 강조되는 내용은 볼드 처리되어 있어서 더욱 이해하기 좋았습니다.

img (2).png

 

 

 

이렇게 메인보드에 CPU, 메모리, 시스템 버스랑 보조기억장치, 입출력 장치들이 어떻게 연결되어 있는지 그림으로 설명이 잘되어 있어서 더욱 이해하기가 좋았습니다. 이게 혼공 시리즈의 장점인 것 같아요.

 

 

 

학부시절에 십육 진법 손가락으로 외우는 방법 또 그림으로 보니 더욱 새롭네요.

 

 

그리고 해당 책에서는 좀 더 알아보기 파트에는 해당 내용에서 좀 더 보충 설명이 있어서 해당 파트에 대해 좀 더 이해하기 좋았어요. 저는 이렇게 스택과 큐가 은근히 헷갈릴 수도 있는걸 이렇게 그림으로도 설명이 잘되어 있습니다.혼자 공부하기 너무 좋아요.

 

이렇게 마지막에는 마무리로 키워드로 핵심 포인트를 다시 한번 짚어보고 문제도 풀어볼 수 있습니다.이 책을 읽고 나서 더욱더 컴퓨터 구조와 운영체제에 대해서 깊이 있는 학습을 하였고무엇보다 전산 쪽을 전공하시는 학생분들 또는 신입 개발자 분들에게 더욱더 추천을 드리고 싶습니다.

 

경력이 쌓일수록 제일 중요한 건 기본(컴퓨터 구조와 운영체제) 이거든요.그리고 기술면접에서도 이런 배경지식이 있다면 더욱더 좋을 거라 생각합니다.

 

 

 
 
 

	

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

이제는 운영체제 및 컴퓨터구조를 알고 배워야하는 일이 소수의 사람들만 하지 않는 시대이다. 컴공과를 졸업하는 이쪽분야의 전공자이든 아니든 혹은 ICT분야에 뛰어든 어느 누구든 반드시 알아야 할 필수 지식이 되었다. 저 또한 이런 종류의 전문서가 꼭 필요하다고 정말 있어야 한다고 생각하던 차에 만날 수 있는 참 좋은 기회였다. 특별히 컴퓨터 구조 하나하나 기초부터 설명되어 있는 책은 정보처리 관련 자격증 수험서에서 접할 수 있었던 내용이어서 자격증 시험이 아닌 전문서를 보다 쉽게 접할 수 있었다.

이 책은 컴퓨터 구조에서 반드시 알아야 하는 기초부터 다루고 있다. 일반적인 지식에서 보다 한층 더 깊이 만날 수 있는 하지만 그림과 곁들여서 같이 버무려가며 읽어가는 재미 또한 맛볼 수 있다. 작은 소단원을 마칠때마다 확인문제를 통해 다시 한번 읽었던 내용을 복습하게 하는 것도 저자는 놓치지 않는다.

”혼자 공부하는~” 시리즈의 다른 책 처럼 스스로 학습할 수 있도록 잘 다듬어진 책 한권을 끝내면 내 자신이 더 크게 얻을 수 있는 지식의 깨달음을 경험할 수 있도록 잘 안내하고 있어서 ICT를 전공하고 특별히 운영체제나 컴퓨터 구조에 대해 길을 묻는 후배들에게 좋은 길잡이가 될 것이며, 마지막 페이지를 덮을 때쯤이면 스스로 나 자신이 많이 성장해 있음에 대견해 할 것이다.

시스템, 운영체제, 네트워크 등 기초 지식은 IT업계에 종사하고 있다면 다양한 곳에서 필요하게 됩니다.

e.g. IT부서와의 협업을 위한 소통, Linux 기반의 분석 서버 활용, 프로세스 최적화를 위한 컴퓨터 구조의 이해 등

 

특히, IT 부서와 협업하는 경우, 그들에게 익숙한 용어로 소통을 하는 것은 기본 매너이자 정확하게 요구 사항을 전달할 수 있는 방법 중 하나이며, 상대방의 보다 나은 협조를 받아낼 수 있는 팁이기도 합니다.

 

해당 도서에서 다루는 내용은 IT업계 종사자가 아니더라도 기본적으로 알아두면 좋은 컴퓨터 상식들도 많이 다루고 있으니 한 번쯤은 가볍게 읽어보시는 것을 추천드립니다.

 

만약, IT업계에 종사하고 있으시다면 한 번쯤은 꼭 읽어보시길 추천드립니다.

 

study-alone-computer-structure-operating-system

고등학교 때부터 현재까지 컴퓨터를 항상 이용하고 한시도 떨어지지 않는 날들이 많아지고 있지만, 정작 컴퓨터가 어떻게 작동하는지 각 부품들이 무슨 역할을 하는지에 대해서 잘 알고 있지 못하였다. 

 

 또한 막연히 알고만 있던 운영체제에 대해서도 알기 쉽게 써있어서 큰 도움이 되었고, 비전공자로 IT관련 분야에 일하는 만큼 관련 지식이 많이 부족하여 애먹었던 적이 많았던 차에 정말 좋은 책으로 내게 다가왔다. 

 

 정말 1대1 과외 받듯이 배우는 “혼자 공부하는” 시리즈는 정말 비전공자를 위해서 태어난 책인듯 싶었다. 따로 언어를 공부하지 않아 “혼자 공부하는” 시리즈를 이책으로 처음 접하였는데, 다른 시리즈의 책들도 한번 읽어볼 호기심이 샘솟는 그런 책이였다. 

 

리뷰 링크 :  여기 


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

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

 

요즘 IT개발자 취업에 대해서 관심이 많아지면서 IT전공자들 뿐만 아니라 IT비전공자들도 부트캠프나 여러 IT교육기관등을 통해서 IT개발자로의 취업을 준비도 많이하고 취업도 하고 하는데, 이런 단기 과정들을 통할경우 취업에 바로 사용할수 있는 코딩기술등에 대해서만 교육을 하고 취업에 내가서 일을 하게 되기 때문에, 일을 하면서 운영체제위에서 개발도구들을 통해서 컴파일 해서 결과가 실행되는 과정들만을 하게 되어 운영체제나 컴퓨터 하드웨이 장비들에 대한 깊이 있는 이해를 할수 없어서 본인의 스킬을 향상시키는데 어려움이 있는 경우가 많이들 발생하고 있습니다.

 

IT전공자들은 전공필수 과목으로 컴퓨터구조나 운영체제, 컴파일러등 그리고 오래전에 교육을 받으신 분들은 어셈블리어등에 대해서도 조금은 경험을 해본 경우들이 있어서 프로그래밍 개발을 할때 이게 어떻게 컴퓨터에서 작동을 하는지 전반적인 부분을 이해할수 있기는 하나 한번 정도는 정리가 필요하신 분들에게도 계실듯 합니다.

 

 

 

 

 

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

 

이번에 새로 출간된 '혼자 공부하는 컴퓨터 구조+운영체제'는 제가 개인적으로도 좋아하는 '혼자 공부하는' 시리즈로 새로 나온 책으로 IT비전공자들 뿐만 아니라 전공자들도 혼자서도 독학으로 공부를 할수 있도록 나온 책으로, IT개발자로 취업을 준비하거나 일을 하시면서 코딩을 할때 어떻게 컴퓨터에서 작동이 되는지 전반적인 컴퓨터 구조와 운영체제 등에 대해서 이해를 하는데 많은 도움이 되는 책이라고 생각이 됩니다.

 

컴퓨터는 0과 1만을 이해한다고 들어보셨을 겁니다. 고급언어인 요즘 많이들 사용하는 자바, 파이썬 등으로 코딩을 하면 이게 어떻게 컴퓨터가 이해할수 있는지에 대한 과정에 대해서 책의 앞부분에서 책의 학습의 시작을 하게 되며, 컴퓨터이 두뇌라고 할수 있는 CPU, 모바일에서는 AP에 대해서 어떻게 작동하는지를 알수 있으며, 그 다음으로는 프로그램의 명령어와 데이터등을 저장하는 메모리(RAM) 그리고 데이터를 보관할수 있는 보조기억장치 순으로 학습을 하게 되며, 마지막에는 운영체제에 대해서 이해할수 있게 되면서 전체적인 컴퓨터가 어떻게 작동을 하는지 이 책 한권으로 전반적인 것을 다 정리하고 이해할수 있습니다.

 

 

 

 

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

 

컴퓨터에 대한 모든 내용들을 모두 깊이있게 이해하고 학습할수 있다면 그보다 좋은 것은 없을 것입니다. 

IT개발자로 현장에서 일을 하는데 그정도 까지는 아니더라도 꼭 필요한 컴퓨터 구조와 운영체제에 대한 꼭 알아두어야 하는 정도의 필요한 내용들을 이 책 한권에 정리가 되어 있기 때문에, IT개발자 뿐만 아니라 IT엔지니어등 ICT, IT관련 취업이나 관심이 있는 IT비전공자, 전공자 모두에게 이번 기회에 깔끔하게 정리를 할수 있을 것이고, IT취업을 준비하고 있는 분들에게 '기술면접'을 대비할수 있는 최고의 책이라고 생각 해서 추천 합니다.

 

 

 

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

 

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

 

1. 너무 디테일한 CS는 다루지 않습니다.

* 컴퓨터 구조, 운영체제에 대해 알아야 하는 큰 그림들을 잘 설명해주고 있습니다. 그 안에 회로라던지, 디테일한 심화 지식을 원하는 경우에는 전공서를 보는게 좋습니다.

* 전문 용어에 익숙하지 않은 분들이 읽을 때 좋습니다. 일단 쉽게 익히는 이책을 기반으로 컴퓨터 구조와 운영체제에 대해 익히고, 용어를 인지한 다면 큰 도움이 될 것 같습니다.

 

2. 쉽게 익힙니다.

* 혼자 공부하는 사람들을 위해, 초심자용으로 작성되다 보니 도표 및 그림이 많습니다.

* 내용을 한번 알려주고 끝을 내지 않습니다. 설명을 하고, 그 예시로 더 디테일한 내용을 설명함으로 인해 반복 학습을 할 수 있게 되고, 이를 기반으로 더 내용을 잘 이해하게 도와줍니다.

 

 

개발자로써 취업 혹은 이직(저연차) 을 할 때, 인터뷰에 꼭 등장하는 컴퓨터 구조랑 운영체제! 

내 생각엔 운영체제 질문이 많은 것 같다. 물론 완전 연관성 있지만.. 

2년 전 취업준비 할 때, 컴퓨터구조(이하 컴구) 랑 운영체제 (이하 OS)공부를 안 했었다.. (컴퓨터 지식 안 묻는 회사 면접을 봤고 붙..읍..) 

그래서 이직 준비 하려니 발목을 잡는 컴구 + OS .. + 네트워크.. 등 

그런데, 컴구 + 운체 대학교때 교과서 보려니 진짜 두껍고 내용 너무 많고 이해 하나도 안 되는 원서 번역본 보자니 막막했는데

혼공 시리즈로 나왔다 대박 ㅜㅜ 진짜 이거만 있음 저연차 컴구+OS 질문은 끄떡없을듯!! 

감사한 책. 

 

 

 

목차는 컴퓨터 구조가 1~3챕처, OS가 4~8챕터다. 

컴퓨터 구조의 경우 램,,IO..메모리..등등 어떻게 생겨먹었는지를 보여준다. 

그림이 진짜 깔끔해서 너무 좋았음

대학교에서 배운거 복습하기 너무 좋음

(내생각 +운영체제에서 이해하려면 컴구 지식이 필요함) 

 

 

OS 면접 단골 질문.. 내용도 완전 잘 설명되어있다 

✅ 컨택스트 스위치 그림 쉽게 잘 되어있다.. 

✅메모리 영역 중요하죠..별 다섯개 

 

면접준비용으로도 좋지만, 진짜 제대로 이해할 수 있을 것 같다! -> 개발하는데 다 필요하다구~! 

 

 

(나처럼..) 개발자 취업 및 저연차 이직준비를 한다면 추천한다!! 

그리고 대학교 전공 서적을 보기엔 시간이 없다면 이걸로 복습하는 것도 너무 좋을 듯! 

 

한빛미디어 담당자님 혼자 공부하는 네트워크 도 만들어주세요 ㅎㅎㅎㅎ (대학교때 컴퓨터 네트워크 안 들어서 고생중ㅇ이에흑흑)

 

 

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

예산이 한정된 상황에서 값비싼 컴퓨터가 늘 최선의 선택은 아닙니다.(p38)
...
여러분이 개발한 프로그램이 어떤 환경에서 어떻게 작동하는지는
여러분이 가장 잘 이해하고 있어야 하고,
프로그램을 위한 최적의 컴퓨터 환경을 스스로 판단할 수 있어야 합니다.(p39)

 

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

 

◎ 컴퓨터구조와 운영체제를 알면 할 수 있는 일들에 대하여

 

난이도는 초초급이며, 내용 또한 기초를 다지는데 주 목적을 두고 있다. 삽화도 개념마다 다 있어서 내 머릿속에 그림이 그려진듯 했고, 항상 일상에서 컴퓨터를 쓰는데, 컴퓨터란 뭘까? 궁금해! 라고 느낀 사람이라도 누구나 교양으로 읽어도 될 거라고 느꼈다. (가볍게 하루에 1~2 챕터씩 본다는 생각으로 읽으면 2주에 볼 수 있다.) 

 

책 소개에서 기술면접을 대비해서 알아야 한다고는 했지만, 실제 내가 신입때 겪은 수십여개의 면접에서는 이런 구조와 운영체제 관련된 직접적인 질문이 없었던 것 같다.  그러나 실무에서 서버를 다루면서 cpu, 메모리, TPS 등 고려하고 판단해야 하는 일들이 점점 생기면서 어디서부터 접근해야 할지 막막했는데 근간이 되는 컴퓨터의 원리와 운영체제를 통해 이를 해소할 수 있는 이해의 실마리가 되어 줄 것 같다.

 

책 구성은 컴퓨터구조(p30~p257), 운영체제(p258~p480), 확인문제정답+찾아보기index(p481~p503), 부록으로 용어노트 있다. 부록은 한빛미디어 혼공사이트에서 다운이 가능하다! 

엔지니어의 특성을 건드리다

 

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

컴퓨터 박스 안에 있는 부품 안쪽에서 어떤 일들이 일어나고 있는지 알 수 있습니다.

 

컴퓨터가 있는 일상이 자연스럽다 못해 당연한 모습이 된 뒤부터 기계를 바라보는 시각이 바뀌었습니다.

기계의 동력이 전기인 게 이상하지 않은 지는 벌써 오래되었습니다. 전기로 움직이는 기계, 특히 일상에서 자주 접하는 제품들은 뭔가 알아서 움직이고 필요하면 사람에게 신호를 보내기도 하며 사람과 상호작용하는 걸 당연시하고 있습니다. 최근에는 상호작용의 수단으로 언어를 사용하기까지 합니다.

제품 안에 물리적 장치 말고 뭔가 더 있다는 걸 압니다.

 

개발의 도구이자 목표이기도 한 컴퓨터의 내부를 들여다봅니다.

주의,  요약서이지 전무 서적이 아닙니다. 그렇지만 충분히 그림을 그려볼 수 있습니다.

방대한 영역 가운데 필요한 내용들을 선별하였다고 합니다. 가볍게 접근하여 재미있게 볼 수 있지만 고민하고 생각하기 시작하면 만만치 않습니다. 꽂히는 주제에 파고드는 일은 책을 다 읽고 난 뒤에 해도 늦지 않다고 생각합니다.

 

 

컴퓨터의 주요 부품이 움직이는 구조와 원리

 

문단 제목이 지나치게 거창한 느낌이라는 건 인정합니다. 요약서의 내용을 다시 요약하면 이런 일이 발생할 수 있습니다. 들어줬으면 하는 핑계라고 봐주시기 바랍니다.

누구나 한 번쯤 컴퓨터 조립이라는 말을 들어보았을 것입니다. 누군가에게는 뭐가 뭔지 알 수 없는 말이고, 누군가에게는 재미있는 순간일 수 있습니다. 하지만, 끼우고 연결하고 조이는 건 다루지 않습니다.

 

컴퓨터라 불릴만한 게 작동할 때 그 컴퓨터 내부의 부품 안에서 어떤 일들이 일어나는지 알려줍니다.

4가지 핵심 부품들이 가진 특성, 작동을 위해 맡은 역할, 성능 향상을 위한 구조와 적용하는 처리 기법들을 그림과 설명으로 풀어나갑니다.

각 부품은 하루아침에 하늘에서 뚝 떨어진 게 아니라 시간을 두고 개선하고 많은 아이디어를 적용하여 발전시킨 결과임을 알 수 있습니다.

 

 

운영체제가 하는 일

 

한마디로 컴퓨터가 가진 자원을 나누고 할당합니다.

물리적인 한계를 극복하고 성능을 최대한 끌어올리기 위해 어떻게 하고 있는지 보여줍니다.

쪼개고, 분리하고, 공유하기도 하고, 순서를 바꾸기도 합니다. 이러한 시도는 교착  상태라는 상황을 피할 수 없습니다.

피하기보다 맞닥뜨릴 때마다 해결하며 나아가는 방향을 택합니다.

 

 

프로그래밍 언어에서 사용하는 용어의 출처

 

개발을 하다 보면 참 이해하기 어려운 단어들을 만나는 일이 종종 있습니다.

사전에서 뜻을 확인해봐도 뭔가 아귀가 맞지 않는 느낌입니다. 다른 단어도 많은데 왜 하필 이 단어를 사용하는지 도무지 알 수 없습니다. 그냥 그런가 보다 하고 넘어가지만 그 단어를 만날 때마다 느끼는 어색함은 어쩔 수 없습니다.

이 책을 읽으면서 답답함을 해소할 수 있었습니다.

운영체제에서 적절하게 사용하기 시작한 용어가 프로그래밍에서 사용하는 용어로 자연스럽게 넘어간 것이었습니다.

 

 

구조와 운영체제 둘 다 완성형이 아닌 현재 진행형입니다.

그 끝을 상상하기는 어렵지만 앞으로 계속 나아질 것입니다.

지금의 컴퓨터 구조와 운영체제를 알 수 있는 좋은 기회는 지금입니다.

 

 

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

 

역시 믿고 보는 혼공 시리즈다. 컴퓨터 구조와 운영체제를 한 권으로 콤팩트하게 다룬 책이라니..


컴퓨터과학과 학생이 왜 컴퓨터의 하드웨어 구조를 알아야 하는지부터 시작해서 명령어의 동작 방식을 설명하고, 자연스럽게 운영체제 개념으로 넘어간다. 

운영체제가 무엇인지와 프로세스와 스레드가 무엇인지를 소개한 후, 대용량의 연산을 효율적으로 수행하기 위한 멀티 스레딩, 멀티 프로세싱을 설명한다.

여기에 추가로 가상 메모리와 파일 시스템까지 설명하는 알찬 책이다.

어쩌다보니 코스가 꼬여 아직 컴퓨터 구조, 운영체제 수업을 듣지 못했는데, 수강 전에 개념 다잡기용으로 큰 도움이 될 것으로 기대한다.

 

아직 컴구, OS를 듣지 못한 (또는 들었으나 기억에 남는 것이 없는) 모든 컴퓨터관련학과 학생들에게 추천한다. 

물론 비전공자에게도 정말 친절한 선생님이 되어준다.

저는 디자인 일을 하고 있지만 컴퓨터를 좋아합니다.

제 주변에도 디자인하시는 분들 중에서 컴퓨터를 잘 몰라서 자주 전화를 받곤 합니다.

갑자기 모니터 해상도가 변했다....

포맷을 어떻게 해야 하냐...

노트북 사양은 어떤 게 좋냐...

 

전공분야는 아니지만 오랫동안 컴퓨터랑 씨름을 하다 보니 자연스럽게 컴퓨터에 대한 부담감은 없습니다.

하지만 지내다 보면 소프트웨어 같은 건 어렵지 않지만 좀 더 깊숙이 들어가면 확실히 차이가 드려집니다.

그리고 코딩 공부를 할 때도 기초 지식이 부족해서 이해가 안 되는 부분이 많았습니다.

그래서 컴퓨터학과 대학교재를 봐도 무슨 말인지 잘 모르겠고...

아는 것 같지만 책을 덮으면 아무 생각도 없고...

주변에 컴퓨터 쪽으로 강의를 하시거나 일하시는 분들도 있고 해서 궁금한 것을 물어봐도... 잘 모르겠더군요.

개발자는 아니지만 컴퓨터 회사를 들어갈 것은 아니지만 컴퓨터는 일상입니다.

컴퓨터구조나 운영체제에 대한 지식이 전공자처럼 있어야 하는 것도 아니고 어느 정도의 상식을 가지고 있길 바라서 오늘은 혼공 시리즈 중에서 컴퓨터 + 운영체제 (혼공컴운)이라는 도서로 공부해 봤습니다.

 

아... 그동안 앱 개발에 대한 공부를 도전하면서 그냥 개발서만 본 것을 후회하게 되었습니다.

그동안 공부를 하면서 메모리 처리, 커널 같은 게 무슨 이야기 줄 몰라서 그냥 그런가 보다 했습니다.

이제는 뭔가 알 거 같습니다^^;;;

혹시나 앱 개발이나 코딩, 개발자에 도전하고 싶다면 먼저 이런 도서를 보시길 추천드립니다. 

01.jpg

제가 좋아하는 혼공 시리즈입니다^^

유튜브 강의도 있으니 참고하시면 공부에 도움 됩니다. 

 

02.JPG

 

03.JPG

 

전체적인 흐름은 크게 2가지로 나누어 있습니다.

컴퓨터 구조편과 운영체제편으로 분리가 되어있기에 구분해서 참조하시길 바랍니다.

 

04.JPG

각 챕터를 8개로 구성하고 있습니다. 총 페이지는 500페이지 정도입니다.

 

05.JPG

챕터 안에는 해당 절에서 중점적으로 볼 내용의 타이틀로 시작합니다.

그리고 타이틀 밑에는 이번 절에서 어떤 내용을 공부하는지 간단한 문장으로 확인할 수 있습니다.

 

06.JPG

시작하기 전에는 해당 절에서 배울 내용과 주요 정보를 소개하고 있습니다.

 

07.JPG

전공자가 아닌 컴퓨터에 관련이 없는 초보들에게도 쉽게 설명하기 위해서 캐릭터가 나와서 쉬운 설명을 말풍선으로 보여줍니다.

 

08.JPG

그리고 중간마다 공부할 내용에 대해서 귀여운 그림으로 알기 쉽게 설명하고 있습니다.

 

10.JPG

여기서 잠깐 박스에는 추가적으로 알아야 할 IT 지식 같은 것을 소개합니다.

은근히 몰랐던 부분이나 궁금했던 내용들이 많더군요.

 

11.JPG

해당 절이 끝나면 마무리 박스에는 핵심 키워드로 내용을 정리해서 복습할 수 있습니다.

 

12.JPG

그리고 학습한 내용을 문제로 한 번 더 확인하기에 지식 습득에 도움이 됩니다.

 

13.JPG

그리고 마지막 부분에는 혼공 용어 노트를 제공합니다.

따로 분리해서 참고용으로 가지고 다니시면 공부하시는 데 도움이 많이 될 것입니다.

 

그동안 IT 공부를 하면서 수박 겉핥기 식으로 공부한 거 같습니다.

후회가 되네요... 이런 책을 먼저 봐야 했는데... 그냥 들어갔네요^^;;

이번 공부를 통해서 앱 개발이나 IT 관련해서 좋은 공부가 되었습니다.

 

 

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

 

KakaoTalk_20220830_230113396.jpg

 

 

가려웠던 부분을 긁어주는 느낌. 내가 무엇을 모르는지 감이 안잡히는 대학교를 막 졸업한 사람들에게 추천해주고싶다. 물론, 이론적인 내용을 다시 짚어보고싶은 이직 준비자에게도 추천해주고 싶다.

20220829_214914.jpg

최근에 컴퓨터 공학이 많이 각광을 받고 개발로 커리어를 전환 하시는 분들이 많습니다. 그리고 복수 전공, 부전공을 통해 컴퓨터 공학을 공부하시는데 그 중에서도 개발자 면접에 있어서 가장 기본적으로 나오는 단골 질문은 컴퓨터 구조와 운영체제의 기초입니다. 학교에서도 전공생이 듣기 쉽지 않고 지루한 과목으로 저도 공부하는데 있어서 동기부여 혹은 프로그래밍만큼 재미있게 흥미를 붙이기 힘들었습니다.

 

본 책에서는 컴퓨터 구조와 운영체제의 기초부터 심화 부분을 예제를 통해 설명을 해주는 점이 최고 장점입니다. 그리고 비전공생들에게도 이해가 쉽도록 그림과 함께 설명을 해주고 있습니다. 또한 혼자 독학을 하는데 있어서도 유튜브에 강의가 있다는 점이 최대 장점인 것 같습니다.

 

d.PNG

 

 

 

제가 이전에 이책을 보았더라면 운영체제와 컴퓨터 구조를 이해하는데 적은 시간과 효율적으로 공부할 수 있었을 것 같습니다. 더불어서 시각적으로 개념이 설명되어 있는 점은 이해를 하고 시험 준비 그리고 면접 준비를 하는데 다른 분들에게도 큰 도움이 될 것으로 예상됩니다.

 

 

 

마지막으로 좋은 책 제공과 기회를 주신 한빛미디어 담당자 분들께 감사 드립니다. 9월에도 내용이 탄탄한 도서를 읽고 빨리 리뷰를 남기고 싶습니다.

 

 

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

 

'혼자 공부하는' 시리즈는 특유의 구성과 중간중간 상세한 그림 설명들까지 그려져 있어 좋아하는 책이다. 이번에 읽어본 '혼자 공부하는 컴퓨터 구조+운영체제'는 한 번 이 내용에 대해서 배워보거나 공부해본 적이 있는 사람이라면 수월하게 읽을 수 있게 되어있다. 설명도 충실하지만 어렵지 않게 다뤄서 마치 교양 서적을 읽는 듯한 느낌을 받을 수 있다. 다만 완전히 전공서적과 같은 느낌은 아니기 때문에 더 깊은 내용을 공부하고 싶다면 다른 자료를 참고해야 하는 편이 좋을 것 같다. 전공자에게는 가볍게 내용을 떠올려 볼 수 있고, 초심자에게는 나름대로 쉽게 내용을 공부해볼 수 있는 좋은 책이다.

"‘전공서가 너무 어려워서 쉽게 배우고 싶을 때’, ‘개발자가 되고 싶은데 뭐부터 봐야 하는지 모를 때’ ‘기술 면접을 제대로 준비해야 할 때’ 다른 입문서에서는 알려주지 않았던 진짜 컴퓨터 공학 지식을 『혼자 공부하는 컴퓨터 구조+운영체제』에서 만나 보자!"

 

혼공컴운이라는 신조어가 있다고 하네요.^^

혼공컴운의 의미는 혼자 공부하는 사람들이 서로 격려하는 모습을 일컫는 신조어라고 해요~

한빛미디어에서 나온 혼공시리즈는 혼자서 공부하기 좋게 구성이 되어 있습니다.

 

 

학습 로드맵을 살펴 보면 이 책에서 알려 주고 싶은 목표를 명확하게 확인 할 수가 있습니다.

먼저 컴퓨터 구조를 살펴 보고 운영체제에서 프로세스와 스레드의 개념, 가상메모리와 파일 시스템까지를 이해 하도록 로드맵으로 되어 있는것을 확인 할 수 있습니다.

컴퓨터구조를 이해하면 우리가 PC를 구매하거나 클라우드 서비스를 이용할때 자신에게 적합한 모델을 선택하기가 용이해질 뿐만 아니라 프로그래밍을 하고 있는 개발자도 자신이 만든 프로그램이 문제가 발생했을 때 H/W의 사양 때문인지 혹은 OS의 플랫폼과의 충돌인지 자신의 프로그래밍 문제인지 빠르게 파악 할 수가 있습니다.

이 책에서는 컴퓨터 구조에서 각각의 부품들이 어떤 역할을 하는지 자세히 다루고 있기 때문에 이렇게 각각의 부품들의 역할을 이해 한다면 일반인이라면 PC를 선택하거나 문제가 발생했을 때 원인을 해결 할 수 있고, 프로그래머 라면 자신의 프로그래밍 문제인지 빠르게 확인 할 수가 있겠네요.

또한 프로그래머라면 운영체제에서 사용하는 프로세스와 스레드의 개념을 이해 해야만 운영체제 위에서 동작하는 멀티스레드 프로그래밍을 자유롭게 구현할 수 있을 것입니다.

이 책에서는 프로세스와 스레드의 개념을 이해하고 cpu 스케줄링 알고리즘을 다루면서 서로 다른 프로세스끼리 데이터를 공유할 때 동시다발적으로 실행되는 수 많은 프로세스가 한개의 자원을 사용하게 되면 서로 사용하기 위해 교착상태에 빠지게 되는데 이러한 것을 처리하기 위한 방법등을 살펴 보게 되므로 이러한 부분을 이해한다면 프로그램 구현 시 한단계 업그레이드 된 프로그램이 탄생할 것입니다.

 

서평

이 책을 읽기 전에 막연하게 "컴퓨터 구조는 어느 정도 알고 있으니 굳이 이 책을 읽어 볼 필요가 있을까?" 라고 생각하면서 살짝 망설이면서 신청한 책이었는데요~

읽어 보면서 제가 명확하게 알지 못했던 내용들도 다시 한번 짚어 보면서 그 동안 알고 있던 구조들이 더욱 명확해 지면서 많은 도움을 받았습니다.

프로그래밍을 하시는 분들이 흔히 놓치기 쉬운 부분이 "컴퓨터구조를 굳이 알 필요가 있을까?","플랫폼만 이해하면 프로그래밍 하는데 문제가 없잖아" 라고 생각하시기 쉬운데요. 컴퓨터 구조를 이해하고 프로그래밍을 하는 것과 그렇지 않은 경우는 어떤 문제가 발생했을 때 해결하는 방법에서 많은 차이가 있을 수 있습니다.

마치 이미 만들어진 플랫폼 위에서 블록을 조립하듯이 끼워 맞춰서 자신이 원하는 자동차를 만드시는 분이 두 명이 있다고 하면 한 명은 그 위에 블록을 조립하는 방법만 이해하고 있는 분과 한명은 플랫폼의 내부의 구성을 이해하고 있는 분이라면 자신이 만들고 싶은 자동차가 블록조립만으로 안 될때 처리하는 방법이 달라 진다는 것이죠~

블록을 조립하는 방법만 이해하는 분은 자신이 원하는 블록이 나올때 까지 기다려야 하겠지만, 플랫폼의 구조를 이해하는 분이라면 스스로 그 블록을 만들 수 있기에 좀 더 자유롭게 설계를 할 수 있지 않을까요~

프로그래밍 역시 마찬가지입니다. 컴퓨터 구조를 이해하지 않더라도 프로그래밍이 가능하지만 컴퓨터 구조와 운영체제를 이해 한다면 훨씬 다양한 프로그래밍을 구현 할 수가 있게 될것 같네요.

 

이 책은 컴퓨터 구조에 관심이 있는 분들이 보셔도 좋겠지만, IT 분야에 종사하시는 분들에게 정말 많은 도움이 될 것 같은 생각이 드네요.^^

 

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

개발자 등 IT 관련 직접적 업무를 하지 않고 있기 때문에 컴퓨터 구조나 운영체제와 같은 과목은 주로 대학(원)과 자격시험 대비를 위해서 공부해왔다. 그렇다 보니 절반은 이해를 하고, 그렇지 못한 부분은 늘 코 앞에 닥친 시험을 위해(학교 혹은 자격시험) 물리적으로 무작정 외우는 수 밖에 없었다. 더욱 답답한 것은 어려웠던 내용을 간신히 이해하고 풀렸다 싶은 내용이 책 덮이는 순간 인사도 없이 휘발되버린다는 것이다. 그래서 또 다시 해당 과목들을 봐야 할 때 매 번 똑같은 경험을 반복하게 된다.

 

이 책은 IT에서 기초 아니 기본 중 가장 기본적인 내용이자 필수로 알아야 하는 내용들이다. 오래전에 대학원 수강시에 해외대학에서 재직중인 교수님께서 잠시 귀국하여 한 과목을 강의하신적이 있는데, 어떠한 과목이라고 밝힐수는 없지만, 그 과목 역시 기본은 운영체제에서 시작해야 한다며 운영체제를 그 과목에 맞추어 강의를 하셨었다. 그리고 덧 붙이신 말은 이미 알고 있는 내용들이라 식상하거나 시간낭비라 생각할 수도 있겠지만, 자신도 10년이 넘게 학생들을 가르치며 보고 또 보아도 새로운 것을 발견하게 된다며 시각을 조금 더 바꾸고 그 시간을 함께 하면 좋겠다고 하셨었다. 그리고 그 덕분에 혼자 공부하며 무조건 물리적으로 외워야 했던 내용의 많은 부분을 이해하는 계기가 되었다. 굳이 개인 적인 이야기를 덧붙이는 이유는 이 책을 만나서 펼쳐보았을 때 그 당시 강의시간을 계속해서 떠올릴 수 있었기 때문이다.

 

 

 

 

 

3.jpg

 

[사진] '컴퓨터 구조'에서 RAID 의 정의와 종류를 설명하고 있는 페이지  (본책 p.221)

 

 

2.jpg

 

[사진] '운영체제'에서 페이징을 통한 가상 메모리 관리를 설명하는 페이지 (본책 p.403)

 

 

 

4.jpg

 

[사진] '운영체제' 파일시스템 중 '파일 할당(연속 할당)'을 설명하는 페이지 (본책 p.457)

 

 

 

나 역시 컴퓨터 구조나 운영체제 과목은 처음 접하는 것도 아니고 완전 초보도 아닌 그렇다고 절대 잘 알지도 못하는 애매한 상태에 있기 때문이 무작정 1페이지부터 차근 차근 보려고 하지는 않았다. 대신에 책을 처음 받았을 때 먼저 목차를 살펴보고 앞서 말한 강의 시간에 그리고 그 이후 몇 년에 걸쳐 시험 준비를 하며 어려워 했던 내용들을 별도의 챕터로 구분해서 다루고 있는지 살펴보았다. 특히 컴퓨터 구조 부분에서는 CPU 성능과 관련한 CISC와 RISC 부분, 메모리 공간, 그리고 이해가 됐다 안 됐다 했던 RAID 부분을 표시해서 살펴 보았다. 운영체제의 경우 메모리 할당 부분과 파일 시스템 부분을 집중적으로 보았다. 물론 현재는 작정하고 이 책만 판 것이 아니고 어려웠던 부분이 이 책의 제목 대로 혼자로 보아도 이해가 가능한가를 중심으로 통독을 한 상태라 여전히 100% 이해하지 못한 부분도 분명히 있지만, 그래도 대학 등에서 사용되는 외국 번역 교재(그것도 번역이 엉망이라 늘 원서와 번역서를 함께 펴놓고 보면서 영어를 못함에도 원서가 더 이해가 된다는..)를 보며 힘들어 했던 기억 때문인지 페이지를 넘기는 시간이 훨씬 단축되고 수월했다.

 

 

 

 

5.jpg

 

[사진] 본책 권말에 노트 형태로 수록되어 있는 혼공 용어 노트

 

 

 

그리고 이 책의 장점 중 하나는 몇 문제 되지는 않지만 각 챕터마다 관련 문제가 있고, 권말에 정답과 짤막한 해설이 모두 실려있다는 것이다. 대게 IT 교재의 큰 문제점은 연습문제에 대한 정답과 해설을 구하기 어려워 풀어 놓고도 내가 제대로 이해했는지 늘 확인할 수 없어 고생했었는데, 적어도 그것 때문에 고생하거나 시간낭비는 안해도 된다는 점이다. 그리고 조금 아쉬운 것은 권말에 별책 부록으로 붙어있는 '혼공 용어노트'를 굳이 별책 부록으로 하지 않았어도 되지 않았나 하는 것이다. 별책으로 할 만큼 분량이 많지 않아 권말에 그냥 페이지 수를 늘려서 싣거나 홈페이지에서 PDF 자료로 받아보는게 책이 더 깔끔했을 것 같다. 수험서가 아니기 때문에 굳이 필요하지는 않았던 부분인 것 같다.

 

 

그리고 개인적으로 이 책을 추천하는 대상은 보안 관련 자격시험을 준비하는 분들이다. 처음에 말했듯 IT 및 기술 관련 종사자가 아니다 보니 딱 내 경험에서 보이는 만큼일지는 모르겠지만, 정보보안기사와 산업보안관리사(기술보안 부분)를 준비하시는 분들의 경우 운영체제 과목을 준비할 때 시중에 있는 해당 시험 교재의 운영체제는 중상급 이상의 수준이라 기초를 다지고 싶은 분들은 이 책의 운영체제 부분을 통해 먼저 보충하면 쉽게 이해할 수 있을 것 같고, 디지털포렌식 전문가를 준비하시는 경우 역시 해당 시험 대비용 교재를 통해 부족한 부분은 컴퓨터구조와 운영체제 즉 이 책 전 범위 모두 그 시험에 해당되기 때문에 참고하시길 권한다. 게다가 포렌식 자격시험의 경우 필기 뿐만 아니라 실기시험 시에도 파일시스템 관련하여 위치 계산이 필요한 경우가 있기 때문에 이 책을 통해 기본 사항을 먼저 습득한 후 해당 교재 등을 통해 실습을 하면 큰 도움이 될 거라 생각된다.

 

 

매번 온라인 서점에서 컴퓨터 구조 책과 운영체제 책을 몇 권 정해두고 구입해서 볼까 망설이기를 1년은 한 것 같다. 분명 구입하고도 제대로 보지 않을 것이 분명하기 때문이다. 그리고 애써 구입했는데(오프라인에서는 해당 교재의 경우 비닐로 봉해진 경우가 많아 내용 확인이 안되고, 도서관에서는 해당 분야의 신착 도서를 만나기가 어려워 역시 내용 확인이 어렵다.) 원했던 내용이 아닐까 하는 걱정도 있었다. 좋은 기회에 만난 이 책은 그간의 고민을 싹 덜어주는 것 같다. 읽는 독자의 지식 상태나 위치에 따라 느끼는 상태는 다르겠지만, 오래전 운영체제와 연결해 강의해주시던 그 교수님의 말처럼 분명 이 책을 보는 동안 새로운 사실을 깨닫게 되거나, 물리적으로 외우며 그냥 넘겨야했던 상당 부분을 이해하는 기쁨을 맛 볼 수 있을 것 같다. 이 두 과목을 지금 공부해야 한다면 일 독을 권한다.


 


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

 

 

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

 

 

이 책은 입문자 맞춤형으로 구성된 책입니다.

입문하기 어려운 컴퓨터 구조와 운영체제에 대해 대표 개념부터 워밍업한 후, 본격적으로 알려줍니다. 마무리에서는 주요 개념을 한 번 더 복습하므로 프로그래밍 공부가 난생 처음인 입문자도 무리없이 완독 가능합니다.

또한, 혼자 공부하는 것에 힘을 실어 줄 동영상 강의와 혼공 학습 사이트를 제공합니다. 저자 직강 동영상과 질문을 할 수 있는 학습 사이트를 제공하여 질문을 하나하나 저자가 직접 답변을 달아주고 있으며 관련 최신 기술과 정보를 얻을 수 있습니다. 혼공 학습단도 같이 제공하고 잇습니다.

마지막으로, 용어 노트를 제공하여 낯선 컴퓨터 공학 지식을 반복적으로 학습하여 익숙하게 해줍니다.

https://blog.naver.com/tnsgh9603/222856255108

부록/예제소스
자료명 등록일 다운로드
DOWNLOAD 연습 문제 정답지 2023-02-10 다운로드
결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
혼자 공부하는 컴퓨터 구조+운영체제
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
혼자 공부하는 컴퓨터 구조+운영체제
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
혼자 공부하는 컴퓨터 구조+운영체제
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실