图书介绍

4.4BSD操作系统设计与实现 英文版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

4.4BSD操作系统设计与实现 英文版
  • Marshall Kirk McKusick等编著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:7115103488
  • 出版时间:2002
  • 标注页数:580页
  • 文件大小:26MB
  • 文件页数:607页
  • 主题词:

PDF下载


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

下载说明

4.4BSD操作系统设计与实现 英文版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

Part 1 Overview1

Chapter 1 History and Goals3

1.1 History ofthe UNIX System3

Origins3

Research UNIX4

AT&T UNIX System Ⅲ and System Ⅴ7

Other Organizations8

Berkeley Software Distributions8

UNIX in the World10

1.2 BSD and Other Systems10

The Influence of the User Community11

1.3 Design Goals of 4BSD12

4.2BSD Design Goals13

4.3BSD Design Goals14

4.4BSD Design Goals15

1.4 Release Engineering16

References17

Chapter 2 Design Overview of 4.4BSD21

2.1 4.4BSD Facilities and the Kernel21

The Kernel22

2.2 Kernel Organization23

2.3 Kernel Services25

2.4 Process Management26

Signals27

Process Groups and Sessions28

BSD Memory-Management Design Decisions29

2.5 Memory Management29

Memory Management Inside the Kernel31

2.6 I/OSystem31

Descriptors and I/O32

Descriptor Management33

Devices34

Socket IPC35

Scatter/Gather I/O35

Multiple Filesystem Support36

2.7 Filesystems36

2.8 Filestores40

2.9 Network Filesystem41

2.10 Terminals42

2.11 Interprocess Communication43

2.12 Network Communication44

2.13 Network Implementation44

2.14 System Operation45

Exercises45

References46

Chapter 3 Kernel Services49

3.1 Kernel Organization49

System Processes49

System Entry50

Run-Time Organization50

Entry to the Kernel52

3.2 System Calls53

Return from the Kernel53

Result Handling54

Returning from a System Call54

3.3 Traps and Interrupts55

Traps55

I/O Device Interrupts55

Software Interrupts56

3.4 Clock Interrupts57

Statistics and Process Scheduling58

Timeouts58

3.5 Memory-Management Services60

Adjustment of the Time63

RealTime63

3.6 Timing Services63

External Representation64

Interval Time64

3.7 User,Group,and Other Identifiers65

Host Identifiers67

Process Groups and Sessions68

3.8 Resource Services68

Process Priorities69

Resource Utilization69

Resource Limits70

Filesystem Quotas70

Accounting71

3.9 System-Operation Services71

Exercises72

References73

Part 2 Processes75

Chapter 4 Process Management77

4.1 Introduction to Process Management77

Multiprogramming78

Scheduling79

4.2 Process State80

The Process Structure81

The User Structure85

Process State87

4.3 Context Switching87

Low-Level Context Switching88

Voluntary Context Switching88

Synchronization91

4.4 Process Scheduling92

Calculations of Process Priority93

Process-Priority Routines95

Process Run Queues and Context Switching96

4.5 Process Creation98

4.6 Process Termination99

4.7 Signals100

Comparison with POSIX Signals103

Posting of a Signal104

Delivering a Signal106

4.8 Process Groups and Sessions107

Sessions109

Job Control110

4.9 Process Debugging112

Exercises114

References116

Chapter 5 Memory Management117

5.1 Terminology117

Processes and Memory118

Paging119

Replacement Algorithms120

Swapping121

Working-Set Model121

Advantages of Virtual Memory122

Hardware Requirements for Virtual Memory122

5.2 Overview of the 4.4BSD Virtual-Memory System123

5.3 Kemel Memory Management126

Kernel Maps and Submaps127

Kernel Address-Space Allocation128

Kernel Malloc129

5.4 Per-Process Resources132

4.4BSD Process Virtual-Address Space132

Page-Fault Dispatch134

Mapping to Objects134

Objects136

5.5 Shared Memory137

Objects to Pages137

Mmap Model139

Shared Mapping141

Private Mapping142

Collapsing of Shadow Chains144

Private Snapshots145

5.6 Creation of a New Process146

Reserving Kernel Resources147

Duplication of the User Address Space148

Creation of a New Process Without Copying149

5.7 Execution of a File150

Change of Process Size151

5.8 Process Manipulation of Its Address Space151

File Mapping152

Change of Protection154

5.9 Termination of a Process154

5.10 The Pager Interface156

Vnode Pager157

Device Pager159

Swap Pager160

5.11 Paging162

5.12 Page Replacement166

Paging Parameters168

The Pageout Daemon169

Swapping171

The Swap-In Process172

5.13 Portability173

The Role ofthepmap Module176

Initialization and Startup179

Mapping Allocation and Deallocation181

Change of Access and Wiring Attributes for Mappings184

Management of Page-Usage Information185

Initialization of Physical Pages186

Management of Internal Data Structures186

Exercises187

References188

Part 3 I/O System191

Chapter 6 I/O System Overview193

6.1 I/O Mapping from User to Device193

I/O Queueing195

Device Drivers195

Interrupt Handling196

6.2 Block Devices196

Entry Points for Block-Device Drivers197

Sorting of Disk I/O Requests198

Disk Labels199

6.3 Character Devices200

Raw Devices and Physical I/O201

Character-Oriented Devices202

Entry Points for Character-Device Drivers203

6.4 Descriptor Management and Services205

Open File Entries205

Management of Descriptors207

File-Descriptor Locking209

Multiplexing I/O on Descriptors211

Implementation of Select213

Movement of Data Inside the Kernel216

6.5 The Virtual-Filesystem Interface218

Contents ofa Vnode219

Vnode Operations220

Pathname Translation222

Exported Filesystem Services222

6.6 Filesystem-Independent Services223

The Name Cache225

Buffer Management226

Implementation of Buffer Management229

6.7 Stackable Filesystems231

Simple Filesystem Layers234

The Union Mount Filesystem235

Other Filesystems237

Exercises238

References240

Chapter 7 Local Filesysterms241

7.1 Hierarchical Filesystem Management241

7.2 Structure of an Inode243

Inode Management245

7.3 Naming247

Directories247

Pathname Translation249

Finding of Names in Directories249

Links251

7.4 Quotas253

7.5 File Locking257

7.6 Other Filesystem Semantics262

Large File Sizes262

File Flags263

Exercises264

References264

Chapter 8 Local Filestores265

8.1 Overview of the Filestore265

Organization of the Berkeley Fast Filesystem269

8.2 The Berkeley Fast Filesystem269

Optimization of Storage Utilization271

Reading and Writing to a File273

Filesystem Parameterization275

Layout Policies276

Allocation Mechanisms277

Block Clustering281

Synchronous Operations284

8.3 The Log-Structured Filesystem285

Organization of the Log-Structured Filesystem286

Index File288

Reading of the Log290

Writing to the Log291

Block Accounting292

The Buffer Cache294

Directory Operations295

Creation of a File296

Reading and Writing to a File297

Filesystem Cleaning297

Filesystem Parameterization300

Filesystem-Crash Recovery300

8.4 The Memory-Based Filesystem302

Organization of the Memory-Based Filesystem303

Filesystem Performance305

Future Work305

Exercises306

References307

Chapter 9 The Network Filesystem311

9.1 History and Overview311

9.2 NFS Structure and Operation314

The NFS Protocol316

The 4.4BSD NFS Implementation318

Client-Server Interactions321

RPC Transport Issues322

Security Issues324

9.3 Techniques for Improving Performance325

Leases328

Crash Recovery332

Exercises333

References334

Chapter 10 Terminal Handling337

10.1 Terminal-Processing Modes338

10.2 Line Disciplines339

10.3 User Interface340

10.4 The tty Structure342

10.5 Process Groups,Sessions,and Terminal Control343

10.6 C-lists344

10.7 RS-232 and Modem Control346

10.8 Terminal Operations347

Open347

Output Line Discipline347

Output Top Half349

Output Bottom Half350

Input Bottom Half351

Input Top Half352

The stop Routine353

The ioctl Routine353

Modem Transitions354

Closing of Terminal Devices355

10.9 Other Line Disciplines355

Serial Line IP Discipline356

Graphics Tablet Discipline356

Exercises357

References357

Part 4 Interprocess Communication359

Chapter 11 Interprocess Communication361

11.1 Interprocess-Communication Model362

Use of Sockets364

11.2 Implementation Structure and Overview368

11.3 Memory Management369

Mbufs369

Storage-Management Algorithms372

Mbuf Utility Routines373

11.4 Data Structures374

Communication Domains375

Sockets376

Socket Addresses378

11.5 Connection Setup380

11.6 Data Transfer382

Transmitting Data383

Receiving Data385

Passing Access Rights388

Passing Access Rights in the Local Domain389

11.7 Socket Shutdown390

Exercises391

References393

Chapter 12 Network Communication395

12.1 Internal Structure396

Data Flow397

Communication Protocols398

Network Interfaces400

Protocol User-Request Routine405

12.2 Socket-to-Protocol Interface405

Internal Requests409

Protocol Control-Output Routine409

12.3 Protocol-Protocol Interface410

pr_output411

pr_input411

pr_ctlinput411

12.4 Interface between Protocol and Network Interface412

Packet Transmission412

Packet Reception413

12.5 Routing416

Kernel Routing Tables417

Routing Lookup420

Routing Redirects423

Routing-Table Interface424

User-Level Routing Policies425

User-Level Routing Interface:Routing Socket425

12.6 Buffering and Congestion Control426

Protocol Buffering Policies427

Queue Limiting427

12.7 Raw Sockets428

Control Blocks428

Input Processing429

Output Processing429

12.8 Additional Network-Subsystem Topics429

Address Resolution Protocol430

Out-of-Band Data430

Exercises432

References433

Chapter 13 Network Protocols435

13.1 Internet Network Protocols436

Internet Addresses437

Subnets438

Broadcast Addresses441

Internet Multicast441

Internet Ports and Associations442

Protocol Control Blocks442

13.2 User Datagram Protocol(UDP)443

Initialization443

Output444

Input445

Control Operations446

13.3 Internet Protocol(IP)446

Output447

Input448

Forwarding449

13.4 Transmission Control Protocol(TCP)451

TCP Connection States453

Sequence Variables456

13.5 TCP Algorithms457

Timers459

Estimation of Round-Trip Time460

Connection Establishment461

Connection Shutdown463

13.6 TCP Input Processing464

13.7 TCP Output Processing468

Sending of Data468

Avoidance of the Silly-Window Syndrome469

Avoidance of Small Packets470

Delayed Acknowledgments and Window Updates471

Retransmit State472

Slow Start472

Source-Quench Processing474

Buffer and Window Sizing474

Avoidance of Congestion with Slow Start475

Fast Retransmission476

13.8 Internet Control Message Protocol(ICMP)477

13.9 OSI Implementation Issues478

13.10 Summary of Networking and Interprocess Communication480

Creation of a Communication Channel481

Sending and Receiving of Data482

Termination of Data Transmission or Reception483

Exercises484

References486

Part 5 System Operation489

Chapter 14 System Startup491

14.1 Overview491

The boot Program492

14.2 Bootstrapping492

14.3 Kernel Initialization493

Assembly-Language Startup494

Machine-Dependent Initialization495

Message Buffer495

System Data Structures496

14.4 Autoconfiguration496

Device Probing498

Device Attachment499

New Autoconfiguration Data Structures499

New Autoconfiguration Functions501

Device Naming501

14.5 Machine-Independent Initialization502

/etc/rc505

14.6 User-Level Initialization505

/sbin/init505

/usr/libexec/getty506

/usr/bin/Iogin506

14.7 System-Startup Topics507

Kernel Configuration507

System Shutdown and Autoreboot507

System Debugging508

Passage of Information To and From the Kernel509

Exercises511

References511

Glossary513

Index551

热门推荐