본문 바로가기

추천 검색어

실시간 인기 검색어

0부터 시작하는 OS 자작 입문

내가 만드는 OS 세계의 모든 것
프로그래밍 언어
우치다 코타 저자(글) · 박주항 번역
에이콘출판 · 2022년 06월 30일 출시
10.0 (6개의 리뷰)
도움돼요 (33%의 구매자)
  • 0부터 시작하는 OS 자작 입문 대표 이미지
    0부터 시작하는 OS 자작 입문 대표 이미지
  • A4
    사이즈 비교
    210x297
    187x234
    단위 : mm
MD의 선택 무료배송 사은품 소득공제
10% 54,000 60,000
적립/혜택
3,000P

기본적립

5% 적립 3,000P

추가적립

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 3,000P
  • 리뷰 작성 시, e교환권 추가 최대 300원
배송안내
무료배송 적용상품
배송비 안내
국내도서 / 외국도서
도서만 1만 원 이상 구매 시 무료배송
도서 + 잡지 / 만화 / :K컬렉션을 함께 1만 원 이상 구매 시 무료배송

1만원 미만 시 2,000원 배송비 부과

잡지 / 만화 / :K컬렉션 (교보배송)
각각 구매하거나 함께 2만 원 이상 구매 시 무료배송

2만원 미만 시 2,000원 배송비 부과

해외주문 서양도서 / 해외주문 일본도서 (교보배송)
각각 구매하거나 함께 1만 원 이상 구매 시 무료배송

1만원 미만 시 2,000원 배송비 부과

업체배송 상품 (전집, GIFT, 음반 / DVD 등)
중고장터 상품
해당 상품 상세페이지 "배송비" 참고 (업체 별/판매자 별 무료배송 기준 다름)
바로드림 오늘배송
업체에서 별도 배송하여 1Box당 배송비 2,500원 부과

1Box 기준 : 도서 10권

그 외 무료배송 기준
바로드림, eBook 상품을 주문한 경우, 플래티넘/골드/실버회원 무료배송쿠폰 이용하여 주문한 경우, 무료배송 등록 상품을 주문한 경우
주문정보를 불러오는 중입니다.
서울시 종로구 종로 1

알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.

해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

패키지

북카드

키워드 Pick

키워드 Pick 안내

관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.

OS 세계의 모든 것을 만들어보자!
‘MikanOS’를 직접 제작하며 OS의 구조를 배운다.
OS 구동부터 애플리케이션 실행까지 C++로 OS를 제작하는 전반적인 방법을 다룬다. 단계별로 안내하고 있어 OS 개발 초보자도 따라 하며 진행할 수 있다. 용어의 의미도 함께 설명돼 있다.
이 책은 UEFI BIOS로 시작해서 Intel 64 모드로 동작하는 오리지널 OS인 MikanOS를 구현하는 것을 목표로 한다. MikanOS는 페이징을 사용해 메모리 관리를 수행하고 USB 3.0 드라이버를 탑재한 윈도우 시스템, 선점형 멀티태스크, 파일 시스템을 가진 OS다. 이 책을 통해 OS 제작을 경험해볼 수 있을 것이다.

작가정보

저자(글) 우치다 코타

内田公太
초등학생 시절에 PIC 마이크로 컴퓨터의 어셈블리 언어와 만나 프로그래머의 길로 들어섰다. 고등학교 시절에는 『OS 구조와 원리』(한빛미디어, 2007)의 교정에 참여했다. 도쿄 공업대학교의 계산공학 전공을 수료한 후 ㈜사이보우즈(Cybozu Inc.)에서 인프라 계열의 프로그래밍에 종사했으며, 도쿄 공업대학교에서 소프트웨어 계열의 수업을 담당했다. 2017년부터 2020년에 걸쳐 보안 캠프 전국대회에서 OS 개발 계열의 세미나를 맡아 진행했으며, 2020년에는 사이보우즈랩 주식회사로 전직해 OS나 언어 처리 계열의 연구 개발을 하고 있다. 저서로 『自作エミュレータで学ぶx86アーキテクチャ(자작 에뮬레이터로 배우는 x86 아키텍처)』(マイナビ出版, 2015)가 있다.

번역 박주항

서강대학교에서 컴퓨터공학과 물리학을 전공했으며, JCE(현 조이시티) 온라인 게임 서버 프로그래머, 라인의 백엔드 플랫폼 프로그래머 그리고 모바일 게임 개발 회사 대표를 거쳐 현재 프리랜서로 활동 중이다.
자작 OS 개발에 관심이 많으며 현재 비리눅스 기반이자 MSVC 컴파일러를 사용한 C++ 운영체제인 YUZA OS의 후속 버전 YUZA OS 2 개발을 진행 중에 있다. 주요 저서로는 에이콘출판사에서 출간한 『C++로 나만의 운영체제 만들기』(2018), 『YUZA OS Vol.1 - 소프트웨어편』(2021) 등이 있으며, 번역서로는 『Game Programming in C++』(2019)가 있다. 이 외에도 한빛미디어에서 출간한 『CGSF를 활용한 게임 서버 제작』(2014), 『CGSF 파헤쳐 보기』(2014), 『C++ 개발자를 위한 WIN32 오픈소스 라이브러리 100』(2015), 『SDL과 C++를 이용한 크로스 플랫폼 프로그래밍』(2015) 저서와 『데이터베이스 첫걸음』(한빛미디어, 2016) 번역서가 있다. 또한 위키독스(WikiDocs)에 다수의 전자책을 공개하고 있다. 주요 전자 문서로 『알레그로4 도스 게임 프로그래밍』, 『MSX 게임 프로그래밍』, 『도스 프로그래밍』, 『WIN32 오픈소스 라이브러리 100 Vol.2』, 『SDL과 C++를 이용한 크로스 플랫폼 프로그래밍 Vol.2』 등이 있다.

작가의 말

◈ 지은이의 말 ◈ 이 책은 OS를 직접 만드는 책이다. 30장에 걸친 학습을 통해 간단한 기능을 가진 OS인 ‘MikanOS’를 제작한다. OS란 오퍼레이팅 시스템(Operating System)의 줄임말로 컴퓨터에서 기본이 되는 소프트웨어를 말하며, 윈도우(Windows), macOS, 리눅스(Linux) 등이 유명하다. OS는 인간이 컴퓨터를 사용할 때 중요한 역할을 한다. 웹 브라우저나 워드프로세서 등의 애플리케이션이 공통으로 이용하는 기능을 제공해 애플리케이션 개발을 지원하고, 계산을 위한 자원을 분배해 복수의 애플리케이션을 동시에 사용할 수 있게 한다. 또한 전체적으로 통일된 조작방법을 제공해 컴퓨터를 정교하면서도 동시에 사용하기 쉽게 해준다. 타인이 만든 OS상에서 움직이는 애플리케이션이 아닌, 기존 OS의 힘을 빌리지 않고 ‘직접 만드는 OS’를 제작하는 것이 이 책의 목적이다. 다른 OS의 힘을 빌리지 않는다는 것은, 마우스 조작 시 화면의 마우스 포인터를 이동시키는 처리를 직접 하고, 키보드의 Enter 키를 눌렀을 때 커맨드를 실행하는 처리도 직접 작성하는 것이다. PC에 탑재된 메모리의 양을 파악하고 관리하는 기능도 직접 만들어볼 수 있다. 일반적인 모든 처리를 스스로 구현하는 것이 OS를 직접 제작한다는 것이다. 직접 만들다니 가슴이 두근거리지 않는가? OS 제작이라는 것은 언뜻 보면 매우 쓸데없는 일처럼 보인다. 이미 존재하는 고기능 OS를 모방하려고 만드는 것이니 말이다. 하지만 OS 제작은 우리에게 귀중한 경험을 제공한다. 컴퓨터 시스템이 어떻게 동작하는지 탐구하는 것은 지적 호기심을 자극한다. 실용적인 면에서도 PC 하드웨어나 OS 처리 내용과 관련된 지식은 소프트웨어 엔지니어의 업무 폭을 넓혀준다. OS 동작에 눈길이 향하면 효율적으로 동작하는 앱의 제작 방법을 탐구할 수 있게 된다. 또는 시스템의 장애 원인 조사에 있어서도 OS를 디버깅한 경험을 바탕으로 깊은 곳까지 원인분석이 가능할 수 있다. 만일 리눅스 커널의 코드를 읽을 필요가 생겼을 때, OS를 만든 경험의 유무에 따라 리눅스 커널 코드를 파악하는 능력은 현격히 차이가 날 것이다. 전문용어로 MikanOS의 특징을 소개하면 MikanOS는 UEFI BIOS로부터 부팅을 시작해 64비트 모드로 동작하고, 선점형 멀티태스킹(preemptive multitasking), 윈도우 시스템, 페이징을 통한 메모리 관리, 시스템 콜 등의 기능을 갖춘 OS이다. 이런 전문용어의 의미를 지금 몰라도 문제는 없다. 실제 OS를 만들어가면서 의미를 설명하는 것이 이 책의 역할이기 때문이다. ◈ 옮긴이의 말 ◈ 2000년대 초중반에는 많은 개발자가 자작 OS 개발에 관심을 갖고 있었고, 한국에서도 몇 권의 운영체제 개발 서적이 출간된 적이 있었다. 하지만 리눅스가 OS 세계를 평정하면서 그 열기는 사그라들었으며 한국의 경우에는 자작 OS를 개발하는 시도 자체가 사라졌다. 마치 언리얼 엔진이나 유니티가 3D 엔진 시장을 석권해 대부분의 자작 3D 엔진을 사장시킨 것처럼 프로그래밍 분야에서 자작 OS 개발이라는 주제는 사라지고 만 것이다. 더 이상 자작 OS를 개발하지 않는 이유는 너무나도 단순 명료하다. 개인이 아무리 잘 만든다 하더라도 상용 OS를 뛰어넘기가 불가능하기 때문이다. 다르게 말하자면 돈이 되지 않는다는 뜻이다. 학습해야 하는 정보가 너무나 넘쳐나는 작금의 시대에 있어 불필요한 부분에 시간을 낭비하는 것은 자제할 필요가 있다. 그러나 프로그래밍에 있어 하드웨어 분야를 제외한 모든 소프트웨어를 자신의 손으로 제어할 수 있다는 점은 아주 매력적으로 다가온다. 단순히 리눅스 커널 기반의 코드를 조금 수정하고 GUI로 포장해 독자적인 OS를 개발했다고 하면 그것 자체로도 큰 의미를 가질 수는 있겠지만, 비록 완벽하지 않고 기능이 부족하더라도 모든 코드를 직접 작성해 보는 작업은 그 나름대로의 가치가 있다. 애초에 기존의 OS를 개량하는 것과 자작 OS를 개발하는 것은 프로그래밍 분야가 다르다. 비록 자작 OS 개발이 당장의 실무에 직접적인 도움을 주지는 않겠지만 스스로 자신만의 OS를 개발할 수 있다면 그것은 적어도 어떤 프로그래밍 분야에서도 자신이 살아남을 수 있는 역량을 갖고 있다는 증표가 될 것이다. 그런 의미에서 이 책에서 소개하는 MikanOS는 자작 OS를 개발하는데 필요한 기초를 제공하므로 독자들에게 큰 도움이 될 것이다.

목차

  • 0장. OS를 개인이 만들 수 있다고?

    0.1 OS 만드는 방법
    0.2 도대체 OS란 뭘까?
    칼럼 0.1 OS 사양 및 POSIX
    03 OS 자작 절차
    0.4 OS 자작의 즐거움
    0.5 OS 자작의 구성

    1장. PC의 구조와 HelloWorld

    1.1 HelloWorld
    1.2 USB 메모리의 디바이스명을 찾는 방법
    1.3 WSL 활용하기
    1.4 에뮬레이터 활용하기
    1.5 결국 무엇을 한 건가?
    1.6 어쨌든 손을 움직여보자
    1.7 UEFI BIOS를 통한 기동
    1.8 OS를 만드는 도구
    1.9 C 언어로 HelloWorld
    칼럼 1.1 PE와 COFF와 ELF

    2장. EDK II 입문과 메모리 맵

    2.1 EDK II 입문
    2.2 EDK II로 HelloWorld(osbook_day02a)
    칼럼 2.1 인클루드
    2.3 메인 메모리
    2.4 메모리 맵
    2.5 메모리 맵의 취득(osbook_day02b)
    2.6 메모리 맵의 파일 보존
    2.7 메모리 맵 확인
    2.8 포인터 입문(1): 어드레스와 포인터
    2.9 포인터와 화살표 연산자
    칼럼 2.2 포인터의 포인터

    3장. 화면표시 연습과 부트로더

    3.1 QEMU 모니터
    3.2 레지스터
    3.3 최초의 커널(osbook_day03a)
    칼럼 3.1 레드존
    3.4 부트로더에서 픽셀 그리기(osbook_day03b)
    3.5 커널에서 픽셀 그리기(osbook_day03c)
    3.6 에러 처리를 해 보자(osbook_day03d)
    칼럼 3.2 포인터 캐스트
    3.7 포인터 입문(2): 포인터와 어셈블리 언어

    4장. 픽셀 그리기와 make 입문

    4.1 make 입문(osbook_day04a)
    4.2 픽셀을 자유자재로 그리기(osbook_day04b)
    칼럼 4.1 ABI
    4.3 C++의 기능을 사용해 다시 작성하자(osbook_day04c)
    칼럼 4.2 컴파일 오류는 친구
    4.4 vtable
    4.5 로더를 개량하자(osbook_day04d)

    5장. 문자 표시와 콘솔 클래스

    5.1 문자를 써보자(osbook_day05a)
    칼럼 5.1 참조와 포인터
    5.2 분할 컴파일(osbook_day05b)
    5.3 폰트를 늘려보자(osbook_day05c)
    5.4 문자열 그리기와 sprintf() (osbook_day05d)
    5.5 콘솔 클래스(osbook_day05e)
    5.6 printk() (osbook_day05f)

    6장. 마우스 입력과 PCI

    6.1 마우스 커서(osbook_day06a)
    6.2 USB 호스트 드라이버
    6.3 PCI 디바이스 탐색(osbook_day06b)
    6.4 폴링으로 마우스 입력(osbook_day06c)
    칼럼 6.1 로그함수
    칼럼 6.2 static_cast〈uint64_t〉(0xf)의 수수께끼

    7장. 인터럽트와 FIFO

    7.1 인터럽트(osbook_day07a)
    7.2 인터럽트 핸들러
    7.3 인터럽트 벡터
    7.4 인터럽트 디스크립터 설정
    7.5 MSI 인터럽트
    7.6 인터럽트 정리
    7.7 인터럽트 핸들러의 고속화(osbook_day07b)
    7.8 FIFO와 FILO
    7.9 큐의 구현
    7.10 큐를 사용해서 인터럽트 고속화

    8장. 메모리 관리

    8.1 메모리 관리
    8.2 UEFI 메모리 맵(osbook_day08a)
    8.3 데이터 구조의 이동(osbook_day08b)
    8.4 스택 영역의 이동
    8.5 세그멘테이션 설정
    8.6 페이징 설정
    8.7 메모리 관리에 도전(osbook_day08c)

    9장. 중첩처리

    9.1 중첩처리(osbook_day09a)
    9.2 new 연산자
    9.3 중첩처리의 원리
    칼럼 9.1 스마트 포인터
    9.4 중첩처리의 시간 측정(osbook_day09b)
    9.5 중첩처리의 고속화(osbook_day09c)
    9.6 스크롤 처리의 시간측정(osbook_day09d)
    9.7 스크롤 처리의 고속화(osbook_day09e)

    10장. 윈도우

    10.1 마우스 개량(osbook_day10a)
    10.2 최초의 윈도우(osbook_day10b)
    10.3 고속 카운터(osbook_day10c)
    10.4 깜박거림 해소(osbook_day10d)
    10.5 백버퍼
    10.6 윈도우의 드래그 이동(osbook_day10f)
    10.7 윈도우만 드래그 이동(osbook_day10g)

    11장. 타이머와 ACPI

    11.1 소스코드 정리(osbook_day11a)
    11.2 타이머 인터럽트(osbook_day11b)
    11.3 세밀하게 시간을 측정하자(osbook_day11c)
    칼럼 11.1 volatile의 필요성
    11.4 여러 개의 타이머와 타임아웃 통지(osbook_day11d)
    11.5 ACPI PM 타이머와 RSDP(osbook_day11e)

    12장. 키 입력

    12.1 FADT를 찾자(osbook_day12a)
    12.2 ACPI PM 타이머를 사용하자(osbook_day12b)
    12.3 USB 키보드 드라이버(osbook_day12c)
    12.4 modifier 키(osbook_day12d)
    12.5 텍스트 포커스(osbook_day12e)
    12.6 커서(osbook_day12f)

    13장. 멀티태스크(1)

    13.1 멀티태스크와 콘텍스트
    13.2 콘텍스트 전환에 도전(osbook_day13a)
    칼럼 13.1 x86-64 아키텍처와 스택 얼라인먼트 제약
    13.3 콘텍스트 스위치의 자동화(osbook_day13b)
    13.4 멀티태스크의 검증(osbook_day13c)
    13.5 태스크를 늘리자(osbook_day13d)

    14장. 멀티태스크(2)

    14.1 슬립해 보자(osbook_day14a)
    14.2 이벤트가 도착하면 깨어난다(osbook_day14b)
    14.3 성능측정
    14.4 태스크에 우선순위를 부여한다(osbook_day14c)
    14.5 유휴 태스크(osbook_day14d)

    15장. 터미널

    15.1 윈도우 그리기는 메인 스레드에서(osbook_day15a)
    15.2 액티브 윈도우(osbook_day15b)
    칼럼 15.1 타이틀에 std::string을 사용하는 이유
    15.3 터미널 윈도우(osbook_day15c)
    15.4 렌더링의 고속화(osbook_day15d)

    16장. 커맨드

    16.1 터미널에서 키 입력(osbook_day16a)
    16.2 echo 커맨드(osbook_day16b)
    16.3 clear 커맨드(osbook_day16c)
    16.4 lspci 커맨드(osbook_day16d)
    16.5 커맨드 히스토리(osbook_day16e)
    16.6 절전(osbook_day16f)

    17장. 파일 시스템

    17.1 파일과 파일 시스템
    17.2 BIOS 파라미터 블록
    17.3 디렉터리 엔트리
    17.4 볼륨을 읽어내자(osbook_day17a)
    칼럼 17.1 볼륨 읽기는 16MiB로 충분할까?
    17.5 ls 커맨드(osbook_day17b)

    18장. 애플리케이션

    18.1 파일 할당 테이블(osbook_day18a)
    18.2 최초의 애플리케이션(osbook_day18b)
    18.3 C++로 계산기를 만들자(osbook_day18c)
    18.4 표준 라이브러리(osbook_day18d)

    19장. 페이징

    19.1 실행 파일과 메모리 어드레스
    19.2 어드레스 변환
    칼럼 19.1 사실상의 어드레스
    19.3 애플리케이션의 로드와 실행(osbook_day19a)
    19.4 가상 어드레스와 계층 페이징
    19.5 애플리케이션을 후반부로 이동시키자
    19.6 애플리케이션 로드
    19.7 계층 페이징 구조의 설정
    19.8 계층 페이징 구조의 정돈
    칼럼 19.2 구조화된 바인딩

    20장. 시스템 콜

    20.1 애플리케이션이 OS의 기능을 사용하는 방법(osbook_day20a)
    20.2 OS를 지키자(1)(osbook_day20b)
    20.3 TSS를 설정하자(osbook_day20c)
    20.4 버그 발견을 도와주자(osbook_day20d)
    20.5 시스템 콜(osbook_day20e)
    20.6 시스템 콜의 등록처리
    20.7 시스템 콜의 본체

    21장. 애플리케이션에 윈도우를

    21.1 IST를 설정하자(osbook_day21a)
    21.2 문자열 표시 시스템 콜(osbook_day21b)
    21.3 시스템 콜 작성
    21.4 write()의 작성
    21.5 종료 시스템 콜(osbook_day21c)
    21.6 스택 포인터의 복원
    21.7 코드 정리(osbook_day21d)
    21.8 윈도우를 연다(osbook_day21e)
    21.9 윈도우에 문자를 쓴다(osbook_day21f)

    22장. 그래픽과 이벤트(1)

    22.1 exit()를 사용한다(osbook_day22a)
    22.2 점을 그린다(osbook_day22b)
    22.3 타이머 값의 취득(osbook_day22c)
    22.4 윈도우 렌더링의 최적화(osbook_day22d)
    22.5 선을 긋는다(osbook_day22e)
    22.6 윈도우 닫기(osbook_day22f)
    22.7 키 입력을 기다린다(osbook_day22g)

    23장. 그래픽과 이벤트(2)

    23.1 마우스 입력(osbook_day23a)
    23.2 그림 그리기 소프트웨어(osbook_day23b)
    23.3 타이머 커맨드(osbook_day23c)
    23.4 애니메이션(osbook_day23d)
    23.5 블록 격파 게임(osbook_day23e)

    24장. 여러 개의 터미널

    24.1 터미널을 늘린다(osbook_day24a)
    24.2 커서 깜박임을 스스로(osbook_day24b)
    24.3 여러 애플리케이션 동시 실행(osbook_day24c)
    24.4 윈도우의 겹침 버그 수정(osbook_day24d)
    24.5 터미널 없이 애플리케이션 실행(osbook_day24e)
    24.6 OS를 멈추게 하는 애플리케이션(osbook_day24f)
    24.7 OS를 지키자(2)(osbook_day24g)

    25장. 애플리케이션에서 파일 읽기

    25.1 디렉터리 대응(osbook_day25a)
    25.2 파일 읽기(osbook_day25b)
    25.3 정규표현 검색(osbook_day25c)

    26장. 애플리케이션에서 파일 쓰기

    26.1 표준입력(osbook_day26a)
    26.2 파일 디스크립터의 추상화
    26.3 키보드 입력을 받다
    26.4 EOF와 EOT(osbook_day26b)
    26.5 파일 쓰기(1)(osbook_day26c)
    26.6 파일 쓰기(2)(osbook_day26d)

    27장. 애플리케이션의 메모리 관리

    27.1 디맨드 페이징(osbook_day27a)
    27.2 메모리 맵 파일(osbook_day27b)
    27.3 메모리 사용량을 측정하자(osbook_day27c)
    27.4 카피 온 라이트(osbook_day27d)

    28장. 일본어 표시와 리다이렉트

    28.1 일본어와 문자코드(osbook_day28a)
    28.2 일본어 폰트(osbook_day28b)
    28.3 리다이렉트(osbook_day28c)

    29장. 애플리케이션 간 통신

    29.1 종료코드(osbook_day29a)
    29.2 파이프(osbook_day29b)
    29.3 커맨드라인의 해석과 태스크의 시작
    29.4 파이프 처리의 본체 PipeDescriptor
    29.5 터미널의 시작과 종료
    29.6 태스크 종료
    29.7 sort 커맨드(osbook_day29c)
    29.8 터미널의 버그 수정(osbook_day29d)
    29.9 공유 메모리

    30장. 애플리케이션 더 살펴보기

    30.1 애플리케이션에 경로를 만든다
    30.2 more 커맨드
    30.3 cat을 입력에 대응시킨다
    30.4 닫기 버튼
    30.5 텍스트 뷰어
    30.6 이미지 뷰어

    31장. 앞으로의 길

    부록
    A. 개발환경의 인스톨
    B. MikanOS의 입수
    C. DK II의 파일 설명
    D. C++ 템플릿
    E. iPXE
    F. ASCII 코드표

추천사

  • “마침내 새로운 OS 자작 입문서가 등장했다! 저자의 많은 경험을 통해 OS 개발 방법론은 새로운 시각으로 변모했으며 새로운 가치가 더해졌다. 변하지 않은 가치가 있다면 그 부분은 시대를 초월한 가치일 것이다.”

  • “실제 기기에서 동작하는 OS를 혼자서 개발하는 일은 너무나 설렌다. 이 책을 읽으면 해낼 수 있으며, 즐겁게 개발할 수 있다. 손을 바쁘게 움직여야 하기 때문에 OS나 주변 기술에 대한 이해도를 심화시킬 수 있다. 적극 추천한다.”

  • “읽을지 고민하는 사람에게는 꼭 읽으라고 권하고 싶다. 이 책을 읽는 것 이상으로 효과적인 시간 사용법은 없을 것이다. 이 책으로 인해 새로운 동료와의 만남이나 새로운 목표가 생길지도 모른다.”

출판사 서평

◈ 이 책에서 다루는 내용 ◈

◆ C++로 설명
◆ UEFI BIOS 시작
◆ Intel 64 모드
◆ USB 3.0 드라이버
◆ 페이징을 이용한 메모리 관리
◆ 선점형 멀티태스크
◆ 윈도우 시스템
◆ 파일 시스템

◈ 이 책의 대상 독자 ◈

간단한 프로그램을 작성해본 경험이 있는 사람을 대상으로 작성된 책이다. 수백 줄 정도의 프로그래밍을 한 적이 있다면 걱정 없이 읽어나갈 수 있지만, 프로그램을 조금이라도 작성한 적이 없다면 수월하게 진행하기에는 어려울 수 있다.

기본정보

상품정보
ISBN 9791161756592 ( 1161756590 )
쪽수 968쪽
크기
187 * 234 * 52 mm / 1830 g
총권수 1권
시리즈명
프로그래밍 언어
원서명/저자명 ゼロからのOS自作入門/內田公太

Klover

Klover 리뷰 안내
교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
리워드 안내
구매 후 90일 이내에 평점과 10자 이상의 리뷰 작성 시 e교환권 200원을 적립해 드립니다.
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
한달 후 리뷰
구매 후 30일~ 120일 이내에 작성된 두 번째 구매리뷰에 대해 한 달 후 리뷰로 인지하고 e교환권 100원을 추가 제공합니다.
운영 원칙 안내
Klover 리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰
신고하기
다른 고객이 작성리뷰에 대해 불쾌함을 느끼는 경우 신고를 할 수 있으며, 신고 자가 일정수준 이상 누적되면 작성하신 리뷰가 노출되지 않을 수 있습니다.

구매 후 리뷰 작성 시, e교환권 200원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여주는 교보문고의 새로운 서비스입니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 "좋아요“ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보 없이 삭제될 수 있습니다.
리워드 안내
구매 후 90일 이내에 문장수집 작성 시 e교환권 100원을 적립해드립니다.
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.

구매 후 리뷰 작성 시, e교환권 100원 적립

이 책의 첫 기록을 남겨주세요

교환/반품/품절 안내

상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

이벤트
TOP

저자 모두보기

저자(글)

번역

매장별 재고 및 위치

할인쿠폰 다운로드

  • 쿠폰은 주문결제화면에서 사용 가능합니다.
  • 다운로드한 쿠폰은 마이 > 혜택/포인트 에서 확인 가능합니다.
  • 도서정가제 적용 대상 상품에 대해서는 정가의 10%까지 쿠폰 할인이 가능합니다.
  • 도서정가제 적용 대상 상품에 10% 할인이 되었다면, 해당 상품에는 사용하실 수
    없습니다.

적립예정포인트 안내

  • 통합포인트 안내

    • 통합포인트는 교보문고(인터넷, 매장), 핫트랙스(인터넷, 매장), 모바일 교보문고 등 다양한 곳에서 사용하실 수 있습니다.
    • 상품 주문 시, 해당 상품의 적립률에 따라 적립 예정 포인트가 자동 합산되고 주문하신 상품이 발송완료 된 후에 자동으로 적립됩니다.
    • 단, 쿠폰 및 마일리지, 통합포인트, e교환권 사용 시 적립 예정 통합포인트가 변동될 수 있으며 주문취소나 반품시에는 적립된 통합포인트가 다시 차감됩니다.
  • 통합포인트 적립 안내

    • 통합포인트는 도서정가제 범위 내에서 적용됩니다.
    • 추가적립 및 회원 혜택은 도서정가제 대상상품(국내도서, eBook등)으로만 주문시는 해당되지 않습니다.
  • 기본적립) 상품별 적립금액

    • 온라인교보문고에서 상품 구매시 상품의 적립률에 따라 적립됩니다.
    • 단 도서정가제 적용 대상인 국내도서,eBook은 15%내에서 할인율을 제외한 금액내로 적립됩니다.
  • 추가적립) 5만원 이상 구매시 통합포인트 2천원 추가적립

    • 5만원 이상 구매시 통합포인트 2천원 적립됩니다.
    • 도서정가제 예외상품(외서,음반,DVD,잡지(일부),기프트) 2천원 이상 포함시 적립 가능합니다.
    • 주문하신 상품이 전체 품절인 경우 적립되지 않습니다.
  • 회원혜택) 3만원이상 구매시 회원등급별 2~4% 추가적립

    • 회원등급이 플래티넘, 골드, 실버 등급의 경우 추가적립 됩니다.
    • 추가적립은 실결제액 기준(쿠폰 및 마일리지, 통합포인트, e교환권 사용액 제외) 3만원 이상일 경우 적립됩니다.
    • 주문 후 취소,반품분의 통합포인트는 단품별로 회수되며, 반품으로 인해 결제잔액이 3만원 미만으로 변경될 경우 추가 통합포인트는 전액 회수될 수 있습니다.

제휴 포인트 안내

제휴 포인트 사용

  • OK CASHBAG 10원 단위사용 (사용금액 제한없음)
  • GS&POINT 최대 10만 원 사용
더보기

구매방법 별 배송안내

배송 일정 안내

  • 출고 예정일은 주문상품의 결제(입금)가 확인되는 날 기준으로 상품을 준비하여 상품 포장 후 교보문고 물류센터에서 택배사로 전달하게 되는 예상 일자입니다.
  • 도착 예정일은 출고 예정일에서 택배사의 배송일 (약1~2일)이 더해진 날이며 연휴 및 토, 일, 공휴일을 제외한 근무일 기준입니다.
배송 일정 안내
출고예정일 도착예정일
1일이내 상품주문 후 2~3일 이내
2일이내 상품주문 후 3~4일 이내
3일이내 상품주문 후 4~5일 이내
4일이내 상품주문 후 5~6일 이내

연휴 및 토, 일, 공휴일은 제외됩니다.

당일배송 유의사항

  • 수도권 외 지역에서 선물포장하기 또는 사은품을 포함하여 주문할 경우 당일배송 불가
  • 회사에서 수령할 경우 당일배송 불가 (퇴근시간 이후 도착 또는 익일 배송 될 수 있음)
  • 무통장입금 주문 후 당일 배송 가능 시간 이후 입금된 경우 당일 배송 불가
  • 주문 후 배송지 변경 시 변경된 배송지에 따라 익일 배송될 수 있습니다.
  • 수도권 외 지역의 경우 효율적인 배송을 위해 각 지역 매장에서 택배를 발송하므로, 주문 시의 부록과 상이할 수 있습니다.
  • 각 지역 매장에서 재고 부족 시 재고 확보를 위해 당일 배송이 불가할 수 있습니다.

일반배송 시 유의사항

  • 날씨나 택배사의 사정에 따라 배송이 지연될 수 있습니다.
  • 수도권 외 지역 바로배송 서비스의 경우 경품 수령 선택 여부에 따라 도착 예정일이 변경됩니다.
  • 출고 예정일이 5일 이상인 상품의 경우(결제일로부터 7일 동안 미입고), 출판사 / 유통사 사정으로 품/절판 되어 구입이 어려울 수 있습니다. 이 경우 SMS, 메일로 알려드립니다.
  • 선물포장 주문 시 합배송 처리되며, 일부상품 품절 시 도착 예정일이 늦어질 수 있습니다.
  • 분철상품 주문 시 분철 작업으로 인해 기존 도착 예정일에 2일 정도 추가되며, 당일 배송, 해외 배송이 불가합니다.

해외주문 시 유의사항

  • 해외주문도서는 해외 거래처 사정에 의해 품절/지연될 수 있습니다.

Special order 주문 시 유의사항

  • 스페셜오더 도서나 일서 해외 주문 도서와 함께 주문 시 배송일이 이에 맞추어 지연되오니, 이점 유의해 주시기 바랍니다.

바로드림존에서 받기

  1. STEP 01
    매장 선택 후 바로드림 주문
  2. STEP 02
    준비완료 알림 시 매장 방문하기
  3. STEP 03
    바로드림존에서 주문상품 받기
  • 바로드림은 전국 교보문고 매장 및 교내서점에서 이용 가능합니다.
  • 잡지 및 일부 도서는 바로드림 이용이 불가합니다.
  • 각 매장 운영시간에 따라 바로드림 이용 시간이 달라질 수 있습니다.

수령 안내

  • 안내되는 재고수량은 서비스 운영 목적에 따라 상이할 수 있으므로 해당 매장에 문의해주시기 바랍니다.
  • 바로드림 주문 후 재고가 실시간 변동되어, 수령 예상 시간에 수령이 어려울 수 있습니다.

취소/교환/반품 안내

  • 주문 후 7일간 찾아가지 않으시면, 자동으로 결제가 취소됩니다.
  • 취소된 금액은 결제수단의 승인취소 및 예치금으로 전환됩니다.
  • 교환/반품은 수령하신 매장에서만 가능합니다.

사은품 관련 안내

  • 바로드림 서비스는 일부 1+1 도서, 경품, 사은품 등이 포함 되지 않습니다.

음반/DVD 바로드림시 유의사항

  • 음반/DVD 상품은 바로드림 주문 후 수령점 변경이 불가합니다. 주문 전 수령점을 꼭 확인해 주세요.
  • 사은품(포스터,엽서 등)은 증정되지 않습니다.
  • 커버이미지 랜덤발매 음반은 버전 선택이 불가합니다.
  • 광화문점,강남점,대구점,영등포점,잠실점은 [직접 찾아 바로드림존 가기], [바로드림존에서 받기] 로 주문시 음반 코너에서 수령확인이 가능합니다
  • 선물 받는 분의 휴대폰번호만 입력하신 후 결제하시면 받는 분 휴대폰으로 선물번호가 전달됩니다.
  • 문자를 받은 분께서는 마이 > 주문관리 > 모바일 선물내역 화면에서 선물번호와 배송지 정보를 입력하시면 선물주문이 완료되어 상품준비 및 배송이 진행됩니다.
  • 선물하기 결제하신 후 14일까지 받는 분이 선물번호를 등록하지 않으실 경우 주문은 자동취소 됩니다.
  • 또한 배송 전 상품이 품절 / 절판 될 경우 주문은 자동취소 됩니다.

바로드림 서비스 안내

  1. STEP 01
    매장 선택 후 바로드림 주문
  2. STEP 02
    준비완료 알림 시 매장 방문하기
  3. STEP 03
    바로드림존에서 주문상품 받기
  • 바로드림은 전국 교보문고 매장 및 교내서점에서 이용 가능합니다.
  • 잡지 및 일부 도서는 바로드림 이용이 불가합니다.
  • 각 매장 운영시간에 따라 바로드림 이용 시간이 달라질 수 있습니다.

수령 안내

  • 안내되는 재고수량은 서비스 운영 목적에 따라 상이할 수 있으므로 해당 매장에 문의해주시기 바랍니다.
  • 바로드림 주문 후 재고가 실시간 변동되어, 수령 예상시간에 수령이 어려울 수 있습니다.

취소/교환/반품 안내

  • 주문 후 7일간 찾아가지 않으시면, 자동으로 결제가 취소됩니다.
  • 취소된 금액은 결제수단의 승인취소 및 예치금으로 전환됩니다.
  • 교환/반품은 수령하신 매장에서만 가능합니다.

사은품 관련 안내

  • 바로드림 서비스는 일부 1+1 도서, 경품, 사은품 등이 포함되지 않습니다.

음반/DVD 바로드림시 유의사항

  • 음반/DVD 상품은 바로드림 주문 후 수령점 변경이 불가합니다. 주문 전 수령점을 꼭 확인해주세요.
  • 사은품(포스터,엽서 등)은 증정되지 않습니다.
  • 커버이미지 랜덤발매 음반은 버전 선택이 불가합니다.
  • 광화문점,강남점,대구점,영등포점,잠실점은 [직접 찾아 바로드림존 가기], [바로드림존에서 받기] 로 주문시 음반코너에서 수령확인이 가능합니다.
  1. STEP 01
    픽업박스에서 찾기 주문
  2. STEP 02
    도서준비완료 후 휴대폰으로 인증번호 전송
  3. STEP 03
    매장 방문하여 픽업박스에서 인증번호 입력 후 도서 픽업
  • 바로드림은 전국 교보문고 매장 및 교내서점에서 이용 가능합니다.
  • 잡지 및 일부 도서는 바로드림 이용이 불가합니다.
  • 각 매장 운영시간에 따라 바로드림 이용 시간이 달라질 수 있습니다.

수령 안내

  • 안내되는 재고수량은 서비스 운영 목적에 따라 상이할 수 있으므로 해당 매장에 문의해주시기 바랍니다.
  • 바로드림 주문 후 재고가 실시간 변동되어, 수령 예상시간에 수령이 어려울 수 있습니다.

취소/교환/반품 안내

  • 주문 후 7일간 찾아가지 않으시면, 자동으로 결제가 취소됩니다.
  • 취소된 금액은 결제수단의 승인취소 및 예치금으로 전환됩니다.
  • 교환/반품은 수령하신 매장에서만 가능합니다.

사은품 관련 안내

  • 바로드림 서비스는 일부 1+1 도서, 경품, 사은품 등이 포함되지 않습니다.

음반/DVD 바로드림시 유의사항

  • 음반/DVD 상품은 바로드림 주문 후 수령점 변경이 불가합니다. 주문 전 수령점을 꼭 확인해주세요.
  • 사은품(포스터,엽서 등)은 증정되지 않습니다.
  • 커버이미지 랜덤발매 음반은 버전 선택이 불가합니다.
  • 광화문점,강남점,대구점,영등포점,잠실점은 [직접 찾아 바로드림존 가기], [바로드림존에서 받기] 로 주문시 음반코너에서 수령확인이 가능합니다.

도서 소득공제 안내

  • 도서소득공제란?

    • 2018년 7월 1일 부터 근로소득자가 신용카드 등으로 도서구입 및 공연을 관람하기 위해 사용한 금액이 추가 공제됩니다. (추가 공제한도 100만원까지 인정)
      • 총 급여 7,000만 원 이하 근로소득자 중 신용카드, 직불카드 등 사용액이 총급여의 25%가 넘는 사람에게 적용
      • 현재 ‘신용카드 등 사용금액’의 소득 공제한도는 300만 원이고 신용카드사용액의 공제율은 15%이지만, 도서·공연 사용분은 추가로 100만 원의 소득 공제한도가 인정되고 공제율은 30%로 적용
      • 시행시기 이후 도서·공연 사용액에 대해서는 “2018년 귀속 근로소득 연말 정산”시기(19.1.15~)에 국세청 홈택스 연말정산간소화 서비스 제공
  • 도서 소득공제 대상

    • 도서(내서,외서,해외주문도서), eBook(구매)
    • 도서 소득공제 대상 상품에 수반되는 국내 배송비 (해외 배송비 제외)
      • 제외상품 : 잡지 등 정기 간행물, 음반, DVD, 기프트, eBook(대여,학술논문), 사은품, 선물포장, 책 그리고 꽃
      • 상품정보의 “소득공제” 표기를 참고하시기 바랍니다.
  • 도서 소득공제 가능 결제수단

    • 카드결제 : 신용카드(개인카드에 한함)
    • 현금결제 : 예치금, 교보e캐시(충전에한함), 해피머니상품권, 컬쳐캐쉬, 기프트 카드, 실시간계좌이체, 온라인입금
    • 간편결제 : 교보페이, 네이버페이, 삼성페이, 카카오페이, PAYCO, 토스, CHAI
      • 현금결제는 현금영수증을 개인소득공제용으로 신청 시에만 도서 소득공제 됩니다.
      • 교보e캐시 도서 소득공제 금액은 교보eBook > e캐시 > 충전/사용내역에서 확인 가능합니다.
      • SKpay, 휴대폰 결제, 교보캐시는 도서 소득공제 불가
  • 부분 취소 안내

    • 대상상품+제외상품을 주문하여 신용카드 "2회 결제하기"를 선택 한 경우, 부분취소/반품 시 예치금으로 환원됩니다.

      신용카드 결제 후 예치금으로 환원 된 경우 승인취소 되지 않습니다.

  • 도서 소득공제 불가 안내

    • 법인카드로 결제 한 경우
    • 현금영수증을 사업자증빙용으로 신청 한 경우
    • 분철신청시 발생되는 분철비용

알림 신청

아래의 알림 신청 시 원하시는 소식을 받아 보실 수 있습니다.
알림신청 취소는 마이룸 > 알림신청내역에서 가능합니다.

0부터 시작하는 OS 자작 입문
내가 만드는 OS 세계의 모든 것
한달 후 리뷰
/ 좋았어요
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 올해 주식 투자를 시작했다. 아무것도 모르고 초심자의 행운으로 분유값 정도를 벌고 나니, 조금 더 공부해보고 싶어져서 『초격차 투자법』을 구매했다.
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 구매했어요! 저도 공부하고 싶어서 구매했어요~ 다같이 완독 도전해봐요! :)
기대가됩니다~
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 구매했어요! 저도 공부하고 싶어서 구매했어요~ 다같이 완독 도전해봐요! :)
기대가됩니다~
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 구매했어요! 저도 공부하고 싶어서 구매했어요~ 다같이 완독 도전해봐요! :)
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 구매했어요! 저도 공부하고 싶어서 구매했어요~ 다같이 완독 도전해봐요! :)
기대가됩니다~
기대가됩니다~
기대가됩니다~
기대가됩니다~
이 구매자의 첫 리뷰 보기
/ 좋았어요
하루밤 사이 책한권을 읽은게 처음이듯 하다. 저녁나절 책을 집어든게 잘못이다. 마치 게임에 빠진 아이처럼 잠을 잘수없게 만든다. 결말이 어쩌면 당연해보이는 듯 하여도 헤어나올수 없는 긴박함이 있다. 조만간 영화화되어지지 않을까 예견해 본다. 책한권으로 등의 근육들이 오그라진 느낌에 아직도 느껴진다. 하루밤 사이 책한권을 읽은게 처음이듯 하다. 저녁나절 책을 집어든게 잘못이다. 마치 게임에 빠진 아이 처럼 잠을 잘수없게 만든다. 결말이 어쩌면 당연해보이는 듯 하여도 헤어나올수 없는 긴박함이 있다. 조만간 영화화되어지지 않을까..
작년까지만 해도 주식은 커녕 재테크에 관해 아무것도 모르다가 구매했어요! 저도 공부하고 싶어서 구매했어요~ 다같이 완독 도전해봐요! :)
기대가됩니다~
신고

신고 사유를 선택해주세요.
신고 내용은 이용약관 및 정책에 의해 처리됩니다.

허위 신고일 경우, 신고자의 서비스 활동이 제한될 수 있으니 유의하시어
신중하게 신고해주세요.

판형알림

  • A3 [297×420mm]
  • A4 [210×297mm]
  • A5 [148×210mm]
  • A6 [105×148mm]
  • B4 [257×364mm]
  • B5 [182×257mm]
  • B6 [128×182mm]
  • 8C [8절]
  • 기타 [가로×세로]