Books: Difference between revisions

From OSDev.wiki
Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content added Content deleted
No edit summary
(Moar books)
Line 102: Line 102:


== Implementations ==
== Implementations ==

=== OSI ===

{{Book|ISBN=0136832105|ASIN=0136832105
|title=The Little Black Book: Mail Bonding with OSI Directory Services
|author=Marshall T. Rose
|supp=N/A
|description=From the author of the bestselling The Open Book and The Simple Book, this comprehensive guide to directory services technology provides the underlying infrastructure to a variety of communication services. The guide explores protocols and protocol suites, giving the reader techniques on simplified message handling and routing over electronic networks. It discusses the network model message handling, user agents, message transfer, gateway, and more used in electronic communications. The handbook introduces such topics as X.500 directory, and will be of interest to those involved with electronic mail, network communications, and other electronic networks.
|review=}}

{{Book|ISBN=0136430163|ASIN=0136430163
|title=The Open Book: A Practical Perspective on OSI
|author=Marshall T. Rose
|supp=N/A
|description=The OSI protocol suite (an internationally standardized set of rules for computer communications) offers a unique promise: it has the potential to provide a political and technical solution to world-wide networking. Computers--from supers to workstations and PCs, from the executive suite to the laboratory, and from Palo Alto to London, or anywhere--can all share a common set of rules for communicating. But, with any emerging technology, there are numerous questions to be answered and issues to be addressed. The Open Book is designed to examine those complex questions and issues and provide a balanced set of perspectives.
|review=}}

=== TCP/IP ===


{|
{|
Line 280: Line 298:


Robert Mecklenburg, author of the third edition, has used ''make'' for decades with a variety of platforms and languages. In this book he zealously lays forth how to get your builds to be as efficient as possible, reduce maintenance, avoid errors, and thoroughly understand what make is doing. Chapters on C++ and Java provide makefile entries optimized for projects in those languages. The author even includes a discussion of the makefile used to build the book.
Robert Mecklenburg, author of the third edition, has used ''make'' for decades with a variety of platforms and languages. In this book he zealously lays forth how to get your builds to be as efficient as possible, reduce maintenance, avoid errors, and thoroughly understand what make is doing. Chapters on C++ and Java provide makefile entries optimized for projects in those languages. The author even includes a discussion of the makefile used to build the book.
|review=}}

= UNIX =

{{Book|ISBN=|ASIN=
|title=Advanced Programming in the UNIX Environment, 3rd ed.
|author=Stephen A. Rago, and W. Richard Stevens
|supp=
|description=
|review=}}

{{Book|ISBN=0139319573|ASIN=0139319573
|title=UNIX Curses Explained
|author=Berny Goodheart
|supp=N/A
|description=Fully documents Curses library and provides a detailed explanation of UNIX Curses. Contains a full alphabetical reference section and many clear examples using Curses, Windows, color manipulation, alternative character sets, pads, and terminals.
|review=}}

{|
|-
| rowspan="5" valign="top" align="center" width="200" |
[[Image:ISBN_0131411551.jpg|120px]]<br/>[http://www.amazon.com/exec/obidos/ASIN/0131411551/osdev-20/ http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif]<br/><br/>
[[Image:ISBN_0130810819.jpg|120px]]<br/>[http://www.amazon.com/exec/obidos/ASIN/0130810819/osdev-20/ http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif]
| height="50" | <font size="+1">UNIX Network Programming</font>
|-
| valign="top" height="10" | '''Author(s):''' Andrew M. Rudoff, Bill Fenner, and W. Richard Stevens
|-
| valign="top" height="10" | '''Supplementary material and/or errata:''' [http://www.unpbook.com/ Volume 1], [http://www.kohala.com/start/unpv22e/unpv22e.html Volume 2]
|-
| valign="top" | '''Official Description:''' This book is for people who want to write programs that communicate with each other using an application program interface (API) known as sockets. Some readers may be very familiar with sockets already, as that model has become synonymous with network programming. Others may need an introduction to sockets from the ground up. The goal of this book is to offer guidance on network programming for beginners as well as professionals, for those developing new network-aware applications as well as those maintaining existing code, and for people who simply want to understand how the networking components of their system function.

All the examples in this text are actual, runnable code tested on Unix systems. However, many non-Unix systems support the sockets API and the examples are largely operating system-independent, as are the general concepts we present. Virtually every operating system (OS) provides numerous network-aware applications such as Web browsers, email clients, and file-sharing servers. We discuss the usual partitioning of these applications into client and server and write our own small examples of these many times throughout the text.

Well-implemented interprocess communications (IPC) are key to the performance of virtually every non-trivial UNIX program. In ''UNIX Network Programming, Volume 2,'' Second Edition, legendary UNIX expert W. Richard Stevens presents a comprehensive guide to every form of IPC, including message passing, synchronization, shared memory, and Remote Procedure Calls (RPC).

Stevens begins with a basic introduction to IPC and the problems it is intended to solve. Step-by-step you'll learn how to maximize both System V IPC and the new Posix standards, which offer dramatic improvements in convenience and performance. You'll find extensive coverage of Pthreads, with many examples reflecting multiple threads instead of multiple processes. Along the way, you'll master every current IPC technique and technology, including:

* Pipes and FIFOs.
* Posix and System V Message Queues
* Mutexes and Condition Variables
* Read-Write Locks
* Record Locking
* Posix and System V Semaphores
* Posix and System V Shared Memory
* Solaris Doors and Sun RPC
* Performance Measurements of IPC Techniques

If you've read Stevens' best-selling first edition of UNIX Network Programming, this book expands its IPC coverage by a factor of five! You won't just learn about IPC "from the outside." You'll actually create implementations of Posix message queues, read-write locks, and semaphores, gaining an in-depth understanding of these capabilities you simply can't get anywhere else.

The book contains extensive new source code-all carefully optimized and available on the Web. You'll even find a complete guide to measuring IPC performance with message passing bandwidth and latency programs, and thread and process synchronization programs.

The better you understand IPC, the better your UNIX software will run. One book contains all you need to know: UNIX Network Programming, Volume 2, Second Edition.
|-
| valign="top" | '''Review:''' {{{review}}}
|}
<br/>
<br/>

{{Book|ISBN=013937681X|ASIN=013937681X
|title=The Unix Programming Environment
|author=Brian W. Kernighan, and Rob Pike
|supp=[http://cm.bell-labs.com/cm/cs/upe/index.html Link]
|description=Designed for first-time and experienced users, this book describes the UNIX&reg; programming environment and philosophy in detail. Readers will gain an understanding not only of how to use the system, its components, and the programs, but also how these fit into the total environment.
|review=}}
|review=}}



Revision as of 09:48, 13 June 2012


Algorithms


http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif


http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif

The Art of Computer Programming
Author(s): Donald E. Knuth
Supplementary material and/or errata: Link
Official Description: At the end of 1999, these books were named among the best twelve physical-science monographs of the century by American Scientist , along with: Dirac on quantum mechanics, Einstein on relativity, Mandelbrot on fractals, Pauling on the chemical bond, Russell and Whitehead on foundations of mathematics, von Neumann and Morgenstern on game theory, Wiener on cybernetics, Woodward and Hoffmann on orbital symmetry, Feynman on quantum electrodynamics, Smith on the search for structure, and Einstein's collected papers. Wow!
Review: {{{review}}}

Compiler Theory


http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
Compilers: Principles, Techniques, & Tools
Author(s): Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman
Year:
Supplementary material and/or errata: Link
Official Description: Compilers: Principles, Techniques and Tools, known to professors, students, and developers worldwide as the "Dragon Book," is available in a new edition. Every chapter has been completely revised to reflect developments in software engineering, programming languages, and computer architecture that have occurred since 1986, when the last edition published. The authors, recognizing that few readers will ever go on to construct a compiler, retain their focus on the broader set of problems faced in software design and software development.

New chapters include:

Chapter 10 Instruction-Level Parallelism
Chapter 11 Optimizing for Parallelism and Locality
Chapter 12 Interprocedural Analysis

Review:



Computer Architecture

Theory


http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
Computer Architecture: A Quantitative Approach, 5th ed.
Author(s): John L. Hennessy, and David A. Patterson
Year:
Supplementary material and/or errata: Link
Official Description: The computing world today is in the middle of a revolution: mobile clients and cloud computing have emerged as the dominant paradigms driving programming and hardware innovation today. The Fifth Edition of Computer Architecture focuses on this dramatic shift, exploring the ways in which software and technology in the cloud are accessed by cell phones, tablets, laptops, and other mobile computing devices. Each chapter includes two real-world examples, one mobile and one datacenter, to illustrate this revolutionary change.
Review:




http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
Structured Computer Organization, 6th ed.
Author(s): Andrew S. Tanenbaum, and Todd Austin
Year:
Supplementary material and/or errata: Link
Official Description: Structured Computer Organization, specifically written for undergraduate students, is a best-selling guide that provides an accessible introduction to computer hardware and architecture. This text will also serve as a useful resource for all computer professionals and engineers who need an overview or introduction to computer architecture.

This book takes a modern structured, layered approach to understanding computer systems. It's highly accessible - and it's been thoroughly updated to reflect today's most critical new technologies and the latest developments in computer organization and architecture. Tanenbaum’s renowned writing style and painstaking research make this one of the most accessible and accurate books available, maintaining the author’s popular method of presenting a computer as a series of layers, each one built upon the ones below it, and understandable as a separate entity.

Review:



Implementations

PC


http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
The Indispensable PC Hardware Book, 4th ed.
Author(s): Hans-Peter Messmer
Year:
Supplementary material and/or errata: N/A
Official Description: This fully revised and popular book is now up-to-date and even more comprehensive than before. The Indispensable PC Hardware Book 4/e will be 'indispensable' to anyone who wants to know more about the inner workings of a personal computer: from programmers who want access to hardware components; professionals and home-users who wants to or has to understand the structure and functioning of a personal computer; to users who want to up-grade their PC's, and dealers who wish to advise their customers--this book will provide the solution to all your hardware questions. Even beginners should not shy away as this book begins with an easy introduction to the subject area.

Key highlights:

  • CPU's from the 8086/8088 to the Pentium III and Athlon
  • Real, protected and virtual models
  • Windows and plug&play devices
  • CPU Clones from all major manufacturers
  • Chipsets and support chips
  • Timers, interrupts and DMA
  • I/O programming and PCI bus programming
  • AGP variants and graphic systems
  • Universal serial bus
  • Local storage from the diskette to DVD
  • Memory systems, SDRAM, EDO, flas, RAM bus, and modules
  • Extensive glossary which explains most of the terms and concepts related to personal computer hardware.
  • Appendices brimming with practical advice, especially for programmers.
Review:




http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
The Undocumented PC, 2nd ed.
Author(s): Frank van Gilluwe
Year:
Supplementary material and/or errata: N/A
Official Description: The Undocumented PC is your technical guide into the inner workings of the PC. At over 1100 pages, The Undocumented PC is the standard that programmers around the world rely on to create powerful programs and to better understand all areas of the PC. Get the competitive advantage of knowing how to utilize and connect to PC firmware and hardware.
Review:



Networking

Theory


http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
Computer Networks, 5th ed.
Author(s): Andrew S. Tanenbaum, and David J. Wetherall
Year:
Supplementary material and/or errata: Link
Official Description: Computer Networks, 5/e is appropriate for Computer Networking or Introduction to Networking courses at both the undergraduate and graduate level in Computer Science, Electrical Engineering, CIS, MIS, and Business Departments.

Tanenbaum takes a structured approach to explaining how networks work from the inside out. He starts with an explanation of the physical layer of networking, computer hardware and transmission systems; then works his way up to network applications. Tanenbaum's in-depth application coverage includes email; the domain name system; the World Wide Web (both client- and server-side); and multimedia (including voice over IP, Internet radio video on demand, video conferencing, and streaming media. Each chapter follows a consistent approach: Tanenbaum presents key principles, then illustrates them utilizing real-world example networks that run through the entire book—the Internet, and wireless networks, including Wireless LANs, broadband wireless and Bluetooth. The Fifth Edition includes a chapter devoted exclusively to network security. The textbook is supplemented by a Solutions Manual, as well as a Website containing PowerPoint slides, art in various forms, and other tools for instruction, including a protocol simulator whereby students can develop and test their own network protocols.

Review:



Implementations

OSI


http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
The Little Black Book: Mail Bonding with OSI Directory Services
Author(s): Marshall T. Rose
Year:
Supplementary material and/or errata: N/A
Official Description: From the author of the bestselling The Open Book and The Simple Book, this comprehensive guide to directory services technology provides the underlying infrastructure to a variety of communication services. The guide explores protocols and protocol suites, giving the reader techniques on simplified message handling and routing over electronic networks. It discusses the network model message handling, user agents, message transfer, gateway, and more used in electronic communications. The handbook introduces such topics as X.500 directory, and will be of interest to those involved with electronic mail, network communications, and other electronic networks.
Review:




http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
The Open Book: A Practical Perspective on OSI
Author(s): Marshall T. Rose
Year:
Supplementary material and/or errata: N/A
Official Description: The OSI protocol suite (an internationally standardized set of rules for computer communications) offers a unique promise: it has the potential to provide a political and technical solution to world-wide networking. Computers--from supers to workstations and PCs, from the executive suite to the laboratory, and from Palo Alto to London, or anywhere--can all share a common set of rules for communicating. But, with any emerging technology, there are numerous questions to be answered and issues to be addressed. The Open Book is designed to examine those complex questions and issues and provide a balanced set of perspectives.
Review:



TCP/IP


http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif


http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif


http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif

TCP/IP Illustrated
Author(s): Gary R. Wright, Kevin R. Fall, and W. Richard Stevens
Supplementary material and/or errata: Volume 2, Volume 3
Official Description: The TCP/IP Illustrated books are praised for their highly effective visual approach to the essential TCP/IP topics facing today's networking professionals. The word 'illustrated' distinguishes this book from the rest. By forcing conditions to occur, and then displaying the results, TCP/IP Illustrated gives readers a much greater understanding of the concepts than words alone can provide. The books are noted for their diagrams and clear and readable writing style.
Review: {{{review}}}

Operating Systems

Theory

File:ISBN 1118112733.jpg
http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
Operating System Concepts, 8th ed.
Author(s): Avi Silberschatz, Peter Baer Galvin, and Greg Gagne
Year:
Supplementary material and/or errata: Link
Official Description: Operating System Concepts, now in its eighth edition, continues to provide a solid theoretical foundation for understanding operating systems. The eighth edition includes more coverage of the most current topics in the rapidly changing fields of operating systems and networking, including open-source operating systems. The use of simulators and operating system emulators is incorporated to allow operating system operation demonstrations and full programming projects. The text also includes improved conceptual coverage and additional content to bridge the gap between concepts and actual implementations. New end-of-chapter problems, exercises, review questions, and programming exercises help to further reinforce important concepts, while WileyPLUS continues to motivate students and offer comprehensive support for the material in an interactive format.
Review:




http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
Modern Operating Systems, 3rd ed.
Author(s): Andrew S. Tanenbaum
Year:
Supplementary material and/or errata: Link
Official Description: For Introductory Courses in Operating Systems in Computer Science, Computer Engineering, and Electrical Engineering programs.

The widely anticipated revision of this worldwide best-seller incorporates the latest developments in operating systems (OS)technologies. The Third Edition includes up-to-date materials on relevant OS such as Linux, Windows, and embedded real-time and multimedia systems. Tanenbaum also provides information on current research based on his experience as an operating systems researcher.

Student Resources Include:

  • Online Exercises - Provide hands-on experience with building as well as analyzing the performance of OS. In particular, these exercises have been designed to provide experience with analyzing the resource consumptions in Windows and Linux.
  • Simulation Exercises - Designed to provide experience with building some key components of an OS, including process scheduling, main memory allocation, paging algorithms and virtual memory, and file systems.
  • Lab Experiments
  • Please note, GOAL is no longer available with this book.

Password-Protected Instructor Resources (Select the Resources Tab to View Downloadable Files):

  • Power Point Lecture Slides
  • Figures in both .jpeg and .eps file format
  • Solutions to Exercises
  • Please note, GOAL is no longer available with this book.

Modern Operating Systems, 3e is the recipient of the Text and Authors Association (TAA) 2010 McGuffey Longevity Award. The McGuffey Longevity Award recognizes textbooks whose excellence has been demonstrated over time.

Review:



Implementations


http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
Operating Systems: Design and Implementation, 3rd ed.
Author(s): Andrew S. Tanenbaum, and Albert S. Woodhull
Year:
Supplementary material and/or errata: Link
Official Description: Operating Systems Design and Implementation, 3e, is ideal for introductory courses on computer operating systems. Written by the creator of Minux, professional programmers will now have the most up-to-date tutorial and reference available today.

Revised to address the latest version of MINIX (MINIX 3), this streamlined, simplified new edition remains the only operating systems text to first explain relevant principles, then demonstrate their applications using a Unix-like operating system as a detailed example. It has been especially designed for high reliability, for use in embedded systems, and for ease of teaching.

Review:




http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
Practical File System Design with the Be File System
Author(s): Dominic Giampaolo
Year:
Supplementary material and/or errata: Free book and code
Official Description: This is the new guide to the design and implementation of file systems in general, and the Be File System (BFS) in particular. This book covers all topics related to file systems, going into considerable depth where traditional operating systems books often stop. Advanced topics are covered in detail such as journaling, attributes, indexing and query processing. Built from scratch as a modern 64 bit, journaled file system, BFS is the primary file system for the Be Operating System (BeOS), which was designed for high performance multimedia applications.

You do not have to be a kernel architect or file system engineer to use Practical File System Design. Neither do you have to be a BeOS developer or user. Only basic knowledge of C is required. If you have ever wondered about how file systems work, how to implement one, or want to learn more about the Be File System, this book is all you will need.

  • Review of other file systems, including Linux ext2, BSD FFS, Macintosh HFS, NTFS and SGI's XFS.
  • Allocation policies for placing data on disks and discussion of on-disk data structures used by BFS
  • How to implement journaling
  • How a disk cache works, including cache interactions with the file system journal
  • File system performance tuning and benchmarks comparing BFS, NTFS, XFS, and ext2
  • A file system construction kit that allows the user to experiment and create their own file systems
Review:




http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif


http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif

Windows Internals, 6th ed.
Author(s): Mark Russinovich, David A. Solomon, and Alex Ionescu
Supplementary material and/or errata: Link
Official Description: Windows Internals, 6th edition covers the internals of the core kernel components of the Windows 7 and Windows Server 2008 R2 operating systems. This classic book will help you:
  • Understand how the core system and management mechanisms work—from the object manager to services to the registry
  • Explore internal system data structures using tools like the kernel debugger
  • Grasp the scheduler’s priority and CPU placement algorithms
  • Go inside the Windows security model to see how it authorizes access to data
  • Understand how Windows manages physical and virtual memory
  • Tour the Windows networking stack from top to bottom—including APIs, protocol drivers, and network adapter drivers
  • Troubleshoot file-system access problems and system boot problems
  • Learn how to analyze crashes
  • Sixth in the series, this edition was again written by Mark Russinovich, a Technical Fellow in Microsoft’s Azure Group, David Solomon, an operating systems expert and Windows internals teacher, and Alex Ionescu, Chief Architect at CrowdStrike and specializing in OS internals and security. Besides updates for changes in Windows, there are many new experiments and examples that highlight the use of both existing and new Sysinternals tools.

The sixth edition is being released in two parts: Part 1 is available now and Part 2 will be available in September. The reason for the split was to get the content into readers’ hands as soon as possible.

Review:



Programming Languages

Theory

Implementations

C


http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
C: A Reference Manual, 5th ed.
Author(s): Samuel P. Harbison III, and Guy L. Steele Jr.
Year:
Supplementary material and/or errata: Link
Official Description: This best-selling, authoritative reference manual provides a complete description of the C language, the run-time libraries, and a style of C programming that empha_sizes correctness, portability, and maintainability.

Describing the C language more clearly and in more detail than any other book, authors Samuel P. Harbison and Guy L. Steele Jr. provide in a single manual:

  • Standard C (1999) - the new revison of the C Standard supports complex and Boolean types, variable length arrays, precise floating-point programming, and new libraries for portability and internationalization.
  • Standard C (1989)- the version of C used by most of today's programmers.
  • Traditional C-common practice before 1990, with millions of lines of code in use every day.
  • C++ compatible C-code that can be used as C or C++.
  • The complete C run-time libraries for all C versions.
  • C: A Reference Manual is the only book that describes all the details of C-past and present. It is the single must-have reference for all C programmers and implementors.

Thoroughly revised and updated, the expanded Fifth Edition includes a complete description of the latest C Standard, ISO/IEC 9899:1999, with its powerful language extensions and new libraries.

New! Visit the Web site. www.CAReferenceManual.com contains source code for the longer examples in the book, expanded discussions on language issues, the latest ISO/IEC language corrigenda, and links to other C resources.

Review:




http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
The C Programming Language, 2nd ed.
Author(s): Brian W. Kernighan, and Dennis M. Ritchie
Year:
Supplementary material and/or errata: Link
Official Description: This book is meant to help the reader learn how to program in C. It is the definitive reference guide, now in a second edition. Although the first edition was written in 1978, it continues to be a worldwide best-seller. This second edition brings the classic original up to date to include the ANSI standard.

From the Preface:

We have tried to retain the brevity of the first edition. C is not a big language, and it is not well served by a big book. We have improved the exposition of critical features, such as pointers, that are central to C programming. We have refined the original examples, and have added new examples in several chapters. For instance, the treatment of complicated declarations is augmented by programs that convert declarations into words and vice versa. As before, all examples have been tested directly from the text, which is in machine-readable form.

As we said in the first preface to the first edition, C "wears well as one's experience with it grows." With a decade more experience, we still feel that way. We hope that this book will help you to learn C and use it well.

Review:




http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
The CERT C Secure Coding Standard
Author(s): Robert C. Seacord
Year:
Supplementary material and/or errata: Freely available
Official Description: Software security has major implications for the operations and assets of organizations, as well as for the welfare of individuals. To create secure software, developers must know where the dangers lie. Secure programming in C can be more difficult than even many experienced programmers believe.

This book is an essential desktop reference documenting the first official release of The CERT® C Secure Coding Standard. The standard itemizes those coding errors that are the root causes of software vulnerabilities in C and prioritizes them by severity, likelihood of exploitation, and remediation costs. Each guideline provides examples of insecure code as well as secure, alternative implementations. If uniformly applied, these guidelines will eliminate the critical coding errors that lead to buffer overflows, format string vulnerabilities, integer overflow, and other common software vulnerabilities.

Review:



Security

Software Engineering

Theory

Practice


http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
Managing Projects with GNU Make, 3rd ed.
Author(s): Robert Mecklenburg
Year:
Supplementary material and/or errata: Free book, errata, and code, more errata
Official Description: The utility simply known as make is one of the most enduring features of both Unix and other operating systems. First invented in the 1970s, make still turns up to this day as the central engine in most programming projects; it even builds the Linux kernel. In the third edition of the classic Managing Projects with GNU make, readers will learn why this utility continues to hold its top position in project build software, despite many younger competitors.

The premise behind make is simple: after you change source files and want to rebuild your program or other output files, make checks timestamps to see what has changed and rebuilds just what you need, without wasting time rebuilding other files. But on top of this simple principle, make layers a rich collection of options that lets you manipulate multiple directories, build different versions of programs for different platforms, and customize your builds in other ways.

This edition focuses on the GNU version of make, which has deservedly become the industry standard. GNU make contains powerful extensions that are explored in this book. It is also popular because it is free software and provides a version for almost every platform, including a version for Microsoft Windows as part of the free Cygwin project. Managing Projects with GNU make, 3rd Edition provides guidelines on meeting the needs of large, modern projects. Also added are a number of interesting advanced topics such as portability, parallelism, and use with Java.

Robert Mecklenburg, author of the third edition, has used make for decades with a variety of platforms and languages. In this book he zealously lays forth how to get your builds to be as efficient as possible, reduce maintenance, avoid errors, and thoroughly understand what make is doing. Chapters on C++ and Java provide makefile entries optimized for projects in those languages. The author even includes a discussion of the makefile used to build the book.

Review:



UNIX

File:ISBN .jpg
http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
Advanced Programming in the UNIX Environment, 3rd ed.
Author(s): Stephen A. Rago, and W. Richard Stevens
Year:
Supplementary material and/or errata:
Official Description:
Review:




http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
UNIX Curses Explained
Author(s): Berny Goodheart
Year:
Supplementary material and/or errata: N/A
Official Description: Fully documents Curses library and provides a detailed explanation of UNIX Curses. Contains a full alphabetical reference section and many clear examples using Curses, Windows, color manipulation, alternative character sets, pads, and terminals.
Review:




http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif


http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif

UNIX Network Programming
Author(s): Andrew M. Rudoff, Bill Fenner, and W. Richard Stevens
Supplementary material and/or errata: Volume 1, Volume 2
Official Description: This book is for people who want to write programs that communicate with each other using an application program interface (API) known as sockets. Some readers may be very familiar with sockets already, as that model has become synonymous with network programming. Others may need an introduction to sockets from the ground up. The goal of this book is to offer guidance on network programming for beginners as well as professionals, for those developing new network-aware applications as well as those maintaining existing code, and for people who simply want to understand how the networking components of their system function.

All the examples in this text are actual, runnable code tested on Unix systems. However, many non-Unix systems support the sockets API and the examples are largely operating system-independent, as are the general concepts we present. Virtually every operating system (OS) provides numerous network-aware applications such as Web browsers, email clients, and file-sharing servers. We discuss the usual partitioning of these applications into client and server and write our own small examples of these many times throughout the text.

Well-implemented interprocess communications (IPC) are key to the performance of virtually every non-trivial UNIX program. In UNIX Network Programming, Volume 2, Second Edition, legendary UNIX expert W. Richard Stevens presents a comprehensive guide to every form of IPC, including message passing, synchronization, shared memory, and Remote Procedure Calls (RPC).

Stevens begins with a basic introduction to IPC and the problems it is intended to solve. Step-by-step you'll learn how to maximize both System V IPC and the new Posix standards, which offer dramatic improvements in convenience and performance. You'll find extensive coverage of Pthreads, with many examples reflecting multiple threads instead of multiple processes. Along the way, you'll master every current IPC technique and technology, including:

  • Pipes and FIFOs.
  • Posix and System V Message Queues
  • Mutexes and Condition Variables
  • Read-Write Locks
  • Record Locking
  • Posix and System V Semaphores
  • Posix and System V Shared Memory
  • Solaris Doors and Sun RPC
  • Performance Measurements of IPC Techniques

If you've read Stevens' best-selling first edition of UNIX Network Programming, this book expands its IPC coverage by a factor of five! You won't just learn about IPC "from the outside." You'll actually create implementations of Posix message queues, read-write locks, and semaphores, gaining an in-depth understanding of these capabilities you simply can't get anywhere else.

The book contains extensive new source code-all carefully optimized and available on the Web. You'll even find a complete guide to measuring IPC performance with message passing bandwidth and latency programs, and thread and process synchronization programs.

The better you understand IPC, the better your UNIX software will run. One book contains all you need to know: UNIX Network Programming, Volume 2, Second Edition.

Review: {{{review}}}




http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
The Unix Programming Environment
Author(s): Brian W. Kernighan, and Rob Pike
Year:
Supplementary material and/or errata: Link
Official Description: Designed for first-time and experienced users, this book describes the UNIX® programming environment and philosophy in detail. Readers will gain an understanding not only of how to use the system, its components, and the programs, but also how these fit into the total environment.
Review:



See also