
عنوان:
How Computers Really Work
نویسنده:
Matthew Justice
انتشارات:
No Starch Press
تاریخ انتشار:
2020
حجم:
5.6MB
معرفی کتاب:" «کامپیوترها چگونه کار میکنند: راهنمای عملی برای کارکرد درونی ماشین، ویرایش: 1» "
یک راهنمای عملی و قابل دسترس برای درک چگونگی کارکرد کامپیوترها، از مدارهای پایینسطح تا کدهای سطح بالا.
How Computers Really Work یک راهنمای عملی برای اکوسیستم محاسبات است: همه چیز از مدارها تا حافظه و سیگنالهای ساعت، کد ماشین، زبانهای برنامهنویسی، سیستمعاملها و اینترنت. اما شما تنها به خواندن این مفاهیم بسنده نمیکنید، بلکه دانش خود را با تمرینها آزمایش میکنید و آنچه یاد میگیرید را با ۴۱ پروژه عملی اختیاری تمرین میکنید. مدارهای دیجیتال بسازید، یک بازی حدس ایجاد کنید، اعداد دهدهی را به باینری تبدیل کنید، استفاده از حافظه مجازی را بررسی کنید، وبسرور خود را اجرا کنید و بیشتر.
مفاهیم مورد بررسی
- تفکر مانند یک مهندس نرمافزار و استفاده از دادهها برای توصیف یک مفهوم دنیای واقعی
- استفاده از قوانین اهم و کیرشهف برای تحلیل یک مدار الکتریکی
- تفکر مانند یک کامپیوتر با تمرین جمع باینری و اجرای گامبهگام یک برنامه در ذهن
پروژهها
پروژههای کتاب شما را وادار میکنند تا آموختههای خود را به عمل تبدیل کنید، از جمله:
- یادگیری استفاده از مولتیمتر برای اندازهگیری مقاومت، جریان و ولتاژ
- ساخت یک Half Adder برای مشاهده نحوه ترکیب عملیات منطقی در سختافزار جهت انجام عملکردهای مفید
- نوشتن برنامهای به زبان اسمبلی و بررسی کد ماشین حاصل
- یادگیری استفاده از دیباگر، دیساسمبل کردن کد و هک برنامه برای تغییر رفتار بدون تغییر کد منبع
- استفاده از اسکنر پورت برای مشاهده پورتهای اینترنتی باز کامپیوتر
- راهاندازی سرور شخصی و دریافت یک آموزش فشرده درباره عملکرد وب
ویژگیهای تصویری
چون یک تصویر برابر با هزار بایت است، فصلها با نمودارها و تصاویر دقیق پر شدهاند تا پیچیدگیهای فنی را روشن کنند.
ملزومات
پروژهها به انواع سختافزار نیاز دارند: پروژههای الکترونیکی نیاز به بردبرد، منبع تغذیه و اجزای مختلف مدار دارند؛ پروژههای نرمافزاری روی Raspberry Pi انجام میشوند. ضمیمه B فهرست کامل را ارائه میدهد. حتی اگر پروژهها را رد کنید، مفاهیم اصلی کتاب به وضوح در متن اصلی ارائه شدهاند.
فهرست مطالب
- Cover Page
- Title Page
- Copyright Page
- Dedication
- About the Author
- About the Tech Reviewers
- BRIEF CONTENTS
- CONTENTS IN DETAIL
- ACKNOWLEDGMENTS
- INTRODUCTION
- Chapter 1: COMPUTING CONCEPTS
- Defining a Computer
- Analog and Digital
- Number Systems
- Bits and Bytes
- Prefixes
- Hexadecimal
- Summary
- Chapter 2: BINARY IN ACTION
- Representing Data Digitally
- Binary Logic
- Summary
- Chapter 3: ELECTRICAL CIRCUITS
- Electrical Terms Defined
- Ohm’s Law
- Circuit Diagrams
- Kirchhoff’s Voltage Law
- Circuits in the Real World
- Light-Emitting Diodes
- Summary
- Project #1: Build and Measure a Circuit
- Project #2: Build a Simple LED Circuit
- Chapter 4: DIGITAL CIRCUITS
- What Is a Digital Circuit?
- Logic with Mechanical Switches
- The Amazing Transistor
- Logic Gates
- Designing with Logic Gates
- Integrated Circuits
- Summary
- Project #3: Build Logical Operators (AND, OR) with Transistors
- Project #4: Construct a Circuit with Logic Gates
- Chapter 5: MATH WITH DIGITAL CIRCUITS
- Binary Addition
- Half Adders
- Full Adders
- A 4-bit Adder
- Signed Numbers
- Unsigned Numbers
- Summary
- Project #5: Build a Half Adder
- Chapter 6: MEMORY AND CLOCK SIGNALS
- Sequential Logic Circuits and Memory
- The SR Latch
- Using the SR Latch in a Circuit
- Clock Signals
- JK Flip-Flops
- T Flip-Flops
- Using a Clock in a 3-Bit Counter
- Summary
- Project #6: Construct an SR Latch Using NOR Gates
- Project #7: Construct a Basic Vending Machine Circuit
- Project #8: Add a Delayed Reset to the Vending Machine Circuit
- Project #9: Using a Latch as a Manual Clock
- Project #10: Test a JK Flip-Flop
- Project #11: Construct a 3-bit Counter
- Chapter 7: COMPUTER HARDWARE
- Computer Hardware Overview
- Main Memory
- Central Processing Unit (CPU)
- Beyond Memory and Processor
- Bus Communication
- Summary
- Chapter 8: MACHINE CODE AND ASSEMBLY LANGUAGE
- Software Terms Defined
- An Example Machine Instruction
- Calculating a Factorial in Machine Code
- Summary
- Project #12: Factorial in Assembly
- Project #13: Examining Machine Code
- Chapter 9: HIGH-LEVEL PROGRAMMING
- High-Level Programming Overview
- Introduction to C and Python
- Comments
- Variables
- Stack and Heap Memory
- Math
- Logic
- Program Flow
- Functions
- Object-Oriented Programming
- Compiled or Interpreted
- Calculating a Factorial in C
- Summary
- Project #14: Examine Variables
- Project #15: Change the Type of Value Referenced by a Variable in Python
- Project #16: Stack or Heap
- Project #17: Write a Guessing Game
- Project #18: Use a Bank Account Class in Python
- Project #19: Factorial in C
- Chapter 10: OPERATING SYSTEMS
- Programming Without an Operating System
- Operating Systems Overview
- Operating System Families
- Kernel Mode and User Mode
- Processes
- Threads
- Virtual Memory
- Application Programming Interface (API)
- The User Mode Bubble and System Calls
- APIs and System Calls
- Operating System Software Libraries
- Application Binary Interface
- Device Drivers
- Filesystems
- Services and Daemons
- Security
- Summary
- Project #20: Examine Running Processes
- Project #21: Create a Thread and Observe It
- Project #22: Examine Virtual Memory
- Project #23: Try the Operating System API
- Project #24: Observe System Calls
- Project #25: Use glibc
- Project #26: View Loaded Kernel Modules
- Project #27: Examine Storage Devices and Filesystems
- Project #28: View Services
- Chapter 11: THE INTERNET
- Networking Terms Defined
- The Internet Protocol Suite
- A Trip Through the Internet
- Foundational Internet Capabilities
- Networking Is Computing
- Summary
- Project #29: Examine the Link Layer
- Project #30: Examine the Internet Layer
- Project #31: Examine Port Usage
- Project #32: Trace the Route to a Host on the Internet
- Project #33: See Your Leased IP Address
- Project #34: Is Your Device’s IP Public or Private?
- Project #35: Find Information in DNS
- Chapter 12: THE WORLD WIDE WEB
- Overview of the World Wide Web
- The Languages of the Web
- Web Browsers
- Web Servers
- Summary
- Project #36: Examine HTTP Traffic
- Project #37: Run Your Own Web Server
- Project #38: Return HTML from Your Web Server
- Project #39: Add CSS to Your Website
- Project #40: Add JavaScript to Your Website
- Chapter 13: MODERN COMPUTING
- Apps
- Virtualization and Emulation
- Cloud Computing
- The Deep Web and Dark Web
- Bitcoin
- Virtual Reality and Augmented Reality
- The Internet of Things
- Summary
- Project #41: Use Python to Control a Vending Machine Circuit
- Appendix A: ANSWERS TO EXERCISES
- Appendix B: RESOURCES
- INDEX
مشخصات
نام کتاب
How Computers Really Work
نویسنده
Matthew Justice
انتشارات
No Starch Press
تاریخ انتشار
2020
ISBN
9781593279707
تعداد صفحات
522
زبان
انگلیسی
فرمت
حجم
5.6MB
موضوع
software development