Computer systems a programmers perspective

1.1K 937 0
Computer systems   a programmers perspective

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đây là bộ sách tiếng anh cho dân công nghệ thông tin chuyên về bảo mật,lập trình.Thích hợp cho những ai đam mê về công nghệ thông tin,tìm hiểu về bảo mật và lập trình.

[...]... Frick, Max Gebhardt, Jeff Goldblat, Thomas Gross, Anita Gupta, John Hampton, Hiep Hong, Greg Israelsen, Ronald Jones, Haudy Kazemi, Brian Kell, Constantine Kousoulis, Sacha Krakowiak, Arun Krishnaswamy, Martin Kulas, Michael Li, Zeyang Li, Ricky Liu, Mario Lo Conte, Dirk Maas, Devon Macey, Carl Marcinik, Will Marrero, Simone Martins, Tao Men, Mark Morrissey, Venkata Naidu, Bhas Nalabothula, Thomas Niemann,... results are used by major computer manufacturers, including Intel, FreeScale, IBM, and Fujitsu He has won several major awards for his research These include two inventor recognition awards and a technical achievement award from the Semiconductor Research Corporation, the Kanellakis Theory and Practice Award from the Association for Computer Machinery (ACM), and the W R G Baker Award, the Emmanuel Piore Award,... Bruce Maggs, Todd Mowry, Andreas Nowatzyk, Frank Pfenning, and Markus Pueschel Thanks also to our sharp-eyed readers who contributed reports to the errata page for the first edition: Daniel Amelang, Rui Baptista, Quarup Barreirinhas, ¨ Michael Bombyk, Jorg Brauer, Jordan Brough, Yixin Cao, James Caroll, Rui Carvalho, Hyoung-Kee Choi, Al Davis, Grant Davis, Christian Dufour, Mao Fan, Tim Freeman, Inge... working hardware Chapter 5: Optimizing Program Performance We have greatly changed our description of how an out-of-order processor operates, and we have created a simple technique for analyzing program performance based on the paths in a data-flow graph representation of a program A Web aside describes how C programmers can write programs that make use of the SIMD (singleinstruction, multiple-data) instructions... and parameter passing We cover the way different data structures such as structures, unions, and arrays are allocated and accessed We also use the machine-level view of programs as a way to understand common code security vulnerabilities, such as buffer overflow, and steps that the programmer, the compiler, and the operating system can take to mitigate these threats Learning the concepts in this chapter... contains supplementary material on Boolean algebra for the presentation on data representations in Chapter 2, while Web Aside arch:vlog contains material describing processor designs using the Verilog hardware description language, supplementing the presentation of processor design in Chapter 4 All of these Web asides are available from the CS:APP Web page Aside What is an aside? You will encounter asides... that technical books can be beautiful Thank you all Randy Bryant Dave O’Hallaron Pittsburgh, Pennsylvania About the Authors Randal E Bryant received his Bachelor’s degree from the University of Michigan in 1973 and then attended graduate school at the Massachusetts Institute of Technology, receiving a Ph.D degree in computer science in 1981 He spent three years as an Assistant Professor at the California... untraditional style Traditional topics such as logic design, processor architecture, assembly language, and memory systems are covered However, there is more emphasis on the impact for the programmer For example, data representations are related back to the data types and operations of C programs, and the presentation on assembly code is based on machine code generated by a C compiler rather than hand-written... Dinda, Julio Lopez, Bruce Lowekamp, Jeff Pierce, Sanjay Rao, Balaji Sarpeshkar, Blake Scholl, Sanjit Seshia, Greg Steffan, Tiankai Tu, Kip Walker, and Yinglian Xie—were instrumental in helping us develop the content of the course In particular, Chris Colohan established a fun (and funny) tone that persists to this day, and invented the legendary “binary bomb” that has proven to be a great tool for teaching... statements However, there are aspects of C, particularly pointers, explicit dynamic memory allocation, and formatted I/O, that do not exist in Java Fortunately, C is a small language, and it is clearly and beautifully described in the classic “K&R” text by Brian Kernighan and Dennis Ritchie [58] Regardless of your programming background, consider K&R an essential part of your personal systems library . of Congress Cataloging-in-Publication Data Bryant, Randal. Computer systems : a programmer’s perspective / Randal E. Bryant, David R. O’Hallaron.—2nd ed. p cm. Includes bibliographical references and index. ISBN-13: 97 8-0 -1 3-6 1080 4-7 (alk. paper) ISBN-10: 0-1 3-6 1080 4-0 (alk. paper) 1. Computer systems. 2. Computers.

Ngày đăng: 19/03/2014, 13:33

Từ khóa liên quan

Mục lục

  • Cover

  • Title Page

  • Copyright

  • Contents

  • Preface

  • About the Authors

  • 1 A Tour of Computer Systems

    • 1.1 Information Is Bits + Context

    • 1.2 Programs Are Translated by Other Programs into Different Forms

    • 1.3 It Pays to Understand How Compilation Systems Work

    • 1.4 Processors Read and Interpret Instructions Stored in Memory

      • 1.4.1 Hardware Organization of a System

      • 1.4.2 Running the hello Program

      • 1.5 Caches Matter

      • 1.6 Storage Devices Form a Hierarchy

      • 1.7 The Operating System Manages the Hardware

        • 1.7.1 Processes

        • 1.7.2 Threads

        • 1.7.3 Virtual Memory

        • 1.7.4 Files

        • 1.8 Systems Communicate with Other Systems Using Networks

        • 1.9 Important Themes

          • 1.9.1 Concurrency and Parallelism

          • 1.9.2 The Importance of Abstractions in Computer Systems

Tài liệu cùng người dùng

Tài liệu liên quan