基本信息
- 原书名:Operating Systems: Internals and Design Principles, Fifth Edition
编辑推荐
本书不仅全面系统地讲述了操作系统的基本概念、原理和方法,而且以当代最流行的操作系统(Windows、UNIX和Linux)为例,全面清楚地展现了当代操作系统的本质和特点,使得本书的内容具有先进性和适应性。...
内容简介
计算机书籍
操作系统是计算机系统的核心系统软件,负责控制和管理整个系统,使之协调工作。本书不仅全面系统地讲述了操作系统的基本概念、原理和方法,而且以当代最流行的操作系统Windows,UNIX和Linux为例,全面清楚地展现了当代操作系统的本质和特点,使本书的内容具有先进性和适应性。.
本书既注重对操作系统的经典内容的论述,又紧密联系当代流行的设计问题以及当前操作系统的发展方向,可作为大学计算机专业或计算机应用相关专业本科生的双语教材和参考书,也可供从事计算机方向研究的专业技术人员使用。..
本书不仅全面系统地讲述了操作系统的基本概念、原理和方法,而且以当代最流行的操作系统(Windows、UNIX和Linux)为例,全面清楚地展现了当代操作系统的本质和特点,使得本书的内容具有先进性和适应性。
William Stallings是一位肩负着使命的作者:他希望不管是学生还是经验丰富的专业人士都能拥有一本能全面讲述操作系统原理、结构和机制的书。在他这本获奖图书的第五版中,Stallings结合当今操作系统的设计目标及开发方向,对操作系统设计的基础知识做了全面的讲解。
本书特性与优点:
■ 扩展了针对Linux 2.6的案例分析
■ 以Microsoft Windows和UNIX为例说明了现实世界的设计选择
■ 增加了两个主要编程项目:设计一个命令行解释器(shell)和建立一个进程调度器
■ 深入讨论了SMP设计、多线程、微内核以及操作系统为集群和实时调度所提供的支持
■ 强调了当今系统的设计问题和基本原理,可帮助学生真正了解操作系统的关键结构及机制
■ 对讲解并发机制的材料做了修订与扩充...
作译者
目录
0.1 Outline of the Book.
0.2 Topic Ordering
0.3 Internet and Web Resources
PART ONE BACKGROUND
Chapter 1 Computer System Overview
1.1 Basic Elements
1.2 Processor Registers
1.3 Instruction Execution
1.4 Interrupts
1.5 The Memory Hierarchy
1.6 Cache Memory
1.7 I/O Communication Techniques
1.8 Recommended Readings and Web Sites
1.9 Key Terms, Review Questions, and Problems
Appendix 1A Performance Characteristics of Two-Level Memories
Appendix 1B Procedure Control..
Chapter 2 Operating System Overview
2.1 Operating System Objectives and Functions
2.2 The Evolution of Operating Systems
前言
This book is about the concepts, structure, and mechanisms of operating systems. Its purpose is to present, as clearly and completely as possible, the nature and characteristics of modernday operating systems. .
This task is challenging for several reasons. First, there is a tremendous range and variety of computer systems for which operating systems are designed.These include single-user workstations and personal computers, medium-sized shared systems, large mainframe and supercomputers, and specialized machines such as real-time systems. The variety is not just in the capacity and speed of machines, but in applications and system support requirements. Second, the rapid pace of change that has always characterized computer systems continues with no letup. A number of key areas in operating system design are of recent origin, and research into these and other new areas continues.
In spite of this variety and pace of change, certain fundamental concepts apply consistently throughout.To be sure, the application of these concepts depends on the current state of technology and the particular application requirements.The intent of this book is to provide a thorough discussion of the fundamentals of operating system design and to relate these to contemporary design issues and to current directions in the development of operating systems.
EXAMPLE SYSTEMS
This text is intended to acquaint the reader with the design principles and implementation issues of contemporary operating systems. Accordingly, a purely conceptual or theoretical treatment would be inadequate.To illustrate the concepts and to tie them to real-world design choices that must be made, three operating systems have been chosen as running examples:
·Windows XP and Windows 2003: A multitasking operating system for personal computers, workstations, and servers. As a new operating system, it incorporates in a clean fashion many of the latest developments in operating system technology. In addition, Windows is one of the first important commercial operating systems to rely heavily on object-oriented design principles.This book covers the technology used in the most recent versions of Windows, XP for workstations and PCs, and 2003 for servers.
·UNIX: A multiuser operating system, originally intended for minicomputers, but implemented on a wide range of machines from powerful microcomputers to supercomputers. Two flavors of UNIX are included. UNIX SVR4 is a widely used system that incorporates many state-of-the-art features. Solaris is the most widely used commercial version of UNIX. Solaris includes multithreading and other features not found in SVR4 and most other UNIX variants.
·Linux: An open-source version of UNIX that is now widely used.
These systems were chosen because of their relevance and representativeness.The discussion of the example systems is distributed throughout the text rather than assembled as a single chapter or appendix. Thus, during the discussion of concurrency, the concurrency mechanisms of each example system are described, and the motivation for the individual design choices is discussed.With this approach, the design concepts discussed in a given chapter are immediately reinforced with real-world examples.
INTENDED AUDIENCE
The book is intended for both an academic and a professional audience.As a textbook, it is intended as a one-semester undergraduate course in operating systems for computer science, computer engineering, and electrical engineering majors. It covers the topics recommended in Computer Curricula 2001, from the Joint Task Force on Computing Curricula of the IEEE Computer Society and the ACM, for the Undergraduate Program in Computer Science.The book also covers the topics recommended in the Guidelines for Associate-Degree Curricula in Computer Science 2002, also from the Joint Task Force on Computing Curricula of the IEEE Computer Society and the ACM. The book also serves as a basic reference volume and is suitable for self-study.
PLAN OF THE TEXT
The book is divided into five parts (see Chapter 0 for an overview):
·Background
·Processes
·Memory
·Scheduling
·Input/Output and files
The book includes a number of pedagogic features, including the use of numerous figures and tables to clarify the discussion. Each chapter includes a list of key words, review questions, problems, suggestions for further reading, and pointers to relevant Web sites. In addition, a test bank is available to instructors. ..
序言
This text is intended to acquaint the reader with the design principles and implementation issues of contemporary operating systems. Accordingly, a purely conceptual or theoretical treatment would be inadequate.To illustrate the concepts and to tie them to real-world design choices that must be made, three operating systems have been chosen as running examples: ? Windows XP and Windows 2003: A multitasking operating system for personal computers, workstations, and servers. As a new operating system, it incorporates in a clean fashion many of the latest developments in operating system technology. In addition, Windows is one of the first important commercial operating systems to rely heavily on object-oriented design principles.This book covers the technology used in the most recent versions of Windows, XP for workstations and PCs, and 2003 for servers. ? UNIX: A multiuser operating system, originally intended for minicomputers, but implemented on a wide range of machines from powerful microcomputers to supercomputers. Two flavors of UNIX are included. UNIX SVR4 is a widely used system that incorporates many state-of-the-art features. Solaris is the most widely used commercial version of UNIX. Solaris includes multithreading and other features not found in SVR4 and most other UNIX variants. ? Linux: An open-source version of UNIX that is now widely used. These systems were chosen because of their relevance and representativeness.The discussion of the example systems is distributed throughout the text rather than assembled as a single chapter or appendix. Thus, during the discussion of concurrency, the concurrency mechanisms of each example system are described, and the motivation for the individual design choices is discussed.With this approach, the design concepts discussed in a given chapter are immediately reinforced with real-world examples. The book is intended for both an academic and a professional audience.As a textbook, it is intended as a one-semester undergraduate course in operating systems for computer science, computer engineering, and electrical engineering majors. It covers the topics recommended in Computer Curricula 2001, from the Joint Task Force on Computing Curricula of the IEEE Computer Society and the ACM, for the Undergraduate Program in Computer Science.The book also covers the topics recommended in the Guidelines for Associate-Degree Curricula in Computer Science 2002, also from the Joint Task Force on Computing Curricula of the IEEE Computer Society and the ACM. The book also serves as a basic reference volume and is suitable for self-study. The book is divided into five parts (see Chapter 0 for an overview): ? Background ? Processes ? Memory ? Scheduling ? Input/Output and files The book includes a number of pedagogic features, including the use of numerous figures and tables to clarify the discussion. Each chapter includes a list of key words, review questions, problems, suggestions for further reading, and pointers to relevant Web sites. In addition, a test bank is available to instructors. There is a Web site for this book that provides support for students and instructors.The site includes links to other relevant sites, transparency masters of figures and tables in the book in PDF (Adobe Acrobat) format, PowerPoint slides and sign-up information for the book’s Internet mailing list. The Web page is at WilliamStallings.com/OS/OS5e.html. See the section,“Web Site for Operating Systems: Internals and Design Principles,” preceding this Preface, for more information.An Internet mailing list has been set up so that instructors using this book can exchange information, suggestions, and questions with each other and with the author.As soon as typos or other errors are discovered, an errata list for this book will be available at WilliamStallings.com. Finally, I maintain the Computer Science Student Resource Site at WilliamStallings.com/StudentSupport.html....