Books: Difference between revisions

5,371 bytes added ,  4 years ago
Add OSTEP
[unchecked revision][unchecked revision]
(Shell scripting)
(Add OSTEP)
 
(21 intermediate revisions by 6 users not shown)
Line 6:
|title=Algorithms
|author=Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani
|year=2006
|supp=[http://www.cs.berkeley.edu/~vazirani/algorithms.html Penultimate draft], [http://cseweb.ucsd.edu/~dasgupta/book/index.html Errata], [http://highered.mcgraw-hill.com/sites/0073523402/ Link]
|description=This text, extensively class-tested over a decade at UC Berkeley and UC San Diego, explains the fundamentals of algorithms in a story line that makes the material enjoyable and easy to digest.
Line 17 ⟶ 18:
* An accessible treatment of linear programming introduces students to one of the greatest achievements in algorithms. An optional chapter on the quantum algorithm for factoring provides an unique peephole into this exciting topic.
|review=}}
 
{{Book|ISBN=0130220051|ASIN=0130220051
|title=Algorithms and Data Structures|author=Niklaus Wirth
|year=1985
|supp=[http://www.inf.ethz.ch/personal/wirth/AD.pdf Oberon Version 2004]
|description=The classical textbook on algorithms and data structures. Citing the amazon review of "oversteer": The book goes over practically important algorithms and data structures. It may not include the latest and greatest advances, but it is still very relevant in today's practical applications.
To me, the highest value of the book is not the particular methods explained, but the good style and the way of thinking about programs that the book teaches. There are very few books that can actually teach good style, and this is probably one of the best.
This book is a must read for anyone wishing to become a great programmer, not merely an average one.|review=[https://en.wikipedia.org/wiki/Algorithms_%2B_Data_Structures_%3D_Programs Wikipedia]}}
 
{{Book|ISBN=032157351X|ASIN=032157351X
|title=Algorithms, 4th ed.
|author=Kevin Wayne, and Robert Sedgewick
|year=2011
|supp=[http://algs4.cs.princeton.edu/ Link]
|description=The textbook ''Algorithms, 4th Edition'' by Robert Sedgewick and Kevin Wayne [ [http://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X Amazon] · [http://www.pearsonhighered.com/educator/product/Algorithms/9780321573513.page Pearson] · [http://www.informit.com/store/product.aspx?isbn=032157351X InformIT] ] surveys the most important algorithms and data structures in use today. The textbook is organized into six chapters:
Line 36 ⟶ 46:
{|
|-
| rowspan="56" valign="top" align="center" width="200" |
[[Image:ISBN_0321751043.jpg|120px]]<br/>[http://www.amazon.com/exec/obidos/ASIN/0321751043/osdev-20/ http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif]<br/><br/>
[[Image:ISBN_0201853922.jpg|120px]]<br/>[http://www.amazon.com/exec/obidos/ASIN/0201853922/osdev-20/ http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif]
Line 42 ⟶ 52:
|-
| valign="top" height="10" | '''Author(s):''' Donald E. Knuth
|-
| valign="top" height="10" | '''Year:''' 2011
|-
| valign="top" height="10" | '''Supplementary material and/or errata:''' [http://www-cs-faculty.stanford.edu/~uno/taocp.html Link]
Line 47 ⟶ 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 53 ⟶ 65:
|title=Introduction to Algorithms, 3rd ed.
|author=Thomas H. Cormen, Charles E. Leiserson, Ronald L Rivest, Clifford Stein
|year=2009
|supp=[http://mitpress.mit.edu/algorithms/ Link]
|description=Some books on algorithms are rigorous but incomplete; others cover masses of material but lack rigor. ''Introduction to Algorithms'' uniquely combines rigor and comprehensiveness. The book covers a broad range of algorithms in depth, yet makes their design and analysis accessible to all levels of readers. Each chapter is relatively self-contained and can be used as a unit of study. The algorithms are described in English and in a pseudocode designed to be readable by anyone who has done a little programming. The explanations have been kept elementary without sacrificing depth of coverage or mathematical rigor.
Line 66 ⟶ 79:
|title=Assemblers and Loaders
|author=David Salomon
|year=1993
|supp=[http://www.davidsalomon.name/assem.advertis/AssemAd.html Freely available]
|description=Written during 1985--1992, the book developed from class notes on computer organization. It includes numerous exercises with answers provided, and review questions following each chapter. The book is bound as a paperback with a colorful cover.
Line 72 ⟶ 86:
{{Book|ISBN=0321486811|ASIN=0321486811
|title=Compilers: Principles, Techniques, & Tools
|year=2006
|author=Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman
|supp=[http://dragonbook.stanford.edu/ Link]
Line 86 ⟶ 101:
|title=Linkers and Loaders
|author=John R. Levine
|year=1999
|supp=[http://www.iecc.com/linker/ Free manuscript], [http://linker.iecc.com/ Errata and code]
|description=Whatever your programming language, whatever your platform, you probably tap into linker and loader functions all the time. But do you know how to use them to their greatest possible advantage? Only now, with the publication of Linkers and Loaders, is there an authoritative book devoted entirely to these deep-seated compile-time and run-time processes. The book begins with a detailed and comparative account of linking and loading that illustrates the differences among various compilers and operating systems. On top of this foundation, the author presents clear practical advice to help you create faster, cleaner code. You'll learn to avoid the pitfalls associated with Windows DLLs, take advantage of the space-saving, performance-improving techniques supported by many modern linkers, make the best use of the UNIX ELF library scheme, and much more. If you're serious about programming, you'll devour this unique guide to one of the field's least understood topics. Linkers & Loaders is also an ideal supplementary text for compiler and operating systems courses.
Line 95 ⟶ 111:
* Explains the Java linking model and how it figures in network applets and extensible Java code.
* Helps you write more elegant and effective code, and build applications that compile, load, and run more efficiently.
|review=Excellently written and easy to read, yet thorough and informative. It has just enough whimsy to make what most readers find a dry topic entertaining. While the current edition is now somewhat dated, it covers the majority of what one needs to understand how both linkage editors and program loaders work. - [[User:Schol-r-lea]]}}
|review=}}
 
= Computer Architecture =
Line 101 ⟶ 117:
== Theory ==
 
{{Book|ISBN=9780123838728012383872X|ASIN=9780123838728012383872X
|title=Computer Architecture: A Quantitative Approach, 5th ed.
|author=John L. Hennessy, and David A. Patterson
|year=2011
|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.
Line 111 ⟶ 128:
|title=Computer Systems: A Programmer's Perspective, 2nd ed.
|author=Randal E. Bryant, and David R. O'Hallaron
|year=2010
|supp=[http://csapp.cs.cmu.edu/ Manuscript, Web asides, errata], [http://www.pearsonhighered.com/pearsonhigheredus/educator/product/products_detail.page?isbn=9780136108047 Link], [http://csappbook.blogspot.ro/ Blog]
|description= This book (CS:APP2e) is the second edition of a book that stems from the introductory computer systems course we developed at Carnegie Mellon University, starting in the Fall of 1998, called "Introduction to Computer Systems" (ICS). The presentation is based on the following principles, which aim to help the students become better programmers and to help prepare them for upper-level systems courses:
Line 124 ⟶ 142:
|title=Structured Computer Organization, 6th ed.
|author=Andrew S. Tanenbaum, and Todd Austin
|year=2012
|supp=[http://www.pearsonhighered.com/educator/product/Structured-Computer-Organization/9780132916523.page Link]
|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.
Line 137 ⟶ 156:
|title=The Indispensable PC Hardware Book, 4th ed.
|author=Hans-Peter Messmer
|year=2001
|supp=N/A
|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.
Line 160 ⟶ 180:
|title=The Undocumented PC, 2nd ed.
|author=Frank van Gilluwe
|year=1996
|supp=N/A
|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.
Line 175 ⟶ 196:
|title=Computer Networks, 5th ed.
|author=Andrew S. Tanenbaum, and David J. Wetherall
|year=2010
|supp=[http://www.computernetworks5e.org/ Link]
|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.
Line 184 ⟶ 206:
|title=Computer Networking: A Top-Down Approach, 6th ed.
|author=James F. Kurose, Keith W. Ross
|year=2012
|supp=[http://www.pearsonhighered.com/product?isbn=0132856204 Link]
|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.
Line 198 ⟶ 221:
{{Book|ISBN=0201550210|ASIN=0201550210
|title=Inside AppleTalk, 2nd ed.
|year=1990
|author=Gursharan S. Sidhu, Richard F. Andrews, and Alan B. Oppenheimer
|supp=[http://web.archive.org/web/20011124183351/http://developer.apple.com/macos/opentransport/docs/dev/Inside_AppleTalk.pdf Free book]
Line 208 ⟶ 232:
|title=The Little Black Book: Mail Bonding with OSI Directory Services
|author=Marshall T. Rose
|year=1991
|supp=N/A
|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.
Line 215 ⟶ 240:
|title=The Open Book: A Practical Perspective on OSI
|author=Marshall T. Rose
|year=1990
|supp=N/A
|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.
Line 223 ⟶ 249:
{|
|-
| rowspan="56" valign="top" align="center" width="200" |
[[Image:ISBN_0321336313.jpg|120px]]<br/>[http://www.amazon.com/exec/obidos/ASIN/0321336313/osdev-20/ http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif]<br/><br/>
[[Image:ISBN_020163354X.jpg|120px]]<br/>[http://www.amazon.com/exec/obidos/ASIN/020163354X/osdev-20/ http://wiki.osdev.org/images/3/3a/Buy_from_amazon.gif]<br/><br/>
Line 230 ⟶ 256:
|-
| valign="top" height="10" | '''Author(s):''' Gary R. Wright, Kevin R. Fall, and W. Richard Stevens
|-
| valign="top" height="10" | '''Year:''' 2011 (Vol1), 1995 (Vol2), 1996 (Vol3)
|-
| valign="top" height="10" | '''Supplementary material and/or errata:''' [http://www.kohala.com/start/unpv22e/unpv22e.html Volume 2], [http://www.kohala.com/start/tcpipiv3.html Volume 3]
Line 235 ⟶ 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 245 ⟶ 294:
|title=Modern Operating Systems, 3rd ed.
|author=Andrew S. Tanenbaum
|year=2007
|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.'''
Line 268 ⟶ 318:
|title=Operating System Concepts, 9th ed.
|author=Avi Silberschatz, Peter Baer Galvin, and Greg Gagne
|year=2012
|supp=[http://codex.cs.yale.edu/avi/os-book/OS9/os9c/index.html Link]
|description=
Line 275 ⟶ 326:
|title=Operating systems: Internals and Design Principles, 7th ed.
|author=William Stallings
|year=2011
|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 284 ⟶ 344:
|title=MMURTL V1.0
|author=Richard A. Burgess
|year=2000
|supp=[http://www.ipdatacorp.com/mmurtl/ Book, code]
|description='''MMURTL-V1.0''' - is a book that is very popular among computer programmers interested in the internal workings of a computer operating system. Shown to the left as originally printed, it was previously titled '''''"Developing Your own 32 Bit Operating System"''' (ISBN 0-672-30655-7)'' and was published by SAMS/MacMillan. We have renamed the book '''''MMURTL-V1.0''' (ISBN 1-58853-000-0)'' and the printed version is a "Perfect Bind" soft cover (see the additional picture at very bottom of page). It was renamed because this is the name that the author had originally intended. '''MMURTL''' is a ''bad'' acronym for '''M'''essage based '''MU'''ltitasking '''R'''eal '''T'''ime kerne'''L''' (to quote the author: '''''"Hey.. all the good acronyms were taken!"''''').
Line 295 ⟶ 356:
|title=Operating Systems: Design and Implementation, 3rd ed.
|author=Andrew S. Tanenbaum, and Albert S. Woodhull
|year=2006
|supp=[http://www.pearsonhighered.com/educator/academic/product/0,,0131429388,00%2ben-USS_01DBC.html Link]
|description='''''Operating Systems Design and Implementation, 3e''''', is ideal for introductory courses on computer operating systems. Written by the creator of MinuxMinix, 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.
Line 304 ⟶ 366:
|title=Practical File System Design with the Be File System
|author=Dominic Giampaolo
|year=1998
|supp=[http://www.nobius.org/~dbg/ Free book and code]
|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.
Line 320 ⟶ 383:
|title=Project Oberon: The Design of an Operating System and Compiler
|author=Niklaus Wirth, and Jürg Gutknecht
|year=1992
|supp=[http://www.inf.ethz.ch/personal/wirth/books/ProjectOberon.pdf Free book], [ftp://ftp.ethoberon.ethz.ch/Oberon/Books/ProjectOberon/ Code]
|supp=[http://www.inf.ethz.ch/personal/wirth/ProjectOberon/index.html New, updated edition 2013, with processor in FPGA], the first edition of 1992 is available [http://www.inf.ethz.ch/personal/wirth/ProjectOberon1992.pdf here] with the original [ftp://ftp.ethoberon.ethz.ch/Oberon/Books/ProjectOberon/ code].
|description=In 1985 Niklaus Wirth and Juerg Gutknecht embarked on a project to build a new workstation from scratch. The quote from Einstein: 'Make it as simple as possible, but not simpler' served as a signpost for their approach resulting in a system of exemplary lucidity, efficiency and compactness. Wirth was fascinated by the accuracy and reliability of the Voyager space probe then passing Oberon, one of the moons of Uranus. The project was christened Oberon in its honor.
 
Line 330 ⟶ 394:
* A demonstration of how economical software engineering can produce a powerful, efficient and flexible system requiring a fraction of the computer power and storage capacity of current commercial operating systems
* An in-depth account of the [http://www.oberon.ethz.ch/oberon/ Oberon] System as the basis for a multi-server workstation, including file distribution, printing and electronic mail facilities.
|review=}}
 
{{Book|ISBN=0321968972|ASIN=B00O56CFEE
|title=The Design and Implementation of the FreeBSD Operating System, 2nd ed.
|author=Marshall Kirk McKusick, George V. Neville-Neil, and Robert N.M. Watson
|year=2014
|supp=[http://www.informit.com/store/design-and-implementation-of-the-freebsd-operating-9780321968975 Link]
|description=The most complete, authoritative technical guide to the FreeBSD kernel's internal structure has now been extensively updated to cover all major improvements between Versions 5 and 11. Approximately one-third of this edition's content is completely new, and another one-third has been extensively rewritten.
 
Three long-time FreeBSD project leaders begin with a concise overview of the FreeBSD kernel's current design and implementation. Next, they cover the FreeBSD kernel from the system-call level down–from the interface to the kernel to the hardware. Explaining key design decisions, they detail the concepts, data structures, and algorithms used in implementing each significant system facility, including process management, security, virtual memory, the I/O system, filesystems, socket IPC, and networking.
|review=}}
 
{|
|-
| rowspan="56" 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]
Line 340 ⟶ 414:
|-
| valign="top" height="10" | '''Author(s):''' Mark Russinovich, David A. Solomon, and Alex Ionescu
|-
| valign="top" height="10" | '''Year:''' 2012
|-
| valign="top" height="10" | '''Supplementary material and/or errata:''' [http://technet.microsoft.com/en-us/sysinternals/bb963901.aspx Link]
Line 373 ⟶ 449:
|title=C: A Reference Manual, 5th ed.
|author=Samuel P. Harbison III, and Guy L. Steele Jr.
|year=2002
|supp=[http://careferencemanual.com/ Link]
|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.
Line 393 ⟶ 470:
|title=The C Programming Language, 2nd ed.
|author=Brian W. Kernighan, and Dennis M. Ritchie
|year=1988
|supp=[http://cm.bell-labs.com/cm/cs/cbook/ Link]
|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.
Line 406 ⟶ 484:
|title=The CERT C Secure Coding Standard
|author=Robert C. Seacord
|year=2008
|supp=[https://www.securecoding.cert.org/confluence/display/seccode/CERT+C+Secure+Coding+Standard Freely available]
|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.
Line 417 ⟶ 496:
|title=The Art of Computer Virus Research and Defense
|author=Peter Szor
|year=2005
|supp=[http://www.informit.com/store/product.aspx?isbn=0321304543 Link]
|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.
Line 436 ⟶ 516:
|title=Reversing: Secrets of Reverse Engineering
|author=Eldad Eilam
|year=2005
|supp=[http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0764574817.html Link]
|description=Beginning with a basic primer on reverse engineering-including computer internals, operating systems, and assembly language-and then discussing the various
Line 447 ⟶ 528:
|title=Security Engineering, 2nd ed.
|author=Ross Anderson
|year=2008
|supp=[http://www.cl.cam.ac.uk/~rja14/book.html Link]
|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.
Line 460 ⟶ 542:
|title=Applied Cryptography, 2nd ed.
|author=Bruce Schneier
|year=1996
|supp=[http://www.schneier.com/book-applied.html Link]
|description=This new edition of the cryptography classic provides you with a comprehensive survey of modern cryptography. The book details how programmers and electronic communications professionals can use cryptography -- the technique of enciphering and deciphering messages -- to maintain the privacy of computer data. It describes dozens of cryptography algorithms, gives practical advice on how to implement them in cryptographic software, and shows how they can be used to solve security problems. Covering the latest developments in practical cryptographic techniques, this new edition shows programmers who design computer applications, networks, and storage systems how they can build security into their software and systems.
Line 476 ⟶ 559:
|title=Code Complete, 2nd ed.
|author=Steve McConnell
|year=2004
|supp=[http://www.cc2e.com/ Link]
|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.
Line 483 ⟶ 567:
|title=The Mythical Man-Month: Essays on Software Engineering, 20th Anniversary Edition
|author=Frederick P. Brooks, Jr.
|year=1995
|supp=N/A
|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.
Line 494 ⟶ 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 505 ⟶ 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 530 ⟶ 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 562 ⟶ 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 575 ⟶ 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 584 ⟶ 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 590 ⟶ 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 596 ⟶ 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 612 ⟶ 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 622 ⟶ 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 629 ⟶ 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 635 ⟶ 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 641 ⟶ 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 668 ⟶ 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 676 ⟶ 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