سیستم عامل کوثر

سیستم عامل فارسی کوثر

سیستم عامل کوثر

سیستم عامل فارسی کوثر

سیستم عامل کوثر

سیستم عامل کوثر یک سیستم عامل فارسی بر پایه معماری X86 می باشد. هدف این سیستم عامل تا اطلاع ثانوی آزمایشی / آموزشی می باشد. این سیستم عامل بر پایه هیچ سیستم عامل دیگری مانند لینوکس و ... نمی باشد و از ابتدا توسط توسعه دهندگان آن نوشته شده است.
ما از علاقمندان به برنامه نویسی و طراحی سیستم در همکاری و توسعه این سیستم عامل استقبال می کنیم. نیازی نیست که شما برنامه نویسی و یا ... خبره باشید. حتی با دانش کم هم می توان به ما کمک کرد.
امید است بعد از مراحل آموزشی به مرحله بهره برداری از یک سیستم عامل کاملا بومی برسیم.
emadrezvani@chmail.ir

آخرین نظرات
نویسندگان

سلام

با توجه به اینکه پروژه وارد فاز طراحی مدیریت حافظه شده است من در این پست کوتاه ، به ساختار داده ترجمه آدرس مجازی به فیزیکی می پردازم.

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


برای ترجمه آدرس ، شما نیاز به یک ساختار داده دارید که با استفاده از آن بتوانید پروسه ترجمه آدرس را مدیریت کنید.

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

این جدول شامل:

  • اندیس : شماره صفحه مجازی (حافظه مجازی)
  • هر خانه جدول شامل:
             - شماره صفحه: شماره صفحه فیزیکی (حافظه اصلی)
             - بیت حضور: تعیین کننده اینکه صفحه در حافظه اصلی است یا خیر؟
             - بیت تغییر: تعیین کننده اینکه آیا صفحه در حافظه اصلی تغییر کرده است.
             - بیت فقط خواندنی: تعیین کننده اینکه صفحه فقط خواندنی است.
             - بیت ارجاع: تعیین کننده اینکه آیا به صفحه مراجعه شده است.

استفاده از سایر بیت ها بستگی به نیاز پروژه شما دارد.

تعریف ساختار داده:

struct TranslateTable
{
تعریف اندیس:
int NumVpage;

تعریف شماره صفحه:
int NumPhPage;

تعریف بیت ها به ترتیب بالا:
bool Pr_page;
bool Mdf;
bool R_onley;
bool Ref_page;
}

نکته: البته می توان به جای bool از یک نوع داده مناسب دیگر استفاده کرد.
با تشکر
تیم سیستم عامل کوثر

  • مازیار نون

نظرات  (۵)

  • عماد رضوانی
  • سلام. بسیار عالی.
    به نظرم بهتر نبود از پایه تر شروع میکردی ؟ مدیریت حافظه فیزیکی.
  • مازیار نظریان
  • سلام
    یعنی منظورت آوردن برنامه کاربر از دیسک به حافظه اصلی برای اجرا است؟

  • عماد رضوانی
  • نه. سلسله مراتب مدیر حافظه بدین صورت هست که اول باید حافظه فیزیکی مشخص بشه و شما مدیریت روی اون داشته باشی و بعد مراحل بعد ...
    مثلا اگه دقت کرده باشی توی بخش دیالوگ یک بخش به نام Memory Managment هست که حافظه فیزیکی رو مشخص میکنه.
  • مازیار نظریان
  • منظور شما رو به اون صورت متوجه نشدم.
    ولی اگر منظورت خواندن از حافظه اصلی است که به صورت کلمه با یک نوع داده خاص از حافظه دستورات یا داده ها را می خونی.

  • عماد رضوانی
  • نوشتن مدیر حافظه از نوشتن مدیر حافظه فیزیکی شروع میشه(physical memory management)

    ارسال نظر

    ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
    شما میتوانید از این تگهای html استفاده کنید:
    <b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
    تجدید کد امنیتی