۰
subtitle
ارسال: #۱
  
سوال سمافور ۲۵% دوم پارسه
سوال ۹۰
اول بگم با سمافور من مشکل دارم و سعی کردم با این سوال یادش بگیرم ولی بازم ناموفق بود
۱- تویه سوال میگه مقدار اولیه سمافور s برابر ۱ است؟؟ این یعنی چی یعنی هر لجظه فقط یک فرایند میتونه وارد بشه!!! یا داره شمارنده count رو میگه!!!
۲- تویه زمان ۱۰۰ p1 با عمل down یا wait روبرو میشه؟ یعنی وقتی دستو down یا حالا همون P می بینه؟ چی میشه! یکدونه از شمارنده کم میکنه ؟
۳- چرا مقدار شمارنده تویه زمان ۱۰۰ صفر هست سوال نگفته مقدار اولیش ۱ هست؟؟
۴- حالا اگه بگیم مقدار اولیه ربطی به شمارنده نداره مقدار شمارنده باید اولش صفر باشه که منطقیش هم همین هست! جالا وقتی تویه زمان ۱۰۰ down رو داریم با فرایند p1 چه اتفاقی برای p1 میافته !!
اگه تا چندتا از زمانهاش جلوتر برید ممنون میشم!
تا همینجاش هم کسی بتونه بهم توضیح بده خیلی خوب میشه چون الگوریتم سمافور رو هنوز نتونستم درست درک کنم شاید اینجا بتونم متوجه بشم داره چی میشه!
اول بگم با سمافور من مشکل دارم و سعی کردم با این سوال یادش بگیرم ولی بازم ناموفق بود
۱- تویه سوال میگه مقدار اولیه سمافور s برابر ۱ است؟؟ این یعنی چی یعنی هر لجظه فقط یک فرایند میتونه وارد بشه!!! یا داره شمارنده count رو میگه!!!
۲- تویه زمان ۱۰۰ p1 با عمل down یا wait روبرو میشه؟ یعنی وقتی دستو down یا حالا همون P می بینه؟ چی میشه! یکدونه از شمارنده کم میکنه ؟
۳- چرا مقدار شمارنده تویه زمان ۱۰۰ صفر هست سوال نگفته مقدار اولیش ۱ هست؟؟
۴- حالا اگه بگیم مقدار اولیه ربطی به شمارنده نداره مقدار شمارنده باید اولش صفر باشه که منطقیش هم همین هست! جالا وقتی تویه زمان ۱۰۰ down رو داریم با فرایند p1 چه اتفاقی برای p1 میافته !!
اگه تا چندتا از زمانهاش جلوتر برید ممنون میشم!
تا همینجاش هم کسی بتونه بهم توضیح بده خیلی خوب میشه چون الگوریتم سمافور رو هنوز نتونستم درست درک کنم شاید اینجا بتونم متوجه بشم داره چی میشه!
۰
ارسال: #۲
  
RE: سوال سمافور ۲۵% دوم پارسه
سلام دوست عزیز ببنید: وقتی مقدار سمافور برابر با ۱ باشه یعنی فقط یک فرایند میتونه در ناحیه ی بحرانی باشه. اگه مثلا مقدار سمافور برابر با ۲ باشه میشه ۲ فرایند همزمان در ناحیه ی بحرانی قرار بگیرند. مقدار اولیه سمافور ۱ هست. در زمان ۱۰۰ یک wait روی سمافور داریم پس مقدارش میشه ۰/ در بازه ی زمانی بعدی دوباره یک wait توسط p1 صورت میگیره و باعث میشه مقدار سمافور بشه -۱ . منفی شدن مقدار سمافور باعث میشه که فرایند P1 بلاک بشه. در بازه زمانی بعدی یه SIGNAL روی سمافور داریم. باعث میشه که P1 از حالت بلوکه در بیاد. در دوبازه ی زمانی بعدی ۲ تا wait داریم که باعث میشه که هم p1 و هم p3 بلاک بشن. ولی چون اولویت p1 بالاتره ، تابع signal بعدی باعث میشه که p1 از حالت بلاک دربیاد و همین طور تا آخر
امیدوارم تونسته باشم کمکتون کنم
موفق باشید.
امیدوارم تونسته باشم کمکتون کنم
موفق باشید.
۰
ارسال: #۳
  
RE: سوال سمافور ۲۵% دوم پارسه
سلام دوست عزیز
هر پرسسی که عمل wait رو رو یک سمافور انجام میده یکی از شمارندش کم میکنه حلا هر مقداری میخواد داشته باشه وقتی شمارنده ۰ بود و پرسسی روش عمل wait انجام داد این پرسس تو صف پروسسهای خوابیده این سمافور قرار میگیره و به خواب میره اینجا میتونید شمارنده رو منفی کنید یا همون صفر نگهش دارید ولی باید حواستون به صف خوابیده های سمافور باشه اگه با صفر نگهش میدارید تا زمانی که مقدارش صفر هست هر پرسسی که wait کنه روی این سمافور بخواب میره تو صف خوابیده های سمافور قرار میگیره و مقدار سمافور همون صفر میمونه اگه خواستید منفیش کنید به ازای هر پرسسی که wait انجام میده یکی از شمارنده کم میشه(منفی تر) میشه و پرسس هم که بخواب میره
و اما عمل سیگنال ، هر پرسسی که عمل سیگنال رو روی یک سمافور انجام میده بصورت طبیعی یکی به شمارندش اضافه میکنه اما اگه شمارنده صفر باشه به صف سمافور نگاه میکنه اگه پروسسی تو صف بود اونو از صف اخراج میکنه و پروسه بعد این اخراج بیدار میشه و میره تو صف آماده برا گرفتن cpu ولی شمارنده همچنان صفر میمونه تا اینکه هیچ پرسسی تو صفش نمونه به این حالت که رسید(خالی شدن صف) هر کی رو این سمافور سیگنال انجام بده شمارنده رو یکی اضاف میکنه (حتی اگه مقدار صفر باشه) اما اگه سمافور منفی بود علاوه بر اینکه پرسس سر صفش از صف اخراج میشه شمارندش هم یک واحد اضاف میشه
یک نکته دیگه هم یادمون باشه سمافور فقط و فقط برای ورود به ناحیه بحرانی نیست یکی از کاربردهاش برای ورود به ناحیه بحرانی هست
هر پرسسی که عمل wait رو رو یک سمافور انجام میده یکی از شمارندش کم میکنه حلا هر مقداری میخواد داشته باشه وقتی شمارنده ۰ بود و پرسسی روش عمل wait انجام داد این پرسس تو صف پروسسهای خوابیده این سمافور قرار میگیره و به خواب میره اینجا میتونید شمارنده رو منفی کنید یا همون صفر نگهش دارید ولی باید حواستون به صف خوابیده های سمافور باشه اگه با صفر نگهش میدارید تا زمانی که مقدارش صفر هست هر پرسسی که wait کنه روی این سمافور بخواب میره تو صف خوابیده های سمافور قرار میگیره و مقدار سمافور همون صفر میمونه اگه خواستید منفیش کنید به ازای هر پرسسی که wait انجام میده یکی از شمارنده کم میشه(منفی تر) میشه و پرسس هم که بخواب میره
و اما عمل سیگنال ، هر پرسسی که عمل سیگنال رو روی یک سمافور انجام میده بصورت طبیعی یکی به شمارندش اضافه میکنه اما اگه شمارنده صفر باشه به صف سمافور نگاه میکنه اگه پروسسی تو صف بود اونو از صف اخراج میکنه و پروسه بعد این اخراج بیدار میشه و میره تو صف آماده برا گرفتن cpu ولی شمارنده همچنان صفر میمونه تا اینکه هیچ پرسسی تو صفش نمونه به این حالت که رسید(خالی شدن صف) هر کی رو این سمافور سیگنال انجام بده شمارنده رو یکی اضاف میکنه (حتی اگه مقدار صفر باشه) اما اگه سمافور منفی بود علاوه بر اینکه پرسس سر صفش از صف اخراج میشه شمارندش هم یک واحد اضاف میشه
یک نکته دیگه هم یادمون باشه سمافور فقط و فقط برای ورود به ناحیه بحرانی نیست یکی از کاربردهاش برای ورود به ناحیه بحرانی هست
۰
ارسال: #۴
  
RE: سوال سمافور ۲۵% دوم پارسه
چرا در زمان ۸۰۰ فرایند p3 که قدیمیتره از حالت بلوک خارج نمیشه و p2 خارج میشه؟
اگه درمورد اولویت چیزی نگفتند همیشه فرایندی ک شماره ی کوچیکتر داره اولویت داره؟
یا هرکی زودتر وارد صف شده زودترم خارج میشه؟
اگه درمورد اولویت چیزی نگفتند همیشه فرایندی ک شماره ی کوچیکتر داره اولویت داره؟
یا هرکی زودتر وارد صف شده زودترم خارج میشه؟
ارسال: #۵
  
RE: سوال سمافور ۲۵% دوم پارسه
(۳۰ آبان ۱۳۹۲ ۱۱:۲۲ ق.ظ)atenaa نوشته شده توسط: چرا در زمان ۸۰۰ فرایند p3 که قدیمیتره از حالت بلوک خارج نمیشه و p2 خارج میشه؟
اگه درمورد اولویت چیزی نگفتند همیشه فرایندی ک شماره ی کوچیکتر داره اولویت داره؟
یا هرکی زودتر وارد صف شده زودترم خارج میشه؟
چون تویه صورت سوال گفته فرایندی که شمارش کوچکتره برای راه اندازی اولویت داره
۰
ارسال: #۷
  
RE: سوال سمافور ۲۵% دوم پارسه
(۳۰ آبان ۱۳۹۲ ۱۱:۵۲ ق.ظ)atenaa نوشته شده توسط: اگه درمورد اولویت چیزی نگفتند چطور؟
اونوقت همون حرف خودتون درسته فرایندی که زودتر وارد صف شده زودتر هم خارج میشه! حالت پیشفرض همینه که در مورد اولویت چیزی نگن که همون فرایندی که زودتر رفته تویه صف خوب زودتر هم باید نوبتش بشه دیگه!!
ولی در مورد اولویت چیزی بگه میشه مثل همین سوال
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close