본문 바로가기

추천 검색어

실시간 인기 검색어

64비트 멀티코어 OS 원리와 구조. 2

한승훈 지음
한빛미디어

2018년 10월 08일 출간

종이책 : 2011년 07월 04일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 pdf (19.74MB)
ISBN 9791162249369
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 전자책 화면에 표기된 주석 등을 모두 읽어 줍니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
  • '교보 ebook' 앱을 최신 버전으로 설치해야 이용 가능합니다. (Android v3. 0.26, iOS v3.0.09,PC v1.2 버전 이상)

PDF 필기 Android 가능 (iOS예정)
소득공제
소장
정가 : 44,000원

쿠폰적용가 39,600

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 300원
시리즈 전체 2
64비트 멀티코어 OS 원리와 구조. 2
44,000
64비트 멀티코어 OS 원리와 구조. 1
44,000

작품소개

이 상품이 속한 분야

부트 로더에서 GUI까지, 운영체제의 모든 것을 직접 제작한다!
OS 개발 60일 프로젝트『64비트 멀티코어 OS 원리와 구조』제2권. 이 책은 저자가 직접 OS를 개발하면서 겪은 이야기를 개발 순서에 따라 정리한 것이다. 2년여 동안의 작업 과정을 빠짐없이 기록하여 부팅 과정부터 스케줄러, 동적 메모리 관리, 파일 시스템, GUI 시스템, 응용프로그램에 이르기까지 OS 전반에 걸친 내용을 모두 넣고자 하였다. 에뮬레이터 안에서 예제를 실습하기 때문에 간편하고, 복잡한 내용은 그림을 보면서 바로바로 설명해 이해하기 쉽다. 상세한 주석과 이해를 돕는 도해식 추가 설명이 소스 분석을 한층 더 쉽게 해준다.
32장 인터럽트를 분산하고 멀티코어 환경에 맞춰 동기화 처리를 업그레이드하자
32.1 인터럽트 분산 처리 알고리즘 설계
32.1.1 인터럽트 부하 분산 알고리즘
32.1.2 인터럽트 부하 분산을 위한 자료구조 설계
32.2 인터럽트 부하 분산 구현
32.2.1 인터럽트 매니저 자료구조 초기화 함수 구현
32.2.2 인터럽트 모드 설정 함수와 인터럽트 처리 횟수 증가 함수 구현
32.2.3 인터럽트 부하 분산 함수와 인터럽트 전달 경로 변경 함수 구현
32.2.4 인터럽트 핸들러와 대칭 I/O 모드 전환 함수 수정
32.3 멀티코어 프로세서 환경에서 사용할 수 있는 동기화 알고리즘 설계
32.3.1 인터럽트 분산 처리와 동기화 문제
32.3.2 커널 자료구조 동기화 해결책, 스핀락
32.3.3 스핀락을 위한 자료구조 설계
32.4 스핀락 구현
32.4.1 스핀락 초기화 함수 구현
32.4.2 스핀락 잠금 함수와 프로세서 일시 중지 함수 구현
32.4.3 스핀락 해제 함수 구현
32.4.4 스핀락 적용
32.5 인터럽트 분산 처리 기능과 스핀락 모듈의 통합과 빌드
32.5.1 인터럽트 핸들러 파일과 I/O APIC 파일 수정
32.5.2 동기화 파일과 어셈블리어 유틸리티 파일 수정
32.5.3 키보드 디바이스 드라이버, 동적 메모리, 태스크 파일 수정
32.5.4 콘솔 셸 파일 수정
32.5.5 빌드와 테스트

33장 태스크를 분산시켜 멀티코어 프로세서를 100% 활용하자
33.1 태스크 분산 처리 알고리즘과 자료구조 설계
33.1.1 가장 기본적인 형태, 공용 스케줄러 방식
33.1.2 더 진보된 형태, 개별 스케줄러 방식
33.2 태스크 분산 처리를 위한 자료구조 설계와 구현
33.2.1 스케줄러 자료구조, 태스크 풀 자료구조, 태스크 자료구조 수정
33.2.2 태스크 풀 초기화/할당/해제 함수 수정
33.2.3 스케줄러 초기화 함수 수정
33.2.4 태스크 생성 함수 수정
33.2.5 부하 분산을 고려한 태스크 생성 함수 추가
33.2.6 스케줄러 함수 수정
33.2.7 친화도 설정 함수 추가와 우선순위 및 종료 관련 함수 수정
33.2.8 태스크 부하 분산 설정 함수 추가
33.2.9 뮤텍스 함수와 인터럽트 핸들러 코드 수정
33.2.10 C 언어 커널 엔트리 포인트 함수와 기타 태스크 생성 코드 수정
33.3 태스크 분산 처리 기능 통합과 빌드
33.3.1 태스크 파일 수정
33.3.2 인터럽트 핸들러 파일과 동기화 파일 수정
33.3.3 C 언어 커널 엔트리 포인트 파일 수정
33.3.4 콘솔 셸 파일 수정
33.3.5 빌드와 테스트

7부 GUI 시스템과 GUI
34장 텍스트 모드에서 그래픽 모드로 전환하자
34.1 그래픽 컨트롤러와 VBE의 관계
34.1.1 그래픽 컨트롤러와 VESA
34.1.2 VBE와 선형 프레임 버퍼
34.2 VBE를 통한 선형 프레임 버퍼 모드 전환
34.2.1 VBE와 BIOS 인터럽트 서비스
34.2.2 선형 프레임 버퍼를 지원하는 그래픽 모드로 전환
34.2.3 그래픽 모드로 전환
34.2.4 화면에 색깔 채우기
34.3 그래픽 모드 전환 기능 통합과 빌드
34.3.1 VBE 파일 추가
34.3.2 부트 로더 파일 수정
34.3.3 C 언어 커널 엔트리 포인트 파일 수정
34.3.4 콘솔 셸 파일 수정
34.3.5 빌드와 테스트

35장 2D 그래픽 라이브러리를 만들자
35.1 점, 선, 사각형, 원 그리기
35.1.1 가장 기본 단위, 점 그리기
35.1.2 다른 도형의 기초가 되는 선 그리기
35.1.3 엣지의 대명사, 사각형 그리기
35.1.4 곡선의 미학, 원 그리기
35.2 문자 출력과 폰트
35.2.1 폰트와 비트맵 폰트 형식
35.2.2 폰트 메이커 프로그램과 비트맵 폰트 생성 방법
35.2.3 폰트 출력
35.3 2D 그래픽 라이브러리 통합과 빌드
35.3.1 2D 그래픽 라이브러리 파일 추가
35.3.2 영문 폰트 파일 추가
35.3.3 유틸리티 파일 수정
35.3.4 C 언어 커널 엔트리 포인트 파일 수정
35.3.5 빌드와 테스트

36장 클리핑 기능을 추가해 화면에 표시되는 영역만 그리자
36.1 클리핑 알고리즘 설계와 구현
36.1.1 비디오 메모리와 클리핑
36.1.2 점 클리핑 처리
36.1.3 직선 클리핑 처리
36.1.4 사각형 클리핑 처리와 원 클리핑 처리
36.1.5 문자 클리핑 처리
36.2 클리핑 처리 기능 통합과 빌드
36.2.1 2D 그래픽 라이브러리 파일 수정
36.2.2 C 언어 커널 엔트리 포인트 파일 수정
36.2.3 빌드와 테스트

37장 마우스 디바이스 드라이버를 추가하자
37.1 키보드 컨트롤러와 마우스의 관계
37.1.1 다시 보는 키보드 컨트롤러
37.2 마우스 제어 기능 구현
37.2.1 마우스 활성화
37.2.2 마우스 인터럽트 활성화와 마우스 인터럽트 핸들러 등록
37.2.3 마우스 데이터와

저자 서문
목표를 향해 노력하는 모든 분들을 응원하며…
2008년 필자의 오랜 꿈이자 목표인 OS를 구상하던 무렵 듀얼코어 프로세서가 싱글코어 프로세서를 밀어내고 영역을 확장해 나갔습니다. 그 당시 필자도 듀얼코어 프로세서로 바꾼 지 얼마 되지 않았던 터라 쿼드코어 프로세서가 출시된다는 소식에 깜짝 놀랐던 기억이 납니다. 그런데 지금은 옥타코어 프로세서가 시중에 나와 있고, 스마트폰에도 듀얼코어 프로세서가 사용되고 있으니 기술의 발전 속도가 엄청난 것 같습니다.

64비트와 멀티코어 프로세서를 지원하는 OS를 만들겠다는 각오로 처음 시작할 때는 이렇게 책으로 나오리라고는 상상도 못했습니다. 필자가 취미로 진행하던 프로젝트들처럼 1차 결과물이 나오면 그대로 하드 디스크 한쪽에 보관할 예정이었습니다. 그런데 이런 생각은 뜬 눈으로 밤을 지새고 주말을 반납하면서 점점 바뀌어 갔습니다.

예상했던 것보다 벽은 훨씬 높았습니다. 할 수 있는 시도를 모두 하고도 결과가 좋지 않았을 때는 눈앞이 깜깜했습니다. 시행착오를 거듭할수록 OS를 만드는 일을 기록으로 남겨야겠다는 생각을 했고, 마침내 이렇게 책으로 나오게 되었습니다.

이 책은 필자가 직접 OS를 개발하면서 겪은 이야기를 개발 순서에 따라 정리한 것입니다. 기능별로 묶을 수도 있지만, 개발 순서를 택한 이유는 OS를 개발하는 데 힘든 점 중 하나가 다음에 무엇을 할지 방향을 결정하는 일이기 때문입니다. OS가 제공하는 기능은 아주 복잡하고 다양해 혼자서 모두 구현하기란 쉬운 일이 아닙니다. 어느 시점이 되면 개발할 기능을 선택하고 순서를 결정해야 하는데, 각 기능이 서로 영향
을 주고받으므로 결정하기가 매우 어렵습니다. 여러분이 선택의 기로에 섰을 때 필자가 먼저 간 길을 참고할 수 있기를 진심으로 바랍니다.

이 책의 내용을 정리하면서 가장 중요하게 여긴 것은 각 단계를 진행할 때 가장 힘들거나 실수하기 쉬운 부분을 놓치지 않게 주의를 기울이는 일입니다. 실제로 OS를 만들어본 경험이 있는 분이라면, 데이터 시트의 한쪽 구석에 있는 주의사항이나 코드 한 줄을 놓쳐서 온종일 고생한 경험이 있을 것입니다. 필자도 이런 일을 수도 없이 반복했기 때문에 여러분이 같은 실수를 반복하지 않도록 해야겠다고 마음먹었습니다.

또한 2년여 동안의 작업 과정을 빠짐없이 기록하여 부팅 과정부터 스케줄러, 동적 메모리 관리, 파일 시스템, GUI 시스템, 응용프로그램에 이르기까지 OS 전반에 걸친 내용을 모두 넣으려고 노력했습니다. OS 관련 서적을 여러 권 봤지만 어디서부터 시작해야 할지 막막하거나, 이유를 알 수 없는 오류로 더 이상 진행하지 못해 고민 중이라면 이 책이 여러분에게 도움이 될 것입니다. 책을 읽는 동안 의문사항이 생기거나
부족한 내용이 있다면 주저 없이 필자의 웹사이트(http://www.mint64os.pe.kr)나 이메일(mint64os@gmail.com)로 연락바랍니다.

64비트 멀티코어 OS를 개발하면서 배우는 OS 원리와 구조

어떤 독자를 위한 책인가?
● 운영체제 제작에 관심이 있는 학생이나 개발자
● 임베디드 개발자, 시스템 프로그래머

부트 로더에서 GUI까지 운영체제의 모든 것을 직접 제작한다
누구나 따라하면 운영체제를 만들 수 있다. 주류로 자리잡은 64비트 멀티코어 운영체제를 직접 만들어볼 수 있다. 하드웨어 동작 원리를 익힐 수 있으며, 각 장에는 완성된 소스 코드를 제공한다.
독자가 이해할 수 없는 심오한 설명은 배제했으며, 자신만의 비밀 노하우나 회사에 쓰인 기술이라 공개할 수 없다는 변명 없이 64비트 멀티코어 운영체제 제작의 노하우를 모두 공개했다.
자신이 직접 만든 도구 등은 일체 사용하지 않고 이클립스, Cygwin, gcc, nasm, qemu 등의 오픈소스를 이용해서 운영체제를 제작했다.
운영체제 제작을 통해 하드웨어와 운영체제의 동작 원리를 이해할 수 있으며, 운영체제에 쓰인 알고리즘, 자료구조 학습을 통해 깊이 있는 C 언어 프로그래밍을 접해볼 수 있다.
32비트 윈도에서도 64비트 gcc 크로스 빌드, QEMU를 사용해 64비트 운영체제를 제작할 수 있게 했다. 윈도 XP 이상이면 누구나 제작해볼 수 있다.

도서 특징
* OS에 관심이 있는 분이라면 누구라도 OS를 만들 수 있다
OS 제작이 처음이어도 전혀 걱정할 필요가 없다. 어셈블리어를 잘 몰라도, C 언어의 포인터를 잘 몰라도, 하드웨어 명세서를 잘 몰라도 운영체제 제작에 도전할 수 있게 배려했다. 부트 로더에서 GUI까지 여러분이 꼭 알아야 하는 부분만 정리한 뒤 상세한 설명을 덧붙였다. 한 장 한 장 따라가다보면 어느새 멋진 OS가 동작하고 있을 것이다. 그동안 어셈블리어나 PC 하드웨어의 벽에 부딪혀 번번히 실패했다면 이 책이 여러분에게 새로운 방향을 제시해 줄 것이다.

* 자작 OS도 아름다울 수 있다
자작 OS는 검은색 바탕에 흰색 글자만 표시한다는 편견에서 벗어나자. GUI 환경까지 직접 개발해 멋지고 아름다운 OS를 제작한다.

* 64비트 모드와 멀티코어의 비밀을 모두 공개한다
64비트 모드와 멀티코어는 모두 프로세서와 관련이 있다. 프로세서의 동작 방식은 데이터 시트에 모두 공개되어 있지만, 내용이 흩어져 있고 복잡하여 이해하기가 어렵다. 이 책에서는 OS 개발에 필요한 핵심 부분만 모아서 정리했다.

* 2권의 주요 내용
ㆍ인터럽트 분산과 멀티코어 동기화 처리
ㆍ스핀락 구현
ㆍ태스크 분산 처리
ㆍ그래픽 컨트롤러와 VBE
ㆍ선형 프레임 버퍼 모드 전환
ㆍ2D 그래픽 라이브러리 제작
ㆍ클리핑 알고리즘 설계와 구현
ㆍ마우스 디바이스 드라이버 추가
ㆍGUI 시스템 설계
ㆍ윈도우 이벤트 큐 설계와 구현
ㆍ윈도우 매니저 태스크 설계와 구현
ㆍGUI 태스크 구현과 Hello World
ㆍ화면 업데이트 알고리즘의 개선
ㆍ애플리케이션 패널 태스크 구현
ㆍ시스템 모니터 태스크 구현
ㆍGUI 콘솔 셸 태스크 구현
ㆍ이미지 뷰어 태스크 구현
ㆍ커널 영역과 유저 영역의 분리
ㆍ시스템 콜과 유저 레벨 라이브러리 제작
ㆍ유저 레벨 응용프로그램, Hello World 제작
ㆍELF64 파일의 구조 분석
ㆍ유저 레벨 응용프로그램 로더 구현
ㆍ한글 출력 기능과 한글 뷰어 제작
ㆍ한글 입력 모듈과 한 줄 메모장 구현
ㆍUSB 플래시 드라이브를 이용한 부팅

작가정보

저자(글) 한승훈

저자 한승훈은 프로그래밍을 밥 먹듯 하고 의자에 오래 앉아 있는 것이 유일한 특기인 열혈 개발자다. 특기를 살려 밤낮없이 프로그래밍에 열중하며, 늘 새로운 것을 찾아 여러 분야를 기웃거린다. SI 회사에서 서버와 클라이언트 프로그램을 개발했고, 현재는 임베디드 시스템의 펌웨어를 개발 중이다.

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다.
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다.
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품/오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    64비트 멀티코어 OS 원리와 구조 시리즈 신간 알림이 신청되었습니다.
    신간 알림 안내
    64비트 멀티코어 OS 원리와 구조 시리즈 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    64비트 멀티코어 OS 원리와 구조. 2
    저자 모두보기
    저자(글)
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글북액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글북액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)