图书介绍

操作系统 原理与设计 英文PDF|Epub|txt|kindle电子书版本网盘下载

操作系统 原理与设计 英文
  • (印)乔德赫里著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302274896
  • 出版时间:2012
  • 标注页数:640页
  • 文件大小:21MB
  • 文件页数:655页
  • 主题词:操作系统-高等学校-教材-英文

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

操作系统 原理与设计 英文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

热门推荐