۱۱ قانون برای ساختن سیستمعامل، بدون ادا و اصول
خلاصهٔ کاملتر
نویسنده که خودش به FreeBSD و DragonFly کد داده و توی کرنل لینوکس هم کامیت داره، بعد از جنجالِ نوشتهٔ قبلیش دربارهٔ سیستمعاملهای آماتوری، این بار سراغ سؤالی رفته که خیلیها ازش پرسیده بودن: «پس چی بسازم؟» به گفتهٔ اون دو تا مسیر جلوی آدم هست؛ یکی که به فهم واقعی میرسه و یکی که تهش فقط یه ریدمی با نقشهٔ راهی میمونه که یه مدل زبانی تولیدش کرده.
مهمترین توصیهش اینه که از پوشهٔ خالی شروع نکنی. یه سیستمعامل واقعی رو برداری، یه تیکهش مثل زمانبند، تخصیصدهندهٔ حافظه یا پیادهسازی pipe رو حذف کنی و دوباره بنویسی. اونجا بقیهٔ سیستم مثل یه داورِ خستگیناپذیر کدت رو زیر سؤال میبره؛ ولی توی ریپوی خالی خودت هر تصمیمی بهطور پیشفرض درسته و از سیستمی که نمیتونه بهت فشار بیاره چیزی یاد نمیگیری.
نویسنده میگه پروژه قبل از اینکه عمومی بشه باید روی سختافزار واقعی بوت شه. یه ThinkPad دستدوم چهلدلاری باگهایی رو نشون میده که QEMU از نظر ساختاری نمیتونه: تایمینگهای عجیب، دروغهای فرمور، و دستگاهی که اسپک خودشو نقض میکنه. کمبود اصلی این فضا هم درایوره؛ هیچکدوم از این پروژهها استک WiFi یا بلوتوث ندارن، و تطبیقدادن یه درایور اوپنسورس به کرنل خودت باس، وقفه، DMA و حالتهای توان رو واقعاً یادت میده.
دربارهٔ AI مرزبندیش روشنه: ازش سؤال بپرس و سر طراحی VFS باهاش بحث کن، ولی هر جواب رو با اسپک چک کن. خودش تعریف میکنه که یه مدل با اطمینان کامل قابلیت USB یکی از چیپهاش رو انکار میکرد و هر بار دیتابیسش رو دوباره «اصلاح» میکرد و خرابش میکرد. جمعبندیش اینه که AI میتونه به سؤالت جواب بده ولی نمیتونه گیجبودن رو جای تو تجربه کنه، و همون گیجی خودِ درسه.
بقیهٔ قانونها حول صداقت و عمق میچرخن: بگو «پیادهسازی کردم» و کلمهٔ «اختراع» رو برای روز مبادا نگه دار؛ دکمهٔ حمایت مالی نذار، مگه برای پروژههایی مثل Asahi Linux که سختافزار قفلشده رو آزاد میکنن؛ حق داری پروژهت رو اصلاً منتشر نکنی؛ تیمی که همیشه باهات موافقه تیم نیست، مخاطبه؛ و چون AI عرض رو مجانی کرده، حالا فقط عمق توی یه زیرسیستم ارزش داره.
نکات کلیدی:
- بهجای ریپوی خالی، یه بخش از یه سیستمعامل واقعی رو حذف و بازنویسی کن
- ماهها خوندن اسپک و کتاب، خودِ کاره؛ تایپکردن فقط رسیدشه
- قبل از انتشار، روی سختافزار واقعی بوت شو؛ QEMU خیلی از باگها رو نشون نمیده
- یه درایور واقعی بنویس یا تطبیق بده؛ کمبود اصلی همینه
- AI مشاوریه که باید فکتچکش کنی، نه کسی که بهجات فکر کنه
- بهجای ده زیرسیستم سطحی، توی یکی عمیق شو




