آموزش سیستم های عامل - بخش پنجم

Views:
 
Category: Entertainment
     
 

Presentation Description

سیستم‌عامل یا سامانه عامل (Operating System) بدون شک مهمترين نرم افزار در کامپيوتر است. سیستم عامل اولین نرم افزاری است که پس از روشن کردن کامپیوتر مشاهده می شود، و همچنین آخرین نرم افزاری خواهد بود که قبل از خاموش کردن کامپیوتر مشاهده می شود. سرفصل هایی که در این آموزش به آن پرداخته شده است: درس یکم: مفاهیم اولیه درس دوم: فرایند –نخ درس سوم: زمان بندی پردازنده درس چهارم: بن بست ... برای توضیحات بیشتر و تهیه این آموزش لطفا به لینک زیر مراجعه بفرمائید: http://faradars.org/courses/fvsft103

Comments

Presentation Transcript

slide 1:

یاه متسیس شزومآ لماع faradars.org/fvsft103 سردم : نکفاریش دیشرف نارهت هاگشناد یرتکد یوجشناد دشرا یسانشراک و یسانشراک : رازفا مرن رتویپماک یرتکد : کیتامروفنا ویب لماع یاه متسیس 1 سرداﺮﻓ FaraDars.org

slide 2:

یاه متسیس شزومآ لماع faradars.org/fvsft103 2 مجنپ لصف مود تمسق روفامس سرداﺮﻓ FaraDars.org

slide 3:

یاه متسیس شزومآ لماع faradars.org/fvsft103 روفامس دندوب یدايز فعض طاقن یاراد ، ميدرک یسررب هک یرازفا تخس و یرازفا مرن یاه لح هار . یرارقرب رد یدايز تردق روفامس لباقتم راصحنا لياسم فلتخم عاونا هدهع زا و دراد یزاس ماگمه یم رب ديآ . 3 کي روفامس راتخاس تسا ريز یاهدلیف لماش : 1 - حیحص هدنرامش count شرامش دادعت wakeup رده دنهاوخ یم هک یياه دنورب . لانگیس هریخذ یدعب یاه هدافتسا یارب اه 2 - فص queue یرادهگن روفامس یور رب هدش هکولب یاهدنيارف . سرداﺮﻓ FaraDars.org

slide 4:

یاه متسیس شزومآ لماع faradars.org/fvsft103 روفامس فيرعت struct semaphore int count queuetype queue 4 سرداﺮﻓ FaraDars.org

slide 5:

یاه متسیس شزومآ لماع faradars.org/fvsft103 عبات wait عبات wait ، دوش یم دودسم ،فص رد دنيارف ،دوش یفنم رگا و هدرک مک هدنرامش زا دحاو کي . void waitsemaphore s s.count s.count –1 if s.count 0 place this process in s.queue block this process 5 سرداﺮﻓ FaraDars.org

slide 6:

یاه متسیس شزومآ لماع faradars.org/fvsft103 عبات signal عبات signal ، دوش یم دازآ ،فص رد هدش دودسم لبق زا دنيارف کي ،دوشن رفص زا رتشیب هدنرامش رادقم رگا ،دنک یم هفاضا هدنرامش هب دحاو کي . void signalsemaphore s s.count s.count +1 if s.count 0 remove a process from s.queue place this process in ready queue 6 رکذت : زا نوتم زا یضعب رد down اي P هب یاج wait و زا up اي V هب یاج signal دوش یم هدافتسا . سرداﺮﻓ FaraDars.org

slide 7:

یاه متسیس شزومآ لماع faradars.org/fvsft103 وفامس زا هدافتسا اب لباقتم راصحنا اهر semaphore mutex 1 void pint i whileTRUE waitmutex critical-section signalmutex non-critical-section هدایپ یزاس راصحنا لباقتم هب کمک ،روفامس طرش یاه راصحنا ،لباقتم تفرشیپ و راظتنا دودحم ار هدروآرب یم ک دن . 7 دنيارف ود یارب لباقتم راصحنا P1 و P2 : سرداﺮﻓ FaraDars.org

slide 8:

یاه متسیس شزومآ لماع faradars.org/fvsft103 فیعض و یوق روفامس دوش یم هدافتسا هدش هکولب یاهدنيارف یرادهگن یارب یفص زا اهروفامس رد . دشاب دورو بیترت هب فص نيا زا جورخ رگا FIFO ، نآ هب یوق روفامس نینچ نيا رگا و دنيوگ یم نآ هب ،دشابن روفامس فیعض دنيوگ یم . دراد دوجو یگنسرگ ناکما ،فیعض روفامس رد . 8 سرداﺮﻓ FaraDars.org

slide 9:

یاه متسیس شزومآ لماع faradars.org/fvsft103 لاثم دنشاب یزاوم دنناوت یمن زمرق طوطخ . 9 نیچ طخ : روفامس یور ندش هکولب lock زمرق طخ : ینارحب هیحان سرداﺮﻓ FaraDars.org

slide 10:

یاه متسیس شزومآ لماع faradars.org/fvsft103 روفامس عاونا 1 - یمومع دناوت یم هدنرامش ،ميدرک یسررب ار نآ هک یمومع روفامس رد تبثم ، رفص اي و یفنم دشاب . 2 - یيودود ريداقم طقف ،یيودود روفامس رد 0 و 1 دنک یم تفايرد ار . 10 تسا لداعم یمومع روفامس اب یيودود روفامس تردق . سرداﺮﻓ FaraDars.org

slide 11:

یاه متسیس شزومآ لماع faradars.org/fvsft103 void waitsemaphore s if s.count 1 s.count 0 else place this process in s.queue block this process void signalsemaphore s if s.queue is empty s.count 1 else remove a process from s.queue place this process in ready queue عباوت wait و signal یرنياب روفامس یارب 11 سرداﺮﻓ FaraDars.org

slide 12:

یاه متسیس شزومآ لماع faradars.org/fvsft103 اهروفامس زا هدافتسا اب یزاس ماگمه روفامس یاراد یياناوت یدايز رد لح لئاسم ماگمه یزاس تسا . 12 سرداﺮﻓ FaraDars.org

slide 13:

یاه متسیس شزومآ لماع faradars.org/fvsft103 لاثم یم میهاوخ ادتبا روتسد S1 و سپس S2 ارجا دوش . زا یروفامس هب مان S اب رادقم هیلوا رفص هدافتسا یم مینک . P1 P2 S1 signalS waitS S2 هک ینامز ات S1 یارجا ،دوشن ارجا S2 تسین نکمم . 13 P1 P2 S1 S2 سرداﺮﻓ FaraDars.org

slide 14:

یاه متسیس شزومآ لماع faradars.org/fvsft103 ؟تسا نکمم ارجا یاه بیترت زا کي مادک یاهروفامس هیلوا رادقم S و Q تسا رفص ربارب . P1 P2 P3 . . signalS waitQ . . waitS . signalQ P P P  1 3 2 لاثم 14 سرداﺮﻓ FaraDars.org

slide 15:

یاه متسیس شزومآ لماع faradars.org/fvsft103 دینک صخشم ار یجورخ . رادقم روفامس ود هیلوا S و Q رفص ربارب تسا . P1 P0 waitQ cout "A" signalS cout "B" cout "E" signalQ waitS cout "C" cout "D" 15 P1 P0 . 2 waitQ 3 cout "A" 4 signalS 5 cout "B" . . . 9 cout "E" 1 signalQ . . . . 6 waitS 7 cout "C" 8 cout "D" . لاثم پاچ : ABCDE سرداﺮﻓ FaraDars.org

slide 16:

یاه متسیس شزومآ لماع faradars.org/fvsft103 ؟دینک صخشم ار یجورخ روفامس ود هیلوا رادقم S و Q تسا رفص ربارب P1 P2 cout"1" signalS waitQ cout"2" signalS waitS cout"3" signalQ waitS cout"4" 16 P1 P2 1 cout"1" 2 signalS . . . 6 waitQ 7 cout"2" 8 signalS . . . . 3 waitS 4 cout"3" 5 signalQ . . . 9 waitS 10 cout"4" لاثم پاچ : 1324 سرداﺮﻓ FaraDars.org

slide 17:

یاه متسیس شزومآ لماع faradars.org/fvsft103 لاثم رادقم a و b ؟دش دهاوخ دنچ روفامس هیلوا رادقم s یاهریغتم هیلوا رادقم و کي ربارب ab دنشاب یم کي ربارب زین . P1 P2 aa+2 bb+1 signals bb+1 a3 waits ba+b waits aa+b 17 P1 P2 . . . aa+2 bb+1 signals . . bb+1 a3 waits ba+b . . . waits aa+b . 3 4 0 5 5 1 10 5 0 10 6 a b s a b s a b s a b           سرداﺮﻓ FaraDars.org

slide 18:

یاه متسیس شزومآ لماع faradars.org/fvsft103 هلئسم فرصم و هدننکدیلوت هدننک کي هزادنا هب یرفاب رد ار اهنآ و دیلوت ار هداد یعون ،رتشیب اي هدننکدیلوت n رارق دنهد یم . کي دراد یمرب رفاب زا یکي یکي ار ملقا نيا ،هدننک فرصم . رد دشاب هتشاد یسرتسد رفاب هب دناوت یم هدننک دیلوت اي هدننک فرصم نامز ره . 18 سرداﺮﻓ FaraDars.org

slide 19:

یاه متسیس شزومآ لماع faradars.org/fvsft103 زاین دروم یاه روفامس 1 - روفامس mutex : یروفامس یارب تياعر طرش راصحنا لباقتم ،تسا ات دیلوت هدننک و فرصم هدننک هب روط نامزمه هب ب رفا یسرتسد هتشادن دنشاب . اب رادقم هیلوا 1 2 - روفامس full : یروفامس یارب شرامش دادعت هناخ یاه رپ رفاب اب رادقم هیلوا 0 3 - روفامس empty : یروفامس یارب شرامش دادعت هناخ یاه یلاخ رفاب اب رادقم هیلوا n 19 سرداﺮﻓ FaraDars.org

slide 20:

یاه متسیس شزومآ لماع faradars.org/fvsft103 void consumer int item whileTRUE waitfull waitmutex itemremove signalmutex signalempty consume void producer int item whileTRUE item produce waitempty waitmutex insertitem signalmutex signalfull 20 سرداﺮﻓ FaraDars.org

slide 21:

یاه متسیس شزومآ لماع faradars.org/fvsft103 هلئسم هدننک دیلوت - ، هدننک فرصم دودحمان رفاب اب یزاین هب روفامس empty تسین . سپ waitempty و signalempty فذح یم دوش . void consumer int item whileTRUE waitfull waitmutex itemremove signalmutex consume void producer int item whileTRUE item produce waitmutex insertitem signalmutex signalfull 21 سرداﺮﻓ FaraDars.org

slide 22:

یاه متسیس شزومآ لماع faradars.org/fvsft103 ميراد فوسلیف جنپ . یگدنز تسا هدش لیکشت ندرک رکف و ندروخ بوانتم هرود ود زا فوسلیف ره . ره دراد ینوراکام باقشب کي فوسلیف . نیب دراد رارق لاگنچ کي ،اه باقشب زا تفج ره . 22 اه فوسلیف ندروخ اذغ هلئسم ره فوسلیف یارب ندروخ زا ود لاگنچ نیفرط باقشب فتسا هدا دنک یم . ینامز هک ره فوسلیف هنسرگ یم ،دوش یعس یم دنک ود نچ لاگ تمس پچ و تسار دوخ ار درادرب . رگا قفوم ،دش یارب یتدم اذغ یم دروخ و سپس لاگنچ اه ار نیمز یم دراذگ و هب رکف همادا یم دهد . سرداﺮﻓ FaraDars.org

slide 23:

یاه متسیس شزومآ لماع faradars.org/fvsft103 23 هلأسم هيذغت نافوسلیف هولع رب راصحنا لباقتم هک رد ي ک نامز ود فوسلیف یمن دنناوت زا کي لاگنچ هدافتسا دننک ، ياب د یوگباوج نب تسب و یگنسرگ زین دشاب . سرداﺮﻓ FaraDars.org

slide 24:

یاه متسیس شزومآ لماع faradars.org/fvsft103 semaphore room4 semaphore fork51 void philosopher int i whileTRUE think wait room wait forki wait forki+1 5 eat signal forki+1 5 signal forki signal room فوسلیفره ادتبا لاگنچ پچ و سپس لاگنچ تسار ار رب یم دراد . دعب زا هيذغت کي ،فوسلیف ود یلاگنچ هک هدافتسا یم درک ار یور زیم ذگ هتشا و نارگيد یم دنناوت هدافتسا دننک . هار لح 24 void main parbegin p0p1p2p3p4 سرداﺮﻓ FaraDars.org

slide 25:

یاه متسیس شزومآ لماع faradars.org/fvsft103 روفامس room اب رادقم هیلوا 4 ، یارب نيا تسا هک هزاجا دورو هب شیب زا راهچ رفن هداد دوشن . رگا رثکادح راهچ فوسلیف هتسشن ،دنشاب لقادح کي رفن هب ود لاگنچ یسرتسد دهاوخ اد تش . رگا زا room هدافتسا یمن دش و هزاجا دورو نامزمه هب ره جنپ هدادرفن یم ،دش همه اهنآ یاهلاگنچ پچ دوخ ار هتشادرب و رگيد لاگنچ یفاضا یمن دنام هک یسک دناوتب لاگنچ تسار دوخ ار ب درادر . نياربانب نب تسب خر یم داد . 25 سرداﺮﻓ FaraDars.org

slide 26:

یاه متسیس شزومآ لماع faradars.org/fvsft103 هيارآ state : تیعضو یراج فوسلیف رکف ندرک 0 ، یگنسرگ 1 و ندروخ 2 define LEFT i-1 5 define RIGHT i+1 5 typedef int semaphore semaphore mutex1 semaphore s5 int state5 26 لح هار موابننت باتک void philosopher int i whileTRUE think take_forksi eat put_forki نيا هار لح نب تسب درادن . کي فوسلیف رد یتروص هک چیه کي زا نافوسلیف پچ و ،شتسار رد لاح ندروخ ،دنشابن یم دناوت اذغ دروخب . سرداﺮﻓ FaraDars.org

slide 27:

یاه متسیس شزومآ لماع faradars.org/fvsft103 void take_forksint i waitmutex statei 1 testi signalmutex waitsi void put_forksint i waitmutex statei0 test LEFT test RIGHT signalmutex void testint i if statei1 stateLEFT2 stateRIGHT 2 statei2 signalsi 27 رکف ندرک 0 ، یگنسرگ 1 و ندروخ 2 سرداﺮﻓ FaraDars.org

slide 28:

یاه متسیس شزومآ لماع faradars.org/fvsft103 و ناگدنناوخ هلئسم ناگدنسيون تسا کرتشم اهدنيارف زا یدادعت نیب هک دراد دوجو لياف لثم یا هداد هیحان ،هلئسم نيا رد . دنسيونب نآ رد دنهاوخ یم هدنسيون یاهدنيارف و دنناوخب هیحان نيا زا دنهاوخ یم هدنناوخ یاه دنيارف . هلئسم نيا طيارش : 1 - دنناوخب لياف زا نامزمه تروص هب دنناوت یم ناگدنناوخ زا دادعت ره . 2 - دسيونب لياف نيا رد تسا نکمم دنيارف کي اهنت نامز ره رد . 3 - دناوخب ار لياف دناوت یمن یا هدنناوخ چیه ،تسا نتشون لاح رد یا هدنسيون هک یماگنه . 28 سرداﺮﻓ FaraDars.org

slide 29:

یاه متسیس شزومآ لماع faradars.org/fvsft103 یارب لاثم یدايز دادعت هک ديریگب رظن رد ار یيامیپاوه نویساورزر متسیس کي دنيارف دننک یم تباقر رگيدکي اب ندناوخ و نتشون یارب نآ رد . دنيارف کي رگا یلو دنناوخب ار هداد هاگياپ نامزمه روط هب دنناوت یم دنيارف دنچ لاح رد ياپ هب ديابن ،ناگدنناوخ یتح رگيد یاهدنيارف ،دشاب هداد هاگياپ یناسر زور هب هداد هاگ دنشاب هتشاد یسرتسد . 29 سرداﺮﻓ FaraDars.org

slide 30:

یاه متسیس شزومآ لماع faradars.org/fvsft103 ناگدنناوخ تيولوا دنراد میهد یم دورو هزاجا هدنناوخ هب ،دراد دوجو یا هدنناوخ هک ینامز ات . typedef int semaphore semaphore mutex1 semaphore w1 int rc0 void writer whileTRUE waitw writing signalw 30 void reader while TRUE waitmutex rc rc+1 if rc 1 waitw signalmutex reading waitmutex rc rc-1 if rc 0 signalw signalmutex سرداﺮﻓ FaraDars.org

slide 31:

یاه متسیس شزومآ لماع faradars.org/fvsft103 روفامس w : لامعا راصحنا لباقتم روفامس : mutex نانیمطا زا رییغت م ت بسان rc ریغتم یرسارس rc : شرامش دادعت ناگدنناوخ طسوت if لوا ، هب نیلوا هدنناوخ هزاجا دورو هداد یم دوش . رد یتروص هک هدنسيون یا لاعف دشابن . طسوت if یناياپ ، یسررب یم مینک هک رگا هدنناوخ لاعف یرگيد دوجو هتشادن ،دشاب رد تروص هکنيا هدنسيون هکولب ش هد یا هتشاد ،میشاب هب نآ هزاجا هداد دوش . 31 سرداﺮﻓ FaraDars.org

slide 32:

یاه متسیس شزومآ لماع faradars.org/fvsft103 رد هلئسم ناگدنناوخ – ناگدنسيون رد یتلاح هک ناگدنناوخ تيولوا ،دنراد راظتنا دودحم تياعر یمن ،دوش نوچ ناکما یگنسرگ ناگدنسيون دوجو دراد . 32 سرداﺮﻓ FaraDars.org

slide 33:

یاه متسیس شزومآ لماع faradars.org/fvsft103 33 ناياپ مجنپ لصف سرداﺮﻓ FaraDars.org

slide 34:

یاه متسیس شزومآ لماع faradars.org/fvsft103 یاه متسیس شزومآ لماع faradars.org/fvsft103 34 سردارف رد هدش حرطم تاکن یانبم رب اه ديلسا نيا « لماع یاه متسیس شزومآ » تسا هدش هیهت . دیيامن هعجارم ريز کنیل هب شزومآ نيا دروم رد رتشیب تاعلطا بسک یارب . سرداﺮﻓ FaraDars.org