PDA

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



sinaset
07-03-2008, 14:51
مقدمه:
سیستم عامل در واقع رابطی است میان کاربر و منابع کامپیوتر به طوری که کاربر بتواند به سهولت با کامپیوترکار کند و در واقع سیستم عامل به عنوان یک user interface عمل کرده و عمل مدیرین منابع را به صودت خودکار انجام میدهد.
یکی از مهمترین مدیریت هایی که سیستم عامل باید به آن بپردازد مدیریت پردازش یا Process Management می باشد.برای انجام عمل مدیریت پردازشها الگوریتم های بسیاری مطرح شده است که با نگاهی ساده می توان دریافت که پیاده سازی تمامی این الگوریم ها برای تشخیص کارایی آنها در عمل کاری غیر ممکن است ؛ چراکه پساده سازی یک الگوریتم و ارزیابی عمل آن با مقیاس های واقعی کاری بسیار مشکل و پر هزینه است.به همین منظور برای انجام چنین تحقیقاتی و تعیین بهینه بودن الگوریتم از روشهای Simulation استفاده می شود که در آن به شبیه سازی الگوریتم مورد نظر پرداخته می شود که نتایج ان معمولا شبیه نتایج پیاده شازی واقعی بوده و با هزینهای بسیار پایین تر از آن پروژه انجام می شود.

شبیه ساز SOsim Console
این شبیه ساز در محیط Delphi به منظور شبیه سازی مراحل چرخۀ پردازش ایجاد شده و نحوۀ مدیریت حافظه را با الگوریتم ها مختلف نشان می دهد. تمامی مراحل ایجاد ، آماده ، اجرا ، انتظار ، معلق ، و انجام اعمال Execute ، Decode ، Fatch را نشان می دهد . همچنین چگونگی اولویت بندی پردازش ها رامی توان یه صورت دستی انجام داد تمامی اعمال را به صورت مستند در یک فایل خروجی ثیت می کند.
نحوۀ کار با این نرم افزار: با اجرای شبیه ساز فرم اصلی شبیه ساز به صورت زیر فعال می شود.

منبع

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


با انجام این مرحله فرم زیرظاهر می شود که در آن میتوانیم یک پر دازش را ایجاد کنیم و موارد زیر را در ان تعین کنیم:

1) نوع پردازش: Cpu Bound و I/O Bound و یا ترکیبی از هر دو.
2) اولویت اجرایی هر پردازش
3) تعداد حداکثر قاب هایی از حافظه را که هر پردازش می تواند در سیستم صفحه بندی به خود اختصاص دهد
4) تعیین رنگ هر پردازش برای نمایش گرافیکی آن در ظول مراحل اجرایی
5) Num. Of Process تعداد پرداهایی که از این نوع درخاست میشود





چهار پردازش را به ترتیب زیر ایجاد می کنیم:

با بیان یکمثال به ادامۀ توضیح شبیه ساز می پردازیم:


توجه داشته باشید که:
1) شماره های جلوی I/O و MIX به این خاطر می باشد که میتوان انواع مختلفی از پردازش های ورودی خروجی را ایجاد کرد مثلا پردازشی برای چاپ یا چردازشی برای نوشتن در فایل بر روی دیسک و غیره...
2) حداکثر 5 فریم می توان برای هر پردازش اختصاص داد.




برای انتخاب رنگ پردازش Process Color را کلیک کرده و از جعبه رنگ ظاهرشده رنگ مورد نظر را انتخاب می کنیم

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

در قسمت Process management پردازش ها به ترتیب اولویتی که قبلا در قسمت Create به آنها اختصاص داده شده است (از 1 تا 15) قرار می گیرند تا به آنها CPU اختصاص داده شود.
صف انتظار صفی است که پردازشهایی که نیاز به ورودی خروجی دارند ، در آن صف منتظر میمانند نا به آنها دستگاه I/O اختضاض یابد


1) پردازش1 به صورت Cpu Bound و با اولویت 1 و تعاد 3 فریم و رنگ آبی
2) پردازش2 به صورت 1_I/O Bound و با اولویت 3 و تعداد 2 فریم و رنگ قرمز
3) پردازش3 به صورت MIX_1 (ترکیب I/O , CPU Bound) و با اولویت 2 و تعداد فریم 4 و رنگ سبز
4) پردازش 4 به صورت I/O Bound_3 و با اولویت 3 و تعداد فریم 1 و رنگ بنفش


در هر لحظه از پردازش می توانیم میزان Clock، Time-slice و IO wait time را به صورت دستی تنظیم کنیم

اکنون با انجام درخواست های مثال بالا قسمت های Memory Management , Process Management را مشاهده می کنیم



Suspend: با انتخاب هر پردازش و کلیک بر روی آن ، پردازش معلق می شود.
Resume: پردازش معلق شده را به حال فعال برمیگرداند.
Delete: این گزینه موجب خدف پردازش می شود.
Priority: با انتخاب این گزینه می توان اولویت هر پردازش را تغییر داد.
Process Control Block ):PCB ) با انتخاب این گزینه جدول PCB , PPT برای هر پردازش قابل ملاحظه است . به شکل زیر توجه کنید
در فرم Select می نوان وضعیت کلی پردازش را مشاهده نمود و آن را تغییر داد. همان طور که ملاحظه می شود رنگ ، شماره شناسایی ، مرحله چرخه ، وضعیت ، میزان مصرف Cpu و تعداد فریم های هر پردازش به صورت جداگانه قابل مشاهده است

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

اعمال عملیات کنترلی بر روی پردازش ها
همان گونه که در شکل ملاحظه می شود هر پردازش به فاب هایی مطابق با آنچه که در فرم Create به آن اختصاص یافته است تقسیم می شود. در این قسمت میتوان page file را مشاهده کرده و میزان حافطۀ مجازی را نیز به صورت دستی تنظیم کرد . ابن تنظیمات از منو های Option و Windows انجام می گیرد.
به شکل های زیر توجه کنید.

با انتخاب گزینۀ Select از منوی Process می توان اعمال کنترلی را بر روی پردازشها انجام داد.

اولین مرحله از اجرای شبیه ساز ، ایجاد پردازش می باشد .برای انجام این کار بر روی گزینه Create از منوی Process کلیک کنید
تمامی عملیاتی که در طی چرخه پردازش انجام می گیرد را می توان به صورت لحظه به لحظه از طریق Logofile ملاحظه کرد. این فایل در پایان برنامه به صورت متنی دخیره می شود و برای انجام تحقیقات بیشتر در اختیار محقق قرار میگیرد.
این شکل آماری با جزئیات دقیق را در اختیار کاربر قرار می دهد.

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]



به اشکال زیر در این مورد توجه کنید.
با انتخاب گزینه های Log و Statistics از منوی Windows می توان فایل لوگوی خروجی حاصل از اجرای پردازش ها را ملاحظه کرد و همچنین آماری دقیق از حالات گزسته و حال پردازش ها را به دست آورد.

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]