没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
CONTENTS
PREFACE
xxiv
1
INTRODUCTION
1
1.1 WHAT IS AN OPERATING SYSTEM? 3
1.1.1 The Operating System as an 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 Batch Systems 8
1.2.3 The Third Generation (1965-1980) ICs and Multiprogramming 10
1.2.4 The Fourth Generation (1980—Present) Personal Computers 13
1.3 COMPUTER HARDWARE REVIEW 17
1.3.1 Processors 17
1.3.2 Memory 21
1.3.3 Disks 24
1.3.4 Tapes 25
1.3.5 1/0 Devices 25
1.3.6 Buses 28
1.3.7 Booting the Computer 31
vii
Viii
CONTENTS
1.4 THE OPERATING SYSTEM ZOO 31
1.4.1 Mainframe Operating Systems 32
1.4.2 Server Operating Systems 32
1.4.3 Multiprocessor Operating Systems 32
1.4.4 Personal Computer Operating Systems 33
1.4.5 Handheld Computer Operating Systems 33
1.4.6 Embedded Operating Systems. 33
1.4.7 Sensor Node Operating Systems 34
1.4.8 Real-Time Operating Systems 34
1.4.9 Smart Card Operating Systems 35
1.5 OPERATING SYSTEM CONCEPTS 35
1.5.1 Processes 36
1.5.2 Address Spaces 38
1.5.3 Files 38
1.5.4 Input/Output 41
1.5.5 Protection 42
1.5.6 The Shell 42
1.5.7 Ontogeny Recapitulates Phylogeny 44
1.6 SYSTEM CALLS 47
1.6.1 System Calls for Process Management 50
1.6.2 System Calls for File Management 54
1.6.3 System Calls for Directory Management 55
1.6.4 Miscellaneous System Calls 56
1.6.5 The Windows Win32 API 57
1.7 OPERATING SYSTEM STRUCTURE 60
1.7.1 Monolithic Systems 60
1.7.2 Layered Systems 61
1.7.3 Microkernels 62
1.7.4 Client-Server Model 65
1.7.5 Virtual Machines 65
1.7.6 Exokernels 69
1.8 THE WORLD ACCORDING TO C 70
1.8.1 The C Language 70
1.8.2 Header Files 71
1.8.3 Large Programming Projects 72
1.8.4 The Model of Run Time 73
1.9 RESEARCH ON OPERATING SYSTEMS 74
CONTENTS
ix
1.10 OUTLINE OF THE REST OF THIS BOOK 75
1.11 METRIC UNITS 76
1.12 SUMMARY 77
2
PROCESSES AND THREADS
81
2.1 PROCESSES 81
2.1.1 The Process Model 82
2.1.2 Process Creation 84
2.1.3 Process Termination 86
2.1.4 Process Hierarchies 87
2.1.5 Process States 88
2.1.6 Implementation of Processes 89
2.1.7 Modeling Multiprogramming 91
2.2 THREADS 93
2.2.1 Thread Usage 93
2.2.2 The Classical Thread Model 98
2.2.3 POSIX Threads 102
2.2.4 Implementing Threads in User Space 104
2.2.5 Implementing Threads in the Kernel 107
2.2.6 Hybrid Implementations 108
2.2.7 Scheduler Activations 109
2.2.8 Pop-Up Threads 110
2.2.9 Making Single-Threaded Code Multithreaded 112
2.3 INTERPROCESS COMMUNICATION 115
2.3.1 Race Conditions 115
2.3.2 Critical Regions 117
2.3.3 Mutual Exclusion with Busy Waiting 118
2.3.4 Sleep and Wakeup 123
2.3.5 Semaphores 126
2.3.6 Mutexes 128
2.3.7 Monitors 132
2.3.8 Message Passing 138
2.3.9 Barriers 142
CONTENTS
2.4 SCHEDULING 143
2.4.1 Introduction to Scheduling 143
2.4.2 Scheduling in Batch Systems 150
2.4.3 Scheduling in Interactive Systems 152
2.4.4 Scheduling in Real-Time Systems 158
2.4.5 Policy versus Mechanism 159
2.4.6 Thread Scheduling 160
2.5 CLASSICAL IPC PROBLEMS 161
2.5.1 The Dining Philosophers Problem 162
2.5.2 The Readers and Writers Problem 165
2.6 RESEARCH ON PROCESSES AND THREADS 166
2.7 SUMMARY 167
3
MEMORY MANAGEMENT
173
3.1 NO MEMORY ABSTRACTION 174
3.2 A MEMORY ABSTRACTION: ADDRESS SPACES 177
3.2.1 The Notion of an Address Space 178
3.2.2 Swapping 179
3.2.3 Managing Free Memory 182
3.3 VIRTUAL MEMORY 186
3.3.1 Paging 187
3.3.2 Page Tables 191
3.3.3 Speeding Up Paging 192
3.3.4 Page Tables for Large Memories 196
3.4 PAGE REPLACEMENT ALGORITHMS 199
3.4.1 The Optimal Page Replacement Algorithm 200
3.4.2 The Not Recently Used Page Replacement Algorithm 201
3.4.3 The First-In, First-Out (FIFO) Page Replacement Algorithm 202
3.4.4 The Second-Chance Page Replacement Algorithm 202
3.4.5 The Clock Page Replacement Algorithm 203
3.4.6 The Least Recently Used (LRU) Page Replacement Algorithm 204
3.4.7 Simulating LRU in Software 205
3.4.8 The Working Set Page Replacement Algorithm 207
CONTENTS
xi
3.4.9 The WSClock Page Replacement Algorithm 211
3.4.10 Summary of Page Replacement Algorithms 213
3.5 DESIGN ISSUES FOR PAGING SYSTEMS 214
3.5.1 Local versus Global Allocation Policies 214
3.5.2 Load Control 216
3.5.3 Page Size 217
3.5.4 Separate Instruction and Data Spaces 219
3.5.5 Shared Pages 219
3.5.6 Shared Libraries 221
3.5.7 Mapped Files 223
3.5.8 Cleaning Policy 224
3.5.9 Virtual Memory Interface 224
3.6 IMPLEMENTATION ISSUES 225
3.6.1 Operating System Involvement with Paging 225
3.6.2 Page Fault Handling 226
3.6.3 Instruction Backup 227
3.6.4 Locking Pages in Memory 228
3.6.5 Backing Store 229
3.6.6 Separation of Policy and Mechanism 231
3.7 SEGMENTATION 232
3.7.1 Implementation of Pure Segmentation 235
3.7.2 Segmentation with Paging: MULTICS 236
3.7.3 Segmentation with Paging: The Intel Pentium 240
3.8 RESEARCH ON MEMORY MANAGEMENT 245
3.9 SUMMARY 246
4
FILE SYSTEMS
253
4.1 FILES 255
4.1.1 File Naming 255
4.1.2 File Structure 257
4.1.3 File Types 258
4.1.4 File Access 260
4.1.5 File Attributes 261
剩余1093页未读,继续阅读
资源评论
- xiaojun8112032014-05-06不错,比较清晰
- John_Tai2013-06-20不错,不过是international 版的。
- dxktt2014-04-23好书,主要看了其中关于安全的介绍
- donglailai2013-08-02非扫描版,清晰。索引更加详细就更好了。
dynamic_system
- 粉丝: 7
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功