تالار گفتمان مانشت

نسخه‌ی کامل: سوال سوم از فصل دوم
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
1.چه قسمتی از سیستم موجود وظیفه انتقال اطلاعات مربوط به فرایند را به CPU دارد و این عمل نامش چیست ؟

2. کدامیک از عناصر زیر اول از همه تشخیص میدهد که زمان فرایند تمام شده است و فرایند دیگر در صف باید اجرا شود ؟
1.تایمر
2. الگوریتم مربوطه (بستگی به الگوریتم مورد نظر دارد)
3. سیستم عامل
4.بردار وقفه


3. فرایندی که قرار است به حالت Exitبرود از کدامیک از حالات زیر میتواند این کار را بکند ؟
1.حالت اجرا
2. حالت آماده
3.حالت بلاک
4.هر سه مورد
سوال یک
فکر می کنم مبادله گر فرآیند یا چیزی شبیه این

سوال دو
گزینه یک- تایمر. چون تایمر بخشی سخت افزاریه و بقیه گزینه‌ها بخش های نرم افزاری هستن. و از اونجایی که روی سیستم تک پردازنده ایی تنها یک فرآیند میتونه در یک لحظه اجرا بشه و پردازنده رو در اختیار داشته باشه، هیچ کدوم از بخش های نرم افزاری یک سیستم نمی تونن به هیچ وجه متوجه اتمام زمان یک فرآیند بشن.

سوال سه
گزینه چهار. مثلا با خاتمه فرآیند پدر تمام فرآیند های فرزند هم می تونن terminate بشن. این فرآیندی که terminate میشه می تونه در حالت اجرا، آماده یا مسدود باشه.
با تشکر از ehsan_nekooee جوابهای 1و 2 ایشون درست است
اما در مورد سوال سوم زمانی یک فرایند به طور عادی پایان میپذیرد گفته میشود که به حالت terminate رفته
و فقط بعد از حالت اجرا میتوان به این حالت رفت پس گزینه 1 درست است

اما در بعضی موارد نیاز است که فرایند را به حالت kill ببریم یعنی به صورت اجباری خاتمه بدهیم که در هر سه مورد میتوان این کار را کرد

البته لازم است که بگم این چنین سوالاتی جنبه کنکوری نداره چون با توجه به منابع مختلف امکان داره که جوابهای مختلفی بشه داد و فقط برای درک مفهوم بیشتر گفته میشود
(03 شهریور 1390 02:54 ب.ظ)hatami84 نوشته شده توسط: [ -> ]با تشکر از ehsan_nekooee جوابهای ۱و ۲ ایشون درست است
اما در مورد سوال سوم زمانی یک فرایند به طور عادی پایان میپذیرد گفته میشود که به حالت terminate رفته
و فقط بعد از حالت اجرا میتوان به این حالت رفت پس گزینه ۱ درست است

اما در بعضی موارد نیاز است که فرایند را به حالت kill ببریم یعنی به صورت اجباری خاتمه بدهیم که در هر سه مورد میتوان این کار را کرد

البته لازم است که بگم این چنین سوالاتی جنبه کنکوری نداره چون با توجه به منابع مختلف امکان داره که جوابهای مختلفی بشه داد و فقط برای درک مفهوم بیشتر گفته میشود
ولی در کتاب پارسه اقای حقیقت گفته شده که از سه حالت اجرا اماده و بلاک میتوان به خاتمه یا terminate رفت(صفحه 96 و شکل 3-2)
ولی در کتاب پارسه اقای حقیقت گفته شده که از سه حالت اجرا اماده و بلاک میتوان به خاتمه یا terminate رفت(صفحه ۹۶ و شکل ۳-۲)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
منم موافقم تو کتاب حقیقت همینو نوشته.Idea
(01 مهر 1390 12:26 ق.ظ)sasanlive نوشته شده توسط: [ -> ]ولی در کتاب پارسه اقای حقیقت گفته شده که از سه حالت اجرا اماده و بلاک میتوان به خاتمه یا terminate رفت(صفحه ۹۶ و شکل ۳-۲)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
منم موافقم تو کتاب حقیقت همینو نوشته.Idea

بله درسته.
مثلا عمل KILL میتونه در هر سه حالت اتفاق بیفته که باعث برچیده شدن بساط فرایند میشه.
اگر منظور شما از kill شدن و terminate یکی باشه منم با شما موافقم یعنی با دکتر موافقم
ولی فکر کنم بین killشدن و terminate تفاوت هست . به صورت عادی برنامه تمام بشه یا به زور دخلشو بیاریم!!!!!
(07 مهر 1390 12:01 ق.ظ)hatami84 نوشته شده توسط: [ -> ]اگر منظور شما از kill شدن و terminate یکی باشه منم با شما موافقم یعنی با دکتر موافقم
ولی فکر کنم بین killشدن و terminate تفاوت هست . به صورت عادی برنامه تمام بشه یا به زور دخلشو بیاریم!!!!!
تا اونجایی که من متوجه شدم تو این کتاب گفته شده وقتی یک فرایند به پایان میرسه (به هر دلیلی) اون فرایند terminate شده!
و کاملا مسلم هست که بین kill شدن و پایان فرایند به صورت عادی تفاوت هست ولی نهایت هردوی اونها terminate هست.
با توجه به متن ویرایش پنج کتاب استالینگز:

Any State --> Exit: Typically, a process terminates while it is running, either
because it has completed or because of some fatal fault condition. However, in
some operating systems, a process may be terminated by the process that created
it or when the parent process is itself terminated. If this is allowed, then a
process in any state can be moved to the Exit state.

استالینگز تکمیل فرایند و یا پایان کار فرایند به دلیل خطا و یا تشخص والدش رو terminate میدونه.
[attachment=1280][attachment=1270][attachment=1270]بچه‌ها این مطالب هم از کتاب استالینگ هست یک نگاهی بهش بکنید و نظر بدید
من عکسشم براتون میذارم
صفحه ۱۱۸ chapter3

Similarly, a process exits a system in two stages. First, a process is terminated
when it reaches a natural completion point, when it aborts due to an unrecoverable
error, or when another process with the appropriate authority causes the process to
abort. Termination moves the process to the exit state. At this point, the process is
no longer eligible for execution.
The tables and other information associated with
the job are temporarily preserved by the OS, which provides time for auxiliary or
support programs to extract any needed information. For example, an accounting
program may need to record the processor time and other resources utilized by the
process for billing purposes. A utility program may need to extract information
about the history of the process for purposes related to performance or utilization
analysis. Once these programs have extracted the needed information, the OS no
longer needs to maintain any data relating to the process and the process is deleted
from the system.

البته این هم اعتراف میکنم که سوالم یکم واضح نبوده و بابت این موضوع اگه مشکل داشتید معذرت میخوام


دقت کنید که فقط از حالت اجرا میریم به حالت خروج
لینک مرجع