۰
subtitle
ارسال: #۱
  
تست سیستم عامل- ۵۹ آزاد ۸۹
اکر بخواهیم از سمافور برای مدیریت وقفه ها استفاده کنبم مقدار اولیه سمافور چند است؟
۰
۱
بستکی به وقفه دارد
از سمافور نمی توان برای مدیریت وقفه استفاده کرد
ایا اصلا میشه از سمافور برای مدیریت وقفه ها استفاده کرد اکر یله چگونه چطور؟
۰
۱
بستکی به وقفه دارد
از سمافور نمی توان برای مدیریت وقفه استفاده کرد
ایا اصلا میشه از سمافور برای مدیریت وقفه ها استفاده کرد اکر یله چگونه چطور؟
۰
ارسال: #۲
  
RE: تست ۵۹ ازاد ۸۹
به نظر من بستگی به وقفه داره...
تحلیل من اینطوریه که :
مثلا برای چاپگر من بافر دارم که اطلا عات رو در اون قرار میدم برای چاپ حالا هر چه قدر ظرفیت بافر من باشه من میتونم مقدار سمافور اولیه رو تعیین کنم
حالا اگه وقفه ی من مربوط به کیبورد باشه چون باید به صورت آنی عمل کنه نباید در حین اینکه کاری رو انجام میده فشار دادن کلیددیگری باعث اختلال در کار قبلی بشه یعنی به طور همزمان نمیشه با کیبور کار کرد و ۲ کلید با هم کار کنن پس اینجا نیاز به سمافوری با مقدار ۱ داریم.
تحلیل من اینطوریه که :
مثلا برای چاپگر من بافر دارم که اطلا عات رو در اون قرار میدم برای چاپ حالا هر چه قدر ظرفیت بافر من باشه من میتونم مقدار سمافور اولیه رو تعیین کنم
حالا اگه وقفه ی من مربوط به کیبورد باشه چون باید به صورت آنی عمل کنه نباید در حین اینکه کاری رو انجام میده فشار دادن کلیددیگری باعث اختلال در کار قبلی بشه یعنی به طور همزمان نمیشه با کیبور کار کرد و ۲ کلید با هم کار کنن پس اینجا نیاز به سمافوری با مقدار ۱ داریم.
۰
ارسال: #۳
  
تست ۵۹ ازاد ۸۹
من این توضیح رو از مقسمی می گم.
می تونیم روتین پاسخگویی وقفه رو یک نخ یا پردازش در نظر بگیریم که از یک سمافور با مقدار اولیه صفر استفاده می کند. به این صورت که این روتین وقفه روی سمافر wait می کند. چون مقدار اولیه صفر است این پردازه بلوکه می شود. بعد از اینکه وقفه اتفاق بیافتد این مقدار صفر تبدیل به یک می شود پس یعنی روتین وقفه که رو این سمافور wait کرده بود بیدار می شود و به وقف رسیدگی می کند. پس میشه گزینه ۱/
به نظر خودم اگر بگیم که مقدار اوایه سمافور یک هست درست نیست چون وقتی روتین وقفه روی آن سمافور عمل wait رو انجام بده این روتین با وجود اینکه وقفه ای در کار نیست ولی اجرا میشه چون مقدارش یک هست ولی اگه صفر باشه روتین بلوکه شده و صبر می کنه تا وقفه بیاد و سمافور رو یک کنه و از خواب بیدارش کنه.
می تونیم روتین پاسخگویی وقفه رو یک نخ یا پردازش در نظر بگیریم که از یک سمافور با مقدار اولیه صفر استفاده می کند. به این صورت که این روتین وقفه روی سمافر wait می کند. چون مقدار اولیه صفر است این پردازه بلوکه می شود. بعد از اینکه وقفه اتفاق بیافتد این مقدار صفر تبدیل به یک می شود پس یعنی روتین وقفه که رو این سمافور wait کرده بود بیدار می شود و به وقف رسیدگی می کند. پس میشه گزینه ۱/
به نظر خودم اگر بگیم که مقدار اوایه سمافور یک هست درست نیست چون وقتی روتین وقفه روی آن سمافور عمل wait رو انجام بده این روتین با وجود اینکه وقفه ای در کار نیست ولی اجرا میشه چون مقدارش یک هست ولی اگه صفر باشه روتین بلوکه شده و صبر می کنه تا وقفه بیاد و سمافور رو یک کنه و از خواب بیدارش کنه.
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close