Operating systems: principles & practice
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
[S.l.]
Recursive Books
2014
|
Ausgabe: | Second Edition |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | xvi, 669 Seiten Illustrationen, Diagramme |
ISBN: | 9780985673529 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV042554578 | ||
003 | DE-604 | ||
005 | 20200317 | ||
007 | t | ||
008 | 150512s2014 a||| |||| 00||| eng d | ||
020 | |a 9780985673529 |9 978-0-9856735-2-9 | ||
035 | |a (OCoLC)915659801 | ||
035 | |a (DE-599)GBV821371401 | ||
040 | |a DE-604 |b ger | ||
041 | 0 | |a eng | |
049 | |a DE-11 |a DE-20 | ||
084 | |a ST 260 |0 (DE-625)143632: |2 rvk | ||
100 | 1 | |a Anderson, Thomas |d 1961- |e Verfasser |0 (DE-588)1073834379 |4 aut | |
245 | 1 | 0 | |a Operating systems |b principles & practice |c Thomas Anderson, University of Washington ; Michael Dahlin, University of Texas at Austin and Google |
250 | |a Second Edition | ||
264 | 1 | |a [S.l.] |b Recursive Books |c 2014 | |
300 | |a xvi, 669 Seiten |b Illustrationen, Diagramme | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 0 | 7 | |a Betriebssystem |0 (DE-588)4006216-8 |2 gnd |9 rswk-swf |
655 | 7 | |8 1\p |0 (DE-588)4123623-3 |a Lehrbuch |2 gnd-content | |
689 | 0 | 0 | |a Betriebssystem |0 (DE-588)4006216-8 |D s |
689 | 0 | |8 2\p |5 DE-604 | |
700 | 1 | |a Dahlin, Michael |e Verfasser |0 (DE-588)1073834018 |4 aut | |
856 | 4 | 2 | |m HEBIS Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=027988403&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-027988403 | ||
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
883 | 1 | |8 2\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk |
Datensatz im Suchindex
_version_ | 1804153325114884096 |
---|---|
adam_text | Operating
Systems
Principles and Practice
Second Edition
Thomas Anderson
University of Washington
Michael Dahlin
University of Texas at Austin and Google
Recursive Books
recursivebooks com
Contents
Preface x
Introduction 3
1 1 What Is An Operating System? 6
Resource Sharing: Operating System as Referee 9
Masking Limitations: Operating System as Illusionist 11
Providing Common Services: Operating System as Glue 12
Operating System Design Patterns 13
1 2 Operating System Evaluation 19
Reliability and Availability 19
Security 20
Portability 21
Performance 23
Adoption 24
Design Tradeoffs 25
1 3 Operating Systems: Past, Present, and Future 26
Impact of Technology Trends 26
Early Operating Systems 27
Multi-User Operating Systems 28
Time-Sharing Operating Systems 29
Modern Operating Systems 30
Future Operating Systems 32
Exercises 33
Part I Kernels and Processes
The Kernel Abstraction 39
2 1 The Process Abstraction 43
2 2 Dual-Mode Operation 44
Privileged Instructions 47
Memory Protection 49
Timer Interrupts 56
2 3 Types of Mode Transfer 57
User to Kernel Mode 57
Kernel to User Mode 61
2 4 Implementing Safe Mode Transfer 61
Interrupt Vector Table 63
Interrupt Stack 64
Two Stacks per Process 65
Interrupt Masking 67
Hardware Support for Saving and Restoring Registers 68
2 5 Putting It All Together: x86 Mode Transfer 69
3
Part II
4
Operating Systems: Principles and Practice
2 6 Implementing Secure System Calls 74
2 7 Starting a New Process 77
2 8 Implementing Upcalls 79
2 9 Case Study: Booting an Operating System Kernel 83
2 10 Case Study: Virtual Machines 84
2 11 Summary and Future Directions 87
Exercises 90
The Programming Interface 95
3 1 Process Management 100
Windows Process Management 101
UNIX Process Management 102
3 2 Input/Output 107
3 3 Case Study: Implementing a Shell 110
3 4 Case Study: Interprocess Communication 113
Producer-Consumer Communication 114
Client-Server Communication 115
3 5 Operating System Structure 115
Monolithic Kernels 117
Microkernel 122
3 6 Summary and Future Directions 123
Exercises 124
Concurrency
Concurrency and Threads 129
4 1 Thread Use Cases 132
Four Reasons to Use Threads 134
4 2 Thread Abstraction 136
Running, Suspending, and Resuming Threads 136
Why “Unpredictable Speed”? 138
4 3 Simple Thread API 141
A Multi-Threaded Hello World 142
Fork-Join Parallelism 143
4 4 Thread Data Structures and Life Cycle 145
Per-Thread State and Thread Control Block (TCB) 146
Shared State 148
4 5 Thread Life Cycle 148
4 6 Implementing Kernel Threads 153
Creating a Thread 155
Deleting a Thread 157
Thread Context Switch 157
4 7 Combining Kernel Threads and Single-Threaded User Processes 164
4 8 Implementing Multi-Threaded Processes 165
Implementing Multi-Threaded Processes Using Kernel Threads
166
Implementing User-Level Threads Without Kernel Support 167
7
Part III
8
Operating Systems: Principles and Practice
Fine-Grained Locking 266
Per-Processor Data Structures 268
Ownership Design Pattern 268
Staged Architecture 269
6 3 Lock Contention 272
MCS Locks 272
Read-Copy-Update (RCU) 274
6 4 Multi-Object Atomicity 282
Careful Class Design 283
Acquire-AII/Release-AII 283
Two-Phase Locking 284
6 5 Deadlock 285
Deadlock vs Starvation 288
Necessary Conditions for Deadlock 289
Preventing Deadlock 291
The Banker’s Algorithm for Avoiding Deadlock 294
Detecting and Recovering From Deadlocks 299
6 6 Non-Blocking Synchronization 305
6 7 Summary and Future Directions 307
Exercises 308
Scheduling 313
7 1 Uniprocessor Scheduling 316
First-In-First-Out (FIFO) 317
Shortest Job First (SJF) 318
Round Robin 320
Max-Min Fairness 323
Case Study: Multi-Level Feedback 326
Summary 328
7 2 Multiprocessor Scheduling 329
Scheduling Sequential Applications on Multiprocessors 329
Scheduling Parallel Applications 331
7 3 Energy-Aware Scheduling 337
7 4 Real-Time Scheduling 340
7 5 Queueing Theory 343
Definitions 343
Little’s Law 345
Response Time Versus Utilization 348
“What if?” Questions 355
Lessons 358
7 6 Overload Management 358
7 7 Case Study: Servers in a Data Center 361
7 8 Summary and Future Directions 362
Exercises 363
Memory Management
Address Translation
371
Operating Systems: Principles and Practice
VII
8 1 Address Translation Concept 374
8 2 Towards Flexible Address Translation 376
Segmented Memory 376
Paged Memory 382
Multi-Level Translation 385
Portability 390
8 3 Towards Efficient Address Translation 392
Translation Lookaside Buffers 393
Superpages 396
TLB Consistency 398
Virtually Addressed Caches 402
Physically Addressed Caches 403
8 4 Software Protection 405
Single Language Operating Systems 406
Language-Independent Software Fault Isolation 410
Sandboxes Via Intermediate Code 413
8 5 Summary and Future Directions 414
Exercises 415
Caching and Virtual Memory 421
9 1 Cache Concept 425
9 2 Memory Hierarchy 427
9 3 When Caches Work and When They Do Not 429
Working Set Model 430
Zipf Model 433
9 4 Memory Cache Lookup 434
9 5 Replacement Policies 439
Random 439
First-In-First-Out (FIFO) 440
Optimal Cache Replacement (MIN) 441
Least Recently Used (LRU) 442
Least Frequently Used (LFU) 443
Belady’s Anomaly 444
9 6 Case Study: Memory-Mapped Files 445
Advantages 446
Implementation 447
Approximating LRU 451
9 7 Case Study: Virtual Memory 454
Self-Paging 454
Swapping 456
9 8 Summary and Future Directions 457
Exercises 458
Advanced Memory Management 465
10 1 Zero-Copy I/O 467
10 2 Virtual Machines 470
Virtual Machine Page Tables 470
Transparent Memory Compression 472
10 3 Fault Tolerance 475
viii
Operating Systems: Principles and Practice
Checkpoint and Restart 476
Recoverable Virtual Memory 478
Deterministic Debugging 479
10 4 Security 481
10 5 User-Level Memory Management 482
10 6 Summary and Future Directions 485
Exercises 485
Part IV Persistent Storage
11 File Systems: Introduction and Overview 491
11 1 The File System Abstraction 495
11 2 API 502
11 3 Software Layers 505
API and Performance 506
Device Drivers: Common Abstractions 508
Device Access 508
Putting It All Together: A Simple Disk Request 511
11 4 Summary and Future Directions 511
Exercises 513
12 Storage Devices 517
12 1 Magnetic Disk 517
Disk Access and Performance 520
Case Study: Toshiba MK3254GSY 523
Disk Scheduling 527
12 2 Flash Storage 530
12 3 Summary and Future Directions 536
Exercises 540
13 Files and Directories 545
13 1 Implementation Overview 546
13 2 Directories: Naming Data 547
13 3 Files: Finding Data 553
FAT: Linked List 555
FFS: Fixed Tree 558
NTFS: Flexible Tree With Extents 568
Copy-On-Write File Systems 573
13 4 Putting It All Together: File and Directory Access 581
13 5 Summary and Future Directions 583
Exercises 584
14 Reliable Storage 589
14 1 Transactions: Atomic Updates 592
Ad Hoc Approaches 593
The Transaction Abstraction 595
Implementing Transactions 597
Operating Systems: Principles and Practice ix
Transactions and File Systems 609
14 2 Error Detection and Correction 613
Storage Device Failures and Mitigation 613
RAID: Multi-Disk Redundancy for Error Correction 619
Software Integrity Checks 631
14 3 Summary and Future Directions 633
Exercises 635
References 641
Glossary 651
Index 662
|
any_adam_object | 1 |
author | Anderson, Thomas 1961- Dahlin, Michael |
author_GND | (DE-588)1073834379 (DE-588)1073834018 |
author_facet | Anderson, Thomas 1961- Dahlin, Michael |
author_role | aut aut |
author_sort | Anderson, Thomas 1961- |
author_variant | t a ta m d md |
building | Verbundindex |
bvnumber | BV042554578 |
classification_rvk | ST 260 |
ctrlnum | (OCoLC)915659801 (DE-599)GBV821371401 |
discipline | Informatik |
edition | Second Edition |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01616nam a2200373 c 4500</leader><controlfield tag="001">BV042554578</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20200317 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">150512s2014 a||| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780985673529</subfield><subfield code="9">978-0-9856735-2-9</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)915659801</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)GBV821371401</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-11</subfield><subfield code="a">DE-20</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 260</subfield><subfield code="0">(DE-625)143632:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Anderson, Thomas</subfield><subfield code="d">1961-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1073834379</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Operating systems</subfield><subfield code="b">principles & practice</subfield><subfield code="c">Thomas Anderson, University of Washington ; Michael Dahlin, University of Texas at Austin and Google</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">Second Edition</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">[S.l.]</subfield><subfield code="b">Recursive Books</subfield><subfield code="c">2014</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">xvi, 669 Seiten</subfield><subfield code="b">Illustrationen, Diagramme</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Betriebssystem</subfield><subfield code="0">(DE-588)4006216-8</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="655" ind1=" " ind2="7"><subfield code="8">1\p</subfield><subfield code="0">(DE-588)4123623-3</subfield><subfield code="a">Lehrbuch</subfield><subfield code="2">gnd-content</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Betriebssystem</subfield><subfield code="0">(DE-588)4006216-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="8">2\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Dahlin, Michael</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1073834018</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HEBIS Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=027988403&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-027988403</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">2\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield></record></collection> |
genre | 1\p (DE-588)4123623-3 Lehrbuch gnd-content |
genre_facet | Lehrbuch |
id | DE-604.BV042554578 |
illustrated | Illustrated |
indexdate | 2024-07-10T01:24:48Z |
institution | BVB |
isbn | 9780985673529 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-027988403 |
oclc_num | 915659801 |
open_access_boolean | |
owner | DE-11 DE-20 |
owner_facet | DE-11 DE-20 |
physical | xvi, 669 Seiten Illustrationen, Diagramme |
publishDate | 2014 |
publishDateSearch | 2014 |
publishDateSort | 2014 |
publisher | Recursive Books |
record_format | marc |
spelling | Anderson, Thomas 1961- Verfasser (DE-588)1073834379 aut Operating systems principles & practice Thomas Anderson, University of Washington ; Michael Dahlin, University of Texas at Austin and Google Second Edition [S.l.] Recursive Books 2014 xvi, 669 Seiten Illustrationen, Diagramme txt rdacontent n rdamedia nc rdacarrier Betriebssystem (DE-588)4006216-8 gnd rswk-swf 1\p (DE-588)4123623-3 Lehrbuch gnd-content Betriebssystem (DE-588)4006216-8 s 2\p DE-604 Dahlin, Michael Verfasser (DE-588)1073834018 aut HEBIS Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=027988403&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk 2\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk |
spellingShingle | Anderson, Thomas 1961- Dahlin, Michael Operating systems principles & practice Betriebssystem (DE-588)4006216-8 gnd |
subject_GND | (DE-588)4006216-8 (DE-588)4123623-3 |
title | Operating systems principles & practice |
title_auth | Operating systems principles & practice |
title_exact_search | Operating systems principles & practice |
title_full | Operating systems principles & practice Thomas Anderson, University of Washington ; Michael Dahlin, University of Texas at Austin and Google |
title_fullStr | Operating systems principles & practice Thomas Anderson, University of Washington ; Michael Dahlin, University of Texas at Austin and Google |
title_full_unstemmed | Operating systems principles & practice Thomas Anderson, University of Washington ; Michael Dahlin, University of Texas at Austin and Google |
title_short | Operating systems |
title_sort | operating systems principles practice |
title_sub | principles & practice |
topic | Betriebssystem (DE-588)4006216-8 gnd |
topic_facet | Betriebssystem Lehrbuch |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=027988403&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT andersonthomas operatingsystemsprinciplespractice AT dahlinmichael operatingsystemsprinciplespractice |