چرا نباید یک سیستم عامل را از پایه نوشت؟ متاسفانه هنوز کسانی هستند که فکر میکنند باید یک سیستم عامل را از ابتدا نوشت و بر پایه ی آن دنیای دیگری بنا کرد. اما اینکار حماقتی محض است . چرا که معضلات بسیاری در راه نوشتن یک سیستم عامل نو وجود دارد.
معضل اول: درایور ! سیستم عامل برنامه ایست که وظیفه مدیریت منابع سیستم و اجرای برنامه ها رو بر عهده داره . پس باید با سخت افزارها در ارتباط باشه . برای ارتباط هر سیستم عاملی با سخت افزار، باید درایور اون سخت افزار خاص برای اون سیستم عامل خاص نوشته بشه. الان برای سیستم عامل های بزرگی مانند BSD UNIX که توسط دانشگاه برکلی آمریکا و در سال 1977 ایجاد شده درایور وجود نداره، اونوقت کدوم شرکت تولیدکننده سخت افزاری میاد برای سیستم عامل ما داریور تولید کنه؟ شرکت های سخت افزاری معمولا فقط برای دو سه تا سیستم عامل خاص درایور مینویسند. حتی در این مورد حساسیت هایی هم وجود دارد. بطور مثال در چند سال گذشته ، شرکت مایکروسافت قراردادهایی را با چند شرکت سخت افزاری بسته بود که بر اساس آن، آن شرکت ها حق تولید سخت افزار برای لینوکس را نداشتند ! و اینگونه بود که نصب سخت افزارها و بخصوص مودم در لینوکس معزلی بود. اینجا میتوانید لیستی از سیستم عامل های دنیا را مشاهده کنید. وقتی سخت افزاری میخرید، برای کدامیک از این ها درایور دارد؟
معضل دوم: نرم افزارهای کاربردی چرا در ایران اکثرا از ویندوز استفاده میکنند ؟ یکی از دلایل این موضوع، حمایت شرکت های نرم افزاری دنیا از این سیستم عامل است. بطور مثال شما برنامه ی Photoshop و AutoCad و 3Dmax و LogicWorks و هزاران برنامه ی کاربردی غیر-جایگزین دیگر را حتی روی لینوکس هم نمی توانید نصب کنید. چه برسد به سیستم عاملی که خودتان نوشته اید!
معضل سوم: محیطهای توسعه نرم افزاری
محیطهای توسعه نرم افزار در هر سیستم عاملی باعث ایجاد نرم افزارهای متنوع برای آن نرم افزار میشوند. آیا شمایی که پروژه سیستم عاملی جدیدی را شروع کرده اید میتوانید چیزی مانند ویژوال استودیو بنویسید؟ آیا میتوانید یک IDE قدرتمند ایجاد کنید که با آن بتوان برای سیستم عامل شما برنامه های جدید تولید کرد؟
معضل چهارم: چند سیستم عاملی فرض کنیم که ما قبول کردیم که سیستم عامل شما را روی PC یا لپتاپ خود نصب کنیم . اما اگر فکر کرده اید که ما روی کامپیوتر خود ویندوز را نخواهیم داشت، کاملا در اشتباهید. یکدفعه که نمیشه از سیستم عامل خودمون بکنیم . پس باید بشه سیستم عامل شما رو در کنار ویندوز با استفاده از Virtual Machine نصب کنیم . آیا هیچ ماشین مجازی ای سیتم عامل شما رو به رسمیت میشناسه که اینکار صورت بگیره؟
معضل پنجم: اینترنت من وقتی میخوام یک برنامه تحت وب بنویسم ، اول اونو با PC خودم و با SQL server و مثلا ویژوال استودیو مینویسم و بعد آپلود میکنم رو سرور. شما هر وقت توانستید یک مرورگر بنویسید که بشه باهاش 4 تا صفحه ی وب رو باز کرد بعد باهم در این مورد صحبت میکنیم.
همچنان ده ها مشکل دیگر در راه ایجاد سیستم عامل های جدید وجود دارد که باعث میشود نوشتن پروژه های سیستم عامل از پایه هرگز اجرایی نشود.