Books: Difference between revisions

2,254 bytes added ,  4 years ago
Add OSTEP
[unchecked revision][unchecked revision]
(Add OSTEP)
 
(6 intermediate revisions by 2 users not shown)
Line 59:
| valign="top" | '''Official Description:''' At the end of 1999, these books were named among the best twelve physical-science monographs of the century by ''[http://www.americanscientist.org/bookshelf/pub/100-or-so-books-that-shaped-a-century-of-science 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!
|-
| valign="top" | '''Review:''' {{{review}}}
|}
 
Line 263:
| valign="top" | '''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.
|-
| valign="top" | '''Review:''' {{{review}}}
|}
 
= Peripherals =
 
== Implementations ==
 
=== USB ===
 
{{Book|ISBN=1717425364|ASIN=1717425364
|title=USB: The Universal Serial Bus
|author=Benjamin David Lunt
|year=2018
|supp=[http://www.fysnet.net/the_universal_serial_bus.htm Link]
|description='''This book is for those who are building an operating system, writing embedded code, or just want to learn how to communicate with the USB hardware and attached devices directly through hardware programming.'''
 
This book will show you how to find and initialize each of the four major USB Host Controllers, set up USB stacks, and communicate with attached devices.
It has detailed information and examples of each step required to accomplish this. Detailed information for the UHCI, OHCI, EHCI, and the new Super Speed xHCI controller is easy to follow and understand.
 
'''Resources Included:'''
* Source code - Shows how to detect a controller and send/receive data to/from the attached device(s).
|review=https://www.amazon.com/dp/1717425364/#customerReviews}}
 
 
= Operating Systems =
Line 308 ⟶ 329:
|supp=[http://williamstallings.com/OperatingSystems/ Link 1], [http://www.pearsonhighered.com/educator/product/Operating-Systems-Internals-and-Design-Principles/9780132309981.page Link 2]
|description=A state-of-the art survey of operating system principles. Covers fundamental technology as well as contemporary design issues, such as threads, microkernels, SMPs, real-time systems, multiprocessor scheduling, embedded OSs, distributed systems, clusters, security, and object-oriented design. '''Third and fourth editions received the TAA award for the best Computer Science and Engineering Textbook of the year.'''
|review=}}
 
{{Book|ISBN=198508659X|ASIN=B00TPZ17O4
|title=Operating Systems: Three Easy Pieces
|author=Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau
|year=2015
|supp=[http://pages.cs.wisc.edu/~remzi/OSTEP/ Website]
|description=A free book discussing operating system theory an implementation. The book is centered around three conceptual pieces that are fundamental to operating systems: virtualization, concurrency, and persistence. In understanding the conceptual, you will also learn the practical, including how an operating system does things like schedule the CPU, manage memory, and store files persistently.
|review=}}
 
Line 550 ⟶ 579:
|title=Design Patterns: Elements of Reusable Object-Oriented Software
|author=Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides
|year=1994
|supp=
|description=Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems. Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.
Line 561 ⟶ 591:
|title=Learning the bash Shell, 3rd ed.
|author=Cameron Newham, and Bill Rosenblatt
|year=2005
|supp=[http://shop.oreilly.com/product/9780596009656.do Free book, errata, and code], [http://oreilly.com/catalog/bash3/errata/ more errata]
|description=O'Reilly's bestselling book on Linux's bash shell is at it again. Now that Linux is an established player both as a server and on the desktop ''Learning the bash Shell'' has been updated and refreshed to account for all the latest changes. Indeed, this third edition serves as the most valuable guide yet to the bash shell.
Line 586 ⟶ 617:
|title=Learning the vi and Vim Editors, 7th ed.
|author=Arnold Robbins, Elbert Hannah, and Linda Lamb
|year=2008
|supp=[http://shop.oreilly.com/product/9780596529833.do Link]
|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.
Line 618 ⟶ 650:
|title=Managing Projects with GNU Make, 3rd ed.
|author=Robert Mecklenburg
|year=2004
|supp=[http://shop.oreilly.com/product/9780596006105.do Free book, errata, and code], [http://oreilly.com/catalog/make3/errata/ more errata]
|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.
Line 631 ⟶ 664:
|title=Source File Management with SCCS
|author=Israel Silverberg
|year=1991
|supp=N/A
|description=Oriented towards the needs of senior software engineers, software managers, system administrators, and configuration managers, this volume focuses on the building and maintenance of a source file library in the UNIX System V environment. The book gives an explanation of the concept of the UNIX source code control system, describes in detail the utilities that constitute SCCS, and shows how to use these tools to build and maintain a source file library. It also shows how to place all applications in a single library and how that library can be used by different departments. Techniques and additional tools for maintaining source files at the product level are explained with a view to allowing readers to establish a source file management system that will trace versions of an entire application instead of a single source file. The book then explains how to establish a secure source library where access to read and/or change is strictly controlled. Finally, the book provides source code for the special utilities needed to implement the concepts described. A disk of source codes is available separately.
Line 640 ⟶ 674:
|title=Introduction to the Theory of Computation, 3rd ed.
|author=Michael Sipser
|year=2012
|supp=[http://www.cengage.com/search/productOverview.do?Ntt=introduction+to+the+theory+of+computation&x7c;&x7c;991938321204392568016032450701059771599&N=4294922451&Ntk=all%7C%7CP_EPI%7C%7CP_EPI&x7c%3B&x7c%3B991938321204392568016032450701059771599 Link], [http://math.mit.edu/~sipser/book.html Errata]
|description=Now you can clearly present even the most complex computational theory topics to your students with Sipser's distinct, market-leading INTRODUCTION TO THE THEORY OF COMPUTATION, 3E. The number one choice for today's computational theory course, this highly anticipated revision retains the unmatched clarity and thorough coverage that make it a leading text for upper-level undergraduate and introductory graduate students. This edition continues author Michael Sipser's well-known, approachable style with timely revisions, additional exercises, and more memorable examples in key areas. A new first-of-its-kind theoretical treatment of deterministic context-free languages is ideal for a better understanding of parsing and LR(k) grammars. This edition's refined presentation ensures a trusted accuracy and clarity that make the challenging study of computational theory accessible and intuitive to students while maintaining the subject's rigor and formalism. Readers gain a solid understanding of the fundamental mathematical properties of computer hardware, software, and applications with a blend of practical and philosophical coverage and mathematical treatments, including advanced theorems and proofs. INTRODUCTION TO THE THEORY OF COMPUTATION, 3E's comprehensive coverage makes this an ideal ongoing reference tool for those studying theoretical computing.
Line 646 ⟶ 681:
{|
|-
| rowspan="56" valign="top" align="center" width="200" |
[[Image:ISBN_0716782669.jpg|120px]]<br/>[http://www.amazon.com/exec/obidos/ASIN/0716782669/osdev-20/ http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif]<br/><br/>
[[Image:ISBN_071678291X.jpg|120px]]<br/>[http://www.amazon.com/exec/obidos/ASIN/071678291X/osdev-20/ http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif]
Line 652 ⟶ 687:
|-
| valign="top" height="10" | '''Author(s):''' Robert W Floyd, and Richard Beigel
|-
| valign="top" height="10" | '''Year:''' 1994
|-
| valign="top" height="10" | '''Supplementary material and/or errata:''' [http://web.archive.org/web/20100117200711/http://knight.cis.temple.edu/~beigel/long.html#lom Link]
Line 668 ⟶ 705:
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.
|-
| valign="top" | '''Review:''' {{{review}}}
|}
<br/>
Line 678 ⟶ 715:
|title=Advanced Programming in the UNIX Environment, 3rd ed.
|author=Stephen A. Rago, and W. Richard Stevens
|year=2013
|supp=[http://www.apuebook.com/ Link]
|description=Master the system calls at the heart of today's UNIX and Linux systems: the programming interfaces that drive the UNIX and Linux kernels and run everything from filesystems and multitasking to interprocess communication. A thorough knowledge of system calls is essential for every UNIX and Linux programmer -- and for 20 years, W. Richard Stevens' ''Advanced Programming in the Unix Environment'' has delivered that. Now, Stephen Rago has completely updated this classic to reflect modern distributions including Red Hat 2.6.x, Solaris 10 3, OS X 10.5.4, FreeBSD 7.0.5 -- and for the first time, Ubuntu. As in previous editions, Rago begins with essentials such as file and process control, carefully laying the groundwork for more advanced techniques. He supports his crystal-clear explanations with nearly 10,000 lines of code, all carefully tested on each of these leading versions and distributions. Rago begins with an up-to-date overview of the UNIX System, its standardization processes, and its diverse implementations. Next, he introduces file I/O, files, directories, and the Standard I/O Library. You'll walk through working with UNIX/Linux system data files and information… controlling the process environment and its relationships… using signals, threads, and daemon processes… mastering advanced I/O techniques, interprocess communication, sockets, and advanced IPC… using Terminal I/O and Pseudo Terminals… working with database libraries, communicating with network printers, and much more. Appendices provide essential information on function prototypes, miscellaneous source code, and solutions to many of this guide's exercises. ''For all intermediate-to-advanced level UNIX programmers and software engineers.''
Line 685 ⟶ 723:
|title=UNIX Curses Explained
|author=Berny Goodheart
|year=1991
|supp=N/A
|description=Fully documents Curses library and provides a detailed explanation of UNIX Curses. Contains a full alphabetical reference section and many clear examples using Curses, Windows, color manipulation, alternative character sets, pads, and terminals.
Line 691 ⟶ 730:
{|
|-
| rowspan="56" valign="top" align="center" width="200" |
[[Image:ISBN_0131411551.jpg|120px]]<br/>[http://www.amazon.com/exec/obidos/ASIN/0131411551/osdev-20/ http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif]<br/><br/>
[[Image:ISBN_0130810819.jpg|120px]]<br/>[http://www.amazon.com/exec/obidos/ASIN/0130810819/osdev-20/ http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif]
Line 697 ⟶ 736:
|-
| valign="top" height="10" | '''Author(s):''' Andrew M. Rudoff, Bill Fenner, and W. Richard Stevens
|-
| valign="top" height="10" | '''Year:''' 2003 (Vol1), 1998 (Vol2)
|-
| valign="top" height="10" | '''Supplementary material and/or errata:''' [http://www.unpbook.com/ Volume 1], [http://www.kohala.com/start/unpv22e/unpv22e.html Volume 2]
Line 724 ⟶ 765:
The better you understand IPC, the better your UNIX software will run. One book contains all you need to know: UNIX Network Programming, Volume 2, Second Edition.
|-
| valign="top" | '''Review:''' {{{review}}}
|}
<br/>
Line 732 ⟶ 773:
|title=The Unix Programming Environment
|author=Brian W. Kernighan, and Rob Pike
|year=1983
|supp=[http://cm.bell-labs.com/cm/cs/upe/index.html Link]
|description=Designed for first-time and experienced users, this book describes the UNIX&reg; programming environment and philosophy in detail. Readers will gain an understanding not only of how to use the system, its components, and the programs, but also how these fit into the total environment.
|review=}}
 
{{Book|ISBN=1695978552|ASIN=1695978552
|title=UNIX: A History and a Memoir
|author=Brian W. Kernighan
|year=2019
|supp=
|description=The fascinating story of how Unix began and how it took over the world. Brian Kernighan was a member of the original group of Unix developers, the creator of several fundamental Unix programs, and the co-author of classic books like "The C Programming Language" and "The Unix Programming Environment."
|review=}}
 
Anonymous user