🔔 با توجه به بهبود نسبی اینترنت، آمادهسازی دورهها آغاز شده است. به دلیل تداوم برخی اختلالات، بارگذاری دورهها ممکن است با کمی تأخیر انجام شود. مدت اشتراکهای تهیهشده محفوظ است.
لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش رازبری پای: گام به گام سیستم عامل خود را بنویسید
- آخرین آپدیت
دانلود Raspberry Pi: Write Your Own Operating System Step by Step
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
آموزش ساخت سیستم عامل 64 بیتی برای Raspberry Pi
با این دوره جامع، نحوه نوشتن یک سیستم عامل 64 بیتی از ابتدا را برای Raspberry Pi 3 و 4 بیاموزید.
قابلیتهای کلیدی که کسب خواهید کرد:
ساخت یک سیستم عامل ساده برای معماری ARM64.
درک عمیق اصول معماری ARM64.
مدیریت وقفه و استثنا (Interrupts and Exceptions) در حالت ARM64.
نوشتن هسته سیستم عامل با استفاده از کدهای اسمبلی و C.
پیادهسازی مدیر حافظه (Memory Manager) با مکانیزم صفحهبندی ARM (Paging).
نوشتن پردازشگر زمانسنج (Timer Handler) برای مدیر فرآیند.
ساخت مدیر فرآیند (Process Manager) برای زمانبندی و مدیریت وضعیت فرآیندها (خواب، آماده، کشته شده).
پیادهسازی ماژول فراخوان سیستمی (System Call) برای اجرای برنامههای کاربر.
نوشتن یک کنسول ساده و تعامل با هسته سیستم عامل از طریق دستورات.
پیادهسازی ماژول سیستم فایل ساده با پشتیبانی از خواندن سیستم FAT16.
محتوای دوره:
این دوره شما را با اصول برنامهنویسی سطح پایین و معماری AArch64 آشنا میکند. گام به گام، یک سیستم عامل کوچک و کاربردی خواهید ساخت.
بخش اول: مبانی معماری AArch64
در این بخش، تمام دانش لازم برای ساخت هسته سیستم عامل بر روی معماری AArch64 را کسب میکنید. با حالتهای پردازنده، صفحهبندی، مدیریت استثنا و وقفه آشنا میشوید و نحوه جابجایی بین حالتهای مختلف پردازشی (EL2 به EL1 و سپس EL0) را خواهید آموخت. هسته سیستم عامل شما در حالت 64 بیتی اجرا خواهد شد و نحوه مدیریت استثنائات و وقفهها، و جابجایی بین حالت هسته و کاربر را فرا خواهید گرفت.
بخش دوم: ساخت ماژولهای هسته
این بخش بر ساخت ماژولهای کلیدی سیستم عامل مانند مدیریت فرآیندها، مدیریت حافظه، و مدیریت وقفه تمرکز دارد. نحوه تعامل با هسته سیستم عامل از طریق کنسول را خواهید آموخت و در نهایت قادر به نوشتن برنامههای کاربر و اجرای آنها بر روی سیستم عامل خود خواهید بود.
یادگیریهای کلیدی این دوره:
ساخت سیستم عامل برای معماری AArch64.
مدیریت وقفه و استثنا (Interrupts and Exceptions).
نوشتن هسته سیستم عامل با کدهای اسمبلی و C.
قابلیت نوشتن تابع چاپ کاراکتر روی صفحه نمایش.
پیادهسازی مدیر حافظه با مکانیزم صفحهبندی (Paging).
نوشتن پردازشگر زمانسنج (Timer Handler) برای مدیر فرآیند.
ساخت مدیر فرآیند (Process Manager) و مدیریت چرخه حیات فرآیندها.
پیادهسازی ماژول فراخوان سیستمی (System Call) برای اجرای برنامههای کاربر.
نوشتن درایور UART.
نوشتن کنسول ساده و تعامل با هسته از طریق دستورات.
پیادهسازی ماژول سیستم فایل با پشتیبانی از FAT16.
پیشنیازها:
دانش اولیه زبان اسمبلی 64 بیتی ARM و زبان C.
نکته: استفاده از Raspberry Pi 3B یا 4 و کابل USB به TTL Serial الزامی نیست.
در پایان این دوره، شما قادر خواهید بود سیستم عامل 64 بیتی دلخواه خود را توسعه دهید.
سرفصل ها و درس ها
مقدمه
Introduction
مقدمه
Introduction
مفاهیم سیستم عامل
Operating System Concepts
ساختارهای سیستم عامل
Operating System Structures
نصب و راه اندازی
Installation and Setup
نحوه اتصال Raspberry Pi به کامپیوتر
How to Connect Raspberry Pi to the Computer
تنظیم کارت حافظه SD برای Raspberry Pi
Set up the SD Card for Raspberry Pi
کار با ویندوز ۱۰
Working with Windows 10
کار با لینوکس (اوبونتو)
Working with Linux (Ubuntu)
کار با MacOS
Working with MacOS
راه اندازی سیستم
Boot Up
اولین برنامه
The First Program
نحوه ساخت و تست پروژه در ماشین مجازی (ویندوز ۱۰)
How to Build and Test Projects on Virtual Machine (Windows 10)
نحوه ساخت و تست پروژه در ماشین مجازی (اوبونتو)
How to Build and Test Projects on Virtual Machine (Ubuntu)
نحوه ساخت و تست پروژه در ماشین مجازی (MacOS)
How to Build and Test Projects on Virtual Machine (MacOS)
نحوه ساخت و تست پروژه در Raspberry pi (ویندوز ۱۰)
How to Build and Test Projects on Raspberry pi (Windows 10)
نحوه ساخت و تست پروژه در Raspberry pi (اوبونتو)
How to Build and Test Projects on Raspberry pi (Ubuntu)
نحوه ساخت و تست پروژه در Raspberry pi (MacOS)
How to Build and Test Projects on Raspberry pi (MacOS)
دریافت داده از Raspberry Pi
Receving Data From Raspberry Pi
ARM64 Calling Convention
ARM64 Calling Convention
یک کتابخانه ساده
A Simple Library
ارسال پیام در Raspberry Pi 3 و qemu (UART)
Sending Message on Raspberry Pi 3 & qemu (UART)
ارسال پیام در Raspberry Pi 4 (UART)
Sending Message on Raspberry Pi 4 (UART)
تابع چاپ
Print Function
افزودن توابع در کتابخانه
Adding Funtions in the Library
Assertion
Assertion
مبانی ARM64
ARM64 Fundamentals
مقدمه
Introduction
سطح فعلی استثناء (Current Exception Level)
Current Exception Level
تغییر به EL1
Switchting to EL1
مدیریت استثناء و وقفه در Raspberry Pi
Exception and Interrupt Handling On Raspberry Pi
مقدمه
Introduction
مدیریت استثناء
Exception Handling
ذخیره رجیسترها
Saving Registers
مدیریت وقفه در qemu (وقفه تایمر)
Interrupt Handling on qemu (Timer Interrupt)
مدیریت وقفه در qemu (UART)
Interrupt Handling on qemu (UART)
تغییر به EL0 در qemu
Switching to EL0 on qemu
مدیریت وقفه در Raspberry Pi 3 (وقفه تایمر)
Interrupt Handling on Raspberry Pi 3 (Timer Interrupt)
مدیریت وقفه در Raspberry Pi 3 (UART)
Interrupt Handling on Raspberry Pi 3 (UART)
تغییر به EL0 در Raspberry Pi3
Switching to EL0 on Raspberry Pi3
مدیریت وقفه در Raspberry Pi 4 (GIC400 و وقفه تایمر)
Interrupt Handling on Raspberry Pi 4 (GIC400 and Timer Interrupt)
مدیریت وقفه در Raspberry Pi 4 (GIC400 و UART)
Interrupt Handling on Raspberry Pi 4 (GIC400 and UART)
تغییر به EL0 در Raspberry Pi4
Switching to EL0 on Raspberry Pi4
مدیریت حافظه
Memory Management
مقدمه
Introduction
فعال کردن Paging در qemu
Enable Paging on qemu
فعال کردن Paging در Raspberry Pi 3
Enable Paging on Raspberry Pi 3
فعال کردن Paging در Raspberry Pi 4
Enable Paging on Raspberry Pi 4
تخصیص دهنده حافظه
Memory Allocator
صفحات حافظه
Memory Pages
صفحات حافظه آزاد
Free Memory Pages
سیستم فایل
File System
مقدمه
Introduction
کار با ویندوز ۱۰
Working with Windows 10
کار با لینوکس (اوبونتو)
Working with Linux (Ubuntu)
کار با MacOS
Working with MacOS
بارگذاری سیستم فایل
Loading File System
ساختار FAT16
FAT16 Structure
خواندن فایلها از ایمیج FAT16
Reading Files from FAT16 Image
نمایش نظرات