Modern operating system (3rd Edition) (Computer Science Series)

Time:2022-5-23

Modern operating system (3rd Edition) (Computer Science Series)

Download addresshttps://pan.baidu.com/s/11y1KCMwWn8-2jYpqvNAnLw

Scan the QR code below to follow the official account reply 100162 to obtain the sharing code
Modern operating system (3rd Edition) (Computer Science Series)
The catalogue structure of this book is as follows:

Chapter 1 Introduction 1
1.1 what is an operating system 3
1.1.1 operating system as an extended machine 4
1.5 as a resource manager of the system
1.2 history of operating system 6
1.2.1 first generation (1945 ~ 1955): vacuum tube and perforated card 7
1.2.2 the second generation (1955 ~ 1965): transistors and batch processing system 8
1.2.3 the third generation (1965 ~ 1980): integrated circuit and multi-channel programming 9
1.2.4 fourth generation (since 1980): personal computer 14
1.2.5 fifth generation (since 1990): mobile computer 19
1.3 introduction to computer hardware 20
1.3.1 processor 21
1.3.2 memory 24
1.3.3 disk 27
1.3.4 I / O equipment28
1.3.5 bus 31
1.3.6 starting the computer 34
1.4 operating system Grand View Garden 35
1.4.1 mainframe operating system 35
1.4.2 server operating system 35
1.4.3 multiprocessor operating system 36
1.4.4 personal computer operating system 36
1.4.5 handheld computer operating system 36
1.4.6 embedded operating system 36
1.4.7 sensor node operating system 37
1.4.8 real time operating system 37
1.4.9 smart card operating system 38
1.5 operating system concept 38
1.5.1 process 39
1.5.2 address space 41
1.5.3 documents 41
1.5.4 input / output 45
1.5.5 protection 45
1.5.6 shell 45
1.5.7 individual repeat phylogeny 46
1.6 system call 50
1.6.1 system call for process management 53
1.6.2 system call for file management 56
System call for directory management 57.3
1.6.4 various system calls 59
1.6.5 Windows Win32 API 60
1.7 operating system architecture 62
1.7.1 single system 62
1.7.2 hierarchical system63
1.7.3 microkernel 65
1.7.4 client server mode 68
1.7.5 virtual machine 68
1.7.6 outer nucleus 72
1.8 C-dependent world 73
1.8.1 C language 73
1.8.2 header file 74
1.8.3 large programming projects 75
1.8.4 operation model 76
1.9 research on operating system 77
1.10 summary of other parts of the book 78
1.11 metric units 79
1.12 summary 80
Chapter 2 process and thread 85
2.1 process 85
2.1.1 process model86
2.1.2 process creation 88
2.1.3 termination of process90
2.1.4 process hierarchy 91
2.1.5 process status 92
2.1.6 process realization 94
2.1.7 multiprogramming model95
2.2 thread 97
2.2.1 use of threads 97
2.2.2 classic threading model 102
2.2.3 POSIX thread 106
2.2.4 implementing threads in user space 108
2.2.5 implementing threads in the kernel 111
2.2.6 hybrid implementation112
2.2.7 scheduler activation mechanism113
2.2.8 pop up thread 114
2.2.9 multithreading single threaded code 115
2.3 interprocess communication119
2.3.1 competitive conditions 119
2.3.2 critical zone 121
2.3.3 busy wait mutex 121
2.3.4 sleep and wakeup 127
2.3.5 semaphore130
2.3.6 mutex 132
2.3.7 tube pass 137
2.3.8 messaging 144
2.3.9 barriers 146
2.3.10 lock avoidance: read – copy –
Update 148
2.4 dispatching 148
2.4.1 introduction to dispatching 149
2.4.2 scheduling in batch processing system156
2.4.3 scheduling in interactive system158
2.4.4 scheduling in real-time system164
2.4.5 strategies and mechanisms 165
2.4.6 thread scheduling 165
2.5 classic IPC problems 167
2.5.1 dining problems of philosophers 167
2.5.2 reader writer questions 169
2.6 research on processes and threads 172
2.7 summary 173
Chapter 3 memory management 181
3.1 no memory abstraction 182
3.2 a memory abstraction: address space 185
3.2.1 concept of address space 185
3.2.2 switching Technology187
3.2.3 free memory management 190
3.3 virtual memory 194
3.3.1 paging 195
Table 198 on page 3.3.2
3.3.3 accelerating paging process201
3.3.4 page table for large memory 205
3.4 page replacement algorithm 209
3.4.1 optimal page placement conversion method 209
3.4.2 page replacement algorithm not used recently 210
3.4.3 first in first out page replacement algorithm 211
3.4.4 second chance page replacement algorithm 211
3.4.5 clock page replacement algorithm 212
3.4.6 least recently used page replacement algorithm 213
3.4.7 simulate LRU 214 with software
3.4.8 working set page replacement algorithm 215
3.4.9 working set clock page replacement algorithm 219
3.4.10 summary of page replacement algorithm 221
3.5 design problems in paging system 222
3.5.1 local allocation strategy and global allocation strategy 222
3.5.2 load control 225
3.5.3 page size 225
3.5.4 separate instruction space and data space 227
3.5.5 shared page 228
3.5.6 shared library 229
3.5.7 memory mapping file 231
3.5.8 clearing strategy 232
3.5.9 virtual memory interface 232
3.6 implementation issues 233
3.6.1 work related to paging 233
3.6.2 page missing interrupt processing 234
3.6.3 instruction backup 235
3.6.4 locking pages in memory 236
3.6.5 backup storage 237
3.6.6 separation of strategies and mechanisms 239
3.7 sub paragraph 240
3.7.1 implementation of pure segmentation 243
3.7.2 combination of segmentation and paging: multiple 243
3.7.3 combination of segmentation and paging: Intel x86 247
3.8 research on memory management 252
3.9 summary 253
Chapter 4 file system 263
4.1 document265
4.1.1 document naming 265
4.1.2 document structure 267
4.1.3 document type 268
4.1.4 file access 269
File properties 274.1
Operation documents 274.1
4.1.7 an example program using file system calls 273
4.2 contents 276
4.2.1 primary directory system276
4.2.2 hierarchical directory system276
4.2.3 pathname277
4.2.4 directory operation280
4.3 implementation of file system 281
4.3.1 file system layout 281
4.3.2 realization of documents 282
4.3.3 implementation of directory 287
4.3.4 shared files 290
4.3.5 log structure file system 293
4.3.6 log file system 294
4.3.7 virtual file system 296
4.4 file system management and optimization 299
4.4.1 disk space management299
4.4.2 file system backup 306
4.4.3 file system consistency 312
4.4.4 file system performance 314
4.4.5 disk defragmentation 319
4.5 file system instance 320
4.5.1 MS-DOS file system320
4.5.2 UNIX V7 file system 323
4.5.3 CD-ROM file system 325
4.6 research on file system 331
4.7 summary 332
Chapter 5 input / output 337
5.1 I / O hardware principle 337
5.1.1 I / O equipment338
5.1.2 equipment controller 339
5.1.3 memory mapped I / O 340
5.1.4 direct memory access 344
5.1.5 rewind interrupt 347
5.2 I / O software principle 351
5.2.1 objectives of I / O software351
5.2.2 program control I / O 352
5.2.3 interrupt drive I / O 354
5.2.4 I / O using DMA 355
5.3 I / O software hierarchy 356
5.3.1 interrupt handler 356
5.3.2 device drivers 357
5.3.3 device independent I / O software 361
5.3.4 I / O software in user space 367
5.4 disc 369
5.4.1 hardware of disk 369
5.4.2 disk formatting 375
5.4.3 disk arm scheduling algorithm 379
Error handling 384.5
Memory stability 385.5
5.5 clock 388
5.5.1 clock hardware 388
5.5.2 clock software 389
5.5.3 soft timer 392
5.6 user interface: keyboard, mouse and monitor 394
5.6.1 input software 394
5.6.2 output software 399
5.7 thin client 416
5.8 power management 417
5.8.1 hardware problems 418
5.8.2 operating system problems 419
5.8.3 application problems 425
5.9 research on input / output 426
5.10 summary 428
Chapter 6 deadlock 435
6.1 resources 436
6.1.1 preemptible and non preemptible resources 436
6.1.2 resource acquisition 437
6.2 introduction to deadlock 438
6.2.1 conditions of resource deadlock 439
6.2.2 deadlock modeling 440
6.3 ostrich algorithm 443
6.4 deadlock detection and deadlock recovery 443
6.4.1 deadlock detection of one resource of each type 444
6.4.2 deadlock detection of multiple resources of each type 446
6.4.3 recovering from deadlock 448
6.5 deadlock avoidance 450
6.5.1 resource trajectory 450
6.5.2 safe and unsafe states 452
6.5.3 banker algorithm for a single resource 453
6.5.4 banker algorithm for multiple resources 454
6.6 deadlock prevention 456
6.6.1 breaking mutually exclusive conditions456
6.6.2 destroying possession and waiting conditions 456
6.6.3 damage non preemptive conditions 457
6.6.4 break loop waiting conditions 457
6.7 other questions 458
6.7.1 two stage locking 458
6.7.2 communication deadlock 459
6.7.3 lock 461
6.7.4 hunger 463
6.8 research on deadlock 464
6.9 summary 464
Chapter 7 virtualization and cloud 471
7.1 history 473
7.2 necessary conditions for virtualization 474
7.3 type I and type II virtual machine hypervisors 477
7.4 efficient virtualization technology 478
7.4.1 virtualization on platforms that do not support virtualization 479
7.4.2 virtualization overhead 482
7.5 is the hypervisor the correct microkernel 483
7.6 memory virtualization 486
7.7 I / O virtualization 490
7.8 virtual devices 493
7.9 virtual machine on multi-core CPU 494
7.10 authorization issues 494
7.11 cloud 495
7.11.1 cloud as a service496
7.11.2 virtual machine migration 496
7.11.3 checkpoint 497
7.12 case study: VMware 498
7.12.1 VMware’s early history 498
7.12.2 VMware Workstation 499
7.12.3 challenges of introducing virtualization into x86 500
7.12.4 VMware Workstation solution overview 502
7.12.5 evolution of VMware Workstation 511
7.12.6 VMware’s class I hypervisor ESX server 512
7.13 research on virtualization and cloud 514
Chapter 8 multiprocessor system 517
8.1 multiprocessor 520
8.1.1 multiprocessor hardware 520
8.1.2 multiprocessor operating system type 530
8.1.3 multiprocessor synchronization 534
8.1.4 multiprocessor scheduling 539
8.2 multi computer 544
8.2.1 multi computer hardware 545
8.2.2 low level communication software 550
8.2.3 user layer communication software 552
8.2.4 remote procedure call 556
8.2.5 distributed shared memory 558
8.2.6 multi computer scheduling 563
8.2.7 load balancing 563
8.3 distributed system566
8.3.1 network hardware 568
8.3.2 network services and protocols 571
8.3.3 document based Middleware 576
8.3.4 file system based Middleware 577
Object based Middleware
8.3.6 collaboration based Middleware 584
8.4 research on multiprocessor system587
8.5 summary 588
Chapter 9 safety 593
9.1 environmental safety 595
9.1.1 threats 596
9.1.2 intruders 598
9.2 operating system complete 599
9.2.1 trusted system 600
9.2.2 trusted computing base 601
9.3 protection mechanism602
9.3.1 protection domain 602
9.3.2 access control list605
9.3.3 Quan Neng Zi 608
9.4 formal model of security system611
9.4.1 multi level security 612
9.4.2 covert channel615
9.5 principles of cryptography 619
9.5.1 private key encryption technology 620
9.5.2 public key encryption technology 621
9.5.3 one way function 622
9.5.4 digital signature 622
9.5.5 trusted platform module 624
9.6 certification 626
9.6.1 authentication method using physical identification 633
9.6.2 authentication methods using biometrics 636
9.7 software vulnerabilities 639
9.7.1 buffer overflow attack 640
9.7.2 format string attack 649
9.7.3 hanging pointer 652
9.7.4 null pointer indirect reference attack 653
9.7.5 integer overflow attack 654
9.7.6 command injection attack 655
9.7.7 check time / use time 656
9.8 internal attacks 657
9.8.1 logic bomb 657
9.8.2 rear door trap 658
9.8.3 login spoofing 659
9.9 malware 660
9.9.1 Trojan horse 662
9.9.2 virus 664
9.9.3 worms 674
9.9.4 spyware 676
9.9.5 rootkit 680
9.10 defense 684
9.10.1 firewall 685
9.10.2 anti virus and anti virus suppression technology 687
9.10.3 code signature 693
9.10.4 imprisonment 694
9.10.5 model based intrusion detection 695
9.10.6 package movement code 697
9.10.7 Java security 701
9.11 research on safety 703
9.12 summary 704
Chapter 10 Case Study 1: Unix, Linux and Android 713
History of Linux and UNIX 714
10.1.1 UNICS 714
10.1.2 PDP-11 UNIX 715
10.1.3 portable UNIX 716
10.1.4 Berkeley UNIX 717
10.1.5 standard UNIX 718
10.1.6 MINIX 719
10.1.7 Linux 720
10.2 introduction to Linux 723
10.2.1 design objectives of Linux 723
10.2.2 interface to Linux 724
10.2.3 shell 725
10.2.4 Linux applications 728
10.2.5 kernel architecture 730
10.3 processes in Linux 733
10.3.1 basic concepts 733
10.3.2 system calls related to process management in Linux 735
10.3.3 implementation of process and thread in Linux 739
10.3.4 scheduling in Linux 746
10.3.5 starting Linux system 751
10.4 memory management in Linux 753
10.4.1 basic concepts 753
10.4.2 memory management system call in Linux 756
10.4.3 implementation of memory management in Linux 758
10.4.4 paging in Linux 764
10.5 I / O system in Linux 767
10.5.1 basic concepts 767
10.5.2 network 769
10.5.3 I / O system call in Linux 770
10.5.4 implementation of I / O in Linux 771
10.5.5 modules in Linux 774
10.6 Linux file system 775
10.6.1 basic concepts 775
10.6.2 file system call in Linux 780
10.6.3 implementation of Linux file system 783
10.6.4 NFS: network file system 792
10.7 Linux Security 798
10.7.1 basic concepts 798
10.7.2 security related system calls in Linux 800
10.7.3 security implementation in Linux 801
10.8 Android 802
10.8.1 Android and Google 803
10.8.2 Android history 803
10.8.3 design objective 807
10.8.4 Android architecture 809
10.8.5 Linux extension 810
10.8.6 Dalvik 814
10.8.7 Binder IPC 815
10.8.8 Android App 824
10.8.9 intent 836
10.8.10 application sandbox 837
10.8.11 safety 838
10.8.12 process model844
10.9 summary 848
Chapter 11 Case Study 2: Windows 8 857
11.1 history of windows 8.1 857
11.1.1 1980s: MS-DOS 857
11.1.2 1990s: Windows 859 based on MS-DOS
11.1.3 2000s: Windows 859 based on NT
11.1.4 Windows Vista 862
11.1.5 the decade of the 21st century: modern windows 863
11.2 windows programming 864
11.2.1 native NT application programming interface 867
11.2.2 Win32 Application Programming Interface 871
11.2.3 Windows registry 875
11.3 system structure 877
11.3.1 operating system structure 877
11.3.2 starting windows 893
11.3.3 implementation of object manager 894
11.3.4 subsystem, DLL and user state service 905
11.4 processes and threads in Windows 908
11.4.1 basic concepts 908
11.4.2 job, process, thread and fiber Management API calls 914
11.4.3 implementation of processes and threads 919
11.5 memory management 927
11.5.1 basic concepts 927
11.5.2 memory management system call 931
11.5.3 implementation of storage management 932
11.6 windows cache 942
11.7 windows I / O 943
11.7.1 basic concepts 944
11.7.2 API call for I / O 945
11.7.3 I / O implementation 948
11.8 Windows NT file system 952
Basic concepts 958.1
11.8.2 implementation of NTFS file system 954
11.9 windows power management 964
Security in Windows 10.968
11.10.1 basic concepts 967
11.10.2 safety related API calls 969
11.10.3 safety realization 970
11.10.4 safety mitigation technology 972
11.11 summary 975
Chapter 12 operating system design 981
12.1 essence of design problem 982
12.1.1 objective 982
12.1.2 why is it difficult to design the operating system 983
12.2 interface design 985
12.2.1 guiding principles 985
12.2.2 model 987
12.2.3 system call interface 991
12.3 implementation 993
12.3.1 system structure 993
12.3.2 mechanism and strategy 997
12.3.3 orthogonality 998
12.3.4 naming 999
12.3.5 timing of binding 1001
12.3.6 static and dynamic structures 1001
12.3.7 top down and bottom up realization 1003
12.3.8 synchronous communication and asynchronous communication 1004
12.3.9 practical technology 1005
12.4 performance 1010
12.4.1 why does the operating system run slowly 1010
12.4.2 what should be optimized 1011
12.4.3 space time tradeoffs 1012
12.4.4 cache 1015
12.4.5 clues 1016
12.4.6 using locality 1016
12.4.7 optimizing common situations 1017
12.5 project management1018
12.5.1 man month myth 1018
12.5.2 team structure 1019
12.5.3 role of experience 1021
12.5.4 no silver bullet 1021
12.6 trends in operating system design 1022
12.6.1 virtualization and cloud 1023
12.6.2 core chips 1023
12.6.3 large address space operating system1024
12.6.4 seamless data access 1025
12.6.5 battery powered computer1025
12.6.6 embedded system1026
12.7 summary 1027
Chapter 13 bibliography and literature 1031
13.1 suggestions for in-depth reading 1031
13.1.1 introduction 1031
13.1.2 processes and threads 1032
13.1.3 memory management 1033
13.1.4 file system 1033
13.1.5 I / O 1034
13.1.6 deadlock 1035
13.1.7 virtualization and cloud 1035
13.1.8 multiprocessor system 1036
13.1.9 safety 1037
13.1.10 Case Study 1: Unix, Linux and Android 1039
13.1.11 Case Study 2: Windows 8 1040
13.1.12 operating system design 1040
Alphabetical references 1041.2

Recommended Today

Client cannot authenticate XXX:[TOKEN, KERBEROS]

Caused by: org.apache.hadoop.security.AccessControlException: Client cannot authenticate xxx:[TOKEN, KERBEROS] The security authentication failed. The causes are as follows:1. Check whether the Kerberos address can be connected normally //IP of KDC System.setProperty(“java.security.krb5.kdc”, “192.168.1.1”); // realm System.setProperty(“java.security.krb5.realm”, “XXX”); 2. The configuration file could not be read successfully UserGroupInformation. Loginuserfromkeytab (user name, path of KeyTab file); It is recommended […]