PAAS (see Platform As A Service)
PAC (see Pointer Authentication)
Package, Android, 818
Package manager, Android, 820
Packet, 560
PAE (see Physical Address Extension)
Page, locked in memory, 236
Page allocator, 752
Page cache, 318
Page coloring, 689
Page combining, Windows, 972–973
Page daemon, 755
Page descriptor, 749
Page directory, 205–206
Page directory pointer table, 206
Page fault, 196, 198, 205, 207–221
guest-induced, 494
hypervisor-induced, 495
major, 203
minor, 203
Page fault clustering, 965
Page fault frequency page replacement algorithm, 223
Page fault handling, 233–236
Page frame, 194
Page frame number, 198
Page frame number database, Windows, 969–970
Page frame reclaiming algorithm, 754, 755
Page list, Windows, 977
Page map level 4, 206
Page replacement algorithm, 207–221
aging, 213–214
clock, 211–212
first-in first-out, 210
least recently used, 212–214
Linux, 755–757
not frequently used, 212
not recently used, 209–210
optimal, 208–209
page fault frequency, 223
second-chance, 210–211
summary, 220–221
Windows, 968–969
working set, 214–218
WSclock, 218–220
Page sharing, content-based, 501
Page size, 226–337
Page table, 194, 196–200
extended, 495–496
Hyper-V, 1005
inverted, 206–207
Linux, 751
multilevel, 204–206
nested, 495–496
shadow, 494
Windows, 967–969
Page table entry, 198–200, 955–956
Page table walk, 203
Page-fault handling, Windows, 963–966
Pagefile, Windows, 958–960, 977
Pagefile reservation, Windows, 959
Pagefile-backed section, Windows, 960
Paging, 193–196
backing store, 236–238
copy on write, 229
instruction backup, 234–236
Linux, 754–757
local vs. global, 221–224
shared pages, 228–229
speeding up, 200–203
Paging algorithms, 207–221
Paging daemon, 225
Paging in large memories, 203–207
Paging systems, design, 221–232
Palladium, 636
Paradigm, event-driven, 1065
Paradigms for system design, 1048–1051
Parallel bus architecture, 33
Parallels, 481
Paravirt op, 492
Paravirtualization, 72, 484
Paravirtualized device, Hyper-V, 1007
Parcel, Android, 814–815
Parent process, 724
Parse, Windows, 919
Partition, 59
child, 1003
Hyper-V, 1003
hypervisor, 896
virtualization, 1003
Partition table, 279
Passive attack, 616
Password, one-time, 642–643
Password security, 637–643
UNIX, 640–642
weak, 638–640
Patch, Windows, 1033
Patch binary, Windows, 1033
Patchguard, Windows, 1031
Paterson, Tim 16
Path name, 43, 274–276
absolute, 274
MULTICS, 274
relative, 275
Pause system call, 729
PC, IBM, 15
PCIe (see Peripheral Component Interconnect Express)
PCR (see Platform Configuration Register)
PDA (see Personal Digital Assistant)
PDP-1, 14
PDP-11, 14–15, 49, 50, 341, 705–706
PE (see Portable Executable)
PEB (see Process Environment Block)
Perfect shuffle network, 533
Performance, 1070–1078
caching, 1075–1076
exploiting locality, 1077
file system, 321–322
hints, 1076
optimize the common case, 1077–1078
space-time trade-offs, 1072–1075
what should be optimized?, 1071–1072
Periodic scheduling, 168
Peripheral component interconnect express, 33
Permission, Android, 839–843
Persistent memory, 29
Persistent storage, 260
Personal computer, 15, 872
Personal computer operating system, 37
Personal digital assistant, 37
Peterson’s solution, 124–125
PF (see Physical Function)
PFF (see Page Fault Frequency page replacement alg.)
PFN (see Page Frame Number database)
PFRA (see Page Frame Reclaiming Algorithm)
Phase-change memory, 931
Physical address, host, 495
Physical address extension, 753
Physical dump, 309
Physical function, 500
Physical memory management, 748–752
Windows, 969–971
PID (see Process IDentifier)
Pidgin Pascal, 141
Pinned page, 236, 749
Pinning, 236
Pipe, 45, 725
Pipe symbol, 718
Pipe system call, 773
Pipeline, 22, 718
Plaintext, 632
Platform as a service, 502
Platform configuration register, 912
PLT (see Procedure Linkage Table)
Plug-and-play, 907
Plug-and-play manager, Windows, 980
Pointer, 75
Pointer authentication, Windows, 1030
POLA (see Principle of Least Authority)
Policy, 68
Policy versus mechanism, 169
Policy vs. mechanism, 238–240, 1057–1058
Polling, 355
Pop-up thread, 568
Popek, Gerald, 480
Popek and Goldberg criteria, 507, 510
Portable C compiler, 706
Portable executable, 35
Portable UNIX, 706–707
Portscanning, 640
Position-independent code, 232
POSIX, 15, 51
POSIX thread, 106–107
Power management, 420–428
application issues, 428
battery, 427
CPU, 423–426
disk, 423
display, 422
driver interface, 427–428
hardware issues, 421–422
memory, 425–426
operating system issues, 422–428
thermal, 427
Windows, 1000–1003
wireless communication, 426
Power manager, Windows, 1000
Powershell, 893
Pre-copy memory migration, 504
Preamble, disk, 339
Precise interrupt, 349–351
Preemptable resource, 438
Preemptive scheduling, 156
Prefetch, background, 966
Prepaging, 215
Present/absent bit, 195, 198
Principal, ACL, 622
Principle of least authority, 68
Principles of system design, 1045–1047
completeness, 1046–1047
efficiency, 1047
simplicity, 1046
Printer daemon, 119
Priority boost, Windows, 948
Priority ceiling, 150
Priority floor, Windows, 948
Priority inheritance, 150
Priority inversion, 150–151
Priority inversion problem, 127
Priority scheduling, 163–164
Privacy, Android, 836–856
Privacy and permission, Android, 845–851
Privileged instruction, 482
Proc file system, 782–783
Procedure linkage table, 653
Process, 39–41, 85–172
compute-bound, 154–155
I/O-bound, 154–155
implementation, 94–95
lightweight, 102
Linux, 723–743
scheduling, 152–171
synchronization, 119–152
Windows, 929–955
Process API calls, Windows, 934–940
Process behavior, 154
Process control block, 94
Process creation, 88–90
Process dependency, Android, 834–836
Process environment block, Windows, 929
Process group, 725
Process hierarchy, 91–92
Process identifier, 55, 725
Process lifecycle, Android, 833
Process management system calls, 53–57
Process manager, Windows, 907
Process model, 86–88
Process scheduling
Linux, 736–740
Windows, 944–950
Process state, 92–94
Process swapping, 185–188
Process switch, 154
Process table, 40, 94
Process termination, 90–91
Process-level virtualization, 484
Process-management system calls in Linux, 726–730
Processor allocation algorithm, 576
ProcHandle, Windows, 885
Producer-consumer problem, 128–132
Java, 143–144
message-passing, 146–147
Program counter, 21
Program status word, 21, 181
Programmed input/output, 354
Programming multiple core chips, 540–541
Programming Windows, 880–894
Project management, 1078–1082
Project reunion, 882
Prompt, 716
Protected process, Windows, 936, 1025
Protection, file, 46
Protection command, 628
Protection domain, 608, 619–621
Protection hardware, 49
Protection ring, 487
Protocol, 466, 587, 645
Protocol stack, 587
PsCreateSiloContext Win32 call, 1012
Pseudoparallelism, 86
PsGetSiloContext Win32 call, 1012
PSW (see Program Status Word)
PTE (see Page Table Entry
Pthread, 106–107
Public-key cryptography, 634–635
Publish/subscribe, 597–598
Publishing, 597
PulseEvent Win32 call, 938
PushLock, Windows, 940
Python, 49, 74