한빛출판네트워크

IT/모바일

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

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

한빛미디어

집필서

판매중

혼자 공부하는 컴퓨터 구조+운영체제
좋아요: 9
  • 저자 : 강민철
  • 출간일 : 2022-08-16
  • 페이지 : 504쪽
  • ISBN : 9791162243091
  • 물류코드 :10309

합계 : 25,200

도서판매처

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

     

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

  • 내용이 없습니다.
닫기

해당 상품을 장바구니에 담았습니다.
장바구니로 이동하시겠습니까?