본문으로 바로가기
평면표지(2D 앞표지)

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


  • ISBN-13
    979-11-6224-309-1 (94000)
  • 출판사 / 임프린트
    한빛미디어(주) / 한빛미디어
  • 정가
    26,000 원 확정정가
  • 발행일
    2022-08-16
  • 출간상태
    출간
  • 저자
    강민철
  • 번역
    -
  • 메인주제어
    컴퓨터구조 및 로직디자인
  • 추가주제어
    운영시스템 OS
  • 키워드
    #컴퓨터구조 및 로직디자인 #운영시스템 OS #컴퓨터공학 #하드웨어 #소프트웨어 #데이터 #메모리 #CPU #프로그램 #프로세스 #파일 #스케줄링
  • 도서유형
    종이책, 무선제본
  • 대상연령
    모든 연령, 성인 일반 단행본
  • 도서상세정보
    186 * 260 mm, 504 Page

책소개

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

 

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


 

 

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

 

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

 

 

누구를 위한 책인가요?

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

 

목차

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 엔지니어링을 목표로 하고 있는 엔지니어라면 꼭 한 번쯤 읽어 보고 기본기를 쌓는 데 도움이 되었으면 좋겠습니다. _조대협(구글 클라우드 엔지니어)

 

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

저자소개

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