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

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

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

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

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

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

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

رفتار فرآیند و نخ (چرخه زندگی) - بخش دوم

مازیار نون | دوشنبه, ۱۶ تیر ۱۳۹۳، ۱۰:۲۹ ب.ظ

سلام

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

در بخش قبلی من اشاره کردم که یک استثنائی برای نخ ها در زمان مسدود شدن فرآیند وجود دارد. آن هم این است که نخ های سطح کاربر (آنهایی که در خارج از هسته هستند) در زمان مسدود شدن فرآیند به حالت مسدود نمی روند بلکه به در همان حالت اجرا می مانند ، اما این بدان معنی نیست که نخ های سطح کاربر توسط CPU بعد از حتی مسدود شدن فرآیند در حال اجرا باشند ، بلکه توسط کتابخانه نخ سطح کاربر در حالت اجرا دیده می شوند. در واقع نخ های سطح کاربر توسط هسته ایجاد نمی شوند و مدیریت آنها بر عهده کتابخانه نخ است. کتابخانه نخ شامل روال هایی برای مدیریت نخ از جمله ایجاد نخ ، تغییر حالت نخ و ... است.

حتی وقفه هایی مانند Interrupt(timeout) هم باعث مسدود شدن نخ نمی شود بلکه مسدود شدن نخ دارای شرایط خاصی است.

نکته: این روشی که من در بالا گفتم ، فقط برای مدل نخ های چند به یک است.

طراحی مدل حالت برای فرآیند یا نخ با ماشین های حالت امکان پذیر است. در این ماشین حالت فرآیند از یک حالت به حالت دیگر می رود و این حرکت گذر (یا انتقال) خوانده می شود. بدین ترتیب اجرای فرآیندها را می توان کنترل کرد.

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

  • حالت غیر اجرا
  • حالت اجرا
در این مدل طبق شرایط زیر گذرها انجام می شود:
  • ورود -> غیراجرا: این گذر بعد از ایجا فرآیند صورت می گردد و بدین صورت است که ابتدا فرآیند ایجاد شده و بلاک کنترل آن به همراه کد و داده (تصویر فرآیند) در حافظه اصلی قرار می گیرد و وارد یک صف به نام غیر اجرا می شود.
  • غیر اجرا -> اجرا: این گذر توسط توزیع کننده انجام می شود و پس از زمانبندی لیست ، فرآیند مورد نظر به پردازنده تحویل داده می شود.
  • اجرا -> پایان: این گذر به شرایط اتمام فرآیند بستگی دارد مانند پایان عادی برنامه ، خطای دسترسی به یک فایل ، و....
  • اجرا -> غیر اجرا: این گذر زمانی اتفاق می افتد که فرآیند برای رویدادی منتظر بماند یا برهه زمانی آن به پایان رسیده باشد یا فرآیندی با اولویت بالاتر از راه رسیده باشد .... در هر صورت فرآیند باز به صف غیراجرا به حافظه بر می گردد.
نوع صف بندی استفاده شده در مدل ابتدایی دارای مشکلاتی است زیرا فرآیندهایی که شرایط اجرا شدن را ندارند همچنان در حالت آماده قرار می گیرند.توزیع کننده باید در صف به جستجوی فرآیندهایی باشد که شرایط اجرا شدن را دارند.
در بخش بعدی مدل های دیگری بررسی می شود...
با تشکر
تیم سیستم عامل کوثر
  • مازیار نون

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

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