우연히 싸피에서 라이브 방송 이벤트로 선물받았습니다.
책이 읽기 쉬워 이틀만에 다 읽었습니다.
컴퓨터구조와 운영체제 기본기가 없을때 빠르게 읽어보고 더 학습해야할 부분을 찾을 수 있습니다.
처음 CS 공부를 혼자 시작할 때 강추입니다.
혼자 해도 충분합니다! 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단계에 걸쳐 반복 학습하면서 자연스럽게 머릿속에 기억되도록 구성했다. [핵심 키워드]와 [시작하기 전에]를 통해 각 절의 주제에 대한 대표 개념을 워밍업한 후, 본격적으로 컴퓨터 구조와 운영체제를 알려준다. 마무리에서는 [핵심 포인트]와 [확인 문제]로 주요 개념을 한 번 더 복습한다. ‘혼자 공부할 수 있는’ 커리큘럼을 그대로 믿고 끝까지 따라가다 보면 프로그래밍 공부가 난생 처음인 컴퓨터 구조+운영체제 입문자도 무리 없이 책을 끝까지 완독할 수 있을 것이다!
둘, ‘혼공’에 힘을 실어 줄 동영상 강의와 혼공 학습 사이트!
책으로만 학습하기엔 여전히 어려운 입문자를 위해 저자 직강 동영상도 지원한다. 또한 학습을 하며 궁금한 사항은 언제든지 저자에게 질문할 수 있도록 학습 사이트를 제공한다. 저자가 질문 하나하나 직접 답변을 달아주고 있으며, 관련 최신 기술과 정보도 얻을 수 있다. 게다가 혼자 공부하고 싶지만 정작 혼자서는 자신 없는 사람들을 위해 [혼공 학습단]을 제공한다. 혼공 학습단과 함께하면 마지막까지 포기하지 않고 완주할 수 있다.
셋, 언제 어디서든 가볍게 볼 수 있는 혼공의 잇템, [용어 노트] 제공!
꼭 기억해야 할 컴퓨터 구조와 운영체제의 핵심 개념과 용어만 따로 정리한 [용어 노트]를 제공한다. 처음 공부하는 사람들이 컴퓨터 공학 지식을 어려워하는 이유는 낯선 용어 때문이다. 혼공은 언제 어디서든 꺼내 볼 수 있는 [용어 노트]로 낯선 용어를 반복적으로 학습하도록 도와준다. 제시된 용어 외에도 새로운 용어를 추가하면서 나만의 용어 노트를 완성해 가는 과정도 또 다른 재미가 될 것이다.
먼저 읽은 베타리더들의 한 마디
추천사
그저 그런 개발자에게는 운영체제와 컴퓨터 구조가 중요하지 않겠지만, 실력 있는 개발자에게는 컴퓨터 구조와 운영체제를 아는 것이 필수라고 생각합니다. 이 책은 컴퓨터 구조와 운영체제에 대해 가장 쉽게 설명하고 있습니다. 책에 녹아 있는 저자의 지식과 경험이 입문자부터 전공생, 주니어 개발자들에게 많은 도움이 될 것입니다. _강민성 님(배달의 민족 개발자)
이 책은 다른 서적들과는 달리, 이해하기 쉬운 그림과 함께 CPU, 메모리, 보조기억장치, 입출력장치 그리고 스케줄러, 가상 메모리, 파일 시스템 등 운영체제의 각 기능이 작동하는 원리를 매우 친절하게 설명하고 있습니다. 소프트웨어 개발자로 성장하려는 사람이라면 일독할 것을 강력하게 추천하는 바입니다. _이민석(현 국민대학교 소프트웨어학부 교수, 전 이노베이션 아카데미 학장)
이 책은 컴퓨터 구조에 대해 아주 기본적인 내용부터 CPU와 하드웨어 작동 원리의 깊숙한 곳까지 비교적 쉽게 설명하고 있습니다. IT 엔지니어링을 목표로 하고 있는 엔지니어라면 꼭 한 번쯤 읽어 보고 기본기를 쌓는 데 도움이 되었으면 좋겠습니다. _조대협(구글 클라우드 엔지니어)
이 책은 처음 공부하는 학습자에게는 좋은 길라잡이가, 이미 공부해 본 학습자에게는 좋은 개념 정리서가 되어줄 거라 생각합니다. 학부 시절로 돌아간다면 전공 수업보다 이 책으로 컴퓨터 구조 공부를 시작하고 싶네요. _ 안수빈(서울대학교 대학원)
자료명 | 등록일 | 다운로드 |
---|---|---|
연습 문제 정답지 | 2023-02-10 | 다운로드 |