출고예상일 안내
주문하신 상품이 한국에서 현지 배송을 위한 출고단계가 이루어질 것으로 예상되는 날짜입니다. 상품을 준비하는 과정에서 내부적인 사정으로 인해 출고예상일에 다소 오차가 생길 수 있습니다.
여러 상품(예약상품포함)을 함께 주문하신 경우 출고예상일이 가장 늦은 날짜에 맞춰 함께 배송됩니다.

ISBN : 9791161752051 / 600쪽 188 x 235 (㎜)
이 상품에 궁금하신점이 있으세요? 1:1상담문의

-
정지훈
-
클리커, 이희영, 강민혁
-
성구(강성규)
- 25,200
- 17,550
- 22,500
- 21,600
출판사 리뷰
★ 이 책에서 다루는 내용 ★
■ 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 설치









































