图书介绍
操作系统:现代观点 英文版PDF|Epub|txt|kindle电子书版本网盘下载
![操作系统:现代观点 英文版](https://www.shukui.net/cover/23/31525768.jpg)
- (美)Gary Nutt著 著
- 出版社: 北京:人民邮电出版社
- ISBN:7115103445
- 出版时间:2002
- 标注页数:679页
- 文件大小:11MB
- 文件页数:701页
- 主题词:
PDF下载
下载说明
操作系统:现代观点 英文版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
Chapter 1 Introduction1
1.1 Computers and Software2
1.1.1 General System Software2
1.1.2 Resource Abstraction4
IN THE HANGAR:A Disk Device Abstraction5
1.1.3 Resource Sharing6
1.1.4 Computers Without System Software7
1.2 Operating System Strategies8
PERFORMANCE TUNING:Multiprogramming Systems10
1.2.1 Batch Systems10
IN THE HANGAR:Batch Files13
1.2.2 Timesharing Systems14
1.2.3 Personal Computers and Workstations16
1.2.4 Process Control and Real-time Systems18
1.2.5 Networks19
1.2.6 The Genesis of Modern Operating Systems20
IN THE HANGAR:The Evolution of Linux21
IN THE HANGAR:The Microsoft Windows Family of Operating Systems23
1.3 Summary25
1.4 Exercises26
Chapter 2 Using the Operating System29
2.1 The Abstract Model of Computing30
2.2 Resources30
2.2.1 Files30
IN THE HANGAR:POSIX Files31
IN THE HANGAR:Windows Files33
2.2.2 Other Resources36
2.3 Processes37
2.3.1 Creating Processes39
IN THE HANGAR:Using FORK,JOIN,and QUIT40
IN THE HANGAR:Creating Processes in UNIX41
IN THE HANGAR:Creating Processes in Windows44
2.4 Threads46
IN THE HANGAR:C Threads48
2.5 Objects49
2.6 Summary50
2.7 Exercises50
LABORATORY EXERCISE:A Shell Program53
Background53
Attacking the Problem58
LABORATORY EXERCISE:A Multithreaded Windows Console Application61
Background61
Attacking the Problem65
Chapter 3 Operating System Organization71
3.1 Factorsin OS Design72
3.1.1 Performance72
3.1.2 Protection and Security73
3.1.3 Correctness74
3.1.4 Maintainability74
3.1.5 Commercial Influence on Operating Systems74
3.1.6 Standards and Open Systems75
3.2 Basic Functions76
3.2.2 Process and Resource Management77
3.2.1 Device Management77
3.2.3 Memory Management78
3.2.4 File Management78
3.2.5 Functional Organization79
3.3 Basic Implementation Considerations80
3.3.1 Processor Modes80
3.3.2 Kernels81
3.3.3 Requesting Services from the Operating Systems82
3.4 Summary83
3.5 Exercises84
Chapter 4 Computer Organization85
4.1 The von Neumann Architecture86
4.2.1 The Arithmetical-Logical Unit88
4.2 The Central Processing Unit88
4.2.2 The Control Unit89
4.3 Memory91
PERFORMANCE TUNING:Speeding up the Machine92
PERFORMANCE TUNING:Parallel Processors94
4.4 Devices95
4.4.1 General Device Characteristics96
4.4.2 Device Controllers97
IN THE HANGAR:Asynchronous Serial Devices98
4.4.3 Device Drivers99
4.5 Interrupts100
4.6 The Mode Bit Revisited:The Trap Instruction103
4.7 Summary104
4.8 Exercises105
LABORATORY EXERCISE:Kernel Timers109
Background109
Attacking the Problem113
Chapter 5 Device Management119
5.1 Device Management Approaches120
5.1.1 I/O System Organization120
5.1.2 Direct I/O with Polling121
5.1.3 Interrupt-driven I/O123
PERFORMANCE TUNING:Interrupts Versus Polling126
5.1.4 Memory-mapped I/O127
5.1.5 Direct Memory Access128
PERFORMANCE TUNING:I/O-Processor Overlap129
5.2 Buffering130
5.3 Device Drivers134
5.3.1 The Device Driver Interface134
5.3.2 CPU-device Interactions137
5.3.3 I/O Optimization138
5.4 Some Device Management Scenarios138
5.4.1 Serial Communications138
IN THE HANGAR:UNIX Device Drivers139
5.4.2 Sequentially Accessed Storage Devices141
5.4.3 Randomly Accessed Devices142
PERFORMANCE TUNING:Optimizing Access on Rotating Devices144
5.5 Summary149
5.6 Exercises150
LABORATORY EXERCISE:A Floppy Disk Driver153
Background154
Attacking the Problem158
Chapter 6 Process Management161
6.1 The System View of Processes and Resources162
6.1.1 Implementing the Process Model163
6.1.2 Implementing the Resource Model164
6.2 Initializing the Operating System165
6.3 Process Address Spaces166
6.3.1 Creating the Address Space167
6.3.2 Loading the Program168
6.3.3 Maintaining Consistency in the Address Space168
6.4.1 Process Descriptors170
6.4 The Process Abstraction170
6.4.2 Process State Diagram172
6.5 The Resource Abstraction173
6.6 Process Hierarchy174
6.6.1 Refining the Process Manager176
6.6.2 Specializing Resource Allocation Strategies177
6.7 Summary178
6.8 Exercises179
LABORATORY EXERCISE:Observing OS Behavior181
Background182
Attacking the Problem187
Chapter 7 Scheduling189
7.1.1 The Process Scheduler Organization190
7.1 Scheduling Mechanisms190
7.1.2 Saving the Process Context192
7.1.3 Voluntary CPU Sharing192
7.1.4 Involuntary CPU Sharing194
7.1.5 Performance195
7.2 Strategy Selection196
7.2.1 Partitioning a Process into Small Processes199
7.3 Nonpreemptive Strategies200
7.3.1 First-Come-First-Served200
PERFORMANCE TUNING:Approximating System Load201
7.3.2 Shortest Job Next202
PERFORMANCE TUNING:Predicting Wait Times for FCFS203
7.3.3 Priority Scheduling204
7.3.4 Deadline Scheduling206
7.4 Preemptive Strategies207
7.4.1 Round Robin207
7.4.2 Multiple-level Queues210
7.5 Summary212
7.6 Exercises213
Chapter 8 Basic Synchronization Principles217
8.1 Interacting Processes218
IN THE HANGAR:Solving a System of Linear Equations219
8.1.1 Critical Sections220
8.1.2 Deadlock224
8.2 Coordinating Processes226
8.3 Semaphores228
8.3.1 Principles of Operation229
IN THE HANGAR:Examples Using Semaphore231
8.3.2 Practical Considerations237
8.4 Shared Memory Multiprocessors241
8.5 Summary242
8.6 Exercises242
LABORATORY EXERCISE:Bounded Buffer Problem249
Background249
Attacking the Problem255
Chapter 9 High-lever Synchronization257
9.1 Alternative Synchronization Primitiyes258
9.1.1 AND Synchronization258
9.1.2 Events259
IN THE HANGAR:Using Events260
IN THE HANGAR:UNIX Signals261
IN THE HANGAR:Windows 2000 Dispatcher Objects263
9.2 Monitors264
9.2.1 Principles of Operation264
9.2.2 Condition Variables266
IN THE HANGAR:Examples Using Monitors269
9.2.3 Some Practical Aspects of Using Monitors273
9.3 Interprocess Communication273
9.3.1 Mailboxes274
9.3.2 Message Protocols276
9.3.3 Using the send and receive Operations276
IN THE HANGAR:Synchronized IPC278
9.3.4 Deferred Message Copying278
9.4 Explicitly Ordering Event Execution279
9.6 Exercises281
9.5 Summary281
LABORATORY EXERCISE:Refining the Shell285
Background285
Attacking the Problem290
Chapter 10 Deadlock291
10.1 Background292
10.1.1 Prevention294
10.1.2 Avoidance295
10.1.3 Detection and Recovery295
10.1.4 Manual Deadlock Management295
10.2 A System Deadlock Model296
IN THE HANGAR:Single Resource Type297
10.3.1 Hold and Wait299
10.3 Prevention299
10.3.2 Circular Wait301
10.3.3 Allowing Preemption303
10.4 Avoidance304
10.4.1 The Banker's Algorithm306
IN THE HANGAR:Using the Banker's Algorithm307
10.5 Detection and Recovery309
10.5.1 Serially Reusable Resources310
10.5.2 Consumable Resources316
10.5.3 General Resource Systems320
10.5.4 Recovery321
10.6 Summary321
10.7 Exercises322
Chapter 11 Memory Management325
11.1 The Basics326
11.1.1 Requirements on Primary Memory326
11.1.2 Mapping the Address Space to Primary Memory327
PERFORMANCE TUNING:Using Memory Hierarchies to Reduce Access Time328
IN THE HANGAR:The Address Binding Procedure330
11.1.3 Dynamic Memory for Data Structures333
11.2 Memory Allocation335
11.2.1 Fixed-partition Memory Strategies336
11.2.2 Variable-partition Memory Strategies337
11.2.3 Contemporary Allocation Strategies340
PERFORMANCE TUNING:The Cost of Moving Programs341
11.3 Dynamic Address Relocation342
11.3.1 Runtime Bound Checking346
IN THE HANGAR:Expanding Small Address Spaces347
11.4 Memory Manager Strategies348
11.4.1 Swapping348
11.4.2 Virtual Memory352
11.4.3 Shared-memory Multiprocessors352
PERFORMANCE TUNING:Using Cache Memory353
11.5 Summary357
11.6 Exercises357
Chapter 12 Virtual Memory361
12.1 Address Translation362
12.1.1 Address Space Mapping362
12.1.2 Segmentation and Paging364
12.2 Paging365
12.2.1 Virtual Address Translation367
PERFORMANCE TUNING:Page Table Implementations370
12.3 Static Paging Algorithms371
12.3.1 The Fetch Policy372
12.3.2 Demand Paging Algorithms372
12.3.3 Stack Algorithms376
12.3.4 Implementing LRU378
PERFORMANCE TUNING:Paging Performance379
12.4 Dynamic Paging Algorithms381
12.4.1 The Working Set Algorithm381
IN THE HANGAR:Working Set Algorithm Example383
12.4.2 Implementing the Working Set Algorithm385
PERFORMANCE TUNING:Taking Advantage of Pages with IPC387
IN THE HANGAR:Windows 2000 Virtual Memory388
IN THE HANGAR:Linux Virtual Memory392
12.5 Segmentation393
12.5.1 Address Translation394
12.5.2 Implementation396
IN THE HANGAR:The Multics Segmentation System399
12.6 Summary401
12.7 Exercises402
Chapter 13 File Management405
13.1 Files406
13.1.1 Low-level Files408
13.1.2 Structured Files412
13.1.4 Multimedia Storage418
13.1.3 Database Management Systems418
13.2 Low-level File Implementations419
13.2.1 open and close Operations420
IN THE HANGAR:UNIX open and close420
13.2.2 Block Management422
IN THE HANGAR:UNIX File Structure425
13.2.3 Reading and Writing the Byte Stream430
13.3 Supporting Other Storage Abstractions431
13.3.1 Structured Sequential Files431
13.3.2 Indexed Sequential Files431
13.3.3 Database Management Systems432
13.3.4 Multimedia Documents432
13.4 Memory-mapped Files433
IN THE HANGAR:Memory-mapped Files in Windows 2000434
13.5 Directories435
13.5.1 Directory Structures436
IN THE HANGAR:Some Directory Examples437
13.6 Directory Implementation439
13.6.1 Device Directories439
13.6.2 File Directory440
13.6.3 Opening a File in a Hierarchical Directory440
13.6.4 Mounting Removable File Systems441
13.7 Summary442
13.8 Exercises442
LABORATORY EXERCISE:A Simple File Manager445
Background446
Attacking the Problem449
Chapter 14 Protection and Security453
14.1 Fundamentals454
14.1.1 Policy and Mechanism454
14.1.2 Implementing Policy and Mechanism456
14.1.3 Authentication Mechanisms456
14.1.4 Authorization Mechanisms457
14.1.5 Encryption458
14.2 Authentication458
14.2.1 User Authentication459
14.2.2 Authentication in Networks459
IN THE HANGAR:Kerberos Network Authentication461
14.3 Internal Access Authorization463
14.3.1 A Model for Resource Protection464
14.3.2 Changing the Protection State466
14.3.3 The Cost of Protection Mechanisms468
14.4 Implementing Internal Authorization469
14.4.1 Protection Domains469
14.4.2 Implementing the Access Matrix471
14.5 Cryptography476
14.6 Summary477
14.7 Exercises478
Chapter 15 Networks481
15.1 From Computer Communications to Networks482
15.1.1 Communication Subnetworks483
15.1.2 Network Communication Protocols484
15.2 The ISO OSI Network Architecture Model485
15.2.1 The Evolution of Network Protocols485
15.2.2 The ISO OSI Model487
15.3 Low-level Protocols490
15.3.1 The Physical Layer491
PERFORMANCE TUNING:Fast Physical Layers492
15.3.2 The Data Link Layer493
15.3.3 Contemporary Networks494
15.4 The Network Layer496
15.4.1 Addressing498
15.4.2 Routing499
15.4.3 Using the Network Layer501
15.5 The Transport Layer502
15.5.1 Communication Ports502
15.5.2 Data Types503
15.5.3 Reliable Communication504
PERFORMANCE TUNING:Datagrams and Virtual Circuits505
15.6 Using the Transport Layer506
15.6.1 Naming506
IN THE HANGAR:The Domain Name System508
15.6.2 The Client-server Model509
15.7 Summary511
15.8 Exercises512
LABORATORY EXERCISE:Using TCP/IP515
Background515
Attacking the Problem523
Chapter 16 Remote Files525
16.1 Sharing Information Across the Network526
16.1.1 Explicit File Copying Systems527
16.1.2 Implicit File Sharing528
16.1.3 The Remote Storage Interface530
16.1.4 Distributing the Work531
16.2 Remote Disk Systems533
16.2.1 The Remote Disk Operation534
16.2.2 Performance Considerations535
16.2.3 Reliability536
16.2.4 The Future of Remote Disks539
16.3 Remote File Systems539
16.3.1 The General Architecture540
16.3.2 Block Caching542
16.3.3 Crash Recovery544
IN THE HANGAR:The Andrew File System548
16.4 File-level Caching548
IN THE HANGAR:The LOCUS File System549
16.5 Directory Systems and Their Implementations551
16.5.1 Filenames552
16.5.2 Opening a File554
16.6 Summary555
16.7 Exercises556
Chapter 17 Distributed Computing559
17.1 Distributing Process Management560
17.1.1 Partitioning the Work560
17.1.2 Supporting Partitioned Computation562
17.1.3 General Process Management563
17.1.4 Scheduling563
PERFORMANCE TUNING:Process Migration and Load Balancing564
17.1.5 Coordinating Processes565
17.2 Message Passing568
17.2.1 Message-passing Interfaces570
17.2.2 Computing Paradigms572
17.3 Remote Procedure Call573
17.3.1 How Does RPC Work?573
17.3.2 Implementing RPC575
17.4 Distributed-memory Management579
17.4.1 Remote Memory583
IN THE HANGAR:Examples of Distributed Memory583
17.4.2 Distributed Virtual Memory586
17.4.3 Distributed Objects588
17.6 Exercises589
17.5 Summary589
Chapter 18 Strategies and Examples591
18.1 OS Components and Relationships592
18.2 General Organizational Issues593
18.2.1 Software Organization594
18.2.2 Managing Distributed Hardware599
18.3 The Traditional UNIX Kernel601
18.3.1 The Kernel602
18.3.2 The Monolithic Organization603
18.3.3 Conclusion604
18.4 The Linux Kernel604
18.4.1 Kernel Organization604
18.4.2 Process and Resource Management609
18.4.3 Memory Manager615
18.4.4 File Management616
18.5 Choices:An Object-oriented OS618
18.5.1 Frameworks618
18.5.2 Using a Framework for the Memory Manager618
18.5.3 Conclusion620
18.6 Microsoft Windows NT621
18.6.1 General Architecture621
18.6.2 The Hardware Abstraction Layer(HAL)624
18.6.3 The NT Kernel624
18.6.4 The NT Executive626
18.6.5 NT Subsystems631
18.7 The Mach Operating System632
18.7.1 Process Management633
18.7.2 Message Passing635
18.7.3 Memory Management638
18.7.4 Conclusion640
18.8 The CHORUS Operating System640
18.8.1 Process Management642
18.8.2 Interprocess Communication643
18.8.3 Memory Management643
18.8.4 Conclusion644
18.9 Summary644
18.10 Exercises644
Glossary647
Bibliography659
Index663