D-space, 227
DACL (see Discretionary ACL)
Daemon, 89, 369, 724
DAG (see Directed Acyclic Graph)
Dalvik, Android, 796, 798, 802, 807, 809
Dalvik executable, 807
Dangling pointer, 648
Darwin, Charles, 47
Data confidentiality, 608
Data execution prevention, 652–653, 653
Data paradigm, 1050–1051
Data rate for devices, 339
Data segment, 56, 744
Datagram service, 586
DAX (see Direct Access for files)
DDA (see Discrete Device Assignment)
Deadlock, 437–471
communication, 465–466
conditions, 445
introduction, 444–445
ostrich algorithm, 447–449
resource, 445
Deadlock avoidance, 455–461
banker’s algorithm, 458–461
Deadlock detection
multiple types of resources, 451–454
single type of resource, 449–451
Deadlock modeling, 445–447
Deadlock prevention, 461–464
attacking mutual-exclusion, 461
attacking the circular wait, 463–464
attacking the hold-and-wait, 462
attacking the no-preemption, 462
Deadlock recovery, 454–455
DebugPortHandle, Windows, 885
Deduplication, 225, 322
Linux, 972
memory, 501
virtual machine, 497
Default data stream, NT file system, 994
Defense-in-depth, Windows, 1031
Deferred procedure call, Windows, 901–903
Defragmenting a disk, 320–321
Degree of multiprogramming, 96
Delete system call, 269, 277
DeleteAce Win32 call, 1023
Demand paging, 214
Denial-of-service attack, 608
Dentry, 775
DEP (see Data Execution Prevention)
Design goals, Android, 800–801
Design issues for paging, 221–232
Design principles, 1065–1070
brute force, 1069
check for errors first, 1070
hiding the hardware, 1065–1067
indirection, 1067–1068
orthogonality, 1058–1059
reentrancy, 1069
reusability, 1068
Desktop environment, 405
Device context, 413
Device controller, 338, 338–340
Device domain, 499–500
Device driver, 30, 359–362, 984
user-mode, 342
Windows, 910
Device independence, 352
Device I/O, Hyper-V, 1007–1010
Device isolation, 499
Device object, 886
Device pass through, 499
Device stack, Windows, 910, 987–989
Device-independent bitmap, 416
Device-independent block size, 368
Device-independent input/output software, 362–368
DEX (see Dalvik Executable)
DFSS (see Dynamic Fair-Share Scheduling)
Diameter, interconnection, 559
DIB (see Device-Independent Bitmap)
Die, chip, 537
Digital Research, 16
Digital rights management, 896
Digital signature, 635–636
Dining philosophers problem, 440–444
Direct access for file, 764
Direct map, Windows, 1009
Direct media interface, 34
Direct memory access, 32, 344–347, 356–357
Directed acyclic graph, 288
Directory, 42, 264, 272–278
Directory hierarchy, 591
Directory management system calls, 58–59, 277
Directory operation, 277–278
Directory system, hierarchical, 273–274
Directory-based multiprocessor, 535
Dirty bit, 199
Disabling interrupts, 121–123
Disco, 480, 507
Discrete device assignment, Hyper-V, 1008
Discretionary access control, 629
Disk, magnetic, 370–381
Disk arm scheduling algorithm, 375–379
Disk block size, 302–303
Disk blocks, managing free, 303–306
Disk controller cache, 378
Disk defragmentaion, 320–321
Disk driver, 4
Disk error handling, 379–381
Disk formatting, 372–375
Disk operating system, 16
Disk quota, 306–307
Disk recalibration, 380–381
Disk scheduling, 376–377
elevator algorithm, 377
first-come first-served, 376
shortest seek first, 376
Disk storage, 370–390
Disk-space management, 301–303
Dispatcher, 100
Dispatcher header, 904
Dispatcher object, 901, 904
Distributed operating system, 18
Distributed shared memory, 571–575
false sharing, 574
replicated, 572
sequential consistency, 575
Distributed system, 579–598
DLL (see Dynamic-Link Library)
DMA (see Direct Memory Access)
DMI (see Direct Media Interface)
DNS (see Domain Name System)
Docker, 481, 506
Document-based middleware, 588–590
Domain 0, 499
Domain name system, 588
Don’t hide power, 1052
DOS (see Disk Operating System)
Double buffering, 365
Double fetch vulnerability, 668
Double indirect block, 328, 781
Double interleaved disk, 374
Double torus, 559
Down system call, 770, 1077
Down Win32 call, 938, 945
DPC (see Deferred Procedure Call)
DPC storm, 902
DPC watchdog, 902
Draper, John, 614
Drive-by-download, 647
Driver object, 886
Driver signing, 689
Driver verifier, 985
Driver-kernel interface, 762
DSM (see Distributed Shared Memory)
Dual-use technology, 615
Dump, file system, 307–312
DuplicateHandle Win32 call, 938
Dynamic binary translation, 512
Dynamic disk, Windows, 980
Dynamic fair-share scheduling, Windows, 950
Dynamic link library, 230, 876
Dynamic link library 926–928
Dynamic relocation, 184–185
Dynamic vs. static structures, 1062–1063
Dynamic-link library, 64