صفحه 1:
خر وج
سا
صفحه 2:
* حالات فرایند
* مدل go حالته برای فرایند
* ایجاد و پایان فرایند
* یک مدل پنج حالته
* فرایند های معلق
*" شرح فرایند
* ساختار های کنترلی سیستم عامل
* ساختار های کنترلی فرایند
"" کنترل فرایند
* حالات اجرا
* ایجاد فرایند
* تعویض فرایند
* اجرای سیستم عامل
"" سوالات دوره ای
صفحه 3:
یک مجموعه از داده ها و دستورالعمل ها
* برای اينکه یک برنامه اجرا شود یک فرایند ایجاد می شود.
صفحه 4:
"! سيستم عامل بايد در بين اجراى فرایند ها قرار بگیرد. تا
هم زمان ياسخ قلبل قبول باشد و هم استفاده از
يردازنده حداكثر.
"" سیستم عامل بلید با پیروی از یک سیاست معین منابع را
به فرایند ها نسبت دهد همچنین از بروز بن بست
جلوگیری کند.
۴ در صورت لزوم از ایجاد ارتباط میان فرایندها و تولید
فرایند توسط کاربر حمایت کند.
صفحه 5:
فرایند میتواند در یکی از دو حالت زیر باشد:
* اجرا
* غير اجرا
Dispatch
gt
Not 1 Exit
ES
= Running
Pause
(a) State transition diagram
صفحه 6:
۴ پرای طراحی موثر سیستم عامل. باید مدل روشنی از یک فرایند داشته
باشیم.
۴ اولین گام در طراحی برنامه ای برای کنترل فرایند ها بیان رفتار مورد
انتظار آنهاست.
۴ هر فرایند باید شامل اطلاعات زیر باشد :
* حالت فعلی
مکان در حافظه
glee ™ فضای افغال vad توسظ ان
"" فرایند های در حال اجرا نیاز به صف بندی ندارند.
صفحه 7:
"" صف می تواند لیستی از اشاره گر ها به فرایند ها باشد.
۴ یا میتواند یک لیست پیوندی از جدولهای اطلاعاتی باشد که هر
جدول بیانگر یک فرایند است.
۴ توزیع کننده بر روى اين صف عمل ميكند.
صفحه 8:
طول عمر یک فرايند محدود به زمان ایجاد و پایان فرایند می
شود.
* ایجاد فرایند:
* برای فرایند جدیدی که به لیست فرایند های سیستم عامل اضافه میشود.
سیستم عامل ساختمان داده های لازم را برای آن فرایند را ساخته و فضای
لازم از حافظه اصلی را به آن اختصاص میدهد.
Obl * فرایند:
* سیستم عامل باید وسیله ای برای نشان دادن پایان یک فرایند داشته باشد.
معمولاً از یک دستور توقف که توسط فرایند اجرا میشود. استفاده ميشود.
صفحه 9:
Mn SS! ۰ ۰ 3 35
حوادثى كه منجر به ايجاد فرايند ميشوند عبارتند از :
* کار دسته اى جديد
* برقرارى ارتباط محاوره اى
* ارائه يك خدمت توسط سيستم عامل
* زايش توسط فرايند موجود
صفحه 10:
حوادئی که منجر به خاتمه یک فرایند میشوند عبارتند از
<١ خطای محاسباتی
9 د آمدن شرایط خطا
ا د > خطای ورودی / خروجی
يايان يافتن يدر
مرغواست بد J خطای حفاظت
" مسو العمل ممتاز
صفحه 11:
* در مدل ۲ حالته اگر تمام فرایند ها همواره در حال اجرا باشند, نظام
صف بندى گردشی مناسب است.
* ممکن است برخي از فرايند هاى موجود در صف به دليل انتظار براى
یک عمل ورودی خروجی مسدود باشند.
۴ حالت عبر اجزا را به دو حالت زیر می شکنیم:
مسدود
؟ آماده
* همچنین دو حالت جدید زیر را نی
* جدید
نیز اضافه می کنیم.
* خروج
صفحه 12:
صفحه 13:
* اجرا :فرایندی که هم اکنون در حال اجراست.
* آماده : فرایندهایی که وقتی به آنها فرصت داده شود برای اجرا آماده
"" مسدود: فرایندی که تا بروز حادثه مثل اتمام یک عمل ورودی خروجی
نمی تواند اجرا شود.
9 جدید: فرایندی که هم اکنون ایجاد شده اما هنوز در لیست فرایند های
قابل اجراى سيستم نيست. (اصطلاحاً هنوز در حافظه بار نشده)
۴ خروج: فرایندی که به دلیل اجرای دستور توقف یا به دلیل دیگری
خاتمه یافته است.
صفحه 14:
"" صف مسدود واحد: تمام فرایند های مسدود در یک صف واحد قرار
مى گيرند. با بروز یک حادثه تمام فرایندهای منتظر برای آن حادثه
بايد از صف خارج شوند.
(8) صف مسدود واحد
صفحه 15:
صف مسدود چندگانه:
جه ازای هر حادقه یک صبف
در نظرگرفته میشود و تمام
فرایند های یک صف با
بروز حادثه به صف فرایند
های قابل اجرا میروند.
ek
is
حادنه
صفحه 16:
* پردازنده ها بسیار سریعتر از ورودی خروجی لند. بنابراین تمام پردازنده
ها باید برای عمیلیات ورودی خروجی منتظر بمانند.
فرایندهای منتظر را به حافظه انویه انتقال داد تا فضای آزاد
پیشتری در حافظه اصلی داشته باشیم.
۴ فرایندهای مسدود انتقال داده شده به دیسک را فرایندهای معلق مى
* معلق و آماده: فرایند بر روی دیسک است. اما به محض بار شدن در حافظه
Lol خواهد بود.
* معلق و مسدود: فرایند بر روی دیسک در انتظار یک رخداد است.
صفحه 17:
صفحه 18:
صفحه 19:
" مبادله : برای آوردن فرایند آماده, به اجرا نیاز به فضای حافظه آزاد
است.
" دلایل دیگر سیستم عامل: ممکن است سیستم عامل فرایندی را که
د مشکل است را معلق کند.
دوخوانست: کار بومجاووهای ممکن است کاربر پشواهد به منظور
اشکال alos یا استفاده از منابع اجرای برنامه را معلق کند
تیب زمانی: ممکن است فرایندی به طور دوره ای اجرا شود و هنگام
انتظار به صورت معلق باشد.
'" درخواست فرایند پدر: ممکن است فرایندی اجرای فرایند دیگری را که
خودش بوجود آورده است به تعلیق بیاندازد.مثل درخواست پدر برای هماهنگی
فرزندان.
صفحه 20:
صفحه 21:
" سيستم عامل براى مديريت فرايندها و منابع؛ بايد اطلاعاتى در
مورد وضعيت كنونى هر منبع و فرايند داشته باشد.
۴ برای تهیه اين اطلاعات سیستم عامل برای هر موجودیتی که
مدیریت میکند. جداول اطلاعاتی لازم را ساخته و مدیربت
صفحه 22:
سیستم عامل
ازچهار نوع جدول
برای مدیریت
منابع استفاده
میکند:
*جدول حاقظه
جدول
ورودی/خروجی
جدول پرونده
جدول فرایند
0 اف
0
صفحه 23:
1۱5 EST eyed
am 6
] امالکیت
متیازات| استفاده
فرایند | | از
a> Ga
امدیریت|
حافظه
صفحه 24:
pie پردازنده ها حداقل از دو حالت اجرا حمایت میکنند:
* حالت کاربر(کم امتیاز) : برنامه کاربران در این حالت اجرا میشود.
* حالت هسته (ممتاز | سیستم / کنترل)
* تغییر حالت معمولا در واکنش به وقفه هاء فراخوانی سیستم و
همینطور بعضی دستورالعمل های خاص (۳۱)) انجام می شود.
* تنها حالت هسته میتواند ساختمان داده ها را اصلاح کند.
صفحه 25:
* تخصیص یک شناسه یکتا به فرایند جدید:
* تخصیص فضا به فرایند
مقدار كذارى اولیه بلوک کنترل فرایند
* شناسه فرایند. شناسه پدر
* جز شمارنده برنامه و اشاره گر پشته بقیه با صفر مقدار دهی میشوند.
* اطلاعات کنترل فرایند بر اساس مقدار پیش فرض مقدار دهی ميشوند.
۴ برقراری پیوند های لازم
™ ایجاد و گسترش ساختمان داده های دیگر
* حافظه پرونده هاء
صفحه 26:
"اما معمولاً در يك سيستم بين فرايندهاى كوناكون سوئيج
ميكنيم. عواملى كه موجب تعويض فرايند ميشوند عبارتند
از:
* وقفه خارجى
* وقفه ساعت
* وقفه ورودیاخروجی
* تله داخلی
* خطای صفحه
* دستورالعمل غير مجاز
* فراخوانى سريرست
صفحه 27:
# در صورت بروز هر یک از عوامل قبلی کارهای زیر انجام میشود:
* وضعیت فعلی پردازنده (ثبات هاء پرچمها) ذخیره میشود.
* اشاره گر برنامه با آدرس اولین دستورالعمل روال مناسب مقدار دهی
ميشود.
* به حللت هسته تغییر حللت میشود. بنابرلین دستورات ممتاز میتوانند
استفاده شوند.
صفحه 28:
* متن برنامه (ثباتها ...) ذخیره ميشوند.
۴ حالت فرایند فعلی به روز میشود(اجرا به مسدود.آماده. خروج)
* کنترل به صف مناسب(صف مسدود.معلقآماده) واگذار ميشود.
۴ انتخاب فرایند دیگری برای اجرا
۴ به روز کردن بلوک کنترل فرایند انتخاب شده
9 به روز کردن ساختمان داده های مدیریت حافظه
۴ بار كذارى مجدد متن برنامه
صفحه 29:
۴ هسته غیر فرایند
* هسته خارج از متن فرایند در حال اجره اجرا میشود.
* هسته حافظه و پشته مخصوص به خود دارد.
۴ اجرا در خلال فرایند های دیگر
* فراخوانی های سیستمی در متن فرایند در حال اجرا رخ میدهد.
* معمولا در مینی کامپیوتر و میکروکامپیوتر هاست
* تصوير هر فرایند ساختمان داده های کاربر و سیستم را با هم داراست.
"" سیستم عامل های مبتنی بر فرایند
* سیستم عامل به عنوان مجموعه ای از فرایند های سیستمی طراحی ميشود.
* مشوق استفاده از سيستم عامل مؤلفه اى, با ارتباط روشن بین موّلفه هاست
* در سیستم های چندپردازنده ای کاربرد دارد
صفحه 30:
صفحه 31:
رد یک دستورالعمل چیست؟
* رد یک فرایند عبارت است از ترتیب دستورالعمل هایی که برای آن
فرایند اجرا میشوند .
صفحه 32:
۲ کدام حوادث معمولا منجر به ایجاد فرایند جدید میشوند؟
* کار دسته ای جدید
*برفزاری ارتباط تخاوره ای تتجدید
* ارائه یک خدمت توسط سیستم عامل
* زايش توسط فرایند موجود
صفحه 33:
* برای مدل پردازشی شکل ۵ به اختصار هر حالت را تعریف کنید.
* در حال اجرا : فرایندی که هم اکنون در حال اجراست.
* آماده : فرایندی که آماده برای اجراست و تنها در انتظار توزیع وقت پردازنده
seal
WO مسدود : فرایندی که در انتظار یک رخداد (مانند کامل شدن یک عمل
است و تا وقوع آن نمی تواند اجرا شود.
جدید : فرایندی که تنها ایجاد شده اما هنوز سیستم عامل اجازه ورود به مخزن
فرایند های قابل اجرا را به آن نداده است.
خروج : فرایندی که به خاطر اجرای دستور توقف ویابه دلیلی دیگر قطع شده و
از مخزن فرایند های قابل اجرای سیستم عامل خارج ميشود.
صفحه 34:
۴ قبضه کردن یک فرایند به چه معناست؟
* قبضه كردن يك فرايند زملنى رخ ميدهد كه سيستم عامل به فرايند
در حال اجرا وقفه اى صادر ميكندىءتا به اجراى يك فرايند با اولويت
بالاتر بيردازد
صفحه 35:
"" مبادله چیست؟ و چرا انجام میشود؟
* مبادله عبارتست از انتقال دادن بخش یا تمام یک فرایند از حافظه
اصلی به دیسک. زملنی که هیچکدام از فرایند های موجود در حافظه
اصلی آماده برای اجرا نباشند. سیستم ale یک فرایند مسدود را از
حافظه به صف فرایند های معلق در دیسک انتقال میدهد. بنابراین
فرایند دیگری برای اجرا میتواند به حافظه آورده شود.
صفحه 36:
0 35 0 a
چرا در شکل ۸-۳ دو حالت مسدود داریم؟
دو مفهوم کاملا متفاوت وجود دارد: فرایند میتواند در انتظار یک *
رخداد باشد يا نباشد ( مسدود يا غیر مسدود) همچنین فرایند
میتولند در صف فرایند های معلق باشد یا نباشد (معلق یا غیرمعلق).
این ۴ ترکیب ما نیاز به دو حالت آماده و دو حالت مسدود داریم. lp
صفحه 37:
۴ چهار خصوصیت فرایند معلق را بگویید؟
فرايندى كه فوراً قابل اجرا نيست.
ميتواند در انتظار يك رخداد باشد يا نباشد. اكر منتظر
شرط مسدود بودن مستقل از شرط معلق بودن است و بروز
حادثه اى كه لن فرايند در انتظار لن بوده. كن فرايند را قادر به
اجرا نمى كند.
* اين فرايند (توسط خودش . فرايند يدرء يا سيستم عامل) در
حالت تعلیق قرار گرفته است تا از اجرای آن جلوكيرى شود.
* ممکن است تا زمانی که آن عامل صراحتاً دستور نداده است
نتوان فرایند را از حالت معلق خارج کرد.
باشد.
صفحه 38:
برای مقاصد مدیریتی» سیستم عامل از چه جدولهایی استفاده
میکند؟
* سیستم عامل برای نهاد های وایسته به حافظه
* ورودیاخروجی
* فایلها
فرایند ها از جدول های اطلاعاتی استفاده میکند.
صفحه 39:
۴ در یک بلوک کنترل فرایند. سه گروه عمومی اطلاعات را فقط
نام ببرید؟
* اطلاعات Sol کنترل فرایند به سه دسته کلی تقسیم میشود:
شناسایی فرایند. اطلاعات وضعیت پردازنده. اطلاعات کنترل فرایند.
صفحه 40:
* چرا دو حالت کاربر و هسته نیاز است؟
* حللت کاربر در اجرای بعضی دستورالعملها و دسترسی به مناطقی از
حافظه محدود است. این محدودیت برای محافظت کردن از سیستم
عامل در برابر آسیب ها و تغییرات ناخواسته است. در حللت هسته,
سیستم عامل فاقد لین محدودیت هاست بنابراین متولند وظایف خود
را انجام دهد.
صفحه 41:
۴ برای ایجاد فرایند جدید سیستم ole چه اقداماتی را انجام
میدهد؟
* تخصیص یک شناسه یکتا به فرایند جدید
* تخصیص فضا برای فرایند.
* مقدار گذاری اولیه در بلوک کنترل فرایند.
* برقراری پیوندهای لازم.
ایجاد و گسترش ساختمان داده های
صفحه 42:
* تفاوت وقفه و تله چیست؟
* یک وقفه معمولا از یک رخداد خارجی و مستقل از فرایند در حال
اجرا ناشی میشود مانند کامل شدن عملیات ورودی خروجی. اما یک
تله به خطا یا یک شرلیط استثناتی تولید شده توسط فرایند جاری باز
میگردد مانند تلاش برای دستیابی غیر مجاز به یک پرونده.
صفحه 43:
g,
قفه نید؟
بزني
۳ are
های ۳ 1
دم حافظه
خطای ۳ ۱
1
صفحه 44:
۴ تفاوت بین تغییر حالت و تعویض فرایند چیست؟
* تغيير حالت ممکن است بدون تفییر وضعیت فرایند در حال اجرا
اتفاق بیفتد. تعویض فرایند شامل خارج کردن فرایند در حال اجرا از
حللت اجرا برای اجرای یک فرایند دیگر است. بنابرلین تعویض فرایند
در بر كيرنده تفییر حالت است.