دانلود کتاب Computer Systems: A Programmer's Perspective
by Randal Bryant, David O'Hallaron
|
عنوان فارسی: سیستم های کامپیوتری: دیدگاه یک برنامه نویس |
دانلود کتاب
جزییات کتاب
Details and updates available at (in English and Chinese): https://forum.freemdict.com/t/topic/11216
Uploader's note:
There are a few versions of electronic copies of the third edition available so far on the internet:
- An EPUB file, likely scraped from somewhere similar to Pearson eText;
- Some PDF file converted from the aforementioned EPUB file, the pages of which has no resemblance to the print copy;
- A truePDF of the Global Edition, which the original authors complained about its modifications in exercises and problems in the online errata: https://csapp.cs.cmu.edu/3e/errata.html ;
- A PDF, with the size of around 35 megabytes, of scanned, monochrome page images, with color front and back cover.
The uploader made and uploaded this version to provide a reading experience similar to the original edition published in Norht America, with some tricks and tools to put several parts together.
This file combines the color covers as well as references and index pages from the 35MB PDF file, the front matter (preface) PDF pages from CS:APP website, and main text from the book's adaptation in China.
About the Chinese adaptation:
Since book publishing in China are (nominally) restricted to those of the public sector, such foreign books are either sold directly or through importers, or as in this case, a domestic publisher obtains an authorization for an adaptation. The Chinese adaptation of CS:APP 3e, published by China Machine Press 机械工业出版社 in 2017, lacks certain sections of the original book, as what Pearson does in recent years, including in this case the English preface (replaced by a Chinese translation), list of references and index. But the main text remained mostly identical to the original North America edition.
Some other adaptations or reprints of adaptations (such as a reprint of Weiss' Data Structure and Algorithms Analysis in C, an earlier adaptation published 2010 and a reprint in 2019) of Pearson textbooks in recent years, including those by China Machine Press and the Publishing House of Electronics Industory 电子工业出版社, among others, share similar issues. Some even redacted the original table of contents and a Chinese translation was put forward instead.
About the source of the scanned main text:
There is something called Chao Xing 超星 in China, which relies on libraries of colleges and public insitutions for book copies, and then scans the whole book for a digitized copy, many of which are for internal, proprietary use among those of the print copy providers. Some of these books are available online either within a group of higher education and research institutions or through access provided by public libraries.
But such scanned data have had massive leaks in the past few years and in various forms, which enabled some third-party vendors to profit from the leaked database, by a single book (usually in the name of 代找, 'find (the scanned copy) on one's behalf') or in bulk. Some even provide access to a even larger collection of past leaks, known as 读秀 (Du Xiu) 2.0, 3.0, 4.0, etc.
Such scanned copies have an SSID (SS means presumably 'super star', 超星) number, and the corresponding SSID for the adaptation used in this copy is 14679086.
More details on the history as well as tools used to make this file can be found at cnblogs.com/stronghorse (in Chinese) or download the executables of the English edition at http://www.mediafire.com/folder/f0z2hexqdnr9a/Software .
A brief description of making this copy:
A few tools were used to implement the tricks to resemble the original book, including:
- Extracting, renaming and reorganizing raw scanned image files.
- Find the margins by inspecting and cropping the preface PDF.
- Cut out the content, put it in a frame with the margins and other image processing using ComicEnhancerPro available from the aforementioned links to align the pages, in an attempt to smoothen the reading experience when switching between pages of different sources.
- Make bookmarks of the covers and body text with `bookcontents.dat` using PdgCntEditor.
- Combine and perform OCR of the processed front and back cover, the main text, references and index images using Pdg2Pic (no English version available).
- Insert front matter PDF pages between the covers and the body text.
- Edit the bookmarks of the combined PDF file with PdgCntEditor.
********************
For courses in Computer Science and Programming
Computer systems: A Programmer’s Perspective explains the underlying elements common among all computer systems and how they affect general application performance. Written from the programmer’s perspective, this book strives to teach readers how understanding basic elements of computer systems and executing real practice can lead them to create better programs.
Spanning across computer science themes such as hardware architecture, the operating system, and systems software, the Third Edition serves as a comprehensive introduction to programming. This book strives to create programmers who understand all elements of computer systems and will be able to engage in any application of the field--from fixing faulty software, to writing more capable programs, to avoiding common flaws. It lays the groundwork for readers to delve into more intensive topics such as computer architecture, embedded systems, and cybersecurity.
This book focuses on systems that execute an x86-64 machine code, and recommends that programmers have access to a Linux system for this course. Programmers should have basic familiarity with C or C++.