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

دانلود 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

فرآیندها Processes

  • مقدمه Introduction

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

  • فریم تله (Trap Frame) Trap Frame

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

  • فراخوانی سیستمی (System Call) System Call

  • زمان‌بندی (Scheduling) Scheduling

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

  • خروج و انتظار Exit and Wait

  • پایان دادن به یک فرآیند Terminate a Process

جمع بندی Putting it All Together

  • ادامه با ماژول فایل Continue with the File Module

  • باز و بسته کردن فایل‌ها Open and Close Files

  • دریافت حجم فایل Get File Size

  • خواندن داده‌های فایل Read File Data

  • Fork Fork

  • Exec Exec

  • مدیریت وقفه صفحه کلید (UART) Keyboard Interrupt Handling (UART)

  • کنسول (qemu) Console (qemu)

  • کنسول (Raspberry pi 3 & 4) Console (Raspberry pi 3 & 4)

  • دستور LS LS Command

نتیجه گیری Conclusion

  • نتیجه گیری Conclusion

نمایش نظرات

آموزش رازبری پای: گام به گام سیستم عامل خود را بنویسید
جزییات دوره
11 hours
71
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,865
4.2 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

x-BIT Development x-BIT Development

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