장바구니 담기 close

장바구니에 상품을 담았습니다.

YUZA OS Vol.1 소프트웨어편

YUZA OS Vol.1 소프트웨어편

  • 박주항
  • |
  • 에이콘출판
  • |
  • 2021-07-16 출간
  • |
  • 720페이지
  • |
  • 188 X 235 X 34 mm
  • |
  • ISBN 9791161755366
판매가

45,000원

즉시할인가

40,500

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
40,500

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




★ 이 책에서 다루는 내용 ★

■ 리눅스 기반이 아닌 비주얼 스튜디오 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
8 StarUML
8.1 HxD
8.2 PEView
8.3 WSL / WSL2
8.4 MSYS2
8.5 DJGPP
8.6 TortoiseSVN
8.7 GIT 클라이언트(client)
9 정리

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 로더 시스템 199
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 루아 커널
3 초기화
4 메인 엔트리 - lua_main
5 루아 커널 스크립트
5.1 루아 확장 모듈
6 루아 스크립트를 통한 모듈 등록
7 DLL 모듈을 통한 모듈 등록
8 몇 가지 확장 모듈
9 정리
쉬어가기 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 골치아픈 항목
6.1 printf
6.2 stdin, stdout, stderr
6.3 환경 변수 조작
6.4 errno
6.5 freopen
6.6 vfprintf
6.7 vfscanf
6.8 tmpnam
7 정리
8 고급
8.1 mu니

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 튜토리얼
3.2 게임
3.2 GUI
3.3 LUA SDL
3.4 포팅해 보기
4 SDL 통합 시스템
8 확장 모듈
6 정리

15장. SDL 코어편
1 안드로이드
1.1 자바와 C++
1.2 액티비티 & SDL 연동
1.3 결론
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 - 소프트웨어 편의 의의
독자분들의 다음 스텝
YUZA OS - 하드웨어 편

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.