现代操作系统(英文版·第3版) / 经典原版书库
¥69.00定价
作者: 塔嫩鲍姆
出版时间:2009年3月
出版社:机械工业出版社
- 机械工业出版社
- 9787111265276
- 3
- 179255
- 平装
- 32开
- 2009年3月
- 1076
内容简介
Tanenbaum教授作为三个操作系统的设计师或联合设计师,具有长期设计开发操作系统的经验,从而把其对理论的深入理解和具体实践融入书中,使本书成为操作系统领域的经典之作。
在本书第3版中,作者深入讨论了许多主题,包括:进程、线程、存储管理、文件系统、I/O、死锁、接口设计、多媒体、性能权衡,以及有关操作系统设计的最新趋势。书中不仅涵盖了现代操作系统的原理和实践,而且特别关注了Linux操作系统、Windows Vista操作系统、嵌入式操作系统、实时操作系统以及多媒体操作系统。
在本书第3版中,作者深入讨论了许多主题,包括:进程、线程、存储管理、文件系统、I/O、死锁、接口设计、多媒体、性能权衡,以及有关操作系统设计的最新趋势。书中不仅涵盖了现代操作系统的原理和实践,而且特别关注了Linux操作系统、Windows Vista操作系统、嵌入式操作系统、实时操作系统以及多媒体操作系统。
目录
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
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