INDEX 1499
restarting, 442–445
setting timeout on, 486–487
system clock, updating, 204–205
system CPU time, 40, 206
system data types, 63–66
casting in printf() calls, 66
system limits, SUSv3, 212–215
indeterminate limits, 219
retrieving, 215–217
file-related limits, 217–218
system options, SUSv3, 219–221
retrieving, 215–217
file-related options, 217–218
system programming, xxxi
System V, 4
System V Interface Definition (SVID),
17, 62
System V IPC, 921–936
algorithm employed by get calls,
931–933
compared with POSIX IPC, 1061–1062
control operations, 924
design problems, 884
identifier, 923, 931
key, 64, 923, 925–927
limits, 935–936
object
associated data structure, 927–929
diagram, 932
creating, 923–924
deleting, 924
listing, 934–935
permissions, 800, 927–929
persistence, 924
re-creating after server crash, 930
removing, 934
portability, 884, 1061
System V message queue, 882, 883, 886,
937–964
associated data structure, 948–950
compared with POSIX message
queue,1086–1087
control operations, 947
creating, 938–940
deleting, 947
disadvantages, 961–962
limits, 950–951
messages, 940
receiving, 943–946
nonblocking, 943
sending, 940–942
nonblocking, 941
use in client-server applications,
953–961
System V Release 4 (SVR4), 4, 17, 1440
System V semaphore, 882, 886, 965–995
adjustment on process termination, 533
associated data structure, 972–973
compared with POSIX semaphore,
1103–1104
control operations, 969–972
creating, 969
deleting, 971
disadvantages, 993
initialization, 971, 974, 975–978
limits, 991–993
order of handling of multiple blocked
operations, 986
performing operations on, 978–983
starvation, 986
undo value (semadj), 533, 607, 614, 619,
691, 693, 986–988, 991
System V shared memory, 614, 882, 886,
997–1016
associated data structure, 1012–1014
attaching, 999
compared with other shared memory
APIs, 1115–1116
control operations, 1011–1012
creating, 998–999
deleting, 1011
detaching, 1000
on process termination, 533
limits, 1014–1015
location in process virtual memory,
1006–1009
locking into memory, 1012
storing pointers in, 1010
system(), 582–588, 656, 673
avoid in privileged programs, 788
code of implementation, 582–583,
586–587
diagram, 584
example of use, 581
implementation, 582–588
prototype, 579
system.c, 586
sysv_signal(), 456
prototype, 456
T
t_ prefix (in names of example
programs), 100
t_chown.c, 293
t_clock_nanosleep.c, 1429
t_clone.c, 601
t_dirbasename.c, 371
t_execl.c, 571
t_execle.c, 570