Addison-Wesley / Prentice Hall
Computer Science
Browse available resources for Computer Science:
- Select a resource
- Resources for Computer Science GOAL where virtual office hours are 24/7! Your Own TA, Just a Click Away! Deitel Resource Centers National Center for Women & Information Technology View material from Search Engines: Information Retrieval in Practice VideoNotes Andrew Tanenbaum Flame Award Recipient Custom Programs Instructor Resource Center myPearsonStore

ISBN-10: 0201433079
ISBN-13: 9780201433074
Publisher: Addison-Wesley Professional
Copyright: 2005
Format: Cloth; 960 pp
Published: 06/17/2005
Suggested retail price: $79.99
Buy from myPearsonStore
Advanced Programming in the Unix Environment is a must-have volume
describing and illustrating the programming interface to the Unix system.
Author builds on the basic information presented in the first 15 chapters to
provide chapter-length examples illustrating among other things how to
develop a database library as well as a postscript print driver.
The book progresses from basic topics such as file systems, directories, and
signals to more advanced topics including interprocess communications,
threads and multi-threaded programming. Extensive code examples in C
combined with a clear writing style make the more difficult aspects of Unix
programming easy to master. This invaluable tutorial and reference teaches
even the more experienced programmer how to get the most of their Unix
system whether its Linux, Solaris, Free BSD or Mac OS X.
A major revision of the definitive guide to Unix system programming with sales exceeding 160,000 units!
° Describes and illustrates more than 200 system calls - the interface that programmers must master in order to access all major Unix internal resources.
° New Edition covers the final POSIX.1 standard as well as threads and multi-threaded programming.
° Includes all new examples, over 10,000 lines of code, running on Linux, Solaris, Free BSD and MAC OS X.
Foreword.
Preface.
Preface to the First Edition.
1. UNIX System Overview.
Introduction.
UNIX Architecture.
Logging In.
Files and Directories.
Input and Output.
Programs and Processes.
Error Handling.
User Identification.
Signals.
Time Values.
System Calls and Library Functions.
Summary.
2. UNIX Standardization and Implementations.
Introduction.
UNIX Standardization.
UNIX System Implementations.
Relationship of Standards and Implementations.
Limits.
Options.
Feature Test Macros.
Primitive System Data Types.
Conflicts Between Standards.
Summary.
3. File I/O.
Introduction.
File Descriptors.
open Function.
creat Function.
closeFunction.
lseek Function.
read Function.
write Function.
I/O Efficiency.
File Sharing.
Atomic Operations.
dup and dup2 Functions.
sync, fsync, and fdatasync Functions.
fcntl Function.
ioctl Function.
/dev/fd.
Summary.
4. Files and Directories.
Introduction.
stat, fstat, and lstat Functions.
File Types.
Set-User-ID and Set-Group-ID.
File Access Per missions.
Ownership of New Files and Directories.
access Function.
umask Function.
chmodand fchmod Functions.
Sticky Bit.
chown, fchown, and lchown Functions.
File Size.
File Truncation.
File Systems.
link, unlink, remove, and rename Functions.
Symbolic Links.
symlinkand readlink Functions.
File Times.
utime Function.
mkdirand rmdir Functions.
Reading Director ies.
chdir, fchdir, and getcwd Functions.
Device Special Files.
Summary of File Access Per mission Bits.
Summary.
5. Standard I/O Library.
Introduction.
Streams and FILE Objects.
Standard Input, Standard Output, and Standard Error.
Buffering.
Opening a Stream.
Reading and Writing a Stream.
Line-at-a-Time I/O.
Standard I/O Efficiency.
Binary I/O.
Positioning a Stream.
Formatted I/O.
Implementation Details.
Temporary Files.
Alternatives to Standard I/O.
Summary.
6. System Data Files and Information.
Introduction.
Password File.
Shadow Passwords.
Group File.
Supplementary Group Ids.
Implementation Differences.
Other Data Files.
Login Accounting.
System Identification.
Time and Date Routines.
Summary.
7. Process Environment.
Introduction.
main Function.
Process Termination.
Command-Line Arguments.
Environment List.
Memory Layout of a C Program.
Shared Libraries.
Memory Allocation.
Environment Variables.
setjmp and longjmp Functions.
getrlimit and setrlimit Functions.
Summary.
8. Process Control.
Introduction.
Process Identifiers.
fork Function.
vfork Function.
exit Functions.
waitand waitpid Functions.
waitid Function.
wait3and wait4Functions.
Race Conditions.
exec Functions.
Changing User IDs and Group IDs.
Interpreter Files.
system Function.
Process Accounting.
User Identification.
Process Times.
Summary.
9. Process Relationships.
Introduction.
Terminal Logins.
Network Logins.
Process Groups.
Sessions.
Controlling Terminal.
tcgetpgrp, tcsetpgrp, and tcgetsid Functions.
Job Control.
Shell Execution of Programs.
Orphaned Process Groups.
FreeBSD Implementation.
Summary.
10. Signals.
Introduction.
Signal Concepts.
signal Function.
Unreliable Signals.
Interrupted System Calls.
Reentrant Functions.
SIGCLD Semantics.
Reliable-Signal Terminology and Semantics.
killand raise Functions.
alarmand pause Functions.
Signal Sets.
sigprocmask Function.
sigpending Function.
sigaction Function.
sigsetjmp and siglongjmp Functions.
sigsuspend Function.
abort Function.
system Function.
sleep Function.
Job-Control Signals.
Additional Features.
Summary.
11. Threads.
Introduction.
Thread Concepts.
Thread Identification.
Thread Creation.
Thread Termination.
Thread Synchronization.
Summary.
12. Thread Control.
Introduction.
Thread Limits.
hread Attributes.
Synchronization Attributes.
Reentrancy.
Thread-Specific Data.
Cancel Options.
Threads and Signals.
Threads and fork.
Threads and I/O.
Summary.
13. Daemon Processes.
Introduction.
Daemon Characteristics.
Coding Rules.
Error Logging.
Single-Instance Daemons.
Daemon Conventions.
Client-Server Model.
Summary.
14. Advanced I/O.
Introduction.
Nonblocking I/O.
Record Locking.
STREAMS.
I/O Multiplexing.
2 poll Function.
Asynchronous I/O.
readv and writev Functions.
readn and written Functions.
Memory-Mapped I/O.
Summary.
15. Interprocess Communication.
Introduction.
Pipes.
popen and pclose Functions.
Coprocesses.
FIFOs.
XSI IPC.
Message Queues.
Semaphores.
Shared Memory.
Client-Server Properties.
Summary.
16. Network IPC: Sockets.
Introduction.
Socket Descriptors.
Addressing.
Connection Establishment.
Data Transfer.
Socket Options.
Out-of-Band Data.
Nonblocking and Asynchronous I/O.
Summary.
17 Advanced IPC.
Introduction.
STREAMS-Based Pipes.
Unique Connections.
Passing File Descriptors.
An Open Server, Version 1.
An Open Server, Version 2.
Summary.
18. Terminal I/O.
Introduction.
Overview.
Special Input Characters.
Getting and Setting Terminal Attributes.
Terminal Option Flags.
stty Command.
Baud Rate Functions.
Line Control Functions.
Terminal Identification.
Canonical Mode.
Noncanonical Mode.
Terminal Window Size.
termcap, terminfo, and curses.
Summary.
19. Pseudo Terminals.
Introduction.
Overview.
Opening Pseudo-Terminal Devices.
pty_fork Function.
pty Program.
Using the pty Program.
Advanced Features.
Summary.
20. A Database Library.
Introduction.
History.
The Library.
Implementation Overview.
Centralized or Decentralized?
Concurrency.
Building the Library.
Source Code.
Performance.
Summary.
21. Communicating with a Network Printer.
Introduction.
The Inter net Printing Protocol.
The Hypertext Transfer Protocol.
Printer Spooling.
Source Code.
Summary.
Appendix A. Function Prototypes.
Appendix B. Miscellaneous Source Code.
Our Header File.
Standard Error Routines.
Appendix C. Solutions to Selected Exercises.
Bibliography.
Index.
We are deeply saddened to learn of the death of noted author W. Richard Stevens. His passing is obviously a tremendous loss for the technical community, but it is a personal one for us as well. Rich was both a gifted colleague and a valued friend who will be greatly missed. We extend our sympathies to his family.
Obituary from the Arizona Daily Star:
STEVENS, W. Richard, noted author of computer books died on September 1. He is best known for his "UNIX Network Programming" series (1990, 1998, 1999), "Advanced Programming in the UNIX Environment" (1992), and "TCP/IP Illustrated" series (1994, 1995, 1996). Richard was born in 1951 in Luanshya, Northern Rhodesia (now Zambia), where his father worked for the copper industry. The family moved to Salt Lake City, Hurley, New Mexico, Washington, DC and Phalaborwa, South Africa. Richard attended Fishburne Military School in Waynesboro, Virginia. He received a B.SC. in Aerospace Engineering from the University of Michigan in 1973, and an M.S. (1978) and Ph.D. (1982) in Systems Engineering from the University of Arizona. He moved to Tucson in 1975 and from then until 1982 he was employed at Kitt Peak National Observatory as a computer programmer. From 1982 until 1990 he was Vice President of Computing Services at Health Systems International in New Haven, CT, moving back to Tucson in 1990. Here he pursued his career as an author and consultant. He was also an avid pilot and a part-time flight instructor during the 1970's.He is survived by his loving wife of 20 years, Sally Hodges Stevens; three wonderful children, Bill, Ellen and David; sister, Claire Stevens of Las Vegas, NV; brother, Bob and wife Linda Stevens of Dallas, TX; nieces, Laura, Sarah, Collette, Christy; and nephew, Brad. He is predeceased by his parents, Royale J. Stevens (1915-1984); and Helen Patterson Stevens (1916-1997). Helen lived in Tucson from 1991-1997, and Royale lived here in the early 1930's attending Tucson High School while his father was treated for TB at the Desert Sanitorium (now TMC). The family asks that in lieu of flowers, donations be made in Richard's name to Habitat for Humanity, 2950 E. 22nd Street, Tucson, AZ 85713. A memorial service for Richard will be held at St. Phillip's in the Hills Episcopal Church on Tuesday, September 7th at 12:00 noon. Following the service there will be a reception in the Murphy Gallery of the Church. Please wear colorful clothing to the service; Richard loved colors.
W. Richard Stevens was an acknowledged UNIX and networking expert and the highly-respected author of several books. He was also a sought-after instructor and consultant.
Stephen A. Rago, one of the Bell Laboratories developers who built UNIX System V, Release 4, currently works as a manger at EMC, specializing in file servers and file systems.
"Stephen Rago's update is a long overdue benefit to the community of professionals using the versatile family of UNIX and UNIX-like operating environments. It removes obsolescence and includes newer developments. It also thoroughly updates the context of all topics, examples, and applications to recent releases of popular implementations of UNIX and UNIX-like environments. And yet, it does all this while retaining the style and taste of the original classic."
--Mukesh Kacker, cofounder and former CTO of Pronto Networks, Inc.
"One of the essential classics of UNIX programming."
--Eric S. Raymond, author of The Art of UNIX Programming
"This is the definitive reference book for any serious or professional UNIX systems programmer. Rago has updated and extended the classic Stevens text while keeping true to the original. The APIs are illuminated by clear examples of their use. He also mentions many of the pitfalls to look out for when programming across different UNIX system implementations and points out how to avoid these pitfalls using relevant standards such as POSIX 1003.1, 2004 edition and the Single UNIX Specification, Version 3."
--Andrew Josey, Director, Certification, The Open Group, and Chair of the POSIX 1003.1 Working Group
"Advanced Programming in the UNIX® Environment, Second Edition, is an essential reference for anyone writing programs for a UNIX system. It's the first book I turn to when I want to understand or re-learn any of the various system interfaces. Stephen Rago has successfully revised this book to incorporate newer operating systems such as GNU/Linux and Apple's OS X while keeping true to the first edition in terms of both readability and usefulness. It will always have a place right next to my computer."
--Dr. Benjamin Kuperman, Swarthmore College
Praise for the First Edition
"Advanced Programming in the UNIX® Environment is a must-have for any serious C programmer who works under UNIX. Its depth, thoroughness, and clarity of explana-tion are unmatched."
--UniForum Monthly
"Numerous readers recommended Advanced Programming in the UNIX® Environment by W. Richard Stevens (Addison-Wesley), and I'm glad they did; I hadn't even heard of this book, and it's been out since 1992. I just got my hands on a copy, and the first few chapters have been fascinating."
--Open Systems Today
"A much more readable and detailed treatment of UNIX internals can be found in Advanced Programming in the UNIX® Environment by W. Richard Stevens (Addison-Wesley). This book includes lots of realistic examples, and I find it quite helpful when I have systems programming tasks to do."
--RS/Magazine
"This is the definitive reference book for any serious or professional UNIX systems programmer. Rago has updated and extended the original Stevens classic while keeping true to the original."
--Andrew Josey, Director, Certification, The Open Group, and Chair of the POSIX 1003.1 Working Group
For over a decade, serious C programmers have relied on one book for practical, in-depth knowledge of the programming interfaces that drive the UNIX and Linux kernels: W. Richard Stevens' Advanced Programming in the UNIX® Environment. Now, Stevens' colleague Stephen Rago has thoroughly updated this classic to reflect the latest technical advances and add support for today's leading UNIX and Linux platforms.
Rago carefully retains the spirit and approach that made this book a classic. Building on Stevens' work, he begins with basic topics such as files, directories, and processes, carefully laying the groundwork for understanding more advanced techniques, such as signal handling and terminal I/O.
Substantial new material includes chapters on threads and multithreaded programming, using the socket interface to drive interprocess communication (IPC), and extensive coverage of the interfaces added to the latest version of the POSIX.1 standard. Nearly all examples have been tested on four of today's most widely used UNIX/Linux platforms: FreeBSD 5.2.1; the Linux 2.4.22 kernel; Solaris 9; and Darwin 7.4.0, the FreeBSD/Mach hybrid underlying Apple's Mac OS X 10.3.
As in the first edition, you'll learn through example, including more than 10,000 lines of downloadable, ANSI C source code. More than 400 system calls and functions are demonstrated with concise, complete programs that clearly illustrate their usage, arguments, and return values. To tie together what you've learned, the book presents several chapter-length case studies, each fully updated for contemporary environments.
Advanced Programming in the UNIX® Environment has helped a generation of programmers write code with exceptional power, performance, and reliability. Now updated for today's UNIX/Linux systems, this second edition will be even more indispensable.
Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, contact your Pearson Higher Education representative for pricing and ordering information.
This title is a member of the Addison-Wesley Professional Computing Series, which also contains the titles below . You can also visit the Addison-Wesley Professional Computing Series page.
Advanced CORBA® Programming with C++
Henning & Vinoski
© 1999 | Addison-Wesley Professional | Paper; 1120 pages | Instock
ISBN-10: 0201379279 | ISBN-13: 9780201379273
Brief Description | Buy from myPearsonStore
Advanced Programming in the UNIX Environment: Paperback Edition, 2/E
Stevens & Rago
© 2008 | Addison-Wesley Professional | Paper; 960 pages | Instock
ISBN-10: 0321525949 | ISBN-13: 9780321525949
Buy from myPearsonStore
Advanced Programming in the UNIX® Environment, 2/E
Stevens & Rago
© 2005 | Addison-Wesley Professional | Cloth; 960 pages | Instock
ISBN-10: 0201433079 | ISBN-13: 9780201433074
Brief Description | Buy from myPearsonStore
Advanced UNIX Programming, 2/E
Rochkind
© 2004 | Addison-Wesley Professional | Paper; 736 pages | Instock
ISBN-10: 0131411543 | ISBN-13: 9780131411548
Brief Description | Buy from myPearsonStore
The Art of UNIX Programming
Raymond
© 2004 | Addison-Wesley Professional | Paper; 560 pages | Instock
ISBN-10: 0131429019 | ISBN-13: 9780131429017
Brief Description | Buy from myPearsonStore
Building Secure Software: How to Avoid Security Problems the Right Way
Viega & McGraw
© 2002 | Addison-Wesley Professional | Cloth; 528 pages | Instock
ISBN-10: 020172152X | ISBN-13: 9780201721522
Brief Description | Buy from myPearsonStore
C Interfaces and Implementations: Techniques for Creating Reusable Software
Hanson
© 1997 | Addison-Wesley Professional | Paper; 544 pages | Instock
ISBN-10: 0201498413 | ISBN-13: 9780201498417
Buy from myPearsonStore
Design Patterns CD: Elements of Reusable Object-Oriented Software
Gamma, Helm, Johnson & Vlissides
© 1998 | Addison-Wesley Professional | CD-ROM Only; 2 pages | Instock
ISBN-10: 0201634988 | ISBN-13: 9780201634983
Brief Description | Buy from myPearsonStore- Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems. Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.
- The authors begin by describing what patterns are and how they can help you design object-oriented software. They then go on to systematically name, explain, evaluate, and catalog recurring designs in object-oriented systems. With Design Patterns as your guide, you will learn how these important patterns fit into the software development process, and how you can leverage them to solve your own design problems most efficiently.
Design Patterns: Elements of Reusable Object-Oriented Software
Gamma, Helm, Johnson & Vlissides
© 1995 | Addison-Wesley Professional | Cloth; 416 pages | Instock
ISBN-10: 0201633612 | ISBN-13: 9780201633610
Brief Description | Buy from myPearsonStore
Effective C++: 55 Specific Ways to Improve Your Programs and Designs, 3/E
Meyers
© 2005 | Addison-Wesley Professional | Paper; 320 pages | Instock
ISBN-10: 0321334876 | ISBN-13: 9780321334879
Brief Description | Buy from myPearsonStore
Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library
Meyers
© 2001 | Addison-Wesley Professional | Paper; 288 pages | Instock
ISBN-10: 0201749629 | ISBN-13: 9780201749625
Brief Description | Buy from myPearsonStore
Firewalls and Internet Security: Repelling the Wily Hacker, 2/E
Cheswick, Bellovin & Rubin
© 2003 | Addison-Wesley Professional | Paper; 464 pages | Instock
ISBN-10: 020163466X | ISBN-13: 9780201634662
Brief Description | Buy from myPearsonStore
Forensic Discovery
Farmer & Venema
© 2005 | Addison-Wesley Professional | Cloth; 240 pages | Instock
ISBN-10: 020163497X | ISBN-13: 9780201634976
Brief Description | Buy from myPearsonStore
Forensic Discovery
Farmer & Venema
© 2005 | Addison-Wesley Professional | On-line Supplement | Estimated Availability: 12/27/2004
ISBN-10: 0321618092 | ISBN-13: 9780321618092
URL: http://safari.informit.com- As a networking professional who needs to prepare for the immediatefuture of computer networking, you will find Gigabit Networking afascinating and practical look at the advances that are making high-speednetworking a reality. Key technologies, important protocols, applications,and the practical issues involved in implementing gigabit networks are alladdressed. The book covers in detail such topics as:
- - Fiber optics (written for non-engineers)
- - Cell and non-cell networking, including Asynchronous Transfer Mode (ATM)
- - Exciting applications that utilize gigabit networking
- - Integrating gigabit networking into existing systems
- - Adapting today's protocols for gigabit networking
Gigabit Networking
Partridge
© 1994 | Addison-Wesley Professional | Paper; 416 pages | Estimated Availability: 10/30/1993
ISBN-10: 0201563339 | ISBN-13: 9780201563337
Brief Description | Buy from myPearsonStore
Interconnections: Bridges, Routers, Switches, and Internetworking Protocols, 2/E
Perlman
© 2000 | Addison-Wesley Professional | Cloth; 560 pages | Instock
ISBN-10: 0201634481 | ISBN-13: 9780201634488
Buy from myPearsonStore
Large-Scale C++ Software Design
Lakos
© 1996 | Addison-Wesley Professional | Paper; 896 pages | Instock
ISBN-10: 0201633620 | ISBN-13: 9780201633627
Buy from myPearsonStore
More Effective C++: 35 New Ways to Improve Your Programs and Designs
Meyers
© 1996 | Addison-Wesley Professional | Paper; 336 pages | Instock
ISBN-10: 020163371X | ISBN-13: 9780201633719
Buy from myPearsonStore
The Practice of Programming
Kernighan & Pike
© 1999 | Addison-Wesley Professional | Paper; 288 pages | Instock
ISBN-10: 020161586X | ISBN-13: 9780201615869
Brief Description | Buy from myPearsonStore
STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library, 2/E
Musser, Derge & Saini
© 2001 | Addison-Wesley Professional | Cloth; 560 pages | Instock
ISBN-10: 0201379236 | ISBN-13: 9780201379235
Brief Description | Buy from myPearsonStore
TCP/IP Illustrated, Volume 1: The Protocols
Stevens
© 1994 | Addison-Wesley Professional | Cloth; 600 pages | Instock
ISBN-10: 0201633469 | ISBN-13: 9780201633467
Brief Description | Buy from myPearsonStore
TCP/IP Illustrated, Volume 2: The Implementation
Wright & Stevens
© 1995 | Addison-Wesley Professional | Cloth; 1200 pages | Instock
ISBN-10: 020163354X | ISBN-13: 9780201633542
Brief Description | Buy from myPearsonStore
TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP, and the UNIX® Domain Protocols
Stevens
© 1996 | Addison-Wesley Professional | Cloth; 352 pages | Instock
ISBN-10: 0201634953 | ISBN-13: 9780201634952
Buy from myPearsonStore
Tcl and the Tk Toolkit
Ousterhout
© 1994 | Addison-Wesley Professional | Paper; 480 pages | Out of Stock
ISBN-10: 020163337X | ISBN-13: 9780201633375
Brief Description
UNIX® Systems for Modern Architectures: Symmetric Multiprocessing and Caching for Kernel Programmers
Schimmel
© 1994 | Addison-Wesley Professional | Paper; 432 pages | Instock
ISBN-10: 0201633388 | ISBN-13: 9780201633382
Brief Description | Buy from myPearsonStore
Unix Network Programming, Volume 1: The Sockets Networking API, 3/E
Stevens, Fenner & Rudoff
© 2004 | Addison-Wesley Professional | Cloth; 1024 pages | Instock
ISBN-10: 0131411551 | ISBN-13: 9780131411555
Brief Description | Buy from myPearsonStore
This book provides designers and developers the tools required to understand CORBA technology at the architectural, design, and code levels.This book offers hands-on explanations for building efficient applications, as well as lucid examples that provide practical advice on avoiding costly mistakes. With this book as a guide, programmers will find the support they need to successfully undertake CORBA development projects. The content is systematically arranged and presented so the book may be used as both a tutorial and a reference. The rich example programs in this definitive text show CORBA developers how to write clearer code that is more maintainable, portable, and efficient. The authors' detailed coverage of the IDL-to-C++ mapping moves beyond the mechanics of the APIs to discuss topics such aspotential pitfalls and efficiency. An in-depth presentation of the new Portable Object Adapter (POA) explains how to take advantage of its numerous features to create scalable and high-performance servers. In addition, detailed discussion of advanced topics, such as garbage collection and multithreading, provides developers with the knowledge they need to write commercial applications.
Advanced Programming in the Unix Environment is a must-have volume
describing and illustrating the programming interface to the Unix system.
Author builds on the basic information presented in the first 15 chapters to
provide chapter-length examples illustrating among other things how to
develop a database library as well as a postscript print driver.
The book progresses from basic topics such as file systems, directories, and
signals to more advanced topics including interprocess communications,
threads and multi-threaded programming. Extensive code examples in C
combined with a clear writing style make the more difficult aspects of Unix
programming easy to master. This invaluable tutorial and reference teaches
even the more experienced programmer how to get the most of their Unix
system whether its Linux, Solaris, Free BSD or Mac OS X.
The changes to UNIX programming that have taken place since 1985 are extensive to say the least. The first edition of Advanced UNIX Programming is still used and considered to be a must have book on any UNIX programmer's shelf.
With this new edition UNIX programmers now have a one-volume, comprehensive, in-depth guide to the essential system-level services provided to them by the UNIX family of operating systems - now including Linux, FreeBSD, and the Mac OS X kernel (Darwin). All UNIX application programs, regardless of what language they are written in, run on top of these services, so mastering them is essential for successful UNIX programming. And, with a movement towards open-source systems, programmers will appreciate the book's emphasis on portability.
The Art of UNIX Programming poses the belief that understanding the unwritten UNIX engineering tradition and mastering its design patterns will help programmers of all stripes to become better programmers. This book attempts to capture the engineering wisdom and design philosophy of the UNIX, Linux, and Open Source software development community as it has evolved over the past three decades, and as it is applied today by the most experienced programmers.
Eric Raymond offers the next generation of “hackers” the unique opportunity to learn the connection between UNIX philosophy and practice through careful case studies of the very best UNIX/Linux programs. In addition, commentary is provided by Brian Kernighan, UNIX pioneer and best-selling author; Doug McIlroy, the inventor of the UNIX pipg; David Korn, the inventor of the korn shell; Jim Gettys and Keith Packard, inventors of X windows; Henry Spencer, an original UNIX hacker; and Ken Arnold, an original BSD developer and JINI creator; Mike Lesk, author of the legendary uucp, lex, and tbl programs; and Sturat Feldman, author of UNIX's famous make utility.
The book is divided into 4 parts. Part I explores the philosophy behind the development of UNIX. Part II explores design principles and patterns that are at the core of the UNIX tradition. Part III covers the rich UNIX tradition of reuse and the amazing variety of programming tools available to the UNIX developer. Part IV explores the UNIX open standards process, and the advantage in portability that UNIX enjoys.
Building Secure Software cuts to the heart of computer security to help students get security right the first time. Bugs in software are a serious problem and students must learn to take that into consideration early on in the software development lifecycle. Building Secure Software provides expert perspectives and techniques to help you ensure the security of essential software. If students learn to consider threats and vulnerabilities early in the development cycle they can build security into the system. With this book students will learn how to determine an acceptable level of risk, develop security tests, and plug security holes before software is even shipped.
Published in 1995, Design Patterns: Elements of Reusable Object-Oriented Software has elicited a great deal of praise from the press and readers. The 23 patterns contained in the book have become an essential resource for anyone developing reusable software designs. In response to a great number of requests from readers of the book and from the object-oriented community as a whole, these designs patterns, along with the entire text of the book, are being made available on CD. This electronic version will enable students to install the patterns directly onto a computer and create an architecture for using and building reusable components. Produced in HTML format, the CD is heavily cross-referenced with numerous links to the online text.
Effective C++ 3/e is a complete update of Effective C++ and Effective C++ 2/e .
Like its predecessors, 3/e has 55 guidelines which contain better, more
effective ways to write code, backed by specific examples. The second edition
published in 1997, and was basically a face-lift of the first edition, keeping most
of the same elements, and seven years later is still selling well.
Now, Meyers has dramatically rejuvenated the material, including more than
50% brand-new material. Meyers began this edition by asking himself, "What
are the 55 most important pieces of advice for practicing C++ programmers in
2005?" He also asked thousands of past users of his books this same question.
This resulted in a completely new book. New material includes use of UML
notation, thread safety, exception safety, design patterns, and templates. Any
older material has been revitalized to reflect new ideas and strides in C++
development.
C++'s Standard Template Library is revolutionary, but learning to use it well has always been a challenge for students. In Effective STL, best-selling author Scott Meyers (Effective C++, More Effective C++) reveals the critical rules of thumb employed by the experts -- the things they almost always do or almost always avoid doing -- to get the most out of the library. This book offers clear, concise, and concrete guidelines to C++ programmers. While other books describe what's in the STL, Effective STL shows the student how to use it. Each of the book's 50 guidelines is backed by Meyers' legendary analysis and incisive examples, so the student will learn not only what to do, but also when to do it - and why.
The best-selling first edition of Firewalls and Internet Security became the bible of Internet security by showing readers how to think about threats and solutions. The completely updated and expanded second edition defines the security problems students face in today's Internet, identifies the weaknesses of the most popular security technologies, and illustrates the ins and outs of deploying an effective firewall. Students learn how to plan and execute a security strategy that allows easy access to Internet services while defeating even the wiliest of hackers. Written by well-known senior researchers at AT&T Bell Labs, Lumeta, and Johns Hopkins University the students will benefit from the actual, real-world experiences of the authors maintaining, improving, and redesigning AT&T's Internet gateway.
Forensic computing is gathering and analyzing data in a manner as free from
distortion as possible to reconstruct data or what has happened in the past on a
system. Many of the tools presented in this book were developed and used first
by the authors. This is the book by the people who wrote the original versions
of forensic tools that are now widely used. The thrust of the book deals with
the collection and use of computer evidence to apprehend the hacker and, once
apprehended, to either prosecute or defend. The majority of examples are from
Solaris, FreeBSD, and Linux systems, Microsoft's Windows shows up as well.
We are fast entering the age of gigabit networking, where information ispassed along wide area and local area networks at speeds surpassing onebillion bits per second. With improvements in fiber optic signalling and thedevelopment of inexpensive high-performance computers, both thecapability and the demand for gigabit networking are here.
In addition to the current status of the technology, Gigabit Networking looks ahead to the ongoing research that will shape the future of gigabit networking.
This important book will bring you up to date on the state of gigabitnetworking, and will give you the knowledge you need to launch yourselfinto the age of truly high-speed networking.
With the same insight and authority that made their book The Unix Programming Environment a classic, Brian Kernighan and Rob Pike have written The Practice of Programming to help make individual programmers more effective and productive. This book is full of practical advice and real-world examples in C, C++, Java, and a variety of special-purpose languages. Kernighan and Pike have distilled years of experience writing programs, teaching, and working with other programmers to create this book. Anyone who writes software will profit from its principles and guidance.
The STL Tutorial and Reference Guide is highly acclaimed as the most accessible, comprehensive, and practical introduction to the Standard Template Library (STL). Encompassing a set of C++ generic data structures and algorithms, STL provides reusable, interchangeable components adaptable to many different uses without sacrificing efficiency. Written by authors who have been instrumental in the creation and practical application of STL, STL Tutorial and Reference Guide, Second Edition includes a tutorial, a thorough description of each element of the library, numerous sample applications, and a comprehensive reference. Many new code examples throughout the book illustrate individual concepts and techniques, while larger sample programs demonstrate the use of the STL in real-world C++ software development.
For students writing applications that run over TCP/IP, or for those responsible for managing and maintaining a TCP/IP internet, this book's innovative approach helps readers at all levels to truly understand how TCP/IP really works. Rather than just describing the protocols from an abstract, standards-related point of view-describing what the standards say the protocol suite should do-TCP/IP Illustrated, Volume 1 actually shows the protocols in action. Stevens also recognizes that readers deal with multiple TCP/IP implementations on heterogeneous platforms. Therefore, the examples in this book show how current, popular TCP/IP implementations operate-SunOS 4.1.3, Solaris 2.2, System V Release 4, BSD/386, AIX 3.2.2, and 4.4 BSD-and they relate these real-world implementations to the RFC standards.
Bestselling author W. Richard Stevens teams up with long-time colleague and TCP/IP expert Gary Wright in TCP/IP Illustrated, Volume 2. Unlike other books on the subject, TCP/IP Illustrated, Volume 2 presents the de facto standard implementation of TCP/IP from the 4.4 BSD release. The authors use a teach-by-example approach that combines hundreds of pictures and descriptions of all data structures and algorithms with 15,000 lines of code to help readers master the TCP/IP protocol suite. The book's timely coverage includes the newest TCP/IP features: multicasting, TCP's window scale and timestamp options, and protection against wrapped sequence numbers.
Since Tcl and the Tk Toolkit is written by the creator of the Tcl scripting language and the Tk toolkit, this book is the single authoritative resource for anyone who wants to produce far more powerful X Window System applications in a fraction of the time that would otherwise be required. Tcl and the Tk Toolkit offers an introduction and overview of this impressive programming environment, including detailed instructions for script writing in Tcl and working with the Tk toolkit. The book also describes the C interfaces for Tcl and Tk for those readers who wish to extend their built-in features by writing new C commands.
In this book, the authors offer unprecedented, start-to-finish guidance on making the most of sockets, the de facto standard for UNIX network programming. The authors begin by introducing virtually every basic capability of TCP and UDP sockets, including socket functions and options, I/O multiplexing, and name and address conversions. They present detailed coverage of the Posix.1g standard for sockets and the Posix threads. They also introduce advanced techniques for: establishing IPv4/IPv6 interoperability, implementing non-blocking I/O, routing sockets, broadcasting and multicasting, IP options, multithreading, advanced name and address conversions, UNIX domain protocols, and raw sockets.
Teaches students how to choose among today's leading client/server design approaches, including TCP iterative, concurrent, preforked and prethreaded servers.
The Internet/intranet revolution has dramatically increased the demand for students graduating with a sophisticated understanding of network programming APIs, especially sockets. This book helps students achieve that goal.
Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.
