编辑推荐
在本书中作者深入讨论了许多主题,包括:进程、线程、存储管理、文件系统、I/O、死锁、接口设计、多媒体、性能权衡,以及有关操作系统设计的新趋势。书中不仅涵盖了现代操作系统的原理和实践,而且特别关注了Linux操作系统、Windows Vista操作系统、嵌入式操作系统、实时操作系统以及多媒体操作系统。 本书适合从事相关研究工作的人员参考阅读。
内容简介
Tanenbaum教授作为三个操作系统的设计师或联合设计师,具有长期设计开发操作系统的经验,从而把其对理论的深入理解和具体实践融入书中,使本书成为操作系统领域的经典之作。
在本书第3版中,作者深入讨论了许多主题,包括:进程、线程、存储管理、文件系统、I/O、死锁、接口设计、多媒体、性能权衡,以及有关操作系统设计的最新趋势。书中不仅涵盖了现代操作系统的原理和实践,而且特别关注了Linux操作系统、Windows Vista操作系统、嵌入式操作系统、实时操作系统以及多媒体操作系统。
作者简介
Andrew S.Tenenbeum,拥有美国麻省理工学院的理学学士学位和加州大学伯克利分校的哲学博士学位,目前是荷兰阿姆斯特丹Vrije大学的计算机科学系教授。多年来,他在编译技术,操作系统,网络及局域分布式系统方面进行了大量的研究工作。目前,他专注于系统和安全方面的高级研究。他已经发表了近150篇论文。并在十几个国家做了有关操作系统的学术报告。Tanenbaum是ACM会员,IEEE资深会员,荷兰皇家艺术和科学学院院士,并由于。对计算领域,特别是计算机组织,网络和操作系统方面的教育所做的贡献。而获得2007年度IEEE Jarnes H Mulligan,JL教育奖。他还入选了《世界名人录》。
内页插图
目录
PREFACE
1 INTRODUCTION1
1.1 WHAT IS AN OPERATING SYSTeM?3
1.1.1 The Operating System as all Extended Machine 4
1.1.2 The Operating System as a Resource Manager 6
1.2 HISTORY OF OPERATING SYSTEMS 7
1.2.1 The First Generation(1945-55)Vacuum Tubes 7
1.2.2 The Second Generation(1955-65)Transistors and Bacch Systerms 8
1.2.3 The Third Generation(1965—1980)ICs and Multiprogramming 10
1.2 4 The Fourth Generation(1980-Present)Person Computers 15
1.3 COMPUTER HARDWARE REVIEW 19
l.3.1 Processors 19
1.3.2 Memory 23
1.3.3 Disks 26
1.3.4 Tapes 27
1.3.5 I/ODevices 27
1.3.6 Buses 30
1 3.7 Booting the Computer 33
1.4 THE OPERATING SYSTEM ZOO 33
1.4.1 Mainframe Operating Systems 34
1.4.2 Server Operating Systems 34
1.4.3 Multiprocessor Operating Systems 34
1.4.4 Personal Computer Operating Systems 35
1.4.5 Handheld Computer Operating Systems 35
1.4.6 Embedded Operating Systems. 35
1.4.7 Sensor Node Operating Systems 36
1.4.8 Real-Time Operating Systems 36
1.4.9 Smart Card Operating Systems 37
1.5 OPERATING SYSTEM CONCEPTS 37
1.5.1 Processes 38
1.5.2 Address Spaces 40
1.5.3 Files 40
1.5.4 Input/Output 43
1.5.5 Protection 44
1.5.6 The Shell 44
1.5.7 0ntogeny Recapitulates Phylogeny 46
1.6 SYSTEM CALLS 49
1.6.1 System Calls for Process Management 52
1.6.2 System Calls for File Management 56
1.6.3 System Calls for Directory Management 57
1.6.4 Miscellaneous System Calls 58
1.6.5 The Windows Win32 API 59
1.7 OPERATING SYSTEM STRUCTURE 62
1.7.1 Monolithic Systems 62
1.7.2 Layered Systems 63
1.7.3 Microkernels 64
1.7.4 Client-Server Model 67
1.7.5 Virtual Machines 67
1.7.6 Exokemels 71
1.8 THE WORLD ACCORDING TO C 72
1.8.1 The C Language 72
1.8.2 Header Files 73
1.8.3 Large Programming Projects 74
1.8.4 The Model of Run Time 75
1.9 RESEARCH ON OPERATING SYSTEMS 76
1.10 OUTLINE OF THE REST OF THIS BOOK 77
1.11 METRICIfNITS 78
1.12 SUMMARY 79
2 PROCESSES AND THREADS
2.1 PROCESSES 83
2.1.1 The Process Model 84
2.1.2 Process Creation 86
2.1.3 Process Termination 88
2.1.4 Process Hierarchies 89
2.1.5 Process States 90
2.1.6Implementation of Processes 91
2.1.7 Modeling Multiprogramming 93
2.2 THREADS 95
2.2.1 Thread Usage 95
2.2.2 The Classical Thread Model 100
2.2.3 POSIX Threads 104
2.2.4 Implementing Threads in User Space 106
2.2.5 Implementing Threads in the Kernel 109
2.2.6 Hybrid Implementations 110
2.2.7 Scheduler Activations 111
2.2.8 Pop-Up Threads 112
2.2.9 Making Single-Threaded Code Multithreaded 114
2.3 INTERPROCESS COMMUNICATION 117
2.3.1 Race Conditions 117
2.3.2 Critical Regions 119
2.3.3 Mutual Exclusion with Busy Waiting 120
2.3.4 Sleep and Wakeup 125
2.3.5 Semaphores 128
2.3.6 Mutexes 130
2.3.7 Monitors 134
2.3.8 Message Passing 140
2.3.9 Barriers 144
2.4 SCHEDULING 145
2.4.1 Introduction to Scheduling 145
2.4.2 Scheduling in Batch Systems 152
2.4.3 Scheduling in Interactive Systems 154
2.4.4 Scheduling in Real-Time Systems 160
2.4.5 Policy versus Mechanism 161
2.4.6 Thread Scheduling 162
2.5 CLASSICAL IPC PROBLEMS 163
2.5.1 The Dining Philosophers Problem 164
2.5.2 The Readers and Writers Problem 167
2.6 RESEARCH ON PROCESSES AND THREADS 168
2.7 SUMMARY 169
3 MEMORY MANAGEMETNT
4 FILE SYSTEMS
5 INPUT/OUTPUT
6 DEADLOCKS
7 MULTIMEDIA OPERATING SYSTEMS
8 MULTIPLE PROCESSOR SYSTEMS
9 SECURITY
10 CASE STUDY 1:LINUX
11 CASE STUDY 2:WINDOWS VISTA
12 CASE STUDY 3:SYMBIAN OS
13 OPERATING SYSYTEM DESIGN
14 READING LIST AND BIBLIOGRAPHY
INDEX
精彩书摘
The library procedure, possibly written in assembly language, typically putsthe system call number in a place where the operating system expects it, such as aregister (step 5). Then it executes a TRAP instruction to switch from user mode tokemel mode and start execution at a fixed address within the kernel (step 6). TheTRAP instruction is actually fairly similar to the procedure call instruction in thesense that the instruction following it is taken from a distant location and the return address is saved on the stack for use later.
Nevertheless, the TRAP instruction also differs from the procedure call instruction in two fundamental ways. First, as a side effect, it switches into kernelmode. The procedure call instruction does not change the mode. Second, ratherthan giving a relative or absolute address where the procedure is located, the TRAPinstmction cannot jump to an arbitrary address. Depending on the architecture, iteither jumps to a single fixed location or there is an 8 bit field in the instruction giving the index into a table in memory containing jump addresses, or equivalent.
前言/序言
文艺复兴以降,源远流长的科学精神和逐步形成的学术规范,使西方国家在自然科学的各个领域取得了垄断性的优势-也正是这样的传统,使美国在信息技术发展的六十多年间名家辈出、独领风骚。在商业化的进程中,美国的产业界与教育界越来越紧密地结合,计算机学科中的许多泰山北斗同时身处科研和教学的最前线,由此而产生的经典科学著作,不仅擘划了研究的范畴,还揭示了学术的源变,既遵循学术规范,又自有学者个性,其价值并不会因年月的流逝而减退。近年,在全球信息化大潮的推动下,我国的计算机产业发展迅猛,对专业人才的需求日益迫切。这对计算机教育界和出版界都既是机遇,也是挑战;而专业教材的建设在教育战略上显得举足轻重。在我国信息技术发展时间较短的现状下,美国等发达国家在其计算机科学发展的几十年间积淀和发展的经典教材仍有许多值得借鉴之处。因此,引进一批国外优秀计算机教材将对我国计算机教育事业的发展起到积极的推动作用,也是与世界接轨、建设真正的世界一流大学的必由之路。
现代操作系统(英文版第3版) 电子书 下载 mobi epub pdf txt