Amazon cover image
Image from Amazon.com

Operating systems in depth / Thomas W. Doeppner.

By: Material type: TextTextPublication details: Hoboken, New Jersey : Wiley, c2011Description: xvi, 444 pages : illustrations ; 26 cmISBN:
  • 9780471687238
Subject(s): LOC classification:
  • QA 76.76.O63 .D64 2011
Contents:
Machine generated contents note: 1.1. Operating Systems -- 1.1.1. Operating Systems as a Field of Study -- 1.2. Brief History of Operating Systems -- 1.2.1. 1950's: The Birth of the Concept -- 1.2.2. 1960's: The Modern OS Takes Form -- 1.2.3. Minicomputers and Unix -- 1.2.4. Personal Computer -- 1.3. Simple OS -- 1.3.1. OS Structure -- 1.3.2. Processes, Address Spaces, and Threads -- 1.3.3. Managing Processes -- 1.3.4. Loading Programs into Processes -- 1.3.5. Files -- 1.4. Beyond a Simple OS -- 1.4.1. Extensions -- 1.4.2. New Functionality -- 1.5. Conclusions -- 1.6. Exercises -- 1.7. References -- 2.1. Why Threads? -- 2.2. Programming with Threads -- 2.2.1. Thread Creation and Termination -- 2.2.2. Threads and C++ -- 2.2.3. Synchronization -- 2.2.4. Thread Safety -- 2.2.5. Deviations -- 2.3. Conclusions -- 2.4. Exercises -- 2.5. References -- 3.1. Context Switching -- 3.1.1. Procedures -- 3.1.2. Threads and Coroutines -- 3.1.3. System Calls -- 3.1.4. Interrupts -- 3.2. Input/Output Architectures -- 3.3. Dynamic Storage Allocation -- 3.3.1. Best-Fit and First-Fit Algorithms -- 3.3.2. Buddy System -- 3.3.3. Slab Allocation -- 3.4. Linking and Loading -- 3.4.1. Static Linking and Loading -- 3.4.2. Shared Libraries -- 3.5. Booting -- 3.6. Conclusions -- 3.7. Exercises -- 3.8. References -- 4.1. Simple System -- 4.1.1. Framework for Devices -- 4.1.2. Low-Level Kernel -- 4.1.3. Processes and Threads -- 4.1.4. Storage Management -- 4.2. Rethinking Operating-System Structure -- 4.2.1. Virtual Machines -- 4.2.2. Microkernels -- 4.3. Conclusions -- 4.4. Exercises -- 4.5. References -- 5.1. Threads Implementations -- 5.1.1. Strategies -- 5.1.2. Simple Threads Implementation -- 5.1.3. Multiple Processors -- 5.2. Interrupts -- 5.2.1. Interrupt Handlers -- 5.2.2. Deferred Work Note continued: 5.2.3. Directed Processing -- 5.3. Scheduling -- 5.3.1. Strategy -- 5.3.2. Tactics -- 5.3.3. Case Studies -- 5.4. Conclusions -- 5.5. Exercises -- 5.6. References -- 6.1. Basics of File Systems -- 6.1.1. Unix's S5FS -- 6.1.2. Disk Architecture -- 6.1.3. Problems with S5FS -- 6.1.4. Improving Performance -- 6.1.5. Dynamic Inodes -- 6.2. Crash Resiliency -- 6.2.1. What Goes Wrong -- 6.2.2. Dealing with Crashes -- 6.3. Directories and Naming -- 6.3.1. Directories -- 6.3.2. Name-Space Management -- 6.4. Multiple Disks -- 6.4.1. Redundant Arrays of Inexpensive Disks (RAID) -- 6.5. Flash Memory -- 6.5.1. Flash Technology -- 6.5.2. Flash-Aware File Systems -- 6.5.3. Augmenting Disk Storage -- 6.6. Case Studies -- 6.6.1. FFS -- 6.6.2. Ext3 -- 6.6.3. Reiser FS -- 6.6.4. NTFS -- 6.6.5. WAFL -- 6.6.6. ZFS -- 6.7. Conclusions -- 6.8. Exercises -- 6.9. References -- 7.1. Memory Management in the Early Days -- 7.2. Hardware Support for Virtual Memory -- 7.2.1. Forward-Mapped Page Tables -- 7.2.2. Linear Page Tables -- 7.2.3. Hashed Page Tables -- 7.2.4. Translation Lookaside Buffers -- 7.2.5. 64-Bit Issues -- 7.2.6. Virtualization -- 7.3. Operating-System Issues -- 7.3.1. General Concerns -- 7.3.2. Representative Systems -- 7.3.3. Copy on Write and Fork -- 7.3.4. Backing Store Issues -- 7.4. Conclusions -- 7.5. Exercises -- 7.6. References -- 8.1. Security Goals -- 8.1.1. Threats -- 8.2. Security Architectures -- 8.2.1. Access Control in Traditional Systems -- 8.2.2. Mandatory Access Control -- 8.2.3. Capability Systems -- 8.3. Conclusions -- 8.4. Exercises -- 8.5. References -- 9.1. Network Basics -- 9.1.1. Network Protocols -- ^ 9.2. Remote Procedure Call Protocols -- 9.2.1. Marshalling -- 9.2.2. Reliable Semantics -- 9.3. Conclusions Note continued: 9.4. Exercises -- 9.5. References -- 10.1. Basics -- 10.2. NFS Version 2 -- 10.2.1. RPC Semantics -- 10.2.2. Mount Protocol -- 10.2.3. NFS File Protocol -- 10.2.4. Network Lock Manager -- 10.3. Common Internet File System (CIFS) -- 10.3.1. Server Message Block (SMB) Protocol -- 10.3.2. Opportunistic Locks -- 10.4. DFS -- 10.5. NFS Version 4 -- 10.5.1. Managing State -- 10.5.2. Dealing with Failure -- 10.6. Conclusions -- 10.7. Exercises -- 10.8. References.
Summary: "Programmers don't want to just read about the core concepts of operating systems. They want to learn how to apply the material by actually building applications. This new book motivates them by presenting numerous programming exercises at the code level. They are not only introduced to the OS concepts and abstractions, but also the implementation. Two design projects are integrated throughout the book that they'll be able to follow to get them into the code. Self-assessment and review material is presented at the end of each chapter to reinforce concepts. These features help to make this an excellent resource for programmers to gain invaluable experience." Provided by publisher.
Item type: Books
Tags from this library: No tags from this library for this title. Log in to add tags.
Star ratings
    Average rating: 0.0 (0 votes)
Holdings
Item type Current library Home library Collection Call number Copy number Status Date due Barcode
Books Books National University - Manila LRC - Main General Circulation Computer Engineering GC QA 76.76.O63 .D64 2011 (Browse shelf(Opens below)) c.1 Available NULIB000006851

Includes index.

Machine generated contents note: 1.1. Operating Systems -- 1.1.1. Operating Systems as a Field of Study -- 1.2. Brief History of Operating Systems -- 1.2.1. 1950's: The Birth of the Concept -- 1.2.2. 1960's: The Modern OS Takes Form -- 1.2.3. Minicomputers and Unix -- 1.2.4. Personal Computer -- 1.3. Simple OS -- 1.3.1. OS Structure -- 1.3.2. Processes, Address Spaces, and Threads -- 1.3.3. Managing Processes -- 1.3.4. Loading Programs into Processes -- 1.3.5. Files -- 1.4. Beyond a Simple OS -- 1.4.1. Extensions -- 1.4.2. New Functionality -- 1.5. Conclusions -- 1.6. Exercises -- 1.7. References -- 2.1. Why Threads? -- 2.2. Programming with Threads -- 2.2.1. Thread Creation and Termination -- 2.2.2. Threads and C++ -- 2.2.3. Synchronization -- 2.2.4. Thread Safety -- 2.2.5. Deviations -- 2.3. Conclusions -- 2.4. Exercises -- 2.5. References -- 3.1. Context Switching -- 3.1.1. Procedures -- 3.1.2. Threads and Coroutines -- 3.1.3. System Calls -- 3.1.4. Interrupts -- 3.2. Input/Output Architectures -- 3.3. Dynamic Storage Allocation -- 3.3.1. Best-Fit and First-Fit Algorithms -- 3.3.2. Buddy System -- 3.3.3. Slab Allocation -- 3.4. Linking and Loading -- 3.4.1. Static Linking and Loading -- 3.4.2. Shared Libraries -- 3.5. Booting -- 3.6. Conclusions -- 3.7. Exercises -- 3.8. References -- 4.1. Simple System -- 4.1.1. Framework for Devices -- 4.1.2. Low-Level Kernel -- 4.1.3. Processes and Threads -- 4.1.4. Storage Management -- 4.2. Rethinking Operating-System Structure -- 4.2.1. Virtual Machines -- 4.2.2. Microkernels -- 4.3. Conclusions -- 4.4. Exercises -- 4.5. References -- 5.1. Threads Implementations -- 5.1.1. Strategies -- 5.1.2. Simple Threads Implementation -- 5.1.3. Multiple Processors -- 5.2. Interrupts -- 5.2.1. Interrupt Handlers -- 5.2.2. Deferred Work Note continued: 5.2.3. Directed Processing -- 5.3. Scheduling -- 5.3.1. Strategy -- 5.3.2. Tactics -- 5.3.3. Case Studies -- 5.4. Conclusions -- 5.5. Exercises -- 5.6. References -- 6.1. Basics of File Systems -- 6.1.1. Unix's S5FS -- 6.1.2. Disk Architecture -- 6.1.3. Problems with S5FS -- 6.1.4. Improving Performance -- 6.1.5. Dynamic Inodes -- 6.2. Crash Resiliency -- 6.2.1. What Goes Wrong -- 6.2.2. Dealing with Crashes -- 6.3. Directories and Naming -- 6.3.1. Directories -- 6.3.2. Name-Space Management -- 6.4. Multiple Disks -- 6.4.1. Redundant Arrays of Inexpensive Disks (RAID) -- 6.5. Flash Memory -- 6.5.1. Flash Technology -- 6.5.2. Flash-Aware File Systems -- 6.5.3. Augmenting Disk Storage -- 6.6. Case Studies -- 6.6.1. FFS -- 6.6.2. Ext3 -- 6.6.3. Reiser FS -- 6.6.4. NTFS -- 6.6.5. WAFL -- 6.6.6. ZFS -- 6.7. Conclusions -- 6.8. Exercises -- 6.9. References -- 7.1. Memory Management in the Early Days -- 7.2. Hardware Support for Virtual Memory -- 7.2.1. Forward-Mapped Page Tables -- 7.2.2. Linear Page Tables -- 7.2.3. Hashed Page Tables -- 7.2.4. Translation Lookaside Buffers -- 7.2.5. 64-Bit Issues -- 7.2.6. Virtualization -- 7.3. Operating-System Issues -- 7.3.1. General Concerns -- 7.3.2. Representative Systems -- 7.3.3. Copy on Write and Fork -- 7.3.4. Backing Store Issues -- 7.4. Conclusions -- 7.5. Exercises -- 7.6. References -- 8.1. Security Goals -- 8.1.1. Threats -- 8.2. Security Architectures -- 8.2.1. Access Control in Traditional Systems -- 8.2.2. Mandatory Access Control -- 8.2.3. Capability Systems -- 8.3. Conclusions -- 8.4. Exercises -- 8.5. References -- 9.1. Network Basics -- 9.1.1. Network Protocols -- ^ 9.2. Remote Procedure Call Protocols -- 9.2.1. Marshalling -- 9.2.2. Reliable Semantics -- 9.3. Conclusions Note continued: 9.4. Exercises -- 9.5. References -- 10.1. Basics -- 10.2. NFS Version 2 -- 10.2.1. RPC Semantics -- 10.2.2. Mount Protocol -- 10.2.3. NFS File Protocol -- 10.2.4. Network Lock Manager -- 10.3. Common Internet File System (CIFS) -- 10.3.1. Server Message Block (SMB) Protocol -- 10.3.2. Opportunistic Locks -- 10.4. DFS -- 10.5. NFS Version 4 -- 10.5.1. Managing State -- 10.5.2. Dealing with Failure -- 10.6. Conclusions -- 10.7. Exercises -- 10.8. References.

"Programmers don't want to just read about the core concepts of operating systems. They want to learn how to apply the material by actually building applications. This new book motivates them by presenting numerous programming exercises at the code level. They are not only introduced to the OS concepts and abstractions, but also the implementation. Two design projects are integrated throughout the book that they'll be able to follow to get them into the code. Self-assessment and review material is presented at the end of each chapter to reinforce concepts. These features help to make this an excellent resource for programmers to gain invaluable experience." Provided by publisher.

There are no comments on this title.

to post a comment.