Book Cover     Index of
Operating Systems
Design and Implementation, 2/e


Please select a letter:

A , B , C , D , E , F , G , H , I , J , K , L , M , N , O , P , Q , R , S , T , U , V , W , X , Y , Z ,

A

Absolute path name, 412
Access control list, 448-450
Access matrix, 448
Acknowledgement, 73
ACL (see Access Control List)
Adapter, device, 155
Address, virtual, 319
Address space, 15
Advisory file locking, MINIX, 467
Aging, 336-338
Aiken, Howard, 6
ANSI Standard C, 103
ANSI terminal escape sequence, 249
Aperiodic event, 90
Architecture, computer, 3
Assembly language, 8, 9, 22, 53-54
Associative memory, 328
Atomic action, 66
Attribute, file, 408-409
Authentication, 73
...... user, 442-446
Avoidance of deadlock, 175-179

B

Babbage, Charles, 5
Backup, file, 425-426
Bad block handling, 206-207
Banker's algorithm, 175-179
Base register, 313
Batch system, 7-8
Best fit algorithm, 318
Bibliography,
...... alphabetical, 512-517
...... suggested readings, 507-512
Binary semaphore, 68
Bit map, 316, 458-460
BIOS, 209-210
Bit-map terminal, 237
Block cache, MINIX, 429, 461-463, 474-478
Block device, 154
...... MINIX, 187-195
Block size, 422-423
Block special file, 20, 405
Boot block, MINIX, 121, 454
Boot monitor, MINIX, 121, 209
Booting MINIX, 96, 120-122
Bootstrap, 96
Bounded buffer problem, 64
Breakpoint, 302
Buffer cache, 429
Busy waiting, 59-63

C

C-threads, 55
Cache, 430
Call gate, Pentium, 356
Canonical mode, 31-32, 241
Capability, 450-451
Capability list, 450
Catching signals, MINIX, 372
Cats, identification method, 444
Cbreak mode, 31, 247
CDC 6600, 313
Challenge-response authentication, 444
Channel, covert, 451-453
Character device, 154
Character special file, 20, 405
...... MINIX, 468
Checkerboarding, 347-348
Child process, 16
Circular wait condition, 168
Classical IPC problem, 75-82
...... dining philosophers, 75-77
...... readers and writers, 77-80
...... sleeping barber, 80-82
Cleaner thread, 433
Click, memory, 363
Client-server operating system, 42-44
Clock, MINIX, 222-235
Clock driver, MINIX, 227-235
Clock hardware, 223-224
Clock interrupt handler, MINIX, 230
Clock page replacement algorithm, 334-335
Clock software, 224-227
Clock tick, 223
Code page, 242
Command interpreter, 16
Compaction, memory, 314
Computer emergency response team, 439
Condition variable, 70
Confinement problem, 452
Context switch, 84
Contiguous file allocation, 415
Control sequence introducer, 260
Controller,device, 155
Cooked mode, 31, 241
Core dump, MINIX, 373
Core image, 16
Covert channel, 451-453
CP/M, 419-420
Critical region, 58-59
Critical section, 58-59
Crystal oscillator, 223
CTSS, 86-87
Current directory, 412

D

Daemon, 95, 165
...... printer, 57
Data segment, 25-26
Deadlock, 69, 166-179
...... avoidance, 175-179
...... banker's algorithm, 175-179
...... conditions, 168
...... detection and recover, 172
...... MINIX, 186
...... modeling, 169-171
...... ostrich algorithm, 170, 172
...... prevention, 173-175
...... resource trajectory, 176-177
...... safe state, 175-176
...... state, 175
Deadly embrace (see deadlock)
Debugging dumps, MINIX, 295-296
Dekker's algorithm, 61
Demand paging, 338
Descriptor tables, Pentium, 118, 352
Device controller, 155
Device driver, 94, 155, 161-162
...... MINIX, 181-185
Device independence, 159-160
Device register, 2
Device-independent I/O software, MINIX, 185
Dining philosophers, 75-77
Direct memory access, 157-159
Directory operations, 414-415
Directory, 17, 405, 410-415
...... CP/M, 419-420
...... hierarchical, 411-412
...... implementation, 419-421
...... MINIX, 463, 465
...... MS-DOS, 420
...... root, 18
...... structure, 419-421
...... UNIX, 420-421
...... working, 18
Dirty bit, 327
Disk, 200-222
Disk arm scheduling, 203-205
Disk hardware, 200-202
Disk partition, 96
Disk software, 202-208
Disk space management, 422-424
Diskette (see floppy disk)
Diskless workstation, 122
Dispatching (see scheduling)
Display driver, MINIX, 288-295
Distributed operating system, 12
Distributed shared memory, 343
DMA (see Direct Memory Access)
Domain, protection, 447

E

Earliest deadline first algorithm, 91
ECC (see Error-Correcting Code)
Echoing, 242-244
Eckert, J. Presper, 6
EIDE (see Extended Integrated Drive Electronics)
Elevator algorithm, 204
Error, I/O, 205-207
Error handling, disk, 205-207
Error-Correcting Code, 155
Escape character, 245
Escape sequence, 291-294
...... MINIX, 249
Exception, Pentium, 136
Exokernel, 42
Extended Integrated Drive Electronics, 210
Extended key prefix, 286
Extended machine, 3-4
External fragmentation, 347-348

F

Feature test macro, 112
FIFO (see First-In First-Out page replacement)
File, 17-20, 402-410
...... block special, 20, 405
...... character special, 20, 405
...... executable, 405-406
...... regular, 405
...... special, 20, 405
File access, 407-408
File allocation
...... contiguous, 415
...... i-node, 418-419
...... indexed, 417-418
...... linked list, 416-417
File attribute, 408-409
File backup, 425-426
File descriptor, 19, 465-467, 481-482
File extension, 403
File locking, MINIX, 467, 482
File naming, 402-403
File operation, 409-410
File position, MINIX, 465
File structure, 404-405
File system, 401-503
...... bit maps, MINIX, 458-460
...... consistency, 426-429
...... directories, 419-421
...... disk space management, 422-424
...... implementation, 415-434
...... log-structured, 432-434
...... MINIX, 453-503
...... performance, 429-432
...... reliability, 424-429
...... root, 19, 34
File type, 405-407
Filler character, 244
Finger-length identification, 444-445
Fingerprint identification, 445
First fit algorithm, 317
First-in First-out page replacement, 333
First generation computer, 6
Fixed partition, 311-312
Floppy disk driver, MINIX, 220-222
Font,
...... loadable, 264
...... MINIX, 264
FORTRAN, 6-8
Fragmentation,
...... external, 347-348
...... internal, 342
Free blocks, disk, 423-424
Function key, MINIX, 287

G

GDT (see Global Descriptor Table)
GE-645, 11
Generic right, 451
Global descriptor table, Pentium, 124, 143, 352
Global page allocation algorithms, 339-341
Guaranteed scheduling, 89

H

Handler, interrupt, 128-137, 161, 180-181
Header files, MINIX, 107-112, 379-382
Header files, POSIX, 102-106
Hertz, 83
Hierarchical directories, 411-412
History of MINIX, 13-15
History of operating systems, 5-15
Hold and wait condition, 168

I

IBM PC, 14, 107, 122, 126, 132, 156,
...... 191, 194, 201, 202, 208,
...... 313, 357, 360
I-node, 418-419
...... MINIX, 460-461, 478-480
Intel 8088, 12, 41, 115, 126, 208, 301,
...... 313, 357
I/O, 153-304
...... clock, 222-235
...... disk, 200-222
...... MINIX, 179-304
...... RAM disk, 195-200
...... terminal, 235-296
I/O adapter, 208
I/O channel, 155
I/O device, 154-155
I/O device controller, 155-157
I/O protection level, Pentium, 199
I/O software, 159-165
...... device independent, 162-164
...... goals, 159-161
...... user space, 164-166
IBM 1401, 6, 8
IBM 7094, 6, 8, 9
IBM System/360, 8-9
IDE disk (see Integrated Drive Electronics disk)
Incremental dump, 425
Indirect block, 418-419
...... double, 419
...... single, 418
Initialization, MINIX file system, 483-485
Input software, 241-247
Input/Output, (see I/O)
Integrated drive electronics disk, 201
Intelligent terminal, 239
Interleaving, 158
Internal fragmentation, 342
Interprocess communication, 16, 57-75, 97
...... MINIX, 137-140
...... dining philosophers, 75-77
...... message passing, 72-75
...... monitors, 68-72
...... readers and writers, 77-80
...... sleeping barber, 80-82
Interrupt descriptor table, Pentium, 124, 143
Interrupt handler, 161
...... MINIX, 128-137, 180-181
Interrupt request, 156-157
Interrupt vector, 52
Interrupts, disabling, 59-60
Inverted page table, 330-331
IOCTL operations, MINIX, 271
IPC (see Interprocess communication)
IRQ (see Interrupt ReQuest)

J

Job, 6-8
Job control, 26, 272

K

Kernel, 94
Kernel call, 37
Kernel mode, 2
Keyboard driver, MINIX, 282-288
Keymap, 242
MINIX, 261-264

L

Laxity, 91
Layered operating system, 39-40
LBA (see Linear Block Addressing)
LDT (see Local Descriptor Table)
Least laxity scheduling, 91
Least recently used algorithm, 334-338, 429
Lightweight process, 54
Limit register, 313
Linear address, Pentium, 353
Linear block addressing, 213
Linked list file allocation, 416-417
Link to a file, 33-34, 496-497
Linux, 15
Loadable keymap, MINIX, 261-264
Local descriptor table, Pentium, 143, 352-353
Local label, assembler, 133
Local page allocation algorithms, 339-341
Local versus global page allocation, 339-343
Locality of reference, 338
Lock variable, 60
Log-structured file system, 432-434
Logic bomb, 438
Lord Byron, 5
Lottery scheduling, 89-90
Lovelace, Ada, 5
LRU (see Least Recently Used algorithm)

M

Machine language, 2
Magic number, 406
MINIX, 454
Mailbox, 74
Major device number, 163
Master boot record, 96
Mauchley, William, 6
Mechanism versus policy, 44, 93, 357
Memory compaction, 314
Memory hierarchy, 309
Memory management, 309-397
...... best fit algorithm, 318
...... bit map, 316
...... first fit algorithm, 317
...... linked list, 317-318
...... MINIX, 356-396
...... next fit algorithm, 317
...... quick fit algorithm, 318
...... worst fit algorithm, 318
...... (see also Page replacement algorithm)
Memory management unit, 320
Memory manager, 309
Memory-mapped I/O, 156
Memory-mapped terminal, 235-238
Message handling, MINIX, 361-362
Message passing, 72-75
Microprogram, 2
MINIX,
...... block cache, 461-463
...... block device, 187-195
...... block device driver, 190-193
...... boot block, 121, 454
...... boot monitor, 121, 209
...... boot parameters, 209-210
...... booting, 96
...... bootstrapping, 120-122
...... catching signals, 373
...... clock interrupt handler, 230, 233-234
...... clock services, 230-231
...... core dump, 373
...... data structures, 112-120
...... deadlocks, 186
...... debugging dumps, 295-296
...... device driver, 94, 181-185
...... device-independent I/O software, 185
...... device-independent terminal driver,
...... 264-282, 267-273
...... DEV_OPEN request, 210-211
...... DEV_READ request, 211
...... directories, 463-465
...... display driver, 288-295
...... driver library, 193-195
MINIX (continued)
...... escape sequence processing, 291-294
...... EXTERN definition, 108-109, 265, 380, 471
...... file descriptor, 465-467, 481-482
...... file locking, 467, 482
...... file position, 465
...... file system, 95, 453-503
...... file system bit maps, 458-460
...... file system block management, 474-478
...... file system data structures, 473-482
...... file system headers, 470-473
...... file system initialization, 483-485
...... file system implementation, 470-503
...... file system layout, 454-458
...... file system main program, 482-483
...... floppy disk driver, 220-222
...... hard disk driver, 208-222
...... header files, 107-112, 379-382, 470-473
...... i-node, 460-461, 478-480
...... I/O device interface, 501-502
...... implementation of clock driver, 230-235
...... implementation of file system, 470-503
...... implementation of hard disk driver, 211-222
...... implementation of mem. management, 379-396
...... implementation of processes, 98-147
...... initialization, 122, 128
...... initialized variables, 116
...... internal structure, 93-95
...... interprocess communication, 137-140
...... interrupt handling, 128-137, 180-181
...... I/O, 179-304
...... IPC, 97
...... kernel, 94
...... kernel library, 145-147
...... keyboard driver, 282-288
...... keymap, 261-264
...... linking files, 496-497
...... list of signals, 374
...... loadable font, 264
...... loadable keymap, 261-264
...... magic number, 454
...... memory layout, 101, 358-361
...... memory management, 356-396
...... memory manager, 95
...... memory manager data structures, 363-367
...... memory manager main program, 382
...... message handling, 361-362
...... messages to file system, 454-455
MINIX (continued)
...... messages to memory manager, 361-362
...... millisecond timing, 230
...... mounted file system, 494-496
...... operations on files, 485-493
...... overview of clock driver, 227-230
...... overview of file system, 453-469
...... overview of hard disk driver, 208-211
...... overview of I/O, 179-186
...... overview of memory management, 356-379
...... overview of processes, 93-98
...... overview of terminal driver, 249-251
...... path name processing, 493-494
...... pipe, 467-469, 492-493
...... process management, 95-97
...... process scheduling, 98, 140-142
...... pseudoterminal, 250
...... RAM disk, 197-200
...... scheduling, 98, 140-142
...... shared text, 359
...... signal handling, 372-378, 387-393
...... source code, 99-101
...... special file, 20, 405, 468
...... super-block, 456-458, 480-481
...... synchronous alarm, 228-229
...... system task, 296-304
...... task, 94
...... terminal data structure, 265-267
...... terminal driver support code, 273-282
...... terminal I/O, 235-304
...... terminal input, 251-256
...... terminal output, 256-261
...... termios structure, 246
...... user-level I/O software, 185-186
...... zombies, 367-368, 384
MINIX source files,
...... a.out.h, 105, 122
...... alloc.c, 366, 394
...... ansi.h, 103-105
...... assert.h, 118, 147
...... at_wini.c, 137, 212, 220, 308
...... boot.h, 112, 302
...... break.c, 386
...... brksize.s, 372
...... buf.h, 471-472
...... cache.c, 474
...... callnr.h, 111
...... clock.c, 181, 227, 228, 230, 234
MINIX source files (continued)
...... com.h, 111
...... config.h, 100, 103, 107, 114, 116, 119,
...... 122, 212, 266, 287, 463, 470, 472,
...... 474-478, 493, 506
...... console.c, 282, 283, 287, 288, 289, 295
...... const.h, 100, 108, 109, 113, 114, 116,
...... 379, 470, 472, 506, 108
...... crtso.s, 372
...... dev.h, 472
...... device.c, 501, 502
...... dir.h, 106, 470
...... diskparm.h, 112
...... dmp.c, 287, 295
...... driver.c, 181, 190, 192-194, 198, 212, 215
...... driver.h, 182, 190
...... drvlib.c, 193, 194, 213
...... drvlib.h, 193, 194
...... errno.h, 104
...... exception.c, 142, 375
...... exec.c, 385-386
...... fcntl.h, 104 265 379
...... file.h, 472
...... filedes.c, 481
...... forkexit.c, 382
...... fproc.h, 471
...... fs.h, 102 470
...... getset.c, 393
...... glo.h, 108, 113, 116, 117, 119, 228, 265,
...... 266, 281, 379, 380, 381, 470, 471
...... i8259.c, 142, 143
...... inode.h, 472
...... ioctl.h, 106
...... kernel.h, 102, 112, 113, 116, 379, 470
...... keyboard.c, 262, 282, 283, 287, 288
...... keymap.h, 112, 263, 264, 284
...... keymap.src, 263
...... klib.s, 145
...... klib386.s, 145, 291
...... limits.h, 104, 487
...... link.c, 496, 497
...... lock.c, 482
...... lock.h, 472
...... main.c, 124, 125, 128, 382, 482-485
...... memory.c, 198, 200
...... minix, 111
...... misc.c, 145, 147, 500
...... mm.h, 102, 379, 470
MINIX source files (continued)
...... mount.c, 495, 496
...... mproc.h, 363, 380, 381
...... mproc.h., 363
...... mpx.s, 123, 145
...... mpx386.s, 119, 123, 124, 127, 131,
...... 133, 136, 137, 142, 152, 252
...... mpx88.s, 123
...... open.c, 485, 488
...... param.h, 381, 473
...... partition.h, 112, 194
...... path.c, 486, 494
...... pipe.c, 492, 493
...... proc.c, 132, 137, 138, 141, 303
...... proc.h, 116, 118, 119, 138, 140, 296
...... protect.c, 142, 143, 144, 145, 199, 498
...... protect.h, 117, 143
...... proto.h, 113, 115, 379, 380, 470, 471
...... ptrace.h, 106
...... pty.c, 268
...... putk.c, 395, 503
...... read.c, 477, 488, 490
...... sconst.h, 118
...... screendump, 291
...... sigcontext.h, 106
...... signal.c, 387, 390
...... signal.h, 104, 381
...... stadir.c, 498
...... start.c, 124, 125, 127, 144
...... stat.h, 106, 470
...... stdlib.h, 104
...... string.h, 104
...... super.c, 480
...... super.h, 473
...... syslib.h, 111
...... system.c, 296, 303
...... table.c, 108, 109, 116, 119, 126, 266,
...... 361, 379, 380, 381, 471, 472, 473, 501
...... termios.h, 105, 106, 250, 267, 502
...... time.c, 499
...... trace.c, 394
...... tty.c, 181, 253, 267, 279, 282, 287, 288, 289
...... tty.h, 119, 182, 265, 266, 267
...... type.h, 109, 113, 114, 115, 119, 192,
...... 379, 380, 470, 471
...... types.h, 105
...... unistd.h, 104, 379
...... us-std.src, 263, 283
MINIX source files (continued)
...... utility.c, 395, 503
...... wait.h, 106
...... wini.c, 212
...... write.c, 488, 491, 492
MINIX system calls,
...... ACCESS, 32, 36, 453, 499
...... ALARM, 224, 227, 228, 28, 361, 389, 56
...... BRK, 25, 26, 297, 299, 360, 361, 363,
...... 371-372, 386-387, 391, 95
...... CHDIR, 35, 95, 465, 498
...... CHMOD, 35, 498
...... CHOWN, 35, 436, 498
...... CHROOT, 35, 465, 498
...... CLOSE, 29, 188, 189, 485
...... CREAT, 28, 29, 36, 481, 485-486, 492, 499
...... DUP, 29-31, 500
...... DUP2, 500
...... EXEC, 24-27, 31, 95, 97, 143, 186, 298,
...... 356-361, 365, 368, 369, 371-372, 380,
...... 385-387, 399, 400, 447, 471, 498, 499, 501
...... EXIT, 25, 97, 298, 361, 367-368, 382-385, 501
...... FCNTL, 33, 482, 500-501
...... FORK, 22-27, 30, 49, 55, 95, 97, 117,
...... 172, 296, 297, 356, 357, 358, 359, 361,
...... 367-368, 380, 382-385, 396, 466, 501
...... FSTAT, 29, 106, 471, 479, 498
...... GETGID, 35, 361, 378, 393
...... GETPGRP, 26, 379
...... GETPID, 26, 361, 378
...... GETUID, 35, 361, 378, 393
...... IOCTL, 31-33, 106, 200, 241, 246, 249,
...... 250, 263, 266, 271-273, 280, 295, 502
...... KILL, 27, 300, 361, 374, 389
...... LINK, 33-34, 496-497
...... LSEEK, 29, 465, 466, 473, 485
...... MKDIR, 33, 485-487
...... MKNOD, 28, 29, 35, 36, 436, 485-487
...... MOUNT, 19, 34, 494-496
...... MOUNT, 458, 464, 493, 494, 95
...... OPEN, 28, 29, 164, 189, 192, 265, 463,
...... 481, 485-486, 493
...... PAUSE, 28, 361, 390, 393
...... PIPE, 30, 492
...... PTRACE, 26, 106, 302, 361, 379, 394
...... READ, 15, 16, 22, 29, 56, 75, 95, 98, 160,
...... 183, 247, 266, 270, 274, 300, 378, 393,
...... 407, 446, 454, 465, 469, 488-492, 499,
MINIX system calls (continued)
...... RENAME, 33, 496, 504
...... RMDIR, 33, 496
...... SBRK, 26, 299, 361, 371
...... SETGID, 35, 379
...... SETSID, 26, 379, 394, 502
...... SETUID, 35, 379
...... SIGACTION, 27, 361, 373, 375, 387,
...... 388, 389
...... SIGPENDING, 27, 361, 388
...... SIGPROCMASK, 27, 373, 375, 388
...... SIGRETURN, 27, 300, 361, 373,
...... 376-388, 389, 391
...... SIGSEGV, 375
...... SIGSUSPEND, 27, 361, 389, 391, 393, 389
...... SLEEP, 64, 66, 70
...... STAT, 29, 106, 471, 479, 498
...... STIME, 36, 499
...... SYNC, 35, 430, 431, 463, 476, 500-501
...... TIME, 36, 499
...... TIMES, 36, 299, 499
...... UMASK, 36, 499
...... UMOUNT, 34, 494, 496
...... UNLINK, 34, 493, 496
...... UTIME, 36, 499
...... WAIT, 24, 25, 106, 361, 366, 367-368,
...... 382-385, 393, 70, 72
...... WAITPID, 24, 25, 106, 361, 384, 385
...... WRITE, 29, 34, 165, 183, 257, 266,
...... 270, 271, 289, 290, 393, 431, 446,
...... 465, 491-492
Minor device, 34, 163
Mirroring, 426
Missing block, 427
MMU (see Memory Management Unit)
Modified bit, 327
Monitor, 68-72
Monolithic operating system, 37-38
Monoprogramming, 310-311
Morris, Robbert, 438-439
Motherboard (see parentboard)
Mounted file system, 160
...... MINIX, 494
MS-DOS, 12, 41, 156-157, 195, 196, 285
...... 310, 402-403, 412, 418, 420, 430
MULTICS, 11, 348-351
...... protection, ring, 356
Multilevel page table, 324-327
Multiple queue scheduling, 86-87
Multiprocessor, 47
Multiprogramming, 9-10, 48
...... fixed partitions, 311-313
Murphy's law, 57
Mutual exclusion, 59-63
Mutual exclusion condition, 168

N

NEC PD 765 chip, 3
Network operating system, 12
Next fit algorithm, 317
Noncanonical mode, 31-32, 241
Nonpreemptive scheduling, 84
Not frequently used algorithm, 336
Not recently used page replacement, 332-33
Null pointer, 231

O

One-shot mode, 223
Operating system,
...... as extended machine, 3-4
...... as resource manager, 4-5
...... concepts, 13-21
...... history, 5-15
...... monolithic, 37-38
Operating system structure, 37-44
...... client-server, 42-44
...... layered, 39-40
...... virtual machine, 40-42
Optimal page replacement, 331-332
Ostrich algorithm, 170, 172
Output software, 247-249
Overlapped seek, 201
Overlay, 319

P

P-threads, 55
Page, 320
Page directory, Pentium, 354
Page fault, 322
Page fault frequency algorithm, 341
Page frame, 320
Page replacement algorithm, 331-338
...... aging, 336-338
...... clock, 334-335
...... first-in first-out, 333
...... least recently used, 334-338
...... not frequently used, 336
...... not-recently-used, 332-33
...... page fault frequency, 341
...... second chance, 333-334
...... wsclock, 339
Page size, 341-343
Page table, 322
...... inverted, 330-331
...... multilevel, 324-327
Paging, introduction, 319-322
Paging systems, design, 338-343
Parent process, 16
Parentboard, 155
Partition, 34
...... disk, 96
Password, 442-444
...... one-time, 443
...... salting, 443
Path name, 18, 412-414
...... absolute, 412
...... relative, 412
PDP-1, 11
PDP-7, 11
PDP-11, 11
Penetration team, 439
Pentium, 115
...... call gate, 356
...... descriptor tables, 118
...... exception, 136
...... global descriptor table, 124, 143, 352-353
...... I/O protection level, 199
...... interrupt descriptor table, 124, 143
...... linear address, 353
...... local descriptor table, 143, 352-3533
...... page directory, 354
...... privilege level, 118, 130
...... segment descriptor, 144, 353
...... task state segment, 129
Periodic event, 90
Peterson's algorithm, 61-62
Physical identification, 444-445
...... among cats, 444
Pipe, 20
...... MINIX, 467-469
Pixel, 236
Policy driven scheduling, 93
Policy versus mechanism, 44, 93, 357
POSIX, 11
...... header files, 102-106
Preamble, 155
Preemptive scheduling, 83
Prepaging, 339
Preprocessor, C
Present/absent bit, 322
Prevention of deadlocks, 173-175
Printer daemon, 57
Priority inversion problem, 64
Priority scheduling, 85-86
Privacy, 435
Privilege level, Pentium, 118, 130
Process, 15-17
...... introduction, 47-56
...... MINIX, 93-147
Process hierarchy, 49-50
Process implementation, 52-53
Process management, MINIX, 95-97
Process model, 48-52
Process scheduling, 82-92
Process state, 50-52
Process switch, 84
Process table, 16, 52
Producer-consumer problem, 64-75
Prompt, 21
Protected mode, 115
Protection, memory, 312-313
Protection domain, 446-448
Protection mechanism, 434, 446-453
Protection ring, MULTICS, 356
Pseudoparallelism, 47
Pseudoterminal, 250

Q

Quantum, 84
Quick fit algorithm, 318

R

Race condition, 58
RAM disk, 195-200
...... MINIX, 197-200
Random access file, 407
Rate monotonic algorithm, 91
Raw mode, 31, 241
Readers and writers problem, 77-80
Real-time scheduling, 90-91
Real-time system, 90-91, 224
Reference bit, 327
Reference monitor, 446
Relative path name, 412
Reliability, file system, 424-429
Relocation, memory, 312-313
Rendezvous, 75
Reserved suffix, 105
Resource, 167-168
...... nonpreemptable, 167
...... preemptable, 167
Resource trajectory, 176-177
Right,
...... generic, 451
...... security, 447
RISC machine, 2
Root directory, 18
Root file system, 19, 34
Round robin scheduling, 84-85
RS-232 terminal, 238-239
Run-to-completion scheduling, 84

S

Salt, 443
Schedulable system, 91
Scheduler, 82
Scheduling algorithm, 82-84
Scheduling mechanism, 93
Scheduling policy, 93
Scheduling real-time, 90-91
Scheduling,
...... earliest deadline first, 91
...... guaranteed, 89
...... least laxity, 91
...... lottery, 89-90
Scheduling (continued)
...... MINIX, 98, 140-142
...... multiple queues, 86-87
...... nonpreemptive, 84
...... policy versus mechanism, 93
...... preemptive, 83
...... priority, 85-86
...... process, 82-92
...... rate monotonic algorithm, 91
...... round robin, 84-85
...... run to completion, 84
...... shortest job first, 87-89
...... two-level, 92
...... XDS 940, 87
Scrolling, terminal, 259
SCSI device, 155
Second chance paging algorithm, 333-334
Second generation computer, 6-8
Security, 434-446
...... access control list, 448-450
...... attacks, 439-441
...... capability, 450-451
...... design principles, 441-442
...... flaws, 436-439
...... physical identification, 444-445
...... protection mechanisms, 446-453
...... threats, 434-436
...... user authentication, 442-446
...... viruses, 440-441
...... worm, 438-439
Segment, 345
...... data, 25-26
...... Intel versus MINIX
...... stack, 25-26
...... text, 25-26
Segment descriptor, Pentium, 144, 353
Segmentation, 343-356
...... implementation, 347-348
...... MULTICS, 348-351
Semaphore, 66-68
...... binary, 68
Sequential access file, 407
Sequential process (see Process)
Server process, 43
Session leader, 272
Shared library, 346
Shared text, MINIX, 359
Shell, 16, 20-21
Shortest job first scheduling, 87-99
Shortest seek first, 204
Signal, 17
...... MINIX, 374
SIGNAL primitive, 70
SLEEP primitive, 63-64, 70
Sleep and wakeup, 63-64
Sleeping barber, 80-82
Special file, 20, 405, 468
...... block, 20
...... character, 20
...... MINIX, 468
Spooling, 10, 165
Spooling directory, 57, 165
Square-wave mode, 223
SSF (see Shortest Seek First)
Stack segment, 25-26
Standard input, 21
Standard output, 21
Starvation, 76
Strict alternation, 60-61
Super-block,, MINIX, 456-458, 480-481
Super-user, 17
Supervisor call, 27
Supervisor mode, 2
Swapping, 313-318
Synchronization, process, 68
Synchronous alarm, MINIX, 228-229, 233
System call, 15, 21-36
...... directory management, 33-35
...... file management, 28-33
...... process management, 22-26
...... protection, 35-36
...... signaling, 26-28
...... time management, 36
...... (see also MINIX system call)
System task, MINIX, 296-304

T

Tagged architecture, 450
Task,
...... MINIX, 94
...... synchronous alarm, 228-229, 233
Task state segment, Pentium, 129, 143
TENEX, 437-438
Terminal,
...... intelligent, 239
...... RS-232, 238-239
...... X, 239-240
Terminal data structure, MINIX, 265-267
Terminal driver
...... support code, 273-282
...... MINIX, 249-296
Terminal hardware, 235-240
Terminal I/O, MINIX, 235-304
Terminal input, MINIX, 251-256
Terminal output, MINIX, 256-261
Terminal scrolling,
...... hardware, 259
...... software, 259
Terminal software, 240-249
...... input, 241-247
...... output, 247-249
Text segment, 25-26
Third generation computer, 8-11
Thrashing, 338
Threads, 53-56
Tiger team, 439
Timer, 222
Timesharing, 10-11
TLB (see Translation Lookaside Buffer)
Track-at-a-time caching, 207-208
Translation lookaside buffer, 327-329,
...... 350,351, 355
...... managed in software, 329-330
Trapdoor, 440
Trojan horse, 438
TSL instruction, 62-63
Two-level scheduling, 92
Two-phase locking, 179

U

Uid, 17
Uniform naming, 160
Universal coordinated time, 224
UNIX,
...... boot block, 121
...... deadlock, 172, 186
...... device driver, 183
...... directory, 413-414, 420-421
UNIX (continued)
...... error reporting, 56
...... file system, 402-407, 418, 433
...... history, 11-13
...... interprocess communication, 75
...... process structure, 182
...... security, 436, 442-443
...... special file, 163
...... threads, 56
User authentication, 442-446
User friendliness, 407
User mode, 2
User-level I/O software, MINIX, 185-186
UTC (see Universal Coordinated Time)

V

Video controller, 236
Video RAM, 235-236
Virtual address, 319
Virtual address space, 319-320
Virtual console, MINIX, 282
Virtual machine, 1-2, 4
Virtual machine monitor, 40-41
Virtual memory, 319-356
...... demand paging, 338
...... design issues, 338-343
...... MULTICS, 348-351
...... page replacement algorithms, 331-338
...... paging, 319-331
...... segmentation, 343-356
Virtual memory interface, 343
Virus, 440-441

W

WAIT primitive, 70
Wakeup, 64
WAKEUP primitive, 63-64, 70
Wakeup waiting bit, 65
Watchdog timer, 226
Winchester disk, 211-212
Window manager, 240
Working directory, 18, 412
Working set model, 338-339
Worm, 438-439
Worst fit algorithm, 318
Write-through cache, 429
Wsclock page replacement algorithm, 339

X

X client, 240
X server, 240
X terminal, 239-240
XDS 940, 87

Z

Zombie state, 367-368, 384
Zone, 456-460
Zuse, Konrad, 6


Book Authors Supplements Order Book

Questions or Comments about this Web Site? email networks@prenhall.com

© 1997 Prentice Hall
Prentice Hall, Inc.
A Simon & Schuster Company
Upper Saddle River, New Jersey 07458
Legal Notice.