간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (38,480원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (28,350원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (32,400원)
(최대할인 4만원 / 2만원 이상 결제)
Close

YUZA OS Vol.1: 소프트웨어편 : WIN32 플랫폼에서 C++로 운영체제 제작하기

소득공제

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

공유하기
정가

45,000원

  • 40,500 (10%할인)

    2,250P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
배송정보
  • 11/29(화) 이내 발송 예정  (서울시 강남구 삼성로 512)
  • 무료배송
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서

  • 상품권

AD

책소개

『C++로 나만의 운영체제 만들기』의 후속편인 이 책은 저자가 직접 제작한 YUZA OS라는 OS를 파헤쳐 보면서 운영체제의 구조와 원리를 설명한다.
리눅스 같은 기존의 운영체제 개발환경에서 벗어나 윈도우 운영체제에서 OS를 개발하며 비주얼 스튜디오 2019와 C++로 운영체제 개발 방법을 설명하는 것이 특징이다. 아울러 저자가 게임 개발자 출신답게 다양한 게임을 자신만의 OS에서 쉽게 제작할 수 있는 방법을 설명하는 것에 심혈을 기울였다. 컴퓨터를 제어하는 모든 소스코드를 장악하고 싶은 개발자에게 큰 도움이 될 책이다.

출판사 서평

★ 이 책에서 다루는 내용 ★

■ 리눅스 기반이 아닌 비주얼 스튜디오 2019 및 상위 버전으로 커널 개발
■ YUZA OS라는 구체적인 결과물로 운영체제 개념 설명
■ 듀얼 시스템을 통한 최강의 디버깅 시스템 지원
■ 표준 프로그래밍 인터페이스를 통한 다양한 앱 및 라이브러리의 포팅 방법
■ 추상화 언어의 마지노선인 C++ 11로 운영체제 개발
■ 자신만의 응용 앱을 손쉽게 구현
■ 윈도우 시스템 프로그래밍 노하우를 운영체제 개발에 활용
■ 스크립트 언어를 활용한 운영체제 개발 방법론
■ SDL 라이브러리를 활용한 게임 제작 방법

★ 이 책의 대상 독자 ★

■ OS를 직접 개발해 보고 싶은 일반 개발자
■ 운영체체론을 공부하는 학생
■ 이론보다 구체적인 결과물로 학습을 원하는 개발자
■ 심화된 윈도우 시스템 프로그래밍을 공부하려는 프로그래머
■ C++ 언어의 내부 구현을 이해하고 싶은 분
■ 직접 만든 OS에 자신만의 응용 앱을 손쉽게 개발하고 싶은 분

목차

0장 들어가며
1 YUZA OS
2 개발 전략
2.1 개발 규모
2.2 듀얼 플랫폼
2.3 차별화
2.4 행사비용 최소화
2.5 조건 최소화
3 정리
4 대상독자
5 책의 구성

1장 개발 환경 갖추기
1 비주얼 스튜디오 2019
2 VirtualBox
3 ImDisk
4 DLL Export Viewer
5 CMAKE-GUI
6 QEMU
7 기타
7.1 PE Explorer
7.2 StarUML
7.3 HxD
7.4 PEView
7.5 WSL / WSL2
7.6 MSYS2
7.7 DJGPP
7.8 TortoiseSVN
7.9 GIT 클라이언트
8 정리

2장. 비주얼 스튜디오
1 단축키
2 디버깅
3 프로젝트 환경설정
3.1 일반
3.2 디버깅
3.3 C/C++
3.4 링커
3.5 빌드 이벤트
3.6 사용자 지정 빌드 단계.
4 기타
4.1 프로젝트 구성 관리자
4.2 빌드 종속성
5 정리

3장. 운영체제 이론
1 운영체제 유형
1.1 모놀리식 커널
1.2 마이크로 커널
1.3 하이브리드 커널
1.4 엑소 커널
1.5 YUZA OS
1.6 정리
2 운영체제 개발 요소
2.1 아키텍처
2.2 디바이스
2.3 파일 시스템
2.4 GUI 시스템
2.5 커널 서비스
2.6 동기화 인터페이스
2.7 가상 주소 시스템
2.8 프로그래밍 인터페이스
2.9 정리
3 결론

4장. YUZA OS 시작하기
1 환경 구축
2 Hello World!!
__실습 1 - DLL 디버깅 모드
__실습 2 - DLL 디버깅 미지원 모드
__실습 3 - 실기(가상 에뮬레이터)
3 응용앱 개발 프로젝트 설정
4 실습
4.1 sample 프로젝트
4.2 sum 프로젝트
5 결론

5장. 콘솔 앱 살펴보기
1 테스트 앱
1.1 파일 읽기
1.2 압축
1.3 로그
1.4 시간 함수
1.5 수학 함수
1.6 정규표현식
2 응용앱
2.1 grep
2.2 sqlite3
2.3 루아 콘솔
2.4 fonttosvg
3 정리
쉬어가기 1 - 플로피 버드

6장. 듀얼 시스템
1 커널 핵심 컴포넌트
2 부팅 시퀀스
2.1 실기
3 프로젝트 구성
3.1 링커 - 고급 항목
3.2 C/C++ - 전처리기
3.3 링커 - 라이브러리
4 파일 시스템
5 디버깅
6 기타
6.1 메모리 할당
6.2 키보드/마우스 입력
6.3 디스플레이
6.4 스레드 제어 및 스케줄링
6.5 특권 어셈블리 명령어
6.6 가상 주소 시스템.
7 정리

7장. 커널 초기화
1 커널 엔트리
2 커널 코어
2.1 커널 초기화
2.2 인터럽트 벡터 초기화
2.3 PIT 시작
2.4 커널 필수 모듈 로드
2.5 커널 가상 주소 재배치
2.6 시스템 콜 등록
2.7 저장장치 초기화
2.8 디버깅 시스템 초기화
2.9 커널 메인 코드 시작
3 win32stub.dll
3.1 타이머 이벤트
3.2 키보드/마우스 이벤트
4 정리

8장. DLL 로더 시스템
1 기본 로더 이론
2 DLL 로딩 방식
3 DLL 매핑
4 커스텀 DLL 로더
5 과제
5.1 심벌 로드
6 정리

9장. 시스템 콜
1 시스템 콜 설계
2 시스템 콜의 구조
3 시스템 콜의 추가
4 결론

10장. 독립형 OS 제작하기
1 GUI 콘솔
2 루아 운영체제
2.1 루아 스크립트
2.2 루아 콘솔
2.3 루아팅커
2.4 루아 커널
__초기화
__메인 엔트리 - lua_main
__루아 커널 스크립트
2.5 루아 확장 모듈
__루아 스크립트를 통한 모듈 등록
__DLL 모듈을 통한 모듈 등록
__몇 가지 확장 모듈
3 정리
쉬어가기 2 - YUZA OS 콘셉트

11장. 표준 프로그래밍 인터페이스
1 프로그래밍 인터페이스 구축 전략
2 표준 C 라이브러리(ANSI)
2.1 입출력 함수
2.2 문자열 함수
2.3 수학 함수
2.4 시간 및 날짜 함수
2.5 결론
3 POSIX API
3.1 파일 조작
3.2 디렉터리 조작
3.3 pthreads
3.4 결론
4 WIN32 API
5 내장 함수
6 골치 아픈 항목
7 정리
8 고급
8.1 musl

12장. C++ & STL
1 STL
2 개인 제작 STL
3 SGI STL
4 EASTL
5 테스트
6 정리

13장. 데스크톱 시스템
1 기본 데스크톱
1.1 구동하기
1.2 샘플 앱
1.3 GUI 콘솔 앱
1.4 데스크톱 구조
2 GUI 위젯
3 Advanced
4 정리

14장. SDL 살펴보기
1 SDL
1.1 게임
1.2 에뮬레이터
1.3 GUI
1.4 동영상
1.5 정리
2 SDL 시스템
2.1 SDL_mixer
2.2 SDL_image
2.3 SDL_gfx
2.4 SDL_ttf
2.5 정리
3 SDL 프로그래밍
3.1 튜토리얼
__flip
__bmp
__loadpng
__TTF
__타이머
3.2 게임
__소코반
__테트리스
__팩맨
__SDLBird
__로드파이터
__오픈 타이리언
3.3 GUI
__TinyGUI
__GuiChan
__Cairo
__SDL_GUI
__GWork
3.4 LUA SDL
3.5 포팅해 보기
4 SDL 통합 시스템
5 확장 모듈
6 정리
__레퍼런스

15장. SDL 코어편
1 안드로이드
1.1 자바와 C++
1.2 액티비티 & SDL 연동
2 WIN32
3 YUZA OS 포트
3.1 프로젝트 구성
3.2 구현
4 정리
쉬어가기 3 - 알레그로 엔진

16장. 3D 프로그래밍 인터페이스
1 3D API
2 OpenGL
3 OpenGL 과제
4 소프트웨어 렌더러
5 정리

17장. 오픈소스 라이브러리
1 리스트
1.1 압축
1.2 이미지
1.3 폰트
1.4 직렬화
1.5 파싱
1.6 멀티미디어
1.7 마크업 언어
1.8 로컬라이제이션
1.9 기타
2 정리

18장. 포팅하기
1 라이브러리 고르기
2 포팅 실전
2.1 성공 사례 - ScummVM
2.2 실패 사례 - wxWidgets
3 정리

19장. 실전 응용앱편
1 게임
1.1 SDL 봄버맨
1.2 페르시아 왕자
1.3 울펜스타인 3D
1.4 둠
1.5 지뢰 게임
2 에뮬레이터
2.1 VBA
2.2 fmsx
2.3 GNUBoy
2.4 DosBox
3 GUI
3.1 pdcurses
3.2 kiss
3.3 ImGui
3.4 zgv
4 기타
4.1 Box2D.
4.2 편집기
4.3 Load81 프로젝트
4.4 장기
5 정리

후기
YUZA OS Vol.1 - 소프트웨어편의 의의
독자분들의 다음 스텝
YUZA OS Vol.2 - 하드웨어 편

저자소개

박주항 [저] 신작알림 SMS신청
생년월일 -

게임업계에서 10년째 일하고 있는 개발자다. 어린 시절 국산 게임이었던 PC게임 ‘폭스레인저’나 ‘그날이 오면 3’ 같은 게임에 감명을 받아 패키지 게임 개발을 꿈꿔왔으나 패키지 게임 시장이 사장된 현실을 받아들이고 온라인 게임업체에 입사하게 되었다. 클라이언트 프로그래머로 입사했지만 여러 가지 회사 사정으로 서버 프로그래머로 전향하게 되었으며 이후로 계속 온라인 게임 서버 프로그래머로 근무해 왔다. 서강대학교에서 컴퓨터공학과 물리학을 전공했으며 한국산업기술대학교 디지털엔터테인먼트학과에서 대학원 과정을 수료하였다. JCE (현 조이시티), LI

펼쳐보기

컴퓨터/인터넷 분야에서 많은 회원이 구매한 책

    리뷰

    0.0 (총 0건)

    100자평

    작성시 유의사항

    평점
    0/100자
    등록하기

    100자평

    0.0
    (총 0건)

    판매자정보

    • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

    상호

    (주)교보문고

    대표자명

    안병현

    사업자등록번호

    102-81-11670

    연락처

    1544-1900

    전자우편주소

    callcenter@kyobobook.co.kr

    통신판매업신고번호

    01-0653

    영업소재지

    서울특별시 종로구 종로 1(종로1가,교보빌딩)

    교환/환불

    반품/교환 방법

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

    반품/교환가능 기간

    변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
    단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

    반품/교환 비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

    반품/교환 불가 사유

    ·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)

    ·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등

    ·복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

    ·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

    ·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

    상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

    소비자 피해보상
    환불지연에 따른 배상

    ·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

    ·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

    (주) 인터파크 안전결제시스템 (에스크로) 안내

    (주)인터파크의 모든 상품은 판매자 및 결제 수단의 구분없이 회원님들의 구매안전을 위해 안전결제 시스템을 도입하여 서비스하고 있습니다.
    결제대금 예치업 등록 : 02-006-00064 서비스 가입사실 확인

    배송안내

    • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

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

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

    • 배송비는 업체 배송비 정책에 따릅니다.

    • - 도서 구매 시, 1만 원 이상 무료, 1만원 미만 2천 원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용