دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: 2 نویسندگان: Randal E. Bryant, David R. O'Hallaron سری: ISBN (شابک) : 0136108040, 9780136108047 ناشر: Addison Wesley سال نشر: 2010 تعداد صفحات: 1078 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 7 مگابایت
در صورت تبدیل فایل کتاب Computer Systems: A Programmer's Perspective, 2nd Edition به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب سیستم های رایانه ای: چشم انداز برنامه نویس ، ویرایش دوم نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
تعداد کمی از دانشجویانی که در رشته علوم کامپیوتر یا مهندسی
کامپیوتر تحصیل می کنند، فرصت ایجاد یک سیستم کامپیوتری را خواهند
داشت. از سوی دیگر، اکثر دانشآموزان به استفاده و برنامهنویسی
رایانهها تقریباً روزانه ملزم خواهند بود.
سیستمهای رایانهای: دیدگاه یک برنامهنویس مفاهیم مهم و پایداری
را که زیربنای سیستمهای رایانهای هستند، با نشان دادن اینکه
چگونه این ایدهها بر روی سیستمهای کامپیوتری تأثیر میگذارند،
معرفی میکند. صحت، عملکرد و کاربرد برنامه های کاربردی رویکرد
عملی متون (شامل مجموعهای از آزمایشگاههای جامع) به دانشآموزان
کمک میکند تا "زیر سرپوش" را درک کنند؟ بهره برداری از یک سیستم
کامپیوتری مدرن و آنها را برای دوره های آینده در مباحث سیستمی
مانند کامپایلرها، معماری کامپیوتر، سیستم عامل ها و شبکه آماده
می کند.
Few students studying computer science or computer engineering
will ever have the opportunity to build a computer system. On
the other hand, most students will be required to use and
program computers on a near daily basis.
Computer Systems: A Programmerâ?™s Perspective introduces the
important and enduring concepts that underlie computer systems
by showing how these ideas affect the correctness, performance,
and utility of application programs. The texts hands-on
approach (including a comprehensive set of labs) helps students
understand the â?œunder-the-hoodâ? operation of a modern
computer system and prepares them for future courses in systems
topics such as compilers, computer architecture, operating
systems, and networking.
Table of Contents Cover Computer Systems - A Programmer\'s Perspective ISBN-13: 9780136108047 ISBN-10: 0136108040 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 1.10 Summary Bibliographic Notes Part I: Program Structure and Execution 2 Representing and Manipulating Information 2.1 Information Storage 2.2 Integer Representations 2.3 Integer Arithmetic 2.4 Floating Point 2.5 Summary Bibliographic Notes Homework Problems Solutions to Practice Problems 3 Machine-Level Representation of Programs 3.1 A Historical Perspective 3.2 Program Encodings 3.3 Data Formats 3.4 Accessing Information 3.5 Arithmetic and Logical Operations 3.6 Control 3.7 Procedures 3.8 Array Allocation and Access 3.9 Heterogeneous Data Structures 3.10 Putting It Together: Understanding Pointers 3.11 Life in the Real World: Using the GDB Debugger 3.12 Out-of-Bounds Memory References and Buffer Overflow 3.13 x86-64: Extending IA32 to 64 Bits 3.14 Machine-Level Representations of Floating-Point Programs 3.15 Summary Bibliographic Notes Homework Problems Solutions to Practice Problems 4 Processor Architecture 4.1 The Y86 Instruction Set Architecture 4.2 Logic Design and the Hardware Control Language HCL 4.3 Sequential Y86 Implementations 4.4 General Principles of Pipelining 4.5 Pipelined Y86 Implementations 4.6 Summary Bibliographic Notes Homework Problems Solutions to Practice Problems 5 Optimizing Program Performance 5.1 Capabilities and Limitations of Optimizing Compilers 5.2 Expressing Program Performance 5.3 Program Example 5.4 Eliminating Loop Inefficiencies 5.5 Reducing Procedure Calls 5.6 Eliminating Unneeded Memory References 5.7 Understanding Modern Processors 5.8 Loop Unrolling 5.9 Enhancing Parallelism 5.10 Summary of Results for Optimizing Combining Code 5.11 Some Limiting Factors 5.12 Understanding Memory Performance 5.13 Life in the Real World: Performance Improvement Techniques 5.14 Identifying and Eliminating Performance Bottlenecks 5.15 Summary Bibliographic Notes Homework Problems Solutions to Practice Problems 6 The Memory Hierarchy 6.1 Storage Technologies 6.2 Locality 6.3 The Memory Hierarchy 6.4 Cache Memories 6.5 Writing Cache-friendly Code 6.6 Putting It Together: The Impact of Caches on Program Performance 6.7 Summary Bibliographic Notes Homework Problems Solutions to Practice Problems Part II: Running Programs on a System 7 Linking 7.1 Compiler Drivers 7.2 Static Linking 7.3 Object Files 7.4 Relocatable Object Files 7.5 Symbols and Symbol Tables 7.6 Symbol Resolution 7.7 Relocation 7.8 Executable Object Files 7.9 Loading Executable Object Files 7.10 Dynamic Linking with Shared Libraries 7.11 Loading and Linking Shared Libraries from Applications 7.12 Position-Independent Code (PIC) 7.13 Tools for Manipulating Object Files 7.14 Summary Bibliographic Notes Homework Problems Solutions to Practice Problems 8 Exceptional Control Flow 8.1 Exceptions 8.2 Processes 8.3 System Call Error Handling 8.4 Process Control 8.5 Signals 8.6 Nonlocal Jumps 8.7 Tools for Manipulating Processes 8.8 Summary Bibliographic Notes Homework Problems Solutions to Practice Problems 9 Virtual Memory 9.1 Physical and Virtual Addressing 9.2 Address Spaces 9.3 VM as a Tool for Caching 9.4 VM as a Tool for Memory Management 9.5 VM as a Tool for Memory Protection 9.6 Address Translation 9.7 Case Study: The Intel Core i7/Linux Memory System 9.8 Memory Mapping 9.9 Dynamic Memory Allocation 9.10 Garbage Collection 9.11 Common Memory-Related Bugs in C Programs 9.12 Summary Bibliographic Notes Homework Problems Solutions to Practice Problems Part III: Interaction and Communication Between Programs 10 System-Level I/O 10.1 Unix I/O 10.2 Opening and Closing Files 10.3 Reading and Writing Files 10.4 Robust Reading and Writing with the Rio Package 10.5 Reading File Metadata 10.6 Sharing Files 10.7 I/O Redirection 10.8 Standard I/O 10.9 Putting It Together: Which I/O Functions Should I Use? 10.10 Summary Bibliographic Notes Homework Problems Solutions to Practice Problems 11 Network Programming 11.1 The Client-Server Programming Model 11.2 Networks 11.3 The Global IP Internet 11.4 The Sockets Interface 11.5 Web Servers 11.6 Putting It Together: The TINY Web Server 11.7 Summary Bibliographic Notes Homework Problems Solutions to Practice Problems 12 Concurrent Programming 12.1 Concurrent Programming with Processes 12.2 Concurrent Programming with I/O Multiplexing 12.3 Concurrent Programming with Threads 12.4 Shared Variables in Threaded Programs 12.5 Synchronizing Threads with Semaphores 12.6 Using Threads for Parallelism 12.7 Other Concurrency Issues 12.8 Summary Bibliographic Notes Homework Problems Solutions to Practice Problems A: Error Handling A.1 Error Handling in Unix Systems A.2 Error-Handling Wrappers References Index