Operating Systems, 3/e(美國版ISBN:0201733449)(平裝)
暫譯: 作業系統 (第三版)

Gary Nutt

  • 出版商: Prentice Hall
  • 出版日期: 2003-07-02
  • 售價: $950
  • 語言: 英文
  • 頁數: 912
  • ISBN: 0321189558
  • ISBN-13: 9780321189554
  • 已絕版

買這商品的人也買了...

相關主題

商品描述

Operating Systems provides an understanding of contemporary operating system concepts by integrating the principles behind the design of all operating systems with how they are put into practice in the real world. Throughout, Gary Nutt provides a complete discussion of operating concepts and supplements this with real code examples, algorithms, and discussions about implementation issues. The book also includes many lab exercises that provide students with the opportunity to practice with Linux, UNIX, and Windows.

Table of Contents

Preface.
1. Introduction.

Computers and Software.
Operating System Strategies.
Summary.
Exercises.


2. Using the Operating System.

The Programmer's Abstract Machine.
Resources.
Processes and Threads.
Writing Concurrent Programming.
Objects.
Summary.
Exercises.
Lab Exercise: A Simple Shell.
Lab Exercise: A Multithreaded Application.


3. Operating System Organization.

Basic Functions.
General Implementation Considerations.
Contemporary OS Kernels.
Summary.
Exercises.
Lab Exercise: Observing OS Behavior.


4. Computer Organization.

The von Neumann Architecture.
The Central Processing Unit.
The Primary (Executable) Memory.
I/O Devices.
Interrupts.
Conventional Contemporary Computers.
Mobile Computers.
Multiprocessors and Parallel Computers.
Summary.
Exercises.


5. Device Management.

The I/O System.
I/O Strategies.
Device Manager Design.
Buffering.
Device Class Characteristics.
Summary.
Exercises.
Lab Exercise: A Floppy Disk Driver.


6. Implementing Processes, Threads, and Resources.

The Task at Hand.
The Hardware Process.
The Abstract Machine Interface.
The Process Abstraction.
The Thread Abstraction.
State Diagrams.
Resource Managers.
Generalizing Process Management Policies.
Summary.
Exercises.
Lab Exercise: Kernel Timers.
Lab Exercise: Manipulating Kernel Objects.


7. Scheduling.

Overview.
Scheduling Mechanisms.
Strategy Selection.
Non-Preemptive Strategies.
Preemptive Strategies.
Implementing the Scheduler.
Summary.
Exercises.
Lab Exercise: Analyzing the Round Robin Scheduling.


8. Basic Synchronization Principles.

Cooperating Processes.
Evolving from the Classic Solution.
Semaphores: The Basis of Modern Solutions.
Synchronization in Shared Memory Multiprocessors.
Summary.
Exercises.
Lab Exercise: Bounded Buffer Problem.


9. High-Level Synchronization and Interprocess Communication.

Alternative Synchronization Primitives.
Monitors.
Interprocess Communication.
Summary.
Exercises.
Lab Exercise: Using Pipes.
Lab Exercise: Refining the Shell.


10. Deadlock.

Background.
A System Deadlock Model.
Prevention.
Avoidance.
Detection and Recovery.
Summary.
Exercises.


11. Memory Management.

The Basics.
The Address Space Abstraction.
Memory Allocation.
Dynamic Address Space Binding.
Modern Memory Manager Strategies.
Summary.
Exercises.
Lab Exercise: Using Shared Memory.


12. Virtual Memory.

The Task at Hand.
Address Translation.
Paging.
Static Paging Algorithms.
Dynamic Paging Algorithms.
Segmentation.
Memory-Mapped Files.
Summary.
Exercises.
Lab Exercise: Memory-Mapped Files.


13. File Management.

The Task at Hand.
Files.
Low-Level File Implementations.
Supporting High-Level File Abstractions.
Directories.
Implementing Directories.
File Systems.
Summary.
Exercises.
Lab Exercise: A Simple File Manager.


14. Protection and Security.

The Problem.
Authentication.
Authorization.
Cryptography.
Summary.
Exercises.


15. Networks.

From Computer Communications to Networks.
The ISO OSI Network Architecture Model.
Media Access Control (MAC) Protocols.
The Network Layer.
The Transport Layer.
Using the Transport Layer.
Network Security.
Summary.
Exercises.
Lab Exercise: Using TCP/IP.


16. Remote Files.

Sharing Information Across the Network.
Remote Disk Systems.
Remote File Systems.
File-Level Caching.
Directory Systems and their Implementation.
Summary.
Exercises.


17. Distributed Computing.

Distributed OS Mechanisms.
Distributed Primary Memory.
Remote Procedure Call.
Remote Objects.
Distributing Process Management.
Summary.
Exercises.
Lab Exercise: Using Remote Procedure Call.


18. Distributed Programming Runtime Systems.

Supporting Distributed Software and Middleware.
Classic Distributed Application Programs.
Middleware Support for Classic Distributed Programming.
Distributed Programming on the Web.
Middleware Support for Mobile Code.
Summary.
Exercises.


19. Design Strategies.

Design Considerations.
Monolithic Kernels.
Modular Organization.
Extensive Nucleus or Microkernel Organization.
Layered Organizations.
Operating Systems for Distributed Systems.
Summary.
Exercises.


20. The LINUX Kernel.

The LINUX Kernel.
Kernel Organization.
Modules and Device Management.
Process and Resource Management.
Memory Manager.
File Management.
Summary.


21. The Windows NT/2000XP Kernel.

Introduction.
The NT Kernel.
The NT Executive.
Kernel Local Procedure Calls and IPC.
Subsystems.
Summary.


Glossary.
Bibliography.
Index.

商品描述(中文翻譯)

作業系統》提供了對當代作業系統概念的理解,通過整合所有作業系統設計背後的原則以及它們在現實世界中的實踐方式。整本書中,Gary Nutt 提供了對作業概念的完整討論,並輔以實際的程式碼範例、演算法和有關實作問題的討論。這本書還包括許多實驗練習,讓學生有機會在 Linux、UNIX 和 Windows 上進行實作練習。

目錄

前言。
1. 介紹。


計算機與軟體。
作業系統策略。
總結。
練習。



2. 使用作業系統。

程式設計師的抽象機器。
資源。
進程與執行緒。
撰寫並行程式。
物件。
總結。
練習。
實驗練習:簡單的 Shell。
實驗練習:多執行緒應用程式。



3. 作業系統組織。

基本功能。
一般實作考量。
當代作業系統核心。
總結。
練習。
實驗練習:觀察作業系統行為。



4. 計算機組織。

馮·諾依曼架構。
中央處理單元。
主記憶體(可執行記憶體)。
輸入/輸出設備。
中斷。
傳統當代計算機。
行動計算機。
多處理器與並行計算機。
總結。
練習。



5. 設備管理。

輸入/輸出系統。
輸入/輸出策略。
設備管理器設計。
緩衝。
設備類別特性。
總結。
練習。
實驗練習:軟碟驅動程式。



6. 實作進程、執行緒與資源。

當前任務。
硬體進程。
抽象機器介面。
進程抽象。
執行緒抽象。
狀態圖。
資源管理器。
一般化進程管理政策。
總結。
練習。
實驗練習:核心計時器。