图书介绍
操作系统 原理与设计 英文PDF|Epub|txt|kindle电子书版本网盘下载
![操作系统 原理与设计 英文](https://www.shukui.net/cover/65/33822193.jpg)
- (印)乔德赫里著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302274896
- 出版时间:2012
- 标注页数:640页
- 文件大小:21MB
- 文件页数:655页
- 主题词:操作系统-高等学校-教材-英文
PDF下载
下载说明
操作系统 原理与设计 英文PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
1 INTRODUCTION TO THE OPERATING SYSTEM1
1.1 OS Functions1
1.1.1 OS Acts as a User/Computer Interface1
1.1.2 Interaction with OS3
1.1.3 Operating System Commands5
1.1.4 Operating System as Efficient Resource Manager19
1.1.5 OS Upgrading21
1.1.6 Operating System Security and Protection22
1.2 Evolution of Operating System31
1.2.1 Serial Processing31
1.2.2 Batch Processing32
1.2.3 Multiprogramming or Simple Concurrent Processing34
1.2.4 Resource Management35
1.2.5 Operating System Structure43
1.2.6 Future Operating System Trends48
Summary49
Exercises49
2 OS PREREQUISITES50
2.1 Important Software Resources to be Managed by OS50
2.2 Interaction with OS in Mainframe Systems(Interrupts in General)55
2.2.1 The Program Status Word55
2.2.2 Different Fields of PSW55
2.2.3 Controlling I/O57
2.2.4 The Interrupt Concept60
2.2.5 Interrupt Priority65
2.2.6 What Other Manufacturers(Other than IBM)Do?66
2.2.7 Interrupt Cycle67
2.2.8 Differences between Subroutine Call and Interrupt Scheme68
2.3 Example from PC Environment and Related Discussion69
2.3.1 Different Ways to Control PC Hardware69
2.3.2 Accessing the BIOS and DOS71
2.4 Current'State-of-the-Art'Scenario in OS Design75
2.5 Fundamental Concepts Related to IPC100
2.5.1 Message Queues102
2.5.2 Semaphores111
2.5.3 Shared Memory120
Summary124
Exercises124
3 CONCURRENT PROCESSING126
3.1 Introduction to Concurrent Processing126
3.2 Process Concept127
3.3 Introduction to Process Control Block128
3.4 Interaction of User's Process with the System139
3.4.1 Exec sys140
3.5 Introduction to Concurrent Program144
3.6 Distinction between a Procedure Call and a Process Creation145
3.7 Introduction to Process Environment148
3.7.1 Introduction to Process id148
3.7.2 Shells or Command Interpreter154
3.8 Process State Transitions155
3.9 Difference between User,Daemon and Kernel Processes160
3.10 Interprocess Communication161
3.10.1 File and Record Locking161
3.10.2 Simple Pipes and Named Pipes188
3.10.3 Pipes and Sockets188
3.11 Hierarchy of Processes190
3.11.1 Process Creation191
3.11.2 Processes and Threads191
Summary193
Exercises194
4 SCHEDULING195
4.1 CPU Scheduling Algorithms195
4.1.1 Allocation of Different Resources195
4.1.2 Scheduling Queues196
4.1.3 Different Scheduling Algorithms207
4.1.4 Algorithm Evaluation226
Summary227
Exercises228
5 DISCUSSION ON CONCURRENCY CONTROL229
5.1 Bernstein's Concurrency Conditions229
5.1.1 Fork and Join Construct230
5.1.2 Alternative to Fork-Join235
5.2 Process States and Precedence Graphs238
5.3 Dijkstra's Concurrent Statement in the Form of Fork and Join Constructs238
5.4 The Critical Section Problem239
5.4.1 Bounded Buffer Producer-Consumer Problem239
5.4.2 Critical Section Problem Description and Their Solution245
5.5 Hardware Solution to the Critical Section Problem264
5.6 New Synchronization Tool—Semaphore266
5.6.1 Usage of Semaphores266
5.7 Classical Process Coordination Problems269
5.7.1 Bounded Buffer Problem269
5.7.2 The Reader's and Writer's Problem272
5.7.3 Dining Philosophers' Problem294
5.7.4 Sleeping Barber Problem299
5.7.5 Cigarette Smoker's Problem307
5.8 Language Constructs for Synchronization and Modularization310
5.8.1 Critical Regions311
5.8.2 Conditional Critical Region313
5.8.3 Monitor Construct315
Summary334
Exercises334
6 DEADLOCK336
6.1 Introduction336
6.2 Definition of Deadlock337
6.3 Deadlock and Starvation338
6.4 Resource Allocation Graph339
6.5 Ways to Solve Deadlock Problem341
6.5.1 Tackling Deadlock Using Deadlock Prevention341
6.5.2 Deadlock Avoidance342
6.5.3 Deadlock Detection351
6.5.4 Difference between Deadlock Detection Algorithm (Multiple Instances of each Resource Type)and Safety Algorithm356
6.5.5 Solution of Deadlock under Difierent Scenarios357
Summary360
Exercises360
7 MAIN MEMORY MANAGEMENT362
7.1 Introduction362
7.2 Memory Management Schemes363
7.3 Partitioned Allocation364
7.4 Logical vs Physical Address Space366
7.4.1 Address Binding366
7.4.2 Address Translation367
7.5 Simple Paging367
7.6 The Role of the Long-term Scheduler369
7.6.1 Problem Assignment369
7.7 Implementation of the Page Table377
7.8 Multiple Process Using a Text Editor Code378
7.9 Simple Segmentation378
7.10 Details of Segmentation379
7.11 Combined System381
7.11.1 Combination Used in GE645 Multics System382
7.12 Inner Details of Segmentation and Paging for Intel Systems383
Summary385
Exercises386
8 VIRTUAL MEMORY TECHNIQUE387
8.1 Introduction387
8.2 Overlays Technique388
8.3 Virtual Memory389
8.3.1 Virtual Memory Concept389
8.4 Demand Paging395
8.4.1 Performance of Demand Paging396
8.5 Page Replacement Algorithm397
8.5.1 FIFO(Simplest Page Replacement Algorithm is First In First Out)398
8.5.2 Optimal Replacement400
8.5.3 Least Recently Used(LRU)Algorithm405
8.5.4 Second Chance Replacement(With the Help of Reference Bit)422
8.5.5 Ad hoc Page Replacement Algorithms423
8.6 Free Frame Allocation Algorithm424
8.6.1 Equal Allocation424
8.6.2 Proportional Allocation(According to their Needs Rather than Equal)424
8.7 Thrashing425
8.8 Working Set426
8.8.1 Prepaging427
8.8.2 I/O Interlock427
8.8.3 Page Size Anomaly427
8.9 Program Structure428
Summary429
Exercises430
9 SPOOLER AND DISK SCHEDULING432
9.1 Introduction to the Design of a Spooling System432
9.2 Relationship between Spooling and Job Scheduling434
9.2.1 A Printer Spooler435
9.3 Device Management443
9.4 Physical Characteristics of Disks443
9.4.1 Disks443
9.5 FCFS Disk Scheduling444
9.6 Searching an Item in the Disk with Indexed Sequential File Directory448
9.6.1 Shortest Seek Time First(SSTF)452
Summary454
Exercises454
10 FILE SYSTEM ARCHITECTURE456
10.1 Overview456
10.2 Initial Notions457
10.2.1 Files457
10.2.2 Directories457
10.2.3 Different Types of Directories under the UNIX System458
10.2.4 The Directory and File Naming Conventions458
10.2.5 Difference between COM and EXE Program459
10.2.6 Abbreviations for Path Names460
10.2.7 Paths are Used462
10.3 Attributes of UNIX Files(For the Beginners)462
10.3.1 The File Owner and the Group462
10.3.2 Access Permissions463
10.3.3 Creating a File463
10.3.4 Removing Files466
10.3.5 Maintaining Files466
10.4 File System and their Type467
10.4.1 Evolution of File System Over the Years468
10.5 Introduction of EXT2 FS468
10.5.1 The View of Inodes from the Point of View of a Blocks Group469
10.5.2 The Allocated Blocks472
10.5.3 User and Group id473
10.6 Virtual File System (VFS)481
10.6.1 The Linux Virtual File System Layer481
10.6.2 Registration Procedures of VFS481
10.6.3 Registering the File Systems in Kernel484
10.7 Program Designs488
Appendix490
End Notes509
Summary512
Exercises512
11 DEVICE DRIVER FOR OPERATING SYSTEM513
11.1 Introduction513
11.2 Initial Notions for the Design514
11.3 Interfacing Device Drivers with the Kernel530
11.3.1 Character Devices530
11.3.2 Block Devices531
11.3.3 Network Device533
11.4 Theory to Practice535
Summary548
Exercises548
12 LINUX KERNEL AND SECURITY550
12.1 Introduction550
12.2 Basics Notions550
12.2.1 What are LKMs550
12.2.2 What are System Calls552
12.2.3 What is Kernel Symbol Table557
12.2.4 How to Trarnsform Kernel to User Space Memory558
12.2.5 Ways to Use User Space Like Functions560
12.2.6 List of Daily Needed Kernel Space Functions561
12.2.7 What is Kernel Daemon563
12.2.8 Creating Your Own Devices563
12.3 Experiments with Linux System Calls565
12.3.1 How to Intercept Syscalls565
12.3.2 Interesting System Calls to Intercept566
12.3.3 File System-Related Hacks571
12.3.4 Process-Related Hacks578
12.3.5 Network(Socket)-Related Hacks583
12.3.6 Virus Writing with LKMs587
12.4 Directives to the System Administrators for Secured System593
12.4.1 Theory and Ideas on LKM Detector593
12.5 The Last Word on the'LKM Story'613
Summary613
Exercises613
13 ROLE OF OS TOWARDS LOW POWER DESIGN615
13.1 Low Power Design from Various Angles616
13.2 Power Management in Embedded Linux Platform618
13.2.1 Dynamic Power Management618
13.2.2 Main Generic Points in the Low Power Design621
13.2.3 d-bus Interface627
13.2.4 Hotplug Mechanism627
Summary628
Exercises628
BIBLIOGRAPHy630
INDEX635