کامپیوترها

سیستم های کامپیوتری: دیدگاه یک برنامه نویس

Computer Systems: A Programmer's Perspective

دانلود کتاب Computer Systems: A Programmer’s Perspective (به فارسی: سیستم های کامپیوتری: دیدگاه یک برنامه نویس) نوشته شده توسط «Randal E. Bryant – David R. O’Hallaron»


اطلاعات کتاب سیستم های کامپیوتری: دیدگاه یک برنامه نویس

موضوع اصلی: کامپیوترها

نوع: کتاب الکترونیکی

ناشر: Prentice Hall

نویسنده: Randal E. Bryant – David R. O’Hallaron

زبان: English

فرمت کتاب: djvu (قابل تبدیل به سایر فرمت ها)

سال انتشار: 2002

تعداد صفحه: 978

حجم کتاب: 61 مگابایت

کد کتاب: 013034074X , 9780130340740

نوبت چاپ: US ed

توضیحات کتاب سیستم های کامپیوتری: دیدگاه یک برنامه نویس

این کتاب برای برنامه نویسانی است که می خواهند برنامه های سریعتر و قابل اعتمادتری بنویسند. با یادگیری نحوه نقشه برداری و اجرای برنامه ها بر روی سیستم، خوانندگان بهتر متوجه می شوند که چرا برنامه ها به این شکل عمل می کنند و چگونه ناکارآمدی ها به وجود می آیند. سیستم های کامپیوتری به طور گسترده مشاهده می شوند که شامل سخت افزار پردازنده و حافظه، کامپایلر، سیستم عامل و محیط شبکه است. با دیدگاه برنامه نویسان، خوانندگان می توانند به وضوح ببینند که چگونه یادگیری در مورد عملکرد درونی سیستم های کامپیوتری به پیشرفت بیشتر آنها به عنوان دانشمندان و مهندسان کامپیوتر کمک می کند. همچنین به آماده سازی آنها برای مطالعه بیشتر در معماری کامپیوتر، سیستم عامل ها، کامپایلرها و شبکه کمک می کند.
موضوعات عبارتند از: نمایش داده ها، نمایش های سطح ماشین برنامه های C، معماری پردازنده، بهینه سازی برنامه، سلسله مراتب حافظه، پیوند، کنترل استثنایی جریان، حافظه مجازی و مدیریت حافظه، I/O در سطح سیستم، برنامه نویسی شبکه و برنامه نویسی همزمان. این پوشش بر چگونگی تأثیر این مناطق بر برنامه نویسان برنامه و سیستم متمرکز است. به عنوان مثال، هنگام پوشش نمایش داده‌ها، در نظر می‌گیرد که چگونه نمایش‌های محدودی که برای نمایش اعداد استفاده می‌شوند، می‌توانند اعداد صحیح و واقعی را تقریبی کنند، اما با محدودیت‌هایی که باید توسط برنامه‌نویسان درک شوند. هنگام پوشش کش، در مورد اینکه چگونه ترتیب شاخص های حلقه در کد ماتریس می تواند بر عملکرد برنامه تأثیر بگذارد، بحث می کند. هنگام پوشش شبکه، توضیح می‌دهد که چگونه یک سرور همزمان می‌تواند به طور مؤثر درخواست‌های چندین مشتری را رسیدگی کند.
این کتاب بر اساس ماشین‌های سازگار با اینتل (IA32) است که برنامه‌های C را روی یونیکس یا سیستم‌های عامل مرتبط مانند لینوکس اجرا می‌کنند. آشنایی با C یا C++ فرض شده است، اگرچه نکاتی برای کمک به خوانندگان در انتقال از جاوا به C گنجانده شده است.


This book is for programmers who want to write faster and more reliable programs. By learning how programs are mapped onto the system and executed, readers will better understand why programs behave the way they do and how inefficiencies arise. Computer systems are viewed broadly, comprising processor and memory hardware, compiler, operating system, and networking environment. With its programmers perspective, readers can clearly see how learning about the inner workings of computer systems will help their further development as computer scientists and engineers. It also helps prepare them for further study in computer architecture, operating systems, compilers, and networking.
Topics include: data representations, machine-level representations of C programs, processor architecture, program optimization, memory hierarchy, linking, exceptional control flow, virtual memory and memory management, system-level I/O, network programming, and concurrent programming. The coverage focuses on how these areas affect application and system programmers. For example, when covering data representations, it considers how the finite representations used to represent numbers can approximate integer and real numbers, but with limitations that must be understood by programmers. When covering caching, it discusses how the ordering of loop indices in matrix code can affect program performance. When covering networking, it describes how a concurrent server can efficiently handle requests from multiple clients.
The book is based on Intel-compatible (IA32) machines executing C programs on Unix or related operating systems such as Linux. Some familiarity with C or C++ is assumed, although hints are included to help readers making the transition from Java to C.

دانلود کتاب «سیستم های کامپیوتری: دیدگاه یک برنامه نویس»

مبلغی که بابت خرید کتاب می‌پردازیم به مراتب پایین‌تر از هزینه‌هایی است که در آینده بابت نخواندن آن خواهیم پرداخت.