نحوه ساخت سیستم عامل کامپیوتر (همراه با تصاویر)

فهرست مطالب:

نحوه ساخت سیستم عامل کامپیوتر (همراه با تصاویر)
نحوه ساخت سیستم عامل کامپیوتر (همراه با تصاویر)

تصویری: نحوه ساخت سیستم عامل کامپیوتر (همراه با تصاویر)

تصویری: نحوه ساخت سیستم عامل کامپیوتر (همراه با تصاویر)
تصویری: آموزش نصب ویندوز 7 (به صورت کامل) در کمتر از 20 دقیقه 2024, ممکن است
Anonim

سیستم عامل به کاربر اجازه می دهد تا با سخت افزار کامپیوتر تعامل داشته باشد. این سیستم از صدها هزار خط کد تشکیل شده است. معمولاً سیستم عامل با استفاده از زبان های برنامه نویسی C#، C ، C ++ و اسمبلی ساخته می شود. این سیستم عامل به شما امکان می دهد در حین ذخیره و اجرای دستورات ، رایانه خود را مرور کنید. فکر نکنید ایجاد یک سیستم عامل آسان است. برای ساخت آن به دانش زیادی نیاز است.

گام

ساخت سیستم عامل کامپیوتر مرحله 1
ساخت سیستم عامل کامپیوتر مرحله 1

مرحله 1. اول از همه ، با برنامه نویسی آشنا شوید

زبان اسمبلی بسیار مهم است. توصیه می شود زبان مکمل سطح بالا دیگری مانند زبان C را بیاموزید.

ساخت سیستم عامل کامپیوتر مرحله 2
ساخت سیستم عامل کامپیوتر مرحله 2

مرحله 2. تصمیم بگیرید که از چه رسانه ای می خواهید برای بارگیری سیستم عامل استفاده کنید

این رسانه می تواند یک درایو CD ، درایو DVD ، درایو فلش ، هارد دیسک ، فلاپی دیسک یا رایانه دیگری باشد.

ساخت سیستم عامل کامپیوتر مرحله 3
ساخت سیستم عامل کامپیوتر مرحله 3

مرحله 3. ایده اصلی SO را تعریف کنید

به عنوان مثال ، در ویندوز ، ایده اصلی یک رابط کاربری گرافیکی آسان برای استفاده و امنیت زیاد است.

ساخت سیستم عامل کامپیوتر مرحله 4
ساخت سیستم عامل کامپیوتر مرحله 4

مرحله 4. تعیین کنید که سیستم عامل شما از کدام پلتفرم پردازنده پشتیبانی می کند

IA-32 ، ARM و x86_64 رایج ترین پلتفرم برای رایانه های شخصی هستند. بنابراین ، همه آنها بهترین انتخاب شما هستند.

ساخت سیستم عامل کامپیوتر مرحله 5
ساخت سیستم عامل کامپیوتر مرحله 5

مرحله 5. تصمیم بگیرید که آیا ترجیح می دهید همه کارها را از ابتدا انجام دهید یا هسته ای موجود است که می خواهید روی آن کار کنید

به عنوان مثال ، لینوکس از ابتدا یک پروژه برای افرادی است که می خواهند توزیع لینوکس خود را بسازند.

ساخت سیستم عامل کامپیوتر مرحله 6
ساخت سیستم عامل کامپیوتر مرحله 6

مرحله 6. تصمیم بگیرید که آیا از بوت لودر خود استفاده می کنید یا از پیش ساخته شده مانند Grand Unified Bootloader (GRUB)

رمزگذاری بوت لودر خود مستلزم دانش وسیع سخت افزار و BIOS است. در نتیجه ، این مرحله ممکن است مانع برنامه ریزی واقعی برنامه هسته شود.

ساخت سیستم عامل کامپیوتر مرحله 7
ساخت سیستم عامل کامپیوتر مرحله 7

مرحله 7. تصمیم بگیرید که از چه زبان برنامه نویسی استفاده کنید

داشتن سیستم عامل به زبانی مانند پاسکال یا BASIC خوب است ، اما باید از C یا اسمبلی استفاده کنید. مونتاژ بسیار ضروری است ، زیرا برخی از بخشهای مهم سیستم عامل به آن نیاز دارند. از طرف دیگر ، زبان C ++ حاوی کلمات کلیدی است که برای اجرا نیاز به SO کامل دارد.

برای کامپایل یک سیستم عامل از کد C یا C ++ ، البته از یک کامپایلر یا دیگری استفاده خواهید کرد. بنابراین ، ایده خوبی است که از راهنمای کاربر/دفترچه/مستندات کامپایلر C/C ++ دلخواه خود ، چه در نرم افزار موجود باشد و چه در وب سایت توزیع کننده ، استفاده کنید. شما باید چیزهای پیچیده زیادی درباره کامپایلر بدانید و برای توسعه C ++ ، باید در مورد برنامه مدیریت کامپایلر و ABI آن بدانید. از شما انتظار می رود که فرمت های اجرایی مختلف (ELF ، PE ، COFF ، باینری پایه و غیره) را درک کنید و بدانید که قالب اختصاصی ویندوز ، PE (.exe) ، دارای حق چاپ است

ساخت سیستم عامل کامپیوتر مرحله 8
ساخت سیستم عامل کامپیوتر مرحله 8

مرحله 8. رابط برنامه نویسی برنامه (API) خود را تعریف کنید

یک API خوب برای انتخاب POSIX است زیرا به خوبی مستند شده است. همه سیستم های یونیکس حداقل از POSIX پشتیبانی نسبی دارند. بنابراین اتصال برنامه های یونیکس به سیستم عامل شما باید آسان باشد.

ساخت سیستم عامل کامپیوتر مرحله 9
ساخت سیستم عامل کامپیوتر مرحله 9

مرحله 9. در مورد طرح خود تصمیم بگیرید

چیزی به عنوان هسته یکپارچه و میکرو هسته وجود دارد. هسته های یکپارچه همه خدمات را در هسته پیاده سازی می کنند ، در حالی که هسته های کوچک دارای هسته های کوچکی هستند که با خدمات استقرار دایمون کاربر همراه شده اند. به طور کلی ، هسته های یکپارچه سریعتر هستند ، اما ریز هسته ها دارای عایق بندی بهتر و قابلیت اطمینان هستند.

ساخت سیستم عامل کامپیوتر مرحله 10
ساخت سیستم عامل کامپیوتر مرحله 10

مرحله 10 توسعه و کار گروهی را در نظر بگیرید

به این ترتیب ، زمان کمتری برای حل مشکلات بیشتر طول می کشد ، که احتمالاً باعث ایجاد سیستم عامل بهتر می شود.

ساخت سیستم عامل کامپیوتر مرحله 11
ساخت سیستم عامل کامپیوتر مرحله 11

مرحله 11. هارد دیسک خود را کاملاً پاک نکنید

به یاد داشته باشید ، حذف درایو تمام اطلاعات موجود در آن را به طور برگشت ناپذیر پاک می کند! از GRUB یا مدیر بوت دیگر برای دوبار بوت کردن سیستم خود با سیستم عامل دیگر استفاده کنید تا سیستم عامل شما کاملاً کار کند.

ساخت سیستم عامل کامپیوتر مرحله 12
ساخت سیستم عامل کامپیوتر مرحله 12

مرحله 12. کوچک را شروع کنید

با کارهای کوچکی مانند نمایش متن شروع کنید و قبل از انجام کارهایی مانند مدیریت حافظه و کارهای ترکیبی مکث کنید. همچنین مطمئن شوید که نسخه های 32 و 64 بیتی را تهیه کرده اید.

ساخت سیستم عامل کامپیوتر مرحله 13
ساخت سیستم عامل کامپیوتر مرحله 13

مرحله 13. پشتیبان گیری از آخرین کد منبع کار

این مرحله در صورت بروز مشکل در نسخه فعلی SO یا توسعه ، به عنوان یک ضمانت مفید است. اگر رایانه شما خراب می شود و بوت نمی شود ، بهتر است نسخه دوم را برای کار داشته باشید تا بتوانید مشکل را برطرف کنید.

ساخت سیستم عامل کامپیوتر مرحله 14
ساخت سیستم عامل کامپیوتر مرحله 14

مرحله 14. سیستم عامل جدید خود را با ماشین مجازی آزمایش کنید

به جای راه اندازی مجدد کامپیوتر هر بار که تغییراتی ایجاد می کنید یا پس از ارسال فایل ها از رایانه توسعه دهنده خود به دستگاه تست خود ، می توانید از یک برنامه ماشین مجازی برای اجرای سیستم عامل خود در حالی که سیستم عامل فعلی شما در حال اجرا است ، استفاده کنید. برنامه های رایج VM عبارتند از: VMWare (که دارای یک محصول سرور به صورت رایگان نیز می باشد) ، گزینه های منبع باز ، Bochs ، Microsoft Virtual PC (سازگار با لینوکس) و Oracle VirtualBox.

ساخت سیستم عامل کامپیوتر مرحله 15
ساخت سیستم عامل کامپیوتر مرحله 15

مرحله 15. "نسخه نامزد" یا نسخه بتا را راه اندازی کنید

این مرحله به کاربر اجازه می دهد تا مشکلات احتمالی سیستم عامل شما را به شما اطلاع دهد.

ساخت سیستم عامل کامپیوتر مرحله 16
ساخت سیستم عامل کامپیوتر مرحله 16

مرحله 16. سیستم عامل نیز باید کاربر پسند باشد

اطمینان حاصل کنید که ویژگی های کاربر پسند را اضافه کرده اید ، اینها را جزء لاینفک طراحی خود قرار دهید.

نکات

  • بن بست های احتمالی و سایر اشکالات را بررسی کنید. اشکالات ، بن بست ها و سایر مسائل بر پروژه ساخت سیستم عامل شما تأثیر می گذارد.
  • اگر می خواهید سیستم به درستی اجرا شود ، از ویژگی های امنیتی به عنوان اولویت اصلی استفاده کنید.
  • از وب سایت هایی مانند OSDev و OSDever برای توسعه سیستم عامل خود استفاده کنید. لطفاً توجه داشته باشید که برای اکثر اهداف ، انجمن OSDev.org اگر از ویکی آنها استفاده کنید ، خوشحال خواهد شد و به انجمن نمی پیوندید. اگر تصمیم دارید به انجمن بپیوندید ، یک پیش شرط وجود دارد: شما باید واقعاً در مورد C یا C ++ و زبان اسمبلی x86 بدانید. شما همچنین باید مفاهیم کلی و پیچیده برنامه نویسی مانند لیست های پیوندی ، صف ها و غیره را درک کنید. جامعه OSDev ، در مقررات خود ، به صراحت می گوید که جامعه آن برای پرورش برنامه نویسان جدید ایجاد نشده است.
  • ملحق نشوید با انجمن OSDev.org و سپس سوال واضح را بپرسید. فقط از شما خواسته می شود که راهنما را بخوانید. ویکی پدیا و دستورالعمل های مربوط به هر وسیله ای را که می خواهید استفاده کنید بخوانید.
  • اگر در تلاش برای توسعه یک سیستم عامل هستید ، قطعاً "خدای" برنامه نویسی محسوب می شوید.
  • شما همچنین باید دفترچه راهنمای پردازنده را برای معماری پردازنده ای که انتخاب کرده اید مطالعه کرده باشید. خواه x86 (Intel) ، ARM ، MIPS ، PPC و غیره یافتن کتابچه های راهنمای معماری پردازنده با استفاده از جستجوی Google ("دفترچه راهنمای Intel" ، "دفترچه راهنمای ARM" و غیره) آسان است.
  • پس از اتمام تمام مراحل توسعه ، تصمیم بگیرید که آیا می خواهید کد را به عنوان کد باز یا با حق نسخه برداری آزاد کنید.
  • شروع نکن یک پروژه سیستم عامل برای شروع یادگیری برنامه نویسی. اگر در مورد C ، C ++ ، پاسکال یا برخی دیگر از زبانهای مناسب ، از جمله دستکاری اشاره گر ، دستکاری بیت سطح پایین ، تغییر بیت ، زبانهای مونتاژ خطی و غیره اطلاعاتی ندارید ، برای سیستم عامل آماده نیستید. توسعه.
  • ایجاد یک پارتیشن کاملا جدید برای "گسترش" SO ممکن است گزینه خوبی باشد.
  • اگر راهی آسان می خواهید ، توزیع های لینوکس مانند Fedora Revisor ، Custom Nimble X ، Puppy Remaster ، PCLinuxOS Mk LiveCD یا SUSE Studio و SUSE KIWI را در نظر بگیرید. با این حال ، سیستم عاملی که ایجاد می کنید متعلق به شرکتی است که ابتدا سرویس را راه اندازی کرده است (اگرچه شما حق دارید آن را آزادانه توزیع کنید ، تغییر دهید و آن را مطابق میل خود تحت GPL اجرا کنید).

هشدار

  • ظرف دو هفته یک سیستم عامل کامل دریافت نخواهید کرد. با یک SO قابل بوت شروع کنید ، سپس به موارد سردتر بروید.
  • نوشتن بی دقتی سیستم عامل بر روی هارد دیسک می تواند به طور کامل به آن آسیب برساند. مراقب باش.
  • اگر کاری را انجام دهید که توصیه نمی شود ، مانند نوشتن بایت های تصادفی در درگاه های ورودی/خروجی تصادفی ، سیستم عامل خود را خراب می کنید و (از لحاظ تئوری) می تواند سخت افزار شما را بسوزاند.
  • انتظار نداشته باشید که سیستم عامل به راحتی ساخته شود. وابستگی متقابل پیچیده زیادی وجود دارد. برای مثال ، برای ایجاد یک سیستم عامل قادر به پردازش چند پردازنده ، Memory Manager شما باید دارای مکانیزم "قفل" باشد تا از دسترسی همزمان چندین پردازنده به یک منبع جلوگیری کند. "قفل" مورد استفاده برای این امر به یک زمانبند نیاز دارد تا اطمینان حاصل کند که تنها یک پردازنده در هر زمان به منابع مهم دسترسی دارد و همه دیگر باید منتظر بمانند. در واقع زمانبندی به حضور مدیر حافظه بستگی دارد. این نمونه ای از وابستگی به بن بست است. هیچ راه استانداردی برای حل این نوع مشکلات وجود ندارد. انتظار می رود که هر برنامه نویس سیستم عامل به اندازه کافی مهارت داشته باشد تا روش خود را برای مقابله با آن بداند.

منابع اضافی

  • دستورالعمل ها: لینوکس از خراش
  • بوت لودر: GRUB
  • برنامه های ماشین مجازی: Bochs ، VM Ware ، XM Virtual Box.
  • راهنمای پردازنده: دفترچه راهنمای اینتل
  • SO سایت های توسعه: OSDev ، OSDever

توصیه شده: