تالار گفتمان مانشت
مقدار اولیه سمافور مدیریت وقفه چند است؟ - نسخه‌ی قابل چاپ

مقدار اولیه سمافور مدیریت وقفه چند است؟ - sonia1990 - 10 بهمن ۱۳۹۲ ۰۱:۲۴ ب.ظ

مقدار اولیه سمافور مدیریت وقفه چند است؟

سلام دوستان من یه جا از کتاب مقسمی خوندم مقدار "۰" با کلی تفسیر و توضیح یه جا دیگه هم خوندم مقدار "۱" با کلی توضیح

حالا گیج شدم بالاخره کدوم؟

RE: مقدار اولیه سمافور مدیریت وقفه چند است؟ - fsi2013 - 10 بهمن ۱۳۹۲ ۰۱:۲۹ ب.ظ

(۱۰ بهمن ۱۳۹۲ ۰۱:۲۴ ب.ظ)sonia1990 نوشته شده توسط:  مقدار اولیه سمافور مدیریت وقفه چند است؟

سلام دوستان من یه جا از کتاب مقسمی خوندم مقدار "۰" با کلی تفسیر و توضیح یه جا دیگه هم خوندم مقدار "۱" با کلی توضیح

حالا گیج شدم بالاخره کدوم؟
سلام
زیاد اهمیتی نداره، این مقدار اولیه!
مقدار اولیه میتونه نشون دهنده ی تعداد فرآیند هایی باشه که میتونن همزمان توی ناحیه بحرانی باشه.مثلا یه جا میتونه این مقدار برابر ۳ باشه یعنی میتونه همزمان ۳ تا فرآیند داخل ناحیه بحرانی باشن.
تست های سال های گذشته رو که ببینی متوجه میشی این مقدار اولیه اهمیتی نداره و میتونی هرجوری فرض بشه

RE: مقدار اولیه سمافور مدیریت وقفه چند است؟ - sonia1990 - 10 بهمن ۱۳۹۲ ۰۱:۵۸ ب.ظ

نه تا اونجایی که من می دونم سمافور وقفه فرق داره

تست کامپیوتر آزاد ۸۹ پاسخی که مقسمی داده:

می تونیم روتین پاسخگویی وقفه رو یک نخ یا پردازش در نظر بگیریم که از یک سمافور با مقدار اولیه صفر استفاده می کند. به این صورت که این روتین وقفه روی سمافر wait می کند. چون مقدار اولیه صفر است این پردازه بلوکه می شود. بعد از اینکه وقفه اتفاق بیافتد این مقدار صفر تبدیل به یک می شود پس یعنی روتین وقفه که رو این سمافور wait کرده بود بیدار می شود و به وقف رسیدگی می کند.


تست IT آزاد ۹۰

می خواهیم هرگاه سرویس روتین وقفه ای اجرا می شود تقاضاهای دیگر برای آن وقفه منتظر بمانند.برای این کار از سمافوری با مقدار اولیه یک برای هر وقفه استفاده می کنیم و این موضوع تفاوتی بین وقفه های سخت افزاری و نرم افزاری ندارد.

RE: مقدار اولیه سمافور مدیریت وقفه چند است؟ - Good! - 10 بهمن ۱۳۹۲ ۰۲:۱۹ ب.ظ

(۱۰ بهمن ۱۳۹۲ ۰۱:۵۸ ب.ظ)sonia1990 نوشته شده توسط:  نه تا اونجایی که من می دونم سمافور وقفه فرق داره

تست کامپیوتر آزاد ۸۹ پاسخی که مقسمی داده:

می تونیم روتین پاسخگویی وقفه رو یک نخ یا پردازش در نظر بگیریم که از یک سمافور با مقدار اولیه صفر استفاده می کند. به این صورت که این روتین وقفه روی سمافر wait می کند. چون مقدار اولیه صفر است این پردازه بلوکه می شود. بعد از اینکه وقفه اتفاق بیافتد این مقدار صفر تبدیل به یک می شود پس یعنی روتین وقفه که رو این سمافور wait کرده بود بیدار می شود و به وقف رسیدگی می کند.


تست IT آزاد ۹۰

می خواهیم هرگاه سرویس روتین وقفه ای اجرا می شود تقاضاهای دیگر برای آن وقفه منتظر بمانند.برای این کار از سمافوری با مقدار اولیه یک برای هر وقفه استفاده می کنیم و این موضوع تفاوتی بین وقفه های سخت افزاری و نرم افزاری ندارد.

اگه مقدار اولیه صفر باشه یعنی خود اون دستگاه مثلا I/O بیدار میکنه فرایند رو؟؟

RE: مقدار اولیه سمافور مدیریت وقفه چند است؟ - fsi2013 - 10 بهمن ۱۳۹۲ ۰۲:۲۳ ب.ظ

(۱۰ بهمن ۱۳۹۲ ۰۱:۵۸ ب.ظ)sonia1990 نوشته شده توسط:  نه تا اونجایی که من می دونم سمافور وقفه فرق داره

تست کامپیوتر آزاد ۸۹ پاسخی که مقسمی داده:

می تونیم روتین پاسخگویی وقفه رو یک نخ یا پردازش در نظر بگیریم که از یک سمافور با مقدار اولیه صفر استفاده می کند. به این صورت که این روتین وقفه روی سمافر wait می کند. چون مقدار اولیه صفر است این پردازه بلوکه می شود. بعد از اینکه وقفه اتفاق بیافتد این مقدار صفر تبدیل به یک می شود پس یعنی روتین وقفه که رو این سمافور wait کرده بود بیدار می شود و به وقف رسیدگی می کند.


تست IT آزاد ۹۰

می خواهیم هرگاه سرویس روتین وقفه ای اجرا می شود تقاضاهای دیگر برای آن وقفه منتظر بمانند.برای این کار از سمافوری با مقدار اولیه یک برای هر وقفه استفاده می کنیم و این موضوع تفاوتی بین وقفه های سخت افزاری و نرم افزاری ندارد.
هردوتا سوالتون سوال دانشگاه آزاده!
ببینید چیزی که من فکر میکنم اینه که کلا منظورشون اینه شما یه ناحیه بحرانی داری میخوای نذاری که همزمان دو تا فرآیند دسترسی داشته باشه!
حالا توی سوال اول و سوال دوم که توضیحشو گذاشتی دوتاشون دارن دقیقا یه حرف رو میزنن!سوال اول حالتی رو داره میگه که یه فرایند توی ناحیه بحرانیه یعنی اومده مقدار سمافور که ۱ بوده رو صفر کرده بعد فرآیند دوم میاد به ناحیه بحرانی دسترسی داشته باشه حالا مقدار سمافور صفر هستش نمیتونه منتظر بمونه بلوکه میشه تا زمانی که اون اولیه که توی ناحیه بحرانی هستش خارج بشه و مقدار سمافور دوباره ۱ بشه
حالا سوال دوم حالتی رو در نظر میگیره که هنوز هیچ فرآیندی توی ناحیه بحرانی وجود نداره یعنی مقدار سمافور ۱ هستش فرایند اول میاد اونو صفر میکنه و وارد بحرانی میشه و بقیه اش هم میشه همون توضیحات قبلی
اینکه گفتم مقدار سمافور میتونه هرعددی باشه هم واسه اینه که تست های زیادی هست که فرض کرده مثلا فلان سمافور y با مقدار اولیه ۳ رو داریم و .... این مدل تست ها توی کتاب مقسمی هست
مقدار سمافور منفی هم میتونه باشه که برابر تعداد فرایند هایی هستش که منتظر ناحیه بحرانی هستن یعنی به اصطلاح wait کردن و توی صف سمافور موندن

RE: مقدار اولیه سمافور مدیریت وقفه چند است؟ - dzzv_13 - 10 بهمن ۱۳۹۲ ۰۲:۳۳ ب.ظ

دوستان دقت کنند (مخصوصا خودم)

برای رعایت انحصار متقابل اگر از سمافور استفاده شود باید مقدار اولیه اش یک باشد
اگر ۰ باشد هر فرآیندی که بخواهد وارد ناحیه بحرانی اش بشود بلوکه می شود و پس از مدتی همه فرآیندها بلوکه می شوند و هیچ گاه بیدار نخواهند شد
علت اینکه n نمیتواند باشد اینست که اینطوری همه n فرایند قادر خواهند بود وارد ناحیه بحرانی شوند

اما بقول دکتر حقیقت قدرت سمافور ها در جایی دیگه هم مشخص میشه و اون هم مبحث همگام سازی هست
یعنی زمانی که دستگاههای I/O میخواد وارد بشوند اونوقت برای اونا مقدار اولیه سمافور رو ۰ میگذاریم تا بلوکه بشوند و بعدا با یک up آماده برای اجراشون کنیم ..

پس دقت کنید سمافوری که میخواین استفاده کنیم در کجا هست ..

موفق باشید

RE: مقدار اولیه سمافور مدیریت وقفه چند است؟ - sonia1990 - 10 بهمن ۱۳۹۲ ۰۲:۳۵ ب.ظ

اینکه گفتم مقدار سمافور میتونه هرعددی باشه هم واسه اینه که تست های زیادی هست که فرض کرده مثلا فلان سمافور y با مقدار اولیه ۳ رو داریم و .... این مدل تست ها توی کتاب مقسمی هست
مقدار سمافور منفی هم میتونه باشه که برابر تعداد فرایند هایی هستش که منتظر ناحیه بحرانی هستن یعنی به اصطلاح wait کردن و توی صف سمافور موندن

آره اینو میدونم


مرسی ممنون از توضیحاتتون احتمالا مقسمی سوال اول رو گزینه اشتباه جواب داده

RE: مقدار اولیه سمافور مدیریت وقفه چند است؟ - fsi2013 - 10 بهمن ۱۳۹۲ ۰۲:۵۸ ب.ظ

(۱۰ بهمن ۱۳۹۲ ۰۲:۳۵ ب.ظ)sonia1990 نوشته شده توسط:  اینکه گفتم مقدار سمافور میتونه هرعددی باشه هم واسه اینه که تست های زیادی هست که فرض کرده مثلا فلان سمافور y با مقدار اولیه ۳ رو داریم و .... این مدل تست ها توی کتاب مقسمی هست
مقدار سمافور منفی هم میتونه باشه که برابر تعداد فرایند هایی هستش که منتظر ناحیه بحرانی هستن یعنی به اصطلاح wait کردن و توی صف سمافور موندن

آره اینو میدونم


مرسی ممنون از توضیحاتتون احتمالا مقسمی سوال اول رو گزینه اشتباه جواب داده

من ندارم سوالایی که گفتین رو!