C++ Templates: The Complete Guide (2nd edition)
鼎鼎大名的 《C++ Template》第二版，20179月16日出版，全网首发。
Templates are among the most powerful features of C++, but they are too often neglected, misunderstood, and misused. C++ Templates: The Complete Guide provides software architects and engineers with a clear understanding of why, when, and how to use templates to build and maintain cleaner, faster, and smarter software more efficiently.
C++ Templates begins with an insightful tutorial on basic concepts and language features. The remainder of the book serves as a comprehensive reference, focusing first on language details, then on a wide range of coding techniques, and finally on advanced applications for templates. Examples used throughout the book illustrate abstract concepts and demonstrate best practices.
Readers learnThe exact behaviors of templatesHow to avoid the pitfalls associated with templatesIdioms and techniques, from the basic to the previously undocumentedHow to reuse source code without threatening performance or safetyHow to increase the efficiency of C++ programsHow to produce more flexible and maintainable software
This practical guide shows programmers how to exploit the full power of the template features in C++.
The companion Web site at http: //www.josuttis.com/tmplbook/ contains sample code and additional updates.
SMO algorithm. Private.
Advanced Programming in the Unix Environment 3rd edition
Advanced Programming in the Unix Environment 3rd edition.
The CPP Programming Language 4th Edition
The C++ Programming Language, 4th Edition
The Riemann Hypothesis
Contains recent advances and results in number theory
Collects papers never before published in book form
Explains the Riemann Hypothesis to someone without a background in complex analysis
The Riemann Hypothesis has become the Holy Grail of mathematics in the century and a half since 1859 when Bernhard Riemann, one of the extraordinary mathematical talents of the 19th century, originally posed the problem. While the problem is notoriously difficult, and complicated even to state carefully, it can be loosely formulated as "the number of integers with an even number of prime factors is the same as the number of integers with an odd number of prime factors."
The Hypothesis makes a very precise connection between two seemingly unrelated mathematical objects, namely prime numbers and the zeros of analytic functions. If solved, it would give us profound insight into number theory and, in particular, the nature of prime numbers.
This book is an introduction to the theory surrounding the Riemann Hypothesis. Part I serves as a compendium of known results and as a primer for the material presented in the 20 original papers contained in Part II. The original papers place the material into historical context and illustrate the motivations for research on and around the Riemann Hypothesis. Several of these papers focus on computation of the zeta function, while others give proofs of the Prime Number Theorem, since the Prime Number Theorem is so closely connected to the Riemann Hypothesis.
The text is suitable for a graduate course or seminar or simply as a reference for anyone interested in this extraordinary conjecture.
Content Level » Professional/practitioner
Related subjects » History of Mathematical Sciences - Number Theory and Discrete Mathematics
Primality Testing in Polynomial Time
Primality Testing in Polynomial Time: From Randomized Algorithms to "PRIMES Is in P"
Handbook of Elliptic and Hyperelliptic Curve Cryptography
Handbook of Elliptic and Hyperelliptic Curve Cryptography
Limits to Parallel Computation
This book is an introduction to the rapidly growing theory of P completeness — the branch of complexity theory that focuses on
identifying the “hardest” problems in the class P of problems solvable in polynomial time. P -complete problems are of interest because
they all appear to lack highly parall
This textbook presents a survey of research on boolean functions, circuits, parallel computation models, function algebras, and proof systems. Its main aim is to elucidate the structure of "fast" parallel computation. The complexity of parallel computation is emphasized through a variety of techniques ranging from finite combinatorics, probability theory, and finite group theory to finite model theory and proof theory. Nonuniform computation models are studied in the form of boolean circuits, uniform ones in a variety of forms. Steps in the investigation of non-deterministic polynomial time are surveyed as is the complexity of various proof systems.
The book will benefit advanced undergraduate and graduate students as well as researchers in the field of complexity theory.
Content Level » Research
Keywords » Beweissysteme - Boolesche Funktionen - Komplexitätstheorie - Paralleles Rechnen
Related subjects » Mathematics - Software Engineering - Theoretical Computer Science
COMPUTATIONAL COMPLEXITY A Modern Approach
COMPUTATIONAL COMPLEXITY A Modern Approach。英文正式出版，非draft version
Applied Cryptanalysis: Breaking Ciphers in the Real World
The book is designed to be accessible to motivated IT professionals who want to learn more about the specific attacks covered. In particular, every effort has been made to keep the chapters independent, so if someone is interested in has function cryptanalysis or RSA timing attacks, they do not necessarily need to study all of the previous material in the text. This would be particularly valuable to working professionals who might want to use the book as a way to quickly gain some depth on one specific topic.
Handbook of Applied Cryptography
Cryptography, in particular public-key cryptography, has emerged in the last 20 years as an important discipline that is not only the subject of an enormous amount of research, but provides the foundation for information security in many applications. Standards are emerging to meet the demands for cryptographic protection in most areas of data communications. Public-key cryptographic techniques are now in widespread use, especially in the financial services industry, in the public sector, and by individuals for their personal privacy, such as in electronic mail. This Handbook will serve as a valuable reference for the novice as well as for the expert who needs a wider scope of coverage within the area of cryptography. It is a necessary and timely guide for professionals who practice the art of cryptography.
Mathematics of Public Key Cryptography
Public key cryptography is a major interdisciplinary subject with many real-world applications, such as digital signatures. A strong background in the mathematics underlying public key cryptography is essential for a deep understanding of the subject, and this book provides exactly that for students and researchers in mathematics, computer science and electrical engineering. Carefully written to communicate the major ideas and techniques of public key cryptography to a wide readership, this text is enlivened throughout with historical remarks and insightful perspectives on the development of the subject. Numerous examples, proofs and exercises make it suitable as a textbook for an advanced course, as well as for self-study. For more experienced researchers it serves as a convenient reference for many important topics: the Pollard algorithms, Maurer reduction, isogenies, algebraic tori, hyperelliptic curves and many more.
Efficient Hashing with Lookups in two Memory Accesses
Efficient Hashing with Lookups in two Memory Accesses
Hashing in Computer Science: Fifty Years of Slicing and Dicing
Written by one of the developers of the technology, Hashing is both a historical document on the development of hashing and an analysis of the applications of hashing in a society increasingly concerned with security. The material in this book is based on courses taught by the author, and key points are reinforced in sample problems and an accompanying instructor s manual. Graduate students and researchers in mathematics, cryptography, and security will benefit from this overview of hashing and the complicated mathematics that it requires.
PhD Thesis Marc Stevens Attacks on Hash Functions and Applications
PhD Thesis Marc Stevens Attacks on Hash Functions and Applications
Hashing Searching Sketching
The Information Age has enabled the search for information in ways never imagined before. The search criteria may be exact where the input query is expected to exactly match the search object, or fuzzy -- for instance image search, news search, and similar document search -- making the search problem much harder. Hashing is a simple and effective method for exact search that uses a random hash function to map items into buckets, often viewed as throwing balls into bins. This book studies algorithms for different kinds of search using hashing and sketching, and some fundamental limits of what can be realized using some of these approaches. For exact search, we will see how variants of balls- and-bins processes can be used to derive space efficient methods for maintaining hash tables. For fuzzy search, we will see a variant of a special type of hashing, called locality-sensitive hashing, that uses linear space and how the underlying ideas can be used in the kd-tree data structure for improved performance. We will also probe the fundamental limits of some of these approaches by showing lower bounds on their performance.
Introduction to Languages and the Theory of Computation 4th
学theory of computation, Computation complexity, randomized and approximation, advanced algorithm analyze牛书。
算法导论 (第三版) 英文版
Windows NT 2000 Native API Reference
Under the hood, how does Windows 2000 really work? Windows NT/2000 Native API Reference provides a thorough listing of all available internal or "native" API calls, many of them undocumented. For any advanced C/C++ programmer who writes Win32 device drivers or system utilities, this is an indispensable resource to some truly impossible-to-find information.
The book first explains what native APIs are and what they are good for. Native APIs (which all begin with the "Nt" or "Zw" prefixes) run closer to the operating system (in kernel mode), so they are perfect for those who write device drivers, debuggers, profilers, or other system utilities.
This book lists several hundred native APIs, the C structures they use, and the Win32 calls that invoke them. As a reference, this text is a model of clarity, with each function clearly documented and explained. APIs are grouped by functionality, from finding system information to processes and threads, memory management, file I/O, and other categories. One standout here is the sample code that polls the system for low-level information, which mimics developer utilities that let you view process and thread information. Other short examples include techniques for accessing debugging, profiling, and exception information.
For programmers who write device drivers, this title also includes the plug-and-play and power management APIs used by today's Windows. Interesting appendices include a guide to the way the Win32 NTFS file system organizes data on disks, along with sample code to access--and even decompress--this information.
Whether you want to write device drivers or system utilities, or you just want to learn more about the operating system, this comprehensive guide takes the lid off Windows 2000 and looks inside at its internal functions. --Richard Dragan
Topics covered: Native API overview, native API vs. Win32 API, system information and control, APIs for objects, object directories and symbolic links, virtual memory, sections for memory-mapped files, threads, processes, building ToolHelp utilities with native APIs, Windows 2000 API for jobs, tokens, working with synchronization objects, execution profiling, ports and local procedure calls (LPCs), debugging support with LPCs, opening, reading and writing files, NTFS disk structures, Registry keys, security and auditing, plug-and-play and power management, miscellaneous native APIs, exception and debugging.
Windows NT/2000 Native API Reference is absolutely unique. Currently, documentation on WIndows NT's native APIs can only be found through access to the source code or occasionally Web sites where people have chosen to share bits of insight gained through reverse engineering. This book provides the first complete reference to the API functions native to Windows NT and covers the set of services that are offered by Windows NT to both kernel- and user-mode programs. Ideal for the intermediate and advanced level user- and kernel-mode developers of Windows systems, this books is devoted to the NT native API and consists of documentation of the 210 routines included in the API. Also included are all the functions added in Windows 2000.
Advanced Windows Debuging
This book enables you to
Master today’s most powerful Windows debugging tools, including NTSD, CDB, WinDbg, KD, and ADPlus
Debug code that wasn’t designed or written for easy debugging
Understand debuggers “under the hood,” and manage symbols and sources efficiently
Debug complex memory corruptions related to stacks and heaps
Resolve complex security problems
Debug across processes: identity tracking, RPC debugger extensions, and tracking IPCs with Ethereal
Find and fix resource leaks, such as memory and handle leaks.
Debug common thread synchronization problems
Learn when and how to write custom debugger extensions
Perform “postmortem debugging” using crash dumps and Windows Error Reporting
Automate debugging with DebugDiag and the Analyze Debugger command
Shared Source CLI Essentials (2nd Edition) Draft
Microsoft's Shared Source CLI (code-named "Rotor") is the publicly available implementation of the ECMA Common Language Infrastructure (CLI) and the ECMA C# language specification. Loaded with three million lines of source code, it presents a wealth of programming language technology that targets developers interested in the internal workings of the Microsoft .NET Framework, academics working with advanced compiler technology, and people developing their own CLI implementations. The CLI, at its heart, is an approach to building software that enables code from many independent sources to co-exist and interoperate safely. Shared Source CLI Essentials is a companion guide to Rotor's code. This concise and insightful volume provides a road map for anyone wishing to navigate, understand, or alter the Shared Source CLI code. This book illustrates the design principles used in the CLI standard and discusses the complexities involved when building virtual machines. Included with the book is a CD-ROM that contains all the source code and files.
Professional Linux Kernel Architecture
Find an introduction to the architecture, concepts and algorithms of the Linux kernel in Professional Linux Kernel Architecture, a guide to the kernel sources and large number of connections among subsystems. Find an introduction to the relevant structures and functions exported by the kernel to userland, understand the theoretical and conceptual aspects of the Linux kernel and Unix derivatives, and gain a deeper understanding of the kernel. Learn how to reduce the vast amount of information contained in the kernel sources and obtain the skills necessary to understand the kernel sources.
From the Back Cover
Professional Linux Kernel Architecture
As the Linux kernel constantly evolves, so must your understanding of the central functions of the kernel. Linux expert Wolfgang Mauerer focuses on version 2.6.24 (as well as summarizing changes to versions 2.6.25 and 2.6.26) of the kernel as he walks you through the concepts, underlying structures, and implementation of the Linux kernel. Keeping a close connection with the source code—as well as the components and subsystems of the kernel—this book reviews the VFS layer and discusses virtual filesystems and the Extended filesystem family and examines how the page and buffer cache speed up kernel operations.
You'll take a look at the peculiarities of various architectures supported by the kernel, explore the assorted tools and means of working efficiently with the kernel sources, and investigate the numerous social aspects of kernel development and the Linux kernel community. Ultimately, this insightful book will serve as an indispensable step towards understanding structure and implementation of the Linux kernel.
What you will learn from this book
Various ways of viewing the kernel—as an enhanced machine, a resource manager, and a library
How the kernel handles all time-related requirements, both with low and high resolution
The mechanisms required to ensure proper operation of the kernel on multiprocessor systems
How modules add new functionality to the kernel
How the kernel deals with memory management, page reclaim, and swapping
How the kernel deals with networks and implements TCP/IP
Who this book is for
This book is for system programmers, administrators, developers of Linux-based solutions, and overall Linux enthusiasts. A solid foundation of C programming is required.
Wrox Professional guides are planned and written by working programmers to meet the real-world needs of programmers, developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.
The Design and Implementation of the FreeBSD Operating System
As in earlier Addison-Wesley books on the UNIX-based BSD operating system, Kirk McKusick and George Neville-Neil deliver here the most comprehensive, up-to-date, and authoritative technical information on the internal structure of open source FreeBSD. Readers involved in technical and sales support can learn the capabilities and limitations of the system; applications developers can learn effectively and efficiently how to interface to the system; system administrators can learn how to maintain, tune, and configure the system; and systems programmers can learn how to extend, enhance, and interface to the system. The authors provide a concise overview of FreeBSD's design and implementation. Then, while explaining key design decisions, they detail the concepts, data structures, and algorithms used in implementing the systems facilities. As a result, readers can use this book as both a practical reference and an in-depth study of a contemporary, portable, open source operating system.This book: *Details the many performance improvements in the virtual memory system *Describes the new symmetric multiprocessor support *Includes new sections on threads and their scheduling *Introduces the new jail facility to ease the hosting of multiple domains *Updates information on networking and interprocess communication Already widely used for Internet services and firewalls, high-availability servers, and general timesharing systems, the lean quality of FreeBSD also suits the growing area of embedded systems. Unlike Linux, FreeBSD does not require users to publicize any changes they make to the source code.
From the Inside Flap
This book follows the earlier authoritative and full-length descriptions of the design and implementation of the 4.3BSD and 4.4BSD versions of the UNIX system developed at the University of California at Berkeley. Since the final Berkeley release in 1994, several groups have continued development of BSD. This book details FreeBSD, the system with the largest set of developers and the most widely distributed releases. Although the FreeBSD distribution includes nearly 1000 utility programs in its base system and nearly 10,000 optional utilities in its ports collection, this book concentrates almost exclusively on the kernel.
UNIX-like systems include the traditional vendor systems such as Solaris and HP-UX; the Linux-based distributions such as Red Hat, Debian, Suse, and Slackware; and the BSD-based distributions such as FreeBSD, NetBSD, OpenBSD, and Darwin. They run on computers ranging from laptops to the largest supercomputers. They are the operating system of choice for most multiprocessor, graphics, and vector-processing systems, and are widely used for the original purpose of timesharing. The most common platform for providing network services (from FTP to WWW) on the Internet, they are collectively the most portable operating system ever dev eloped. This portability is due partly to their implementation language, C Kernighan & Ritchie, 1989 (which is itself a widely ported language), and partly to the elegant design of the system.
Since its inception in 1969 Ritchie & Thompson, 1978, the UNIX system has developed in several divergent and rejoining streams. The original developers continued to advance the state of the art with their Ninth and Tenth Edition UNIX inside AT&T Bell Laboratories, and then their Plan 9 successor to UNIX. Meanwhile, AT&T licensed UNIX System V as a product before selling it to Novell. Novell passed the UNIX trademark to X/OPEN and sold the source code and distribution rights to Santa Cruz Operation (SCO). Both System V and Ninth Edition UNIX were strongly influenced by the Berkeley Software Distributions produced by the Computer Systems Research Group (CSRG) of the University of California at Berkeley. The Linux operating system, although developed independently of the other UNIX variants, implements the UNIX interface. Thus, applications developed to run on other UNIX-based platforms can be easily ported to run on Linux.
Berkeley Software Distributions
The distributions from Berkeley were the first UNIX-based systems to introduce many important features including the following:
* Demand-paged virtual-memory support
* Automatic configuration of the hardware and I/O system
* A fast and recoverable filesystem
* The socket-based interprocess-communication (IPC) primitives
* The reference implementation of TCP/IP
The Berkeley releases found their way into the UNIX systems of many vendors and were used internally by the development groups of many other vendors. The implementation of the TCP/IP networking protocol suite in 4.2BSD and 4.3BSD, and the availability of those systems, played a key role in making the TCP/IP networking protocol suite a world standard. Even the non-UNIX vendors such as Microsoft have adopted the Berkeley socket design in their Winsock IPC interface.
The BSD releases have also been a strong influence on the POSIX (IEEE Std 1003.1) operating-system interface standard, and on related standards. Several features—such as reliable signals, job control, multiple access groups per process, and the routines for directory operations—have been adapted from BSD for POSIX.
Early BSD releases contained licensed UNIX code, thus requiring recipients to have an AT&T source license to be able to obtain and use BSD. In 1988, Berkeley separated its distribution into AT&T licensed and freely redistributable code. The freely redistributable code was licensed separately and could be obtained, used, and redistributed by anyone. The final freely redistributable 4.4BSD-Lite2 release from Berkeley in 1994 contained nearly the entire kernel and all the important libraries and utilities.
Two groups, NetBSD and FreeBSD, sprang up in 1993 to begin supporting and distributing systems built from the freely redistributable releases being done by Berkeley. The NetBSD group emphasized portability and the minimalist approach, porting the systems to nearly forty platforms and pushing to keep the system lean to aid embedded applications. The FreeBSD group emphasized maximal support for the PC architecture and pushed to ease installation for, and market their system to, as wide an audience as possible. In 1995, the OpenBSD group split from the NetBSD group to develop a distribution that emphasized security. Over the years there has been a healthy competition among the BSD distributions, with many ideas and much code flowing between them.
Material Covered in this Book
This book is about the internal structure of the FreeBSD 5.2 kernel and about the concepts, data structures, and algorithms used in implementing FreeBSD’s system facilities. Its level of detail is similar to that of Bach’s book about UNIX System V Bach, 1986; however, this text focuses on the facilities, data structures, and algorithms used in the FreeBSD variant of the UNIX operating system. The book covers FreeBSD from the system-call level down—from the interface to the kernel to the hardware itself. The kernel includes system facilities, such as process management, virtual memory, the I/O system, filesystems, the socket IPC mechanism, and network protocol implementations. Material above the system-call level—such as libraries, shells, commands, programming languages, and other user interfaces—is excluded, except for some material related to the terminal interface and to system startup. Following the organization first established by Organick’s book about Multics Organick, 1975, this book is an in-depth study of a contemporary operating system.
Where particular hardware is relevant, the book refers to the Intel Personal Computer (PC) architecture. Because FreeBSD has emphasized development on the PC, that is the architecture with the most complete support, so it provides a convenient point of reference.
Use by Computer Professionals
FreeBSD is widely used to support the core infrastructure of many companies worldwide. Because it can be built with a small footprint, it is also seeing increased use in embedded applications. The licensing terms of FreeBSD do not require the distribution of changes and enhancements to the system. The licensing terms of Linux require that all changes and enhancements to the kernel be made available in source form at minimal cost. Thus, companies that need to control the distribution of their intellectual property build their products using FreeBSD.
This book is of direct use to the professionals who work with FreeBSD systems. Individuals involved in technical and sales support can learn the capabilities and limitations of the system; applications developers can learn how to effectively and efficiently interface to the system; system administrators without direct experience with the FreeBSD kernel can learn how to maintain, tune, and configure the system; and systems programmers can learn how to extend, enhance, and interface to the system.
Readers who will benefit from this book include operating-system implementors, system programmers, UNIX application developers, administrators, and curious users. The book can be read as a companion to the source code of the system, falling as it does between the manual pages and the code in detail of treatment. But this book is neither exclusively a UNIX programming manual nor a user tutorial (for a tutorial, see Libes & Ressler 1988). Familiarity with the use of some version of the UNIX system (see, for example, Stevens 1992) and with the C programming language (see, for example, Kernighan & Ritchie 1989) would be extremely useful.
Use in Courses on Operating Systems
This book is suitable for use as a reference text to provide background for a primary textbook in a first-level course on operating systems. It is not intended for use as an introductory operating-system textbook; the reader should have already encountered terminology such as memory management, process scheduling, and I/O systems Silberschatz et al., 2002. Familiarity with the concepts of network protocols Comer, 2000; Stallings, 2000; Tanenbaum, 2003 will be useful for understanding some of the later chapters.
This book can be used in combination with a copy of the FreeBSD system for more advanced operating systems courses. Students’ assignments can include changes to, or replacements of, key system components such as the scheduler, the paging daemon, the filesystems, thread signalling, various networking layers, and I/O management. The ability to load, replace, and unload modules from a running kernel allows students to experiment without the need to compile and reboot the system. By working with a real operating system, students can directly measure and experience the effects of their changes. Because of the intense peer review and insistence on well-defined coding standards throughout its 25-year lifetime, the FreeBSD kernel is considerably cleaner, more modular, and thus easier to understand and modify than most software projects of its size and age.
Exercises are provided at the end of each chapter. The exercises are graded into three categories indicated by zero, one, or two asterisks. The answers to exercises that carry no asterisks can be found in the text. Exercises with a single asterisk require a step of reasoning or intuition beyond a concept presented in the text. Exercises with two asterisks present major design projects or open research questions.
This text discusses both philosophical and design issues, as well as details of the actual implementation. Often, the discussion starts at the system-call level and descends into the kernel. Tables and figures are used to clarify data structures and control flow. Pseudocode similar to the C language displays algorithms. Boldface font identifies program names and filesystem pathnames. Italics font introduces terms that appear in the glossary and identifies the names of system calls, variables, routines, and structure names. Routine names (other than system calls) are further identified by the name followed by a pair of parentheses (e.g., malloc() is the name of a routine, whereas argv is the name of a variable).
The book is divided into five parts, organized as follows:
* Part I, Overview Three introductory chapters provide the context for the complete operating system and for the rest of the book. Chapter 1, History and Goals, sketches the historical development of the system, emphasizing the system’s research orientation. Chapter 2, Design Overview of FreeBSD, describes the services offered by the system and outlines the internal organization of the kernel. It also discusses the design decisions that were made as the system was developed. Sections 2.3 through 2.14 in Chapter 2 give an overview of their corresponding chapter. Chapter 3, Kernel Services, explains how system calls are done and describes in detail several of the basic services of the kernel.
* Part II, Processes The first chapter in this part—Chapter 4, Process Management— lays the foundation for later chapters by describing the structure of a process, the algorithms used for scheduling the execution of the threads that make up a process, and the synchronization mechanisms used by the system to ensure consistent access to kernel-resident data structures. In Chapter 5, Memory Management, the virtual-memory-management system is discussed in detail.
* Part III, I/O System First, Chapter 6, I/O System Overview, explains the system interface to I/O and describes the structure of the facilities that support this interface. Following this introduction are four chapters that give the details of the main parts of the I/O system. Chapter 7, Devices, giv es a description of the I/O architecture of the PC and describes how the I/O subsystem is managed and how the kernel initially maps out and later manages the arrival and departure of connected devices. Chapter 8, Local Filesystems, details the data structures and algorithms that implement filesystems as seen by application programs as well as how local filesystems are interfaced with the device interface described in Chapter 7. Chapter 9, The Network Filesystem, explains the network filesystem from both the server and client perspectives. Chapter 10, Terminal Handling, discusses support for character terminals and provides a description of the pseudo-terminal device driver.
* Part IV, Interprocess Communication Chapter 11, Interprocess Communication, describes the mechanism for providing communication between related or unrelated processes. Chapters 12 and 13, Network Communication and Network Protocols, are closely related because the facilities explained in the former are implemented by specific protocols, such as the TCP/IP protocol suite, explained in the latter.
* Part V, System Operation Chapter 14, Startup and Shutdown, discusses system startup and shutdown and explains system initialization at the process level from kernel initialization to user login.
The book is intended to be read in the order that the chapters are presented, but the parts other than Part I are independent of one another and can be read separately. Chapter 14 should be read after all the others, but knowledgeable readers may find it useful independently.
At the end of the book are a Glossary with brief definitions of major terms and an Index. Each chapter contains a Reference section with citations of related material.
All the BSD distributions are available either for downloading from the net or on removable media such as CD-ROM or DVD.The NetBSD distribution is compiled and ready to run on most workstation architectures.The OpenBSD distribution is compiled and ready to run on a wide variety of workstation architectures and has been extensively vetted for security and reliability.
For you diehards who actually read to the end of the preface, your reward is finding out that you can get T-shirts that are a reproduction of the original artwork drawn by John Lasseter for the cover of this book (yes, he is the John Lasseter of Pixar fame who masterminded the production of Toy Story).Other items available for sale on the site include a 32-hour introductory video course based on this book, a 40-hour advanced video course based on the FreeBSD 5.2 source code, a 2.5-hour video lecture on the history of BSD, and a 4-CD set containing all the releases and the source-control history of BSD from Berkeley. These items are described in the advertisements that follow the Index.
Reverse Engineering Code with IDA Pro
Rootkits: Subverting the Windows Kernel
Professional Assembly Language
A linux assembly language guide for fresh man.
UNIX Internals: The New Frontiers (Paperback)
Bradford Nichols, Dick Buttlar and Jacqueline Proulx Farrell