본문내용 바로가기
MD의선택 무료배송 이벤트 사은품 소득공제

C++로 나만의 운영체제 만들기 비주얼 스튜디오를 활용한 커널 개발

박주항 지음 | 에이콘출판 | 2018년 09월 28일 출간
5점 만점에 0점 리뷰 0개 리뷰쓰기 |
Klover 9.3(6)
  • 정가 : 40,000원
    판매가 : 36,000 [10%↓ 4,000원 할인]
  • 통합포인트 :
    [기본적립] 2,000원 적립 [5% 적립] 안내 [추가적립] 5만원 이상 구매 시 2천원 추가적립 [회원혜택] 우수회원 5만원 이상 구매 시 2~3% 추가적립
  • 추가혜택 : 카드/포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    12월 14일 출고 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내
장바구니 담기 바로구매

책 그리고 꽃 서비스
책 그리고 꽃 | 책과 꽃을 함께 선물하세요 자세히보기

닫기

바로드림 주문 선물하기 보관함 담기

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

  • 행사도서 포함 3만원 이상 구매 시, 리드잇 2019 캘린더 선..
    2018.12.04 ~ 2019.01.31
  • 웹개발 입문자를 위한 아주 약간의 가이드
    2017.07.11 ~ 2020.12.31
  • #리드잇 페이스북 페이지 팔로우 하시고, 신간소식 빠르게 받아보..
    2017.06.22 ~ 2025.07.31
상품상세정보
ISBN 9791161752051(1161752056)
쪽수 600쪽
크기 189 * 236 * 36 mm /1356g 판형알림

책소개

이 책이 속한 분야

이 책의 주제어

운영체제를 제작할 때 친숙한 개발 환경은 개발속도를 배가시킨다. 이 책에서 설명하는 운영체제 SkyOS는 윈도우 운영체제 환경에서 비주얼 스튜디오를 통해 개발할 수 있다. 또한 C++를 개발 언어로 채택했기 때문에 객체지향 프로그래밍이 가능하며, 표준 C 런타임 라이브러리를 활용함으로써 외부 라이브러리의 손쉬운 포팅 작업을 가능하게 했다. 궁극적으로는 WIN32 에뮬레이션을 통해 WIN32/SkyOS 두 플랫폼에서 동작하는 모듈의 작성이 가능하므로, 개발테스트는 WIN32 환경에서 진행하고 배포는 실기로 하는 구조를 정립했다. 이를 통해 개발자는 자신만의 운영체제를 손쉽게 제작할 수 있을 것이다.

저자소개

저자가 속한 분야

클라이언트 프로그래머로 게임 회사에 입사해 회사 사정 때문에 서버 관련 업무를 맡게 되면서 여러 게임의 온라인 플랫폼을 구축하고 제작해온 개발자다. 프로그래밍 언어로 C++를 주 언어로 사용했지만 모바일 플랫폼 관련 회사에서 일하면서 자바 언어를 다루게 됐고, C++ 언어와는 다른 자바만의 매력에 빠져 자바를 보조 언어로 사용하고 있다. 프로그래밍 자체를 좋아해 운영체제 개발에서부터 파이썬, 루아 같은 스크립트 언어 활용까지 프로그래밍의 모든 영역에 관심을 두고 있다. 유용한 오픈소스를 자신의 프로젝트에 활용하는 것 또한 좋아해서 시간이 날 때마다 여러 오픈소스 공유 사이트에서 소스코드를 내려 받아 분석하는 것을 취미로 삼고 있다. 또한 어드벤처 게임을 광적으로 좋아해서 <로라 보우 2 ? 태양신의 단도>, <스페이스 퀘스트 4> 등 시에라사 게임의 한글 패치를 제작하기도 했다. 현재는 취미로 운영체제를 개발하고 있으며 PC로 개발된 게임소스를 안드로이드로 포팅하는 작업에 푹 빠져있다.
저서로는 『C++로 온라인 게임 서버 구축하기: CGSF를 활용한 게임 서버 제작』(한빛미디어, 2014), 『C++로 온라인 게임 서버 구축하기: CGSF 파헤쳐 보기』(한빛미디어, 2014), 『C++ 개발자를 위한 WIN32 오픈소스 라이브러리 100』(한빛미디어, 2015), 『SDL과 C++를 이용한 크로스 플랫폼 프로그래밍』(한빛미디어, 2015)이 있고 번역서로는 『데이터베이스 첫걸음』(한빛미디어, 2016)이 있다.\

박주항님의 최근작

작가의 말

이 책을 집필하기 전에 몇 권의 책을 집필했지만 이번만큼 힘든 적은 없었다. 어떻게 하면 독자들에게 내용을 잘 전달할 수 있을지 고민하면서 집필했으나 내용이 마음에 들지 않아 수없이 좌절했고, 프로그램에 버그가 발생하면 원인을 찾을 수 없어 며칠 밤낮을 새고 식음을 전폐하며 문제 해결에 몰두했었다. 어떤 때는 무엇을 하고 있는지 의구심이 들 정도로 나아가는 방향에 회의감을 느꼈으나, 어느 순간 해결하지 못했던 문제들이 하나씩 풀리고 작업이 댐 무너지듯 순조롭게 나아가기 시작하자 자신감이 생겼으며 의도한 목표에 도달할 수 있다는 확신을 가졌다. 최종 탈고를 하면서 여전히 뭔가 부족하다는 생각은 가지고 있으나 추후 독자들에게 피드백을 받고 개선해나가면 더 완벽한 운영체제 서적으로 발돋움할 것이라 믿어 의심치 않는다.

목차

1장. SkyOS 프로젝트

예비지식
SkyOS 콘셉트
준비물
비주얼 스튜디오 2017
WinImage
QEMU
SkyOS 소스코드
프로젝트 빌드
프로젝트 구성
프로젝트 빌드
커널의 실행
정리

2장. 운영체제 이론

프로세스
스레드
스택
호출 규약
네임 맹글링
정리

3장. 커널 로딩

GRUB
부팅
설치
실행
GRUB이 전달하는 파라미터
커널 엔트리 찾기
제약사항
글로벌 객체의 초기화
환경 설정
RTTI 기능 제거
예외 기능 사용하지 않기
기타 옵션
정리

4장. 하드웨어 초기화

CPU
메모리 레이아웃
GDT
IDT
정리
PIC
PIT
실습
FPU
인터럽트 핸들러
예외 인터럽트의 종류
실습
정리

5장. 메모리 가상화

가상주소공간
페이징
주소 변환 과정
세그멘테이션
페이징
정리

6장. 메모리 매니저

물리 메모리 매니저
가상 메모리 매니저
페이징 구현
가상주소와 물리주소 매핑
정리

7장. 힙의 구현

커널 힙 알고리즘
할당과 해제 로직
할당
해제
힙 인터페이스
실습
정리

8장. C++

new, delete 연산자 구현
예외 처리
순수 가상함수 호출
힙 손상
클래스 상속
C+ +11
람다 함수
constexpr
실습
정리

9장. 공통 라이브러리

C 런타임 라이브러리 제작
STL
string
vector

리스트

cout
비표준 자료구조
이중 연결 리스트

스택
정리

10장. 디바이스 구현

키보드
키보드 핸들러의 구현
플로피 디스크
플로피 디스크 초기화
하드 디스크
하드 디스크 초기화
하드 디스크 읽기 / 쓰기
정리

11장. VFS

파일시스템
StorageManager 클래스
표준 입출력 함수와의 연계
MINT64 램디스크
메모리 리소스 디스크
실습
정리

12장. 디버깅

맵 파일 익스플로러
PDB
WinDBG
널 포인터 접근
try / catch
로그
정리

13장. 커널 코어 구현

프로세스 매니저
프로세스의 생성
파일로부터 프로세스 생성
정리
콘솔시스템
시스템 프로세스의 생성
콘솔 프로세스
WatchDog
Process Remover
멀티태스킹
태스크 스위칭 세부 구현
정리
실습

14장. 애플리케이션

응용프로그램의 시스템 API 호출 원리
EntryPoint 함수 구현
SkyOS 시스템 API 호출
유저 API
커널 API
시스템 API의 추가
응용프로그램
Hello World
Sort
Math
정리

15장. 그래픽 시스템

그래픽 모드 초기화
RME
GRUB을 활용한 GUI 전환
GUI 환경구축
GUI 콘솔
SkyGUI
SVGA 라이브러리
정리

16장. 써드파티
루아
json 라이브러리
easyzlib
정리

17장. 동적 라이브러리

DLL 로드
SampleDll
정리

18장. Advanced Debugging

커널 디버깅은 원래 가능
VirtualBox를 이용한 디버깅
동적 라이브러리를 활용한 디버깅
콜스택 출력
심벌엔진
정리

19장. SkyOS64

32비트 부트 로더
64비트 커널
ELF 포맷
주의사항
정리

20장. Final

개발사항
GUI 콘솔 실습
SVGA 라이브러리
모듈 개발하기
남은 과제

부록

PE 파일
덤프 테스트 모듈
DumpTest Module
주소 재배치
동기화
스레드와 동기화 객체
멀티 스레드를 사용하는 이유
동기화 객체 종류
Recursive Lock
SkyOS에서의 동기화
어셈블러
스크래치로부터 커널 부팅
디스크에 부트섹터 쓰기
USB에 GRUB 2.02 설치

출판사 서평

★ 이 책에서 다루는 내용 ★

■ GRUB을 활용한 커널 부팅 프로세스 간소화
■ 비주얼 스튜디오 2017을 사용한 커널 빌드
■ C++ 커널 개발방법 설명과 C++ 언어에 대한 심화 주제 학습
■ 운영체제 메모리 관리 시스템 이해
■ 버그에 대처할 수 있는 디버깅 능력 배양
■ WIN32 시스템 구조를 커널에 반영
■ 다양한 GUI 시스템 샘플 예제 제공
■ WIN32와 SkyOS 두 플랫폼에서 모두 동작하는 모듈 개발 방법 설명

★ 이 책의 대상 독자 ★

프로그래머로서 프로그래밍의 꽃이자 로우레... 더보기

북로그 리뷰 (0) 쓰러가기

도서 구매 후 리뷰를 작성하시면 통합포인트를 드립니다.
결제 90일 이내 작성 시 300원 / 발송 후 5일 이내 작성시 400원 / 이 상품의 첫 리뷰 작성 시 500원
(포인트는 작성 후 다음 날 적립되며, 도서 발송 전 작성 시에는 발송 후 익일에 적립됩니다.
외서/eBook/음반/DVD/GIFT 및 잡지 상품 제외)
안내
  • 해당도서의 리뷰가 없습니다.

Klover 평점/리뷰 (0)

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매도서의 문장수집을 기록하면 통합포인트 적립 안내

교환/반품/품절안내

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

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①양서-판매정가의 12%, ②일서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함

이 분야의 베스트

더보기+

이 분야의 신간

  • 하지원
    17,820원
  • 이시카와 아키히코
    22,500원
  • 프랑소와 숄레
    29,700원
  • 정종현
    19,800원
  • 길벗R&D
    27,900원
더보기+

바로가기

  • 우측 확장형 배너 2
  • 우측 확장형 배너 2

최근 본 상품