آموزش سیستم عامل خود را از ابتدا بنویسید - گام به گام

Write Your Own Operating System From Scratch - Step by Step

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: سیستم عامل 64 بیتی خود را بسازید - برای معماری x86 بتوانید یک سیستم عامل ساده برای معماری x86 بسازید. درک حالت واقعی درک حالت محافظت شده و حالت طولانی نحوه مدیریت وقفه ها و استثناها در حالت 64 بیتی نحوه نوشتن هسته سیستم عامل با کد اسمبلی و کد C قادر به نوشتن تابع چاپ برای چاپ کاراکترها بر روی صفحه نمایش قادر به ساختن یک مدیر حافظه با استفاده از مکانیزم صفحه بندی x86 نحوه نوشتن کنترل کننده تایمر برای مدیر فرآیند نحوه ایجاد یک مدیر فرآیند برای زمان بندی فرآیندها و تغییر آنها در بین حالت های مختلف (خواب، آماده، کشته) نحوه پیاده سازی ماژول فراخوانی سیستم برای اجرای برنامه های کاربر در سیستم نوشتن یک درایور صفحه کلید (PS/2) یک کنسول ساده بنویسید و با استفاده از دستورات با هسته سیستم عامل تعامل داشته باشید بتوانید یک ماژول سیستم فایل ساده بنویسید که از خواندن سیستم fat16 پشتیبانی می کند. پیش نیازها:آشنایی اولیه با زبان x86 اسمبلی و زبان C یک کامپیوتر آزمایشی و درایو فلش USB (اگر می خواهید سیستم عامل را روی یک ماشین واقعی اجرا کنید)

به نوشتن دوره آموزشی سیستم عامل 64 بیتی خود خوش آمدید.

این دوره به شما یاد می دهد که چگونه از ابتدا یک سیستم عامل ساده بسازید. اصول اولیه معماری x86 و برنامه نویسی سطح پایین را پوشش می دهد. در این دوره، ما شما را با مراحل ساخت یک سیستم کاری کوچک به صورت گام به گام آشنا خواهیم کرد.

قسمت اول دوره تمام آنچه را که باید بدانید (حالت‌های پردازنده، صفحه‌بندی، استثناها و مدیریت وقفه‌ها، و غیره) را قبل از اینکه بتوانید هسته را بر روی معماری x86 بسازید، آموزش می‌دهد. در این قسمت نحوه آماده شدن برای تغییر حالت را خواهیم دید. از حالت واقعی به حالت محافظت شده تغییر می کنیم و سپس به حالت طولانی می پریم. هسته ما در حالت 64 بیتی اجرا می شود. بعد از اینکه به حالت 64 بیتی رفتیم، نحوه مدیریت استثناها و وقفه ها، نحوه جابجایی بین حالت هسته و حالت کاربر را خواهیم دید.

قسمت دوم دوره به شما یاد می دهد که چگونه ماژول های هسته مانند پردازش ها، مدیریت حافظه، مدیریت وقفه و غیره را بسازید. در این قسمت نحوه نوشتن یک درایور صفحه کلید و یک کنسول، نحوه تعامل با هسته سیستم عامل با استفاده از کنسول. پس از اتمام این بخش، باید بدانید که چگونه برنامه های کاربری را بنویسید و آنها را در سیستم عامل خود اجرا کنید.


  • در این دوره آموزشی خواهید آموخت:

چگونه یک سیستم عامل ساده برای معماری x86 بسازیم.

درک حالت واقعی

درک حالت محافظت شده و حالت طولانی

نحوه مدیریت وقفه ها و استثناها در حالت 64 بیتی

نحوه نوشتن هسته سیستم عامل با کد اسمبلی و کد C

قادر به نوشتن تابع چاپ برای چاپ کاراکترها بر روی صفحه باشید

قادر به ساخت یک مدیر حافظه با استفاده از مکانیسم صفحه بندی x86

باشید

نحوه نوشتن کنترل کننده تایمر برای مدیر فرآیند

نحوه ایجاد یک مدیر فرآیند برای زمان‌بندی فرآیندها و تغییر آنها در حالت‌های مختلف (خواب، آماده، کشته)

نحوه پیاده سازی ماژول فراخوانی سیستم برای اجرای برنامه های کاربر در سیستم

درایور صفحه کلید (PS/2) بنویسید

یک کنسول ساده بنویسید و با استفاده از دستورات با هسته سیستم عامل تعامل داشته باشید

بتوانید یک ماژول سیستم فایل ساده بنویسید که از خواندن سیستم fat16 پشتیبانی می کند.


در پایان دوره، باید بتوانید سیستم عامل 64 بیتی خود را توسعه دهید.


سرفصل ها و درس ها

معرفی Introduction

معرفی Introduction

  • معرفی Introduction

  • باید دید MUST SEE

  • مفاهیم سیستم عامل Operating System Concepts

  • ساختارهای سیستم عامل Operating System Structures

نصب و راه اندازی Installation and Setup

نصب و راه اندازی Installation and Setup

  • کار با ویندوز 10 Working with Windows 10

  • کار با MacOS Working with MacOS

  • کار با لینوکس (اوبونتو) Working with Linux (Ubuntu)

  • نحوه استفاده از منابع How to Use Resources

راه اندازی Boot Up

راه اندازی Boot Up

  • برنامه اول The First Program

  • تست روی ویندوز 10 Testing on Windows 10

  • تست در لینوکس (اوبونتو) Testing on Linux (Ubuntu)

  • تست روی MacOS Testing on MacOS

  • سرویس افزونه دیسک را تست کنید Test Disk Extension Service

بارگیری لودر و رفتن به حالت طولانی Loading the Loader and Switching to Long Mode

بارگیری لودر و رفتن به حالت طولانی Loading the Loader and Switching to Long Mode

  • لودر Loader

  • پشتیبانی از حالت طولانی Long Mode Support

  • فایل هسته را بارگیری کنید Load Kernel File

  • نقشه حافظه را دریافت کنید Get Memory Map

  • تست A20 Line Test A20 Line

  • حالت ویدیو را تنظیم کنید Set Video Mode

  • حالت محافظت شده Protected Mode

  • حالت طولانی Long Mode

کنترل استثناها و وقفه ها در x86 Exceptions and Interrupts Handling on the x86

کنترل استثناها و وقفه ها در x86 Exceptions and Interrupts Handling on the x86

  • پرش به هسته Jumping to Kernel

  • بارگیری مجدد GDT Reload GDT

  • استثناها و مدیریت وقفه ها Exceptions and Interrupts Handling

  • ذخیره رجیسترها Saving Registers

  • راه اندازی کنترل کننده وقفه Setting Up the Interrupt Controller

  • رسیدن به Ring3 Getting to Ring3

  • مدیریت وقفه ها در Ring3 قسمت اول Interrupts Handling in Ring3 Part I

  • وقفه های هندلینگ در Ring3 Part II Interrupts Handling in Ring3 Part II

  • مدیریت وقفه جعلی Spurious Interrupt Handling

کار با سی Working With C

کار با سی Working With C

  • هسته اصلی Kernel Main

  • همه اش را بگذار کنار هم Putting It All Together

  • توابع ساده کتابخانه Simple Library Functions

  • عملکرد چاپ Print Function

  • ادعا Assertion

مدیریت حافظه Memory Management

مدیریت حافظه Memory Management

  • بازیابی نقشه حافظه Retrieve Memory Map

  • صفحه بندی Paging

  • تخصیص دهنده حافظه Memory Allocator

  • صفحات حافظه Memory Pages

  • صفحه حافظه رایگان Free Memory Page

  • فضای کاربری User Space

فرآیندها Processes

فرآیندها Processes

  • فرآیند اول The First Process

  • تماس سیستمی System Call

  • برنامه ریزی Scheduling

  • بخواب و بیدار شو Sleep and Wake Up

  • خروج و صبر کنید Exit and Wait

  • خاتمه یک فرآیند Terminate A Process

صفحه کلید و کنسول Keyboard And Console

صفحه کلید و کنسول Keyboard And Console

  • یک درایور صفحه کلید PS/2 بنویسید 1 Write A PS/2 Keyboard Driver 1

  • درایور صفحه کلید PS/2 بنویسید 2 Write A PS/2 Keyboard Driver 2

  • تعامل با کرنل با استفاده از کنسول Interact With Kernel Using Console

پاداش: سیستم فایل BONUS: File System

پاداش: سیستم فایل BONUS: File System

  • معرفی Introduction

  • کار با ویندوز 10 Working with Windows 10

  • کار با لینوکس (اوبونتو) Working with Linux (Ubuntu)

  • کار با MacOS Working with MacOS

  • لودر جدید The New Loader

  • ساختار FAT16 FAT16 Structure

  • بارگیری فایل ها از تصویر FAT16 Loading Files From the FAT16 Image

  • فرآیند بیکار The Idle Process

  • ماژول فایل The File Module

  • چنگال Fork

  • مجری Exec

  • کنسول جدید The New Console

  • فرمان LS LS Command

نتیجه Conclusion

نتیجه Conclusion

  • نتیجه Conclusion

نمایش نظرات

Udemy (یودمی)

یودمی یکی از بزرگ‌ترین پلتفرم‌های آموزشی آنلاین است که به میلیون‌ها کاربر در سراسر جهان امکان دسترسی به دوره‌های متنوع و کاربردی را فراهم می‌کند. این پلتفرم امکان آموزش در زمینه‌های مختلف از فناوری اطلاعات و برنامه‌نویسی گرفته تا زبان‌های خارجی، مدیریت، و هنر را به کاربران ارائه می‌دهد. با استفاده از یودمی، کاربران می‌توانند به صورت انعطاف‌پذیر و بهینه، مهارت‌های جدیدی را یاد بگیرند و خود را برای بازار کار آماده کنند.

یکی از ویژگی‌های برجسته یودمی، کیفیت بالای دوره‌ها و حضور استادان مجرب و با تجربه در هر حوزه است. این امر به کاربران اعتماد می‌دهد که در حال دریافت آموزش از منابع قابل اعتماد و معتبر هستند و می‌توانند به بهترین شکل ممکن از آموزش‌ها بهره ببرند. به طور خلاصه، یودمی به عنوان یکی از معتبرترین و موثرترین پلتفرم‌های آموزشی آنلاین، به افراد امکان می‌دهد تا به راحتی و با کیفیت، مهارت‌های مورد نیاز خود را ارتقا دهند و به دنبال رشد و پیشرفت شغلی خود باشند.

آموزش سیستم عامل خود را از ابتدا بنویسید - گام به گام
جزییات دوره
10 hours
64
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
3,238
4.5 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

x-BIT Development x-BIT Development

آموزش برنامه نویسی سطح پایین