혼자 공부하는 컴퓨터 구조+운영체제 - 강민철 지음
혼자 공부하는 컴퓨터 구조+운영체제

저자 : 강민철

발행일 : 2022년 08월 16일 출간

분류 : 컴퓨터/IT > 컴퓨터공학 > 컴퓨터구조 KDC : 총류(000)

정가 : 28,000원

출판사
출판사연락처
출판사 주소
쪽수
504
ISBN
9791162243091
크기
186 * 260 * 38 mm / 1181 g

도서분류

컴퓨터/IT > 컴퓨터공학 > 컴퓨터구조
컴퓨터/IT > 컴퓨터공학 > 운영체제론
컴퓨터/IT > 대학교재
대학교재 > 컴퓨터

도서소개

혼자 해도 충분합니다! 1:1 과외하듯 배우는 IT 지식 입문서 42명의 베타리더 검증으로, ‘함께 만든’ 입문자 맞춤형 도서 이 책은 독학으로 컴퓨터 구조와 운영체제를 배우는 입문자가 ‘꼭 필요한 내용을 제대로 학습’할 수 있도록 구성했다. 뭘 모르는지조차 모르는 입문자의 막연한 마음에 십분 공감하여 과외 선생님이 알려주듯 친절하게, 핵심 내용만 콕콕 집어 준다. 〈컴푸터 구조〉편에서는 컴퓨터를 이루고 있는 부품들과 각 부품의 역할을 알아본다. 또한 컴퓨터 내부의 구조와 작동법을 이해하고, 컴퓨터가 어떻게 명령어를 처리하는지 학습한다. 〈운영체제〉편에서는 운영체제의 필요성을 배운 뒤 앞서 배운 컴퓨터의 부품들을 운영체제가 어떻게 사용하는지 전체 과정을 살펴본다. ‘전공서가 너무 어려워서 쉽게 배우고 싶을 때’, ‘개발자가 되고 싶은데 뭐부터 봐야 하는지 모를 때’ ‘기술 면접을 제대로 준비해야 할 때’ 다른 입문서에서는 알려주지 않았던 진짜 컴퓨터 공학 지식을 〈혼자 공부하는 컴퓨터 구조+운영체제〉에서 만나 보자! 42명의 베타리더와 함께 입문자에게 꼭 맞는 난이도, 분량, 학습 요소 등을 적극 반영했다. 어려운 용어와 개념은 한 번 더 풀어 쓰고, 적절한 예시와 이해하기 쉬운 그림으로 누구나 이해할 수 있도록 구성했다. 또한 일상 소재를 활용한 비유를 활용하여 어렵게 느껴질 수 있는 컴퓨터 구조와 운영체제를 머릿속에 직접 그리듯이 설명해 준다. ‘혼자 공부해 본’ 여러 입문자의 초심과 눈높이가 책 곳곳에 반영된 것이 이 책의 가장 큰 장점이다.

추천사

강민성 (배달의 민족 개발자) 그저 그런 개발자에게는 운영체제와 컴퓨터 구조가 중요하지 않겠지만, 실력 있는 개발자에게는 컴퓨터 구조와 운영체제를 아는 것이 필수라고 생각합니다. 이 책은 컴퓨터 구조와 운영체제에 대해 가장 쉽게 설명하고 있습니다. 책에 녹아 있는 저자의 지식과 경험이 입문자부터 전공생, 주니어 개발자들에게 많은 도움이 될 것입니다. 이민석 (현 국민대학교 소프트웨어학부 교수, 전 이노베이션 아카데미 학장) 이 책은 다른 서적들과는 달리, 이해하기 쉬운 그림과 함께 CPU, 메모리, 보조기억장치, 입출력장치 그리고 스케줄러, 가상 메모리, 파일 시스템 등 운영체제의 각 기능이 작동하는 원리를 매우 친절하게 설명하고 있습니다. 소프트웨어 개발자로 성장하려는 사람이라면 일독할 것을 강력하게 추천하는 바입니다. 조대협 (구글 클라우드 엔지니어) 이 책은 컴퓨터 구조에 대해 아주 기본적인 내용부터 CPU와 하드웨어 작동 원리의 깊숙한 곳까지 비교적 쉽게 설명하고 있습니다. IT 엔지니어링을 목표로 하고 있는 엔지니어라면 꼭 한 번쯤 읽어 보고 기본기를 쌓는 데 도움이 되었으면 좋겠습니다. 안수빈 (서울대학교 대학원) 이 책은 처음 공부하는 학습자에게는 좋은 길라잡이가, 이미 공부해 본 학습자에게는 좋은 개념 정리서가 되어줄 거라 생각합니다. 학부 시절로 돌아간다면 전공 수업보다 이 책으로 컴퓨터 구조 공부를 시작하고 싶네요.

상세이미지


저자소개

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

목차

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 셋, 언제 어디서든 가볍게 볼 수 있는 혼공의 잇템, [용어 노트] 제공! 꼭 기억해야 할 컴퓨터 구조와 운영체제의 핵심 개념과 용어만 따로 정리한 [용어 노트]를 제공한다. 처음 공부하는 사람들이 컴퓨터 공학 지식을 어려워하는 이유는 낯선 용어 때문이다. 혼공은 언제 어디서든 꺼내 볼 수 있는 [용어 노트]로 낯선 용어를 반복적으로 학습하도록 도와준다. 제시된 용어 외에도 새로운 용어를 추가하면서 나만의 용어 노트를 완성해 가는 과정도 또 다른 재미가 될 것이다. 먼저 읽은 베타리더들의 한 마디 ● 처음 접했을 때 생소한 개념들을 쉽고 자세하게 설명하고 있어 입문자여도 막힘없이 술술 읽을 수 있습니다. _베타리더 양선아 님 ● 컴퓨터 구조, 운영체제라고 하면 왠지 딱딱하고 어렵고 재미없을 것 같다는 편견을 깨게 해 준 좋은 책입니다. _베타리더 윤이찬미 님 ● 전공자에게는 다소 지루한, 비전공자에게는 다소 어려운 주제인데, 쉽고 정확하게 설명하려는 노력에 감탄했습니다. _베타리더 박수빈 님 ● 전공 서적을 공부할 때처럼 지루하고 재미없어 읽다가 포기하는 책이 아니라, 혼자서도 차근차근 끝까지 읽게 되는 책입니다. _베타리더 이준원 님 ● 컴퓨터 구조와 운영체제가 중요한 건 알지만 배울 엄두가 나질 않았는데, 상황을 설명하는 친근한 그림이 많아 쉽게 이해할 수 있습니다. _베타리더 이건우 님 ● 아무리 전공 서적을 읽어도 이해가 안 되고 용어만 둥둥 떠다녔었는데, 이 책을 읽고 머릿속에 흩어져 있던 용어들이 싹 정리되었습니다. _베타리더 박보람 님
목록
장바구니 담기