간편결제, 신용카드 청구할인
네이버페이 1%
(네이버페이 결제 시 적립)
NH(올원페이)카드 12% (31,680원)
(3만원 이상 결제/최대 1만원 할인)
북피니언 롯데카드 30% (25,200원)
(최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (28,800원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (32,400원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (33,480원)
(최대할인 3만원 / 3만원 이상 결제)
Close

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

2013년 9월 9일 이후 누적수치입니다.

판매지수 548
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

40,000원

  • 36,000 (10%할인)

    2,000P (5%적립)

할인혜택
적립혜택자동적립
배송정보
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(16)

  • 사은품(1)

책소개

비주얼 스튜디오를 활용한 커널 개발

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

출판사 서평

[이 책에서 다루는 내용]

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

[이 책의 대상 독자]

프로그래머로서 프로그래밍의 꽃이자 로우레벨 개발의 근간을 이루는 운영체제를 개발하고 싶은 사람을 대상으로 한다. 또한 현대 운영체제의 내부 구조를 더 자세히 이해하고 싶거나, 운영체제를 제작해보고 싶은데 초기 진입에 실패한 프로그래머를 대상으로 한다. 따라서 다음과 같은 사항에 해당된다면 대상 독자라고 할 수 있겠다.

- 자신만의 운영체제를 개발해 보고 싶은 일반 개발자
- 운영체제론을 배우고 있는 학생
- 현대 운영체제의 기본 개념을 이해하고 싶은 프로그래머
- 이론보다는 구체적으로 실행되는 결과물을 원하는 개발자
- 산이 있으면 정상에 오르고 싶은 자
- 바닥부터 개발을 원하는 프로그래머
- 상업적으로 운영체제를 개발하려는 프로그래머

또한 SkyOS는 C++로 제작됐기 때문에 C++ 관련 필요한 기능을 직접 구현했다. 예를 들면 new나 delete 연산자 등이 그것이다. C++라는 언어 자체에 관심이 있는 개발자라면 이 책이 지적 욕구를 만족시켜 줄 수 있을 것이다.

목차

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 설치

본문중에서

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

저자소개

생년월일 -
출생지 -
출간도서 4종
판매수 134권

클라이언트 프로그래머로 게임 회사에 입사해 회사 사정 때문에 서버 관련 업무를 맡게 되면서 여러 게임의 온라인 플랫폼을 구축하고 제작해온 개발자다. 프로그래밍 언어로 C++를 주 언어로 사용했지만 모바일 플랫폼 관련 회사에서 일하면서 자바 언어를 다루게 됐고, C++ 언어와는 다른 자바만의 매력에 빠져 자바를 보조 언어로 사용하고 있다. 프로그래밍 자체를 좋아해 운영체제 개발에서부터 파이썬, 루아 같은 스크립트 언어 활용까지 프로그래밍의 모든 영역에 관심을 두고 있다. 유용한 오픈소스를 자신의 프로젝트에 활용하는 것 또한 좋아해서 시간이 날 때

펼쳐보기

이 상품의 시리즈

에이콘 프로그래밍 언어 시리즈(총 17권 / 현재구매 가능도서 17권)

펼쳐보기

이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

    리뷰

    0.0 (총 0건)

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    0.0

    교환/환불

    교환/환불 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용