کامپیوتر چطور کار میکنه (How Computers Work)
از یه بیت تنها تا یه برنامهی در حال اجرا: پردازنده، حافظه، ذخیرهسازی و سیستمعامل، با نمودارهای متحرکی که قدمبهقدم جلو میبری.
برای آدمهای کنجکاوی که هر روز با کامپیوتر کار میکنن و میخوان بدونن واقعاً توش چه خبره، و برای برنامهنویسهای تازهکاری که میخوان تصویر زیر کدشون رو ببینن. ریاضیش از جمع بیشتر نیست و برنامهنویسی هم لازم نداره. از کلیدهایی شروع میکنی که یا روشنن یا خاموش، ازشون گیت منطقی و یه جمعکننده میسازی، بعد یه برنامهی کوچیک رو تا توی پردازنده دنبال میکنی که دستورها رو یکییکی میخونه، رمزگشایی میکنه و اجرا میکنه. هر درس یه نمودار متحرک داره که قدمبهقدم جلو میبری: بیتها، گیتها، رجیسترها، چرخهی واکشی-رمزگشایی-اجرا، رم، کش، دیسک، پردازهها و حافظهی مجازی. آخرش میتونی قدمبهقدم توضیح بدی از لحظهای که روی یه برنامه دوبار کلیک میکنی تا وقتی روی صفحه میبینیش چی میگذره، و چرا بعضی کارها تو کامپیوتر سریعن و بعضی کند.
آخرش میتونی
- عددهای کوچیک رو به دودویی بخونی و بنویسی و توضیح بدی متن و عکس چطور تبدیل به بیت میشن
- نشون بدی گیتهای منطقی چطور دو تا عدد رو جمع میکنن و پردازنده چطور با چرخهی واکشی-رمزگشایی-اجرا یه برنامه رو اجرا میکنه
- سلسلهمراتب حافظه رو، از رجیستر و کش تا رم و دیسک، توضیح بدی و بگی چرا هر سطح سریعتر یا کندتره
- بگی وقتی یه برنامه شروع میشه سیستمعامل چیکار میکنه: پردازهها، تقسیم زمان و حافظهی مجازی
از کلید تا حساب
- توی جعبه چیه: اجزای کامپیوتر
با پنج بخشی آشنا شو که هر کامپیوتری داره، از لپتاپ تا گوشی، و یه فشار کلید رو از انگشتت تا یه حرف روی صفحه دنبال کن.
- بیت و دودویی: شمردن با کلید (Binary)
با هشت تا کلید برق شمردن دودویی رو یاد بگیر، ببین چرا یه بایت از ۰ تا ۲۵۵ رو نگه میداره، و بفهم حرفها، رنگها و عکسها چطور همه صفر و یک میشن.
- گیتهای منطقی: کلیدهایی که جمع میکنن (Logic Gates)
ببین یه ترانزیستور چطور مثل یه کلید ریز کار میکنه، چندتاشون چطور گیتهای NOT و AND و OR میسازن، و دو تا گیت با هم چطور ۱ + ۱ رو حساب میکنن.
پردازنده
- پردازنده: رجیسترها، ALU و ساعت (CPU)
برو داخل پردازنده: رجیسترهای ریز و خیلی سریع، یه واحد حساب که از گیتها ساخته شده، یه واحد کنترل که بهشون دستور میده، و یه ساعت که میلیاردها بار در ثانیه تیک میزنه.
- کد ماشین: برنامه بهشکل عدد (Machine Code)
یه خط کد رو دنبال کن که کامپایلر تبدیلش میکنه به دستورهای ساده، بعد به عددهای سادهای که پردازنده واقعاً از حافظه میخونه.
- واکشی، رمزگشایی، اجرا: حلقهای که همهچیز رو اجرا میکنه
چرخهی سهضربیای رو که پردازنده برای هر دستور تکرار میکنه قدمبهقدم جلو ببر، ببین شمارندهی برنامه چطور جاش رو نگه میداره، و یه پرش چطور حلقه و تصمیمگیری رو ممکن میکنه.
حافظه و ذخیرهسازی
- رم: یه ردیف جعبهی شمارهدار (RAM)
حافظه رو مثل میلیاردها جعبهی یکبایتی شمارهدار تصور کن، ببین پردازنده چطور با آدرس توی یکیشون مینویسه و ازش میخونه، و چرا با قطع برق همهچیز توی رم پاک میشه.
- کش: دادهی داغ رو نزدیک نگه داشتن (Cache)
بفهم چرا رم صدها تیک ساعت با پردازنده فاصله داره، کشهای کوچیک و سریع چطور این انتظار رو پنهون میکنن، و چرا خوندن داده بهترتیب خیلی سریعتر از پریدن اینور و اونوره.
- ذخیرهسازی و فایلها: حافظهای که میمونه
اساسدی و هارد دیسک رو مقایسه کن، ببین سیستم فایل چطور اسمی مثل photo.jpg رو به بلوکهایی روی دیسک تبدیل میکنه، و چرا یه برنامه قبل از اجرا باید به رم کپی بشه.
سیستمعامل
- پردازهها: یه پردازنده، چند تا برنامه (Process)
با سیستمعامل و پردازه آشنا شو، و ببین زمانبند چطور یه هسته رو اونقدر سریع بین برنامهها جابهجا میکنه که انگار همه همزمان اجرا میشن.
- حافظهی مجازی: هر برنامه نقشهی خودش رو داره (Virtual Memory)
ببین هر پردازه چطور فضای آدرس خصوصی خودش رو میگیره، جدول صفحهها چطور آدرسهاش رو به رم واقعی ترجمه میکنن، و وقتی رم تموم میشه چی میشه.
- کنار هم گذاشتنش: از دوبار کلیک تا برنامهی در حال اجرا
یه برنامه رو از لحظهای که روش دوبار کلیک میکنی دنبال کن، از دیسک و رم و سیستمعامل و پردازنده، تا اولین چیزی که روی صفحهت میکشه.
فقط نخونش، نگهش دار
پثوایز هر ایده رو درست قبل از اینکه فراموشش کنی با یه سؤال کوتاه برمیگردونه. رایگان روی اندروید و وب، به فارسی و انگلیسی.