Books: Difference between revisions

5,801 bytes removed ,  12 years ago
Initial page incarnation
[unchecked revision][unchecked revision]
m (Prepare for further work: add TOC, create a category (although things will move aroun shortly))
(Initial page incarnation)
Line 1:
__NOEDITSECTION__
 
= OS developmentAlgorithms =
= Compiler Theory =
 
{{Book|ISBN=0321486811|ASIN=0321486811
{{Book|ISBN=0131429388|ASIN=0131429388|title=Operating Systems Design and Implementation (3rd Edition)|topic=12400|author=Andrew S Tanenbaum, Albert S Woodhull|description=Most books on operating systems deal with theory while ignoring practice. While the usual principles are covered in detail, the book describes a small, but real UNIX-like operating system: MINIX. The book demonstrates how it works while illustrating the principles behind it. Operating Systems: Design and Implementation Second Edition provides the MINIX source code. The relevant selections of the MINIX code are described in detail. When it first came out, MINIX caused something of a revolution. Within weeks, it had its own newsgroup on USENET, with 40,000 people. Most wanted to make MINIX bigger and fancier. Instead, Linux was created. That has become quite popular, very large, and complicated. MINIX, on the other hand, has remained small and suitable for instruction and example. The book has been revised to include updates in MINIX, which started out as a v 7 unix clone for a floppy-disk only 8088. It is now aimed at 386, 486, and pentium machines and is based on the international posix standard instead of on v7. There are now also versions of MINIX for the Macintosh and SPARC available. Professional programmers will find this book to be a valuable resource and reference book.}}
|title=Compilers: Principles, Techniques, & Tools
|author=Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman
|supp=[http://dragonbook.stanford.edu/ Link]
|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:
{{Book|ISBN=0201596164|ASIN=0201596164|title=The Indispensable PC Hardware Book (4th Edition)|topic=12399|author=Hans-Peter Messmer|description=Now fully up to date(Dec 2001) and even more comprehensive than before, this latest edition of The Indispensable PC Hardware Book will continue to amaze and delight with its detailed explanation of every aspect of PC hardware. Whether you're a newcomer to the field or a veteran systems programmer you'll relish the very latest scoop on hot topics including Pentium Pro, the PCI Chipset and SCSI III.
Chapter 10 Instruction-Level Parallelism<br/>
Chapter 11 Optimizing for Parallelism and Locality<br/>
Chapter 12 Interprocedural Analysis
|review=}}
 
= Computer Architecture =
Key Features include: detailed explanations of core hardware topics (including all CPUs, 8086/88 to Pentium and Pentium Pro; all co-processors, 8087 to i387; AMD processors, Am386 to AM5k86, Cyrix CPUs:386 to 6x86; real, protected and virtual 8086 mode with Pentium enhancements; addressing, segmentation and paging; extended and expanded memory; ports, registers and I/O address space; BIOS and register programming; ST412/506, AT-Bus, IDE, DI, SCSI I/II/III; interrupts, exceptions and NMI; RAM, ROM, EPROM, EEPROM, flash memories; page mode, static, statics column mode, serial mode, memory interleaving), as well as unique coverage of upgrades and clones, overdrives and Sls; PC architectures from XT via ISA, EISA, MCA to VLB and PCI; Mass storage and interfaces; parallel, serial and PCMCIA; multimedia, concepts and programming of sound cards; and extensive appendices to provide you with a lasting programming reference.}}
== Theory ==
 
{{Book|ISBN=9780123838728|ASIN=9780123838728
{{Book|ISBN=0201100886|ASIN=0201100886|title=Compilers: Principles, Techniques, and Tools|topic=12412|author=Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman|description=This introduction to compilers is the direct descendant of the well-known book by Aho and Ullman, Principles of Compiler Design. The authors present updated coverage of compilers based on research and techniques that have been developed in the field over the past few years. The book provides a thorough introduction to compiler design and covers topics such as context-free grammars, fine state machines, and syntax-directed translation.}}
|title=Computer Architecture: A Quantitative Approach, 5th ed.
|author=John L. Hennessy, and David A. Patterson
|supp=[http://booksite.mkp.com/9780123838728/index.php Link]
|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=}}
 
== Implementations ==
{{Book|ISBN=0130313580|ASIN=0130313580|title=Modern Operating Systems (3rd Edition)|topic=12413|author=Andrew S Tanenbaum|description=The widely anticipated revision of this worldwide best-seller incorporates the latest developments in operating systems technologies. The Third Edition includes up-to-date materials on relevant operating systems such as Linux, Windows, and embedded real-time and multimedia systems. Includes new and updated coverage of multimedia operating systems, multiprocessors, virtual machines, and antivirus software. Covers internal workings of Windows Vista (Ch. 11); unique even for current publications. Provides information on current research based Tanenbaum’s experiences as an operating systems researcher. A useful reference for programmers.}}
=== PC ===
 
{{Book|ISBN=0201596164|ASIN=0201596164
{{Book
|title=The Indispensable PC Hardware Book, 4th ed.
|title=Operating System Concepts
|author=Abraham Silberschatz, Hans-Peter Baer Galvin, Greg GagneMessmer
|supp=N/A
|ISBN=0201403994
|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.
|ASIN=0471694665
|topic=13290
|description=Another defining moment in the evolution of operating systems. Small footprint operating systems, such as those driving the handheld devices that the baby dinosaurs are using on the cover, are just one of the cutting-edge applications you'll find in Silberschatz, Galvin, and Gagne's Operating System Concepts, Seventh Edition. By staying current, remaining relevant, and adapting to emerging course needs, this market-leading text has continued to define the operating systems course. This Seventh Edition not only presents the latest and most relevant systems, it also digs deeper to uncover those fundamental concepts that have remained constant throughout the evolution of today's operation systems. With this strong conceptual foundation in place, students can more easily understand the details related to specific systems.
}}
 
Key highlights:
{{Book
|title=Distributed Operating Systems
|author=Andrew S. Tanenbaum
|ISBN=0132199084
|ASIN=0132199084
|topic=13291
|description=As distributed computer systems become more pervasive, there is a need for a book that explains how their operating systems are designed and implemented. This book, which is a revised and expanded Part II of the best selling '''Modern Operating Systems''', fulfills that need. It covers the material from the original book, including communication, synchronization, processes and file systems, and adds new material on distributed shared memory. It also contains 4 detailed case studies, Amoeba, Mach, Chorus, and OSF/DCE. Tanenbaum's trademark writing style provides the reader with a thorough yet concise treatment of distributed systems.
}}
 
* CPU's from the 8086/8088 to the Pentium III and Athlon
{{Book
* Real, protected and virtual models
|title=UNIX Internals: The New Frontiers
* Windows and plug&play devices
|author=Uresh Vahalia
* CPU Clones from all major manufacturers
|ISBN=0131019082
* Chipsets and support chips
|ASIN=0131019082
* Timers, interrupts and DMA
|topic=13292
* I/O programming and PCI bus programming
|description=This book offers an exceptionally up-to-date, in-depth, and broad-based exploration of the latest advances in UNIX-based operating systems. Focusing on the design and implementation of the operating system itself — not on the applications and tools that run on it -- this book compares and analyzes the alternatives offered by several important UNIX variants, and covers several advanced subjects, such as multi-processors and threads. Compares several important UNIX variants—highlighting the issues and alternative solutions for various operating system components. Describes advanced technologies such as multiprocessor and multithreaded systems, log- structured file systems, and modern memory architecture.
* 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=}}
 
{{Book|ISBN=0201479508|ASIN=0201479508
{{Book
|title=The Undocumented PC, second2nd editioned.
|author=Frank van Gilluwe
|supp=N/A
|ISBN=0201479508
|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.
|ASIN=0201479508
|review=}}
|topic=13293
|description=The best-selling first edition of The Undocumented PC revealed hidden programming features of PC hardware that allowed programmers to solve tricky problems and dramatically speed up the execution time of their programs. Thoroughly revised and updated, this new edition contains even more undocumented and hard-to-find information. The Undocumented PC includes comprehensive coverage of Pentium, Pentium Pro, and MMX functions, AMD's 5K86 processor, 5x86 and 6x86 CPUs from Cyrix, the Windows&reg; 95 keyboard functions, and more.
}}
 
= Languages =
{{Book
= Networking =
|title=Inside Windows NT
== Theory ==
|author=Helen Custer, David Solomon
== Implementations ==
|ISBN=1572316772
= Operating Systems =
|ASIN=1572316772
== Theory ==
|topic=13342
 
|description=A fully revised, updated, and expanded guide to Windows NT includes coverage of the file system, comprehensive information on Windows NT version 4.0, and a thorough investigation of the NT internals and the associated coding implications.
{{Book|ISBN=1118112733|ASIN=1118112733
}}
|title=Operating System Concepts, 8th ed.
|author=Avi Silberschatz, Peter Baer Galvin, and Greg Gagne
|supp=[http://codex.cs.yale.edu/avi/os-book/OS8/os8c/index.html Link]
|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.<br/>
|review=}}
 
{{Book|ISBN=0136006639|ASIN=0136006639
|title=Modern Operating Systems, 3rd ed.
|author=Andrew S. Tanenbaum
|supp=[http://www.pearsonhighered.com/pearsonhigheredus/educator/product/products_detail.page?isbn=0136006639 Link]
|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.
{{Book
|title=Lions' Commentary on UNIX 6th Edition, with Source Code
|author=John Lions
|ISBN=1573980137
|ASIN=1573980137
|topic=13424
|description=The most famous suppressed book in computer history! * Used as an Operating System textbook at MIT" After 20 years, this is still the best expostion of the workings of a 'real' operating system." --- Ken Thompson (Developer of the UNIX operating system) After years of suppression (as trade secrets) by various owners of the UNIX code, this tome has been re-released, and we owe a debt to all involved in making this happen. I consider this to be the single most important book of 1996. Unix Review, June 1997"The Lions book", cherished by UNIX hackers and widely circulated as a photocopied bootleg document since the late 1970's, is again available in an unrestricted edition. This legendary underground classic, reproduced without modification, is really two works in one: the complete source code to an early version (Edition 6) of the UNIX operating system, a treasure in itself! a brilliant commentary on that code by John Lionswith additional historical perspective essays added in 1996.Lions' marriage of source code with commentary was originally used as an operating systems textbook, a purpose for which it remains superbly well-suited (as evidenced by it's ongoing use at MIT).
}}
 
'''Student Resources Include:'''
{{Book
* 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.
|title=Project Oberon - The Design of an Operating System and Compiler
* 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.
|author=Niklaus Wirth and Jürg Gutknecht
* Lab Experiments
|ISBN=0201544288
* Please note, GOAL is no longer available with this book.
|ASIN=0201544288
|topic=14951
|description=Complete description of the Oberon System. The Oberon System is the documentation of the successful attempt of two part-time programmers (being in their other job full time lecturers in computer science) to implement an operating system from the scratch. Starting from design decisions the authors dive into every detail of the implementation. The Oberon System has an unconventional user interface and needs quite some time and practice to get used to it. [http://www.oberon.ethz.ch/ Native Oberon] itself seems to be orphaned, but a followup project is around. It is a multiprocessor variant called [http://bluebottle.ethz.ch/ BlueBottle]. The book "Project Oberon" is the third part of the Oberon Trilogy documenting the whole original system. A genealogy of different versions of the Oberon System can be found [http://www.ethoberon.ethz.ch/genealogy.html here]. The book is out of print since several years but a pdf is available online [http://www.ethoberon.ethz.ch/WirthPubl/ProjectOberon.pdf here] together with other [http://www.ethoberon.ethz.ch/books.html books].
 
'''Password-Protected Instructor Resources (Select the Resources Tab to View Downloadable Files):'''
This book presents the results of Project Oberon, namely an entire software environment for a modern workstation. The project was undertaken by the authors in the years 1986-89, and its primary goal was to design and implement an entire system from scratch, and to structure it in such a way that it can be described, explained, and understood as a whole. In order to become confronted with all aspects, problems, design decisions and details, the authors not only conceived but also programmed the entire system described in this book, and more.
* 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 [http://taaonline.net/index.html Text and Authors Association (TAA)] '''2010 McGuffey Longevity Award.''' The McGuffey Longevity Award recognizes textbooks whose excellence has been demonstrated over time.
Although there exist numerous books explaining principles and structures of operating systems, there is a lack of descriptions of systems actually implemented and used. The book gives advice on how a system might be built, and demonstrates how one was built. Program listings therefore play a key role in this text, because they alone contain the ultimate explanations. The choice of a suitable formalism therefore assumed great importance, and the language Oberon was designed as not only an effective vehicle for implementation, but also as a publication medium for algorithms in the spirit in which Algol 60 had been created three decades ago. Because of its structure, the language Oberon is equally well suited to exhibit global, modular structures of programmed systems.
|review=}}
 
== Implementations ==
In spite of the small number of man-years spent on realizing the Oberon System, and in spite of its compactness letting its description fit a single book, it is not an academic toy, but rather a versatile workstation system that has found many satisfied and even enthusiastic users in academia and industry. The core system described here, consisting of storage, file, display, text, and viewer managers, of program loader and device drivers, draws its major power from a suitably chosen, flexible set of basic facilities and, most importantly, of their effective extensibility in many directions and for many applications. The extensibility is particularly enhanced by the language Oberon on the one, and by the efficiency of the basic core on the other hand. It is rooted in the application of the object-oriented paradigm which is employed wherever extensibility appears advantageous.
 
{{Book|ISBN=0131429388|ASIN=0131429388
In addition to the core system, this book describes in full detail the compiler for the language Oberon and a graphics system, which both may be regarded as applications. The former reveals how a compact compiler is designed to achieve both fast compilation and efficient, dense code. The latter stands as an example of extensible design based on object-oriented techniques, and it shows how a proper integration with an existing text system is possible. Another addition to the core system is a network module allowing many workstations to be interconnected. This book also shows how the Oberon System serves conveniently as the basis for a multi-server station, accommodating a file distribution, a printing, and an electronic-mail facility.
|title=Operating Systems: Design and Implementation, 3rd ed.
|author=Andrew S. Tanenbaum, and Albert S. Woodhull
|supp=[http://www.pearsonhighered.com/educator/academic/product/0,,0131429388,00%2ben-USS_01DBC.html Link]
|description=For introductory courses on computer operating systems.<br/><br/>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=}}
 
{|
}}
|-
| rowspan="5" valign="top" align="center" width="200" |
[[Image:ISBN_0735648735.jpg|120px]]<br/>[http://www.amazon.com/exec/obidos/ASIN/0735648735/osdev-20/ http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif]<br/>
<br/>
[[Image:ISBN_0735665877.jpg|120px]]<br/>[http://www.amazon.com/exec/obidos/ASIN/0735665877/osdev-20/ http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif]
| height="50" | <font size="+1">Windows Internals, 6th ed.</font>
|-
| valign="top" height="10" | '''Author(s):''' Mark Russinovich, David A. Solomon, and Alex Ionescu
|-
| valign="top" height="10" | '''Supplementary material and/or errata:''' [http://technet.microsoft.com/en-us/sysinternals/bb963901.aspx Link]
|-
| valign="top" | '''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
{{Book
* Explore internal system data structures using tools like the kernel debugger
|title=Practical File System Design-With the Be file system
* Grasp the scheduler’s priority and CPU placement algorithms
|author=Dominic Giampaolo
* Go inside the Windows security model to see how it authorizes access to data
|ISBN=9781558604971
* Understand how Windows manages physical and virtual memory
|ASIN=9781558604971
* Tour the Windows networking stack from top to bottom—including APIs, protocol drivers, and network adapter drivers
|topic=13424
* Troubleshoot file-system access problems and system boot problems
|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.
* Learn how to analyze crashes
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.
* 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.
{{Book
|-
|title=The Design of the UNIX Operating System
| valign="top" | '''Review:'''
|author=Maurice J. Bach
|}
|ISBN=0132017997
<br/>
|ASIN=0132017997
<br/>
|topic=13424
|description=Classic description of the internal algorithms and the structures that form the basis of the UNIX operating system and their relationship to programmer interface. }}
 
= Security =
{{Book
= Software Engineering =
|title=The Design and Implementation of the FreeBSD Operating System
|author=Marshall Kirk McKusick,George V. Neville-Neil
|ISBN=9780201702453
|ASIN=9780201702453
|topic=13424
|description=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:
 
= See also =
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 }}
 
* [http://forum.osdev.org/viewtopic.php?f=1&t=6989&p=174472 Book discussions on the forums]
[[Category:Resources]]
Anonymous user