How we did it:
For any feedback, any questions, any notes or just for chat - feel free to follow us on social networks
Mark E. Russinovich, David A. Solomon, Alex Ionescu
See how the core components of the Windows operating system work behind the scenes--guided by a team of internationally renowned internals experts. Fully updated for Windows Server(R) 2008 and Windows Vista(R), this classic guide delivers key architectural insights on system design, debugging, performance, and support--along with hands-on experiments to experience Windows internal behavior firsthand. Delve inside Windows architecture and internals: 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
Offers application debugging techniques for Microsoft .NET Framework and Windows, covering topics such as exception monitoring, crash handlers, and multithreaded deadlocks.
Maurice J. Bach
This is the first, and still, the most comprehensive book to describe the sophisticated workings of the UNIX System V kernel--the internal algorithms, the structures that form the basis of the UNIX operating system, and their relationship to the programming interface. System programmers will gain a better understanding of how the kernel works and will be able to compare algorithms used in the UNIX system to algorithms used in other operating systems. Programmers on UNIX systems will gain a deeper understanding of how their programs interact with the system and can thereby code more efficient programs.
Delve inside the core SQL Server engine--and put that knowledge to work--with guidance from a team of well-known internals experts. Whether database developer, architect, or administrator, you'll gain the deep knowledge you need to exploit key architectural changes--and capture the product's full potential. Discover how SQL Server works behind the scenes, including: What happens internally when SQL Server builds, expands, shrinks, and moves databases How to use event tracking--from triggers to the Extended Events Engine Why the right indexes can drastically reduce your query execution time How to transcend normal row-size limits with new storage capabilities How the Query Optimizer operates Multiple techniques for troubleshooting problematic query plans When to force SQL Server to reuse a cached query plan--or create a new one What SQL Server checks internally when running DBCC How to choose among five isolation levels and two concurrency models when working with multiple concurrent users
Counsels programmers and administrators for big and small organizations on how to work with large-scale application datasets using Apache Hadoop, discussing its capacity for storing and processing large amounts of data while demonstrating best practices for building reliable and scalable distributed systems.
Donald Ervin Knuth
Donald Knuth is Professor Emeritus of the Art of Computer Programming at Stanford University, and is well-known worldwide as the creator of the Tex typesetting language. Here he presents the third volume of his guide to computer programming.
Marshall Kirk McKusick, George V. Neville-Neil
FreeBSD - Comprehensive, up-to-date, and authoritative - truly the latest and greatest from the source!
Randal Bryant, David Richard O'Hallaron
A PROGRAMMER'S PERSPECTIVE This book is for programmers who want to write faster and more reliable programs. By learning how programs are mapped onto the system and executed, readers will better understand why programs behave the way they do and how inefficiencies arise. Computer systems are viewed broadly, comprising processor and memory hardware, compiler, operating system, and networking environment. With its programmer's perspective, readers can clearly see how learning about the inner workings of computer systems will help their further development as computer scientists and engineers. It also helps prepare them for further study in computer architecture, operating systems, compilers, and networking. Topics include: data representations, machine-level representations of C programs, processor architecture, program optimization, memory hierarchy, linking, exceptional control flow, virtual memory and memory management, system-level 1/O, network programming, and concurrent programming. The coverage,focuses on how these areas affect application and system programmers. For example, when covering data representations, it considers how the finite representations used to represent numbers can approximate integer and real numbers, but with limitations that must be understood by programmers. When covering caching, it discusses how the ordering of loop indices in matrix code can affect program performance. When covering networking, it describes how a concurrent server can efficiently handle requests from multiple clients. The book is based on Intel-compatible (IA32) machines executing C programs on Unix or related operating systems such as Linux. Some familiarity with C or C++is assumed, although hints are included to help readers making the transition from Java to C. A complete set of resources, including labs and assignments, lecture notes, and code examples are available via the book's Web sit
This book sheds light on the principles behind the relational model, which is fundamental to all database-backed applications--and, consequently, most of the work that goes on in the computing world today. Database in Depth: The Relational Model for Practitioners goes beyond the hype and gets to the heart of how relational databases actually work. Ideal for experienced database developers and designers, this concise guide gives you a clear view of the technology--a view that's not influenced by any vendor or product. Featuring an extensive set of exercises, it will help you: understand why and how the relational model is still directly relevant to modern database technology (and will remain so for the foreseeable future) see why and how the SQL standard is seriously deficient use the best current theoretical knowledge in the design of their databases and database applications make informed decisions in their daily database professional activities Database in Depth will appeal not only to database developers and designers, but also to a diverse field of professionals and academics, including database administrators (DBAs), information modelers, database consultants, and more. Virtually everyone who deals with relational databases should have at least a passing understanding of the fundamentals of working with relational models. Author C.J. Date has been involved with the relational model from its earliest days. An exceptionally clear-thinking writer, Date lays out principle and theory in a manner that is easily understood. Few others can speak as authoritatively the topic of relational databases as Date can.
"John Robbins has done for Windows debugging what Charles Petzold did for Windows programming." -Jeffrey Richter, author, Programming Applications for Microsoft Windows How can you prevent bugs from creeping into your programs-even before you begin writing code? What practices separate the debugging gods from the mere mortals? DEBUGGING APPLICATIONS describes a powerful, Windows-focused methodology for debugging on the offensive-starting at the requirements phase-so you catch and fix bugs at the source, before customers ever see your software. Expert bugslayer John Robbins reveals lethally effective real-world techniques for resolving just a bout any debugging problem-from memory bugs and disappearing threads to the hairiest multithreaded deadlock. * Learn the coding techniques that help you introduce fewer errors into your program and spend less time debugging * Use version control systems, bug tracking software, and other infrastructure tools to maximize product quality * Exploit the advanced debugging capabilities in the Microsoft Visual C++ and Visual Basic development systems so you debug faster and more effectively * Cushion crashes with structured exception handling and C++ exception handling * Decipher the x86 assembly language you see in the Disassembly window * Master the tools and tactics for debugging multithreaded deadlocks, cross-machine processes, multilanguage problems, Windows 2000 services and dynamic-link libraries (DLLs) that load into services, and other challenging situations Along with John's expert guidance, you also get eight of his battle-tested, professional-level utilities for solving many of the nastiest bugs you'll encounter. In all, the CD-ROM packs over 2.5 megabytes of source code to study and reuse. With DEBUGGING APPLICATIONS, you'll learn the proven practices the industry's best developers use to eradicate bugs at the source-and deliver better software faster!
Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom
This introduction to database systems offers a comprehensive approach, focusing on database design and use, the implementation of database applications, and database management systems. It covers main techniques along with more advanced topics.