POSIX.4 Programmers Guide: Programming for the Real World"O'Reilly Media, Inc.", 1995 - 548 pagina's What's "real-world programming"? Real-world programming (typically called real-time programming) is programming that interacts in some way with the "real world" of daily life. At one time, real-time systems were confined to very esoteric applications, like rocket guidance systems. Now, they play a role in almost every aspect of life: they control the brakes on your car, video games, automatic bank tellers -- and the disk drive in your computer. It won't be long before mundane devices like toasters and hair dryers have microprocessors built in, to say nothing of multimedia devices that haven't even been invented yet. Real-world applications are characterized by deadlines. If the brake processor in your car doesn't meet a deadline, your car doesn't stop; if your video game doesn't meet a deadline, the Klingons don't die when you shoot them; if your ATM doesn't meet a deadline, you may start looking for another bank. When you've just rear-ended another car, it's no consolation that a sudden flurry of input slowed down your brake processor, so it couldn't react quickly enough when you hit the pedal. This book covers the POSIX.4 standard for portable real-time programming. The POSIX.4 standard itself is a massive document that defines system interfaces for asynchronous I/O, scheduling, communications, and other facilities. However, this book does more than explain the standard. It provides a general introduction to real-time programming and real-time issues: the problems software faces when it needs to interact with the real world and how to solve them. And, unlike most books about standards, this one isn't just readable -- it's enjoyable! If you're at all interested in real-time applications -- which include just about everything from telemetry to transaction processing -- this book will be an essential reference. Chapters include:
|
Inhoudsopgave
II | xix |
III | 1 |
IV | 2 |
V | 6 |
VI | 7 |
VII | 9 |
VIII | 13 |
IX | 16 |
LXXVII | 337 |
LXXVIII | 341 |
LXXIX | 343 |
LXXX | 345 |
LXXXI | 348 |
LXXXII | 351 |
LXXXIII | 354 |
LXXXIV | 358 |
XI | 19 |
XII | 24 |
XIII | 30 |
XIV | 36 |
XV | 39 |
XVII | 41 |
XVIII | 43 |
XIX | 47 |
XX | 55 |
XXI | 82 |
XXIII | 85 |
XXIV | 88 |
XXV | 94 |
XXVII | 110 |
XXVIII | 129 |
XXIX | 146 |
XXXI | 149 |
XXXII | 151 |
XXXIII | 153 |
XXXIV | 159 |
XXXV | 171 |
XXXVI | 193 |
XXXVII | 200 |
XXXVIII | 207 |
XXXIX | 209 |
XLI | 213 |
XLII | 214 |
XLIII | 217 |
XLIV | 219 |
XLV | 224 |
XLVI | 245 |
XLVII | 248 |
XLIX | 251 |
L | 252 |
LI | 258 |
LII | 260 |
LIII | 272 |
LIV | 273 |
LV | 275 |
LVI | 277 |
LVII | 281 |
LVIII | 283 |
LIX | 290 |
LX | 293 |
LXI | 295 |
LXII | 297 |
LXIII | 303 |
LXIV | 306 |
LXV | 307 |
LXVI | 311 |
LXVII | 315 |
LXVIII | 317 |
LXIX | 319 |
LXX | 322 |
LXXI | 324 |
LXXII | 326 |
LXXIII | 329 |
LXXIV | 331 |
LXXV | 333 |
LXXVI | 335 |
LXXXV | 360 |
LXXXVI | 363 |
LXXXVII | 365 |
LXXXVIII | 370 |
LXXXIX | 373 |
XC | 375 |
XCI | 377 |
XCII | 379 |
XCIII | 383 |
XCIV | 385 |
XCV | 387 |
XCVI | 389 |
XCVII | 391 |
XCVIII | 392 |
XCIX | 394 |
C | 396 |
CI | 398 |
CII | 400 |
CIII | 403 |
CIV | 405 |
CV | 407 |
CVI | 409 |
CVII | 411 |
CVIII | 413 |
CIX | 415 |
CX | 417 |
CXI | 420 |
CXII | 422 |
CXIII | 424 |
CXIV | 426 |
CXV | 428 |
CXVI | 431 |
CXVII | 435 |
CXVIII | 437 |
CXIX | 439 |
CXX | 441 |
CXXI | 445 |
CXXII | 447 |
CXXIII | 451 |
CXXIV | 453 |
CXXV | 455 |
CXXVI | 457 |
CXXVII | 460 |
CXXVIII | 463 |
CXXIX | 466 |
CXXX | 468 |
CXXXI | 470 |
CXXXII | 472 |
CXXXIII | 475 |
CXXXIV | 479 |
CXXXV | 481 |
CXXXVI | 482 |
CXXXVII | 488 |
CXXXVIII | 502 |
CXXXIX | 517 |
CXL | 520 |
529 | |
531 | |
Overige edities - Alles bekijken
Veelvoorkomende woorden en zinsdelen
aio_cancel aio_error aio_read aio_return aio_suspend aiocb asynchronous I/O asynchronous operation block buffer bytes char child process clock const context switch created Current UNIX Practice defined disk EINVAL endif error exec exit FIFO file descriptor file system flag fork fsync function getpid header files implementation include unistd.h interface interrupt interval timer limits.h lio_listio machine mapping memory locking message queue mlock mlockall mmap mq_open mutex named semaphore namespace nbytes NULL oflags operating system option PAGESIZE pathconf pathname performance pid_t pipe pointer portable POSIX POSIX.4 priocntl priority queued real-time applications real-time signals Return Values SCHED_FIFO SCHED_RR scheduling parameters semaphore server sets errno shared memory area shared memory object shm_open sigaction SIGALRM sigemptyset sigevent siginfo_t signal handler signal.h sigqueue sigset_t sigsuspend SIGUSR1 specified standard UNIX struct sigaction struct timespec SVR4 sysconf terminal unistd.h UNIX systems vendor void wait waitpid write