Books: Difference between revisions

From OSDev.wiki
Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content added Content deleted
(Updated Computer Networks: A Top-Down Approach to 6th ed.)
Line 101: Line 101:
|review=}}
|review=}}


{{Book|ISBN=0136079679|ASIN=0136079679
{{Book|ISBN=0132856204|ASIN=0132856204
|title=Computer Networking: A Top-Down Approach
|title=Computer Networking: A Top-Down Approach, 6th ed.
|author=James F. Kurose, Keith W. Ross
|author=James F. Kurose, Keith W. Ross
|supp=[http://wps.aw.com/aw_kurose_network_5/ Link]
|supp=[http://www.pearsonhighered.com/product?isbn=0132856204 Link]
|description=Building on the successful top-down approach of previous editions, the Fifth Edition of Computer Networking continues with an early emphasis on application-layer paradigms and application programming interfaces, encouraging a hands-on experience with protocols and networking concepts. With this edition, Kurose and Ross have revised and modernized treatment of some key chapters to integrate the most current and relevant networking technologies.
|description=Computer Networking continues with an early emphasis on application-layer paradigms and application programming interfaces (the top layer), encouraging a hands-on experience with protocols and networking concepts, before working down the protocol stack to more abstract layers.


This book has become the dominant book for this course because of the authors’ reputations, the precision of explanation, the quality of the art program, and the value of their own supplements.
Networking today involves much more than standards specifying message formats and protocol behaviors—and it is far more interesting. Professors Kurose and Ross focus on describing emerging principles in a lively and engaging manner and then illustrate these principles with examples drawn from Internet architecture.

Visit the authors’ blog for information and resources to discuss the newest edition, as well as valuable insights, teaching tips, and discussion about the field of Computer Networking http://kuroseross.com
|review=}}
|review=}}



Revision as of 20:25, 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:




http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
Computer Networking: A Top-Down Approach, 6th ed.
Author(s): James F. Kurose, Keith W. Ross
Year:
Supplementary material and/or errata: Link
Official Description: Computer Networking continues with an early emphasis on application-layer paradigms and application programming interfaces (the top layer), encouraging a hands-on experience with protocols and networking concepts, before working down the protocol stack to more abstract layers.

This book has become the dominant book for this course because of the authors’ reputations, the precision of explanation, the quality of the art program, and the value of their own supplements.

Visit the authors’ blog for information and resources to discuss the newest edition, as well as valuable insights, teaching tips, and discussion about the field of Computer Networking http://kuroseross.com

Review:



Implementations

AppleTalk


http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
Inside AppleTalk, 2nd ed.
Author(s): Gursharan S. Sidhu, Richard F. Andrews, and Alan B. Oppenheimer
Year:
Supplementary material and/or errata: Free book
Official Description: Written by Gursharan S. Sidhu, technical director of Network Systems Development at Apple Computer, and two of Apple's senior staff engineers - Richard F. Andrews and Alan B. Oppenheimer - "Inside AppleTalk" provides an in-depth discussion of the protocol architecture of the AppleTalk network system. This Second Edition features completely updated, detailed descriptions of the AppleTalk protocols, including the enhancements of AppleTalk Phase 2, as well as a fundamental overview by Mr. Sidhu.
Review:



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


http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
The Art of Computer Virus Research and Defense
Author(s): Peter Szor
Year:
Supplementary material and/or errata: Link
Official Description: Symantec's chief antivirus researcher has written the definitive guide to contemporary virus threats, defense techniques, and analysis tools. Unlike most books on computer viruses, The Art of Computer Virus Research and Defense is a reference written strictly for white hats: IT and security professionals responsible for protecting their organizations against malware. Peter Szor systematically covers everything you need to know, including virus behavior and classification, protection strategies, antivirus and worm-blocking techniques, and much more.

Szor presents the state-of-the-art in both malware and protection, providing the full technical detail that professionals need to handle increasingly complex attacks. Along the way, he provides extensive information on code metamorphism and other emerging techniques, so you can anticipate and prepare for future threats.

Szor also offers the most thorough and practical primer on virus analysis ever published—addressing everything from creating your own personal laboratory to automating the analysis process. This book's coverage includes

  • Discovering how malicious code attacks on a variety of platforms
  • Classifying malware strategies for infection, in-memory operation, self-protection, payload delivery, exploitation, and more
  • Identifying and responding to code obfuscation threats: encrypted, polymorphic, and metamorphic
  • Mastering empirical methods for analyzing malicious code—and what to do with what you learn
  • Reverse-engineering malicious code with disassemblers, debuggers, emulators, and virtual machines
  • Implementing technical defenses: scanning, code emulation, disinfection, inoculation, integrity checking, sandboxing, honeypots, behavior blocking, and much more
  • Using worm blocking, host-based intrusion prevention, and network-level defense strategies
Review:




http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
Reversing: Secrets of Reverse Engineering
Author(s): Eldad Eilam
Year:
Supplementary material and/or errata: Link
Official Description: Beginning with a basic primer on reverse engineering-including computer internals, operating systems, and assembly language-and then discussing the various

applications of reverse engineering, this book provides readers with practical, in-depth techniques for software reverse engineering. The book is broken into two parts, the first deals with security-related reverse engineering and the second explores the more practical aspects of reverse engineering. In addition, the author explains how to reverse engineer a third-party software library to improve interfacing and how to reverse engineer a competitor's software to build a better product.

  • The first popular book to show how software reverse engineering can help defend against security threats, speed up development, and unlock the secrets of competitive products
  • Helps developers plug security holes by demonstrating how hackers exploit reverse engineering techniques to crack copy-protection schemes and identify software targets for viruses and other malware
  • Offers a primer on advanced reverse-engineering, delving into "disassembly"-code-level reverse engineering-and explaining how to decipher assembly language
Review:




http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
Security Engineering, 2nd ed.
Author(s): Ross Anderson
Year:
Supplementary material and/or errata: Link
Official Description: The world has changed radically since the first edition of this book was published in 2001. Spammers, virus writers, phishermen, money launderers, and spies now trade busily with each other in a lively online criminal economy and as they specialize, they get better. In this indispensable, fully updated guide, Ross Anderson reveals how to build systems that stay dependable whether faced with error or malice. Here s straight talk on critical topics such as technical engineering basics, types of attack, specialized protection mechanisms, security psychology, policy, and more.
Review:



Software Engineering

Theory


http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
Code Complete, 2nd ed.
Author(s): Steve McConnell
Year:
Supplementary material and/or errata: Link
Official Description: For more than a decade, Steve McConnell, one of the premier authors and voices in the software community, has helped change the way developers write code--and produce better software. Now his classic book, CODE COMPLETE, has been fully updated and revised with best practices in the art and science of constructing software. Whether you're a new developer seeking a sound introduction to the practice of software development or a veteran exploring strategic new approaches to problem solving, you'll find a wealth of practical suggestions and methods for strengthening your skills. Topics include design, applying good techniques to construction, eliminating errors, planning, managing construction activities, and relating personal character to superior software. This new edition features fully updated information on programming techniques, including the emergence of Web-style programming, and integrated coverage of object-oriented design. You'll also find new code examples--both good and bad--in C++, Microsoft(r) Visual Basic(r), C#, and Java, though the focus is squarely on techniques and practices.
Review:




http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
The Mythical Man-Month: Essays on Software Engineering, 20th Anniversary Edition
Author(s): Frederick P. Brooks, Jr.
Year:
Supplementary material and/or errata: N/A
Official Description: Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects. These essays draw from his experience as project manager for the IBM System/360 computer family and then for OS/360, its massive software system. Now, 20 years after the initial publication of his book, Brooks has revisited his original ideas and added new thoughts and advice, both for readers already familiar with his work and for readers discovering it for the first time.

The added chapters contain (1) a crisp condensation of all the propositions asserted in the original book, including Brooks' central argument in The Mythical Man-Month: that large programming projects suffer management problems different from small ones due to the division of labor; that the conceptual integrity of the product is therefore critical; and that it is difficult but possible to achieve this unity; (2) Brooks' view of these propositions a generation later; (3) a reprint of his classic 1986 paper "No Silver Bullet"; and (4) today's thoughts on the 1986 assertion, "There will be no silver bullet within ten years."

Review:



Practice


http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
Learning the vi and Vim Editors
Author(s): Arnold Robbins, Elbert Hannah, and Linda Lamb
Year:
Supplementary material and/or errata: Link
Official Description: There's nothing that hard-core Unix and Linux users are more fanatical about than their text editor. Editors are the subject of adoration and worship, or of scorn and ridicule, depending upon whether the topic of discussion is your editor or someone else's.

vi has been the standard editor for close to 30 years. Popular on Unix and Linux, it has a growing following on Windows systems, too. Most experienced system administrators cite vi as their tool of choice. And since 1986, this book has been the guide for vi.

However, Unix systems are not what they were 30 years ago, and neither is this book. While retaining all the valuable features of previous editions, the 7th edition of Learning the vi and vim Editors has been expanded to include detailed information on vim, the leading vi clone. vim is the default version of vi on most Linux systems and on Mac OS X, and is available for many other operating systems too.

With this guide, you learn text editing basics and advanced tools for both editors, such as multi-window editing, how to write both interactive macros and scripts to extend the editor, and power tools for programmers -- all in the easy-to-follow style that has made this book a classic.

Learning the vi and vim Editors includes:

A complete introduction to text editing with vi:

  • How to move around vi in a hurry
  • Beyond the basics, such as using buffers
  • vi's global search and replacement
  • Advanced editing, including customizing vi and executing Unix commands

How to make full use of vim:

  • Extended text objects and more powerful regular expressions
  • Multi-window editing and powerful vim scripts
  • How to make full use of the GUI version of vim, called gvim
  • vim's enhancements for programmers, such as syntax highlighting, folding and extended tags

Coverage of three other popular vi clones -- nvi, elvis, and vile -- is also included. You'll find several valuable appendixes, including an alphabetical quick reference to both vi and ex mode commands for regular vi and for vim, plus an updated appendix on vi and the Internet.

Learning either vi or vim is required knowledge if you use Linux or Unix, and in either case, reading this book is essential. After reading this book, the choice of editor will be obvious for you too.

Review:




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:



Theory of Computation


http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
Introduction to the Theory of Computation, 3rd ed.
Author(s): Michael Sipser
Year:
Supplementary material and/or errata:
Official Description:
Review:




http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif
The Language of Machines: An Introduction to Computability and Formal Languages
Author(s): Robert W Floyd, and Richard Beigel
Year:
Supplementary material and/or errata: Link
Official Description: In The Language of Machines, Robert Floyd and Richard Beigel revolutionize the teaching of computability and languages. They propose nothing less than redefinition of the building blocks of automata theory: their unified model of computation clarifies the subject as never before. Floyd and Beigel's single model encompasses all the traditional types of computing machines and even "real world" electronic computers.

Using an approach that has been successfully class tested at Stanford, Yale, and Johns Hopkins, Floyd and Beigel offer valuable innovations:

  • Unified definitions that yield insight into the capabilities of a wide variety of machines
  • The perfect combination of simplicity and rigor---their new approach makes formerly obscure results accessible.
  • Ideas and examples from practical computer science bring theory to life
  • A mechanism to combine programs, akin to pipes in UNIX(tm)
  • The first formal definition of simulation that permits modularized proofs
  • A general system of standardization of programs, which streamlines proofs

Floyd an Beigel's bold reformulation of computability and formal language theory provides a firm foundation on which students can build a rich and enduring body of knowledge.

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