Understanding the Linux Kernel
없습니다
도서+교보Only(교보배송)을 함께 15,000원 이상 구매 시 무료배송
15,000원 미만 시 2,500원 배송비 부과
20,000원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
1Box 기준 : 도서 10권
알립니다.
- 본 상품은 주문 후 제작되는 맞춤도서입니다.
주문기간에 따라 도서 출고일은 영업일 기준 최소 3일에서 최대 8일이 소요됩니다. - 해외주문도서는 고객님의 요청에 의해 주문하는 '개인 오더' 상품이기 때문에, 단순한 고객변심/착오로 인한 취소, 반품, 교환의 경우 '해외주문 반품/취소 수수료'를 부담하셔야 합니다. 이점 유의하여 주시기 바랍니다.
- 반품/취소 수수료:(1)서양도서-판매정가의 12%, (2)일본도서-판매정가의 7% (반품/취소 수수료는, 수입제반비용(FedEx수송비용, 관세사비, 보세창고료, 내륙 운송비, 통관비 등)과 재고리스크(미판매 리스크, 환차손)에 따른 비용을 포함하며, 서양도서는 판매정가의 12%, 일본도서는 판매정가의 7%가 적용됩니다.)
- 외국도서의 경우 해외제공정보로만 서비스되어 미표기가된 정보가 있을 수 있습니다. 필요한 정보가 있을경우 1:1 문의게시판 을 이용하여 주십시오.
취소/반품에 대한 안내
POD도서는 고객 주문 후 제작되는 도서로, 단순변심 및 착오로 인한 취소, 반품이 절대 불가하니 이점 반드시 유의하여 주시기 바랍니다.
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
책 소개
이 책이 속한 분야
- 서양도서 > 과학/기술 > 교양과학
- 서양도서 > 과학/기술 > 컴퓨터 > 컴퓨터일반
- 서양도서 > 과학/기술 > 컴퓨터 > OS/운영체제
- 서양도서 > 과학/기술 > 컴퓨터 > 프로그래밍
Marco Cesati received a degree in mathematics in 1992 and a Ph.D. in computer science (University of Rome, "La Sapienza") in 1995. He is now a research assistant in the computer science department of the School of Engineering (University of Rome, "Tor Vergata"). In the past, he served as system administrator and Unix programmer for the university (as a Ph.D. student) and for several institutions (as a consultant).
Daniel P. Bovet got a Ph.D. in computer science at UCLA in 1968 and is now full Professor at the University of Rome, "Tor Vergata," Italy. He had to wait over 25 years before being able to teach an operating system course in a proper manner because of the lack of source code for modern, well-designed systems. Now, thanks to cheap PCs and to Linux, Marco and Dan are able to cover all the facets of an operating system from booting to tuning and are able to hand out tough, satisfying homework to their students. (These young guys working at home on their PCs are really spoiled; they never had to fight with punched cards.) In fact, Dan was so fascinated by the accomplishments of Linus Torvalds and his followers that he spent the last few years trying to unravel some of Linux's mysteries. It seemed natural, after all that work, to write a book about what he found. Marco Cesati received a degree in mathematics in 1992 and a Ph.D. in computer science (University of Rome, "La Sapienza") in 1995. He is now a research assistant in the computer science department of the School of Engineering (University of Rome, "Tor Vergata"). In the past, he served as system administrator and Unix programmer for the university (as a Ph.D. student) and for several institutions (as a consultant).
In order to thoroughly understand what makes Linux tick and why it works so well on a wide variety of systems, you need to delve deep into the heart of the kernel. The kernel handles all interactions between the CPU and the external world, and determines which programs will share processor time, in what order. It manages limited memory so well that hundreds of processes can share the system efficiently, and expertly organizes data transfers so that the CPU isn't kept waiting any longer than necessary for the relatively slow disks. The third edition of "Understanding the Linux Kernel" takes you on a guided tour of the most significant data structures, algorithms, and programming tricks used in the kernel. Probing beyond superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Important Intel-specific features are discussed. Relevant segments of code are dissected line by line. But the book covers more than just the functioning of the code; it explains the theoretical underpinnings of why Linux does things the way it does. This edition of the book covers Version 2.6, which has seen significant changes to nearly every kernel subsystem, particularly in the areas of memory management and block devices. The book focuses on the following topics: Memory management, including file buffering, process swapping, and Direct memory Access (DMA) The Virtual Filesystem layer and the Second and Third Extended Filesystems Process creation and scheduling Signals, interrupts, and the essential interfaces to device drivers Timing Synchronization within the kernel Interprocess Communication (IPC) Program execution "Understanding the Linux Kernel" will acquaint you with all the inner workings of Linux, but it's more than just an academic exercise. You'll learn what conditions bring out Linux's best performance, and you'll see how it meets the challenge of providing good system response during process scheduling, file access, and memory management in a wide variety of environments. This book will help you make the most of your Linux system.
In order to thoroughly understand what makes Linux tick and why it works so well on a wide variety of systems, you need to delve deep into the heart of the kernel. The kernel handles all interactions between the CPU and the external world, and determines which programs will share processor time, in what order. It manages limited memory so well that hundreds of processes can share the system efficiently, and expertly organizes data transfers so that the CPU isn't kept waiting any longer than necessary for the relatively slow disks. The third edition of Understanding the Linux Kerneltakes you on a guided tour of the most significant data structures, algorithms, and programming tricks used in the kernel. Probing beyond superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Important Intel-specific features are discussed. Relevant segments of code are dissected line by line. But the book covers more than just the functioning of the code; it explains the theoretical underpinnings of why Linux does things the way it does. This edition of the book covers Version 2.6, which has seen significant changes to nearly every kernel subsystem, particularly in the areas of memory management and block devices. The book focuses on the following topics: Memory management, including file buffering, process swapping, and Direct memory Access (DMA) The Virtual Filesystem layer and the Second and Third Extended Filesystems Process creation and scheduling Signals, interrupts, and the essential interfaces to device drivers Timing Synchronization within the kernel Interprocess Communication (IPC) Program execution Understanding the Linux Kernelwill acquaint you with all the inner workings of Linux, but it's more than just an academic exercise. You'll learn what conditions bring out Linux's best performance, and you'll see how it meets the challenge of providing good system response during process scheduling, file access, and memory management in a wide variety of environments. This book will help you make the most of your Linux system.
This new edition covers Version 2.6 of the Linux kernel, which has seen significant changes to nearly every kernel subsystem, particularly in the areas of memory management and block devices. Understanding the Linux Kernel provides a guided tour of the code that forms the core of all Linux operating systems. Beyond the functioning of the code, the book explains the theoretical underpinnings for why Linux, and many other operating systems, do things the way they do.
작가정보
Daniel P. Bovet got a Ph.D. in computer science at UCLA in 1968 and is now full Professor at the University of Rome, "Tor Vergata," Italy. He had to wait over 25 years before being able to teach an operating system course in a proper manner because of the lack of source code for modern, well-designed systems. Now, thanks to cheap PCs and to Linux, Marco and Dan are able to cover all the facets of an operating system from booting to tuning and are able to hand out tough, satisfying homework to their students. (These young guys working at home on their PCs are really spoiled; they never had to fight with punched cards.) In fact, Dan was so fascinated by the accomplishments of Linus Torvalds and his followers that he spent the last few years trying to unravel some of Linux's mysteries. It seemed natural, after all that work, to write a book about what he found.
Marco Cesati received a degree in mathematics in 1992 and a Ph.D. in computer science (University of Rome, "La Sapienza") in 1995. He is now a research assistant in the computer science department of the School of Engineering (University of Rome, "Tor Vergata"). In the past, he served as system administrator and Unix programmer for the university (as a Ph.D. student) and for several institutions (as a consultant).
목차
Preface p. xi Introduction p. 1 Linux Versus Other Unix-Like Kernels p. 2 Hardware Dependency p. 6 Linux Versions p. 7 Basic Operating System Concepts p. 8 An Overview of the Unix Filesystem p. 12 An Overview of Unix Kernels p. 19 Memory Addressing p. 35 Memory Addresses p. 35 Segmentation in Hardware p. 36 Segmentation in Linux p. 41 Paging in Hardware p. 45 Paging in Linux p. 57 Processes p. 79 Processes, Lightweight Processes, and Threads p. 79 Process Descriptor p. 81 Process Switch p. 102 Creating Processes p. 114 Destroying Processes p. 126 Interrupts and Exceptions p. 131 The Role of Interrupt Signals p. 132 Interrupts and Exceptions p. 133 Nested Execution of Exception and Interrupt Handlers p. 143 Initializing the Interrupt Descriptor Table p. 145 Exception Handling p. 148 Interrupt Handling p. 151 Softirqs and Tasklets p. 171 Work Queues p. 180 Returning from Interrupts and Exceptions p. 183 Kernel Synchronization p. 189 How the Kernel Services Requests p. 189 Synchronization Primitives p. 194 Synchronizing Accesses to Kernel Data Structures p. 217 Examples of Race Condition Prevention p. 222 Timing Measurements p. 227 Clock and Timer Circuits p. 228 The Linux Timekeeping Architecture p. 232 Updating the Time and Date p. 240 Updating System Statistics p. 241 Software Timers and Delay Functions p. 244 System Calls Related to Timing Measurements p. 252 Process Scheduling p. 258 Scheduling Policy p. 258 The Scheduling Algorithm p. 262 Data Structures Used by the Scheduler p. 266 Functions Used by the Scheduler p. 270 Runqueue Balancing in Multiprocessor Systems p. 284 System Calls Related to Scheduling p. 290 Memory Management p. 294 Page Frame Management p. 294 Memory Area Management p. 323 Noncontiguous Memory Area Management p. 342 Process Address Space p. 351 The Process's Address Space p. 352 The Memory Descriptor p. 353 Memory Regions p. 357 Page Fault Exception Handler p. 376 Creating and Deleting a Process Address Space p. 392 Managing the Heap p. 395 System Calls p. 398 POSIX APIs and System Calls p. 398 System Call Handler and Service Routines p. 399 Entering and Exiting a System Call p. 401 Parameter Passing p. 409 Kernel Wrapper Routines p. 418 Signals p. 420 The Role of Signals p. 420 Generating a Signal p. 433 Delivering a Signal p. 439 System Calls Related to Signal Handling p. 450 The Virtual Filesystem p. 456 The Role of the Virtual Filesystem (VFS) p. 456 VFS Data Structures p. 462 Filesystem Types p. 481 Filesystem Handling p. 483 Pathname Lookup p. 495 Implementations of VFS System Calls p. 505 File Locking p. 510 I/O Architecture and Device Drivers p. 519 I/O Architecture p. 519 The Device Driver Model p. 526 Device Files p. 536 Device Drivers p. 540 Character Device Drivers p. 552 Block Device Drivers p. 560 Block Devices Handling p. 560 The Generic Block Layer p. 566 The I/O Scheduler p. 572 Block Device Drivers p. 585 Opening a Block Device File p. 595 The Page Cache p. 599 The Page Cache p. 600 Storing Blocks in the Page Cache p. 611 Writing Dirty Pages to Disk p. 622 The sync(), fsync(), and fdatasync() System Calls p. 629 Accessing Files p. 631 Reading and Writing a File p. 632 Memory Mapping p. 657 Direct I/O Transfers p. 668 Asynchronous I/O p. 671 Page Frame Reclaiming p. 676 The Page Frame Reclaiming Algorithm p. 676 Reverse Mapping p. 680 Implementing the PFRA p. 689 Swapping p. 712 The Ext2 and Ext3 Filesystems p. 738 General Characteristics of Ext2 p. 738 Ext2 Disk Data Structures p. 741 Ext2 Memory Data Structures p. 750 Creating the Ext2 Filesystem p. 753 Ext2 Methods p. 755 Managing Ext2 Disk Space p. 757 The Ext3 Filesystem p. 766 Process Communication p. 775 Pipes p. 776 FIFOs p. 787 System V IPC p. 789 POSIX Message Queues p. 806 Program Execution p. 808 Executable Files p. 809 Executable Formats p. 824 Execution Domains p. 827 The exec Functions p. 828 System Startup p. 835 Modules p. 842 Bibliography p. 852 Source Code Index p. 857 Index p. 905 Table of Contents provided by Ingram. All Rights Reserved.
기본정보
ISBN | 9780596005658 ( 0596005652 ) |
---|---|
발행(출시)일자 | 2005년 12월 27일 |
쪽수 | 942쪽 |
크기 |
178 * 234
* 46
mm
/ 1510 g
|
총권수 | 1권 |
언어 | 영어 |
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립