از آقا مجتبی ممنون ولی جواب ازهار خانوم فقط پیش منه ...
کمی صبر کنین همین امشب جواب رو می ذارم چون باید تایپ بشه
از آقا مجتبی ممنون ولی جواب ازهار خانوم فقط پیش منه ...
کمی صبر کنین همین امشب جواب رو می ذارم چون باید تایپ بشه
نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود
اگه سوال شما رو درست گرفته باشم منظور شما اینه که عمل Cominication در سیستم عامل بین اجزای داخلی چه طوری صورت می گیره ...؟
خب عمل Communication همه از لایه ی Kernel انجام خواهد شد.
قبل از هر چیز نحوه ی اولویت دادن به پردازش ها به این صورت هست:
FIFO
Priority --> اولویت
SJF (Shortest Job First) --> هر کدام از job ها که زمان Rumtime کمتری داشته باشد انتخاب می شود.
MIXED --> بر حسب Cpu Bound و I/O Bound ابتدا یک Job که دارای CPU است انتخاب و سپس I/O Bound انتخاب می شود و دوباره Cpu Bound و بعد I/O Bound.
شکل کل فرایند به صورت بالاست ...
که در پست بعدی توضیحاتش رو میدم ...
البته اگه بد کشیدم ببخشید دیگه
نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود
Running دو حالت داره ... یا حالت USER یا حالت Kernel.
پس اگه ما یک Process سیستمی به حالت Running ارسال کنیم به طور اتوماتیک سیستم به Kernel Mode سوئیچ کرده تا برنامه ی سیستمی را پردازش کنه.
وقتی زمان پردازش تمام می شود که با Interrupt ، تایمر پردازنده از حالت Running به حالت Ready سوئیچ داده شده و مکانیزم Ready آماده به کار می شود و Process در PCB ذخیره می شود.
اگر سیستم در حالت Running باشد و سیستم در User Mode باشد برای خواندن اطلاعات مورد نیاز از روی دیسک Interupt System Call اجرا شده و عملیات خواندن انجام میشود.
همچنین ممکن است Process در صف ورودی و خروجی در حالت Wait قرار بگیره و یا بلافاصله درخواست I/O انجام شده و عملیات I/O تمام شود.
بعد از اتمام عملیات I/O یک سیگنال I/O Complition پراسس را به Wait State انتقال میدهد.
سیگنال Wait پراسس رو به حالت انتظار خواهد بود تا زمانی که به آن نیاز باشد.
برای ذخیره شدن پراسس ، پردازش را بر روی دیسک برده و در صورت نیاز به آن دوباره از State Suspend Ready به State Ready انتقال می دهد.
اگر Suspend ، Process شده باشد و بعد پردازش به آن نیاز داشته باشد.
پس از قسمت Suspend Wait به Wait انتقال پیدا می کند.
در بخش Suspend Wait پردازش منتظر یک حادثه است که اتفاق بیافتد و در صورت اتفاق افتادن این حادثه اطلاعات ممکن است Ready به Suspend انتقال پیدا کند و در بخش Suspend Ready اطلاعات پردازش در دیسک ذخیره شده ولی منتظر هیچ حادثه ای نیست ..!
حادثه ای که ممکن است در Suspend Wait اتفاق بیوفتد ممکن است سنکرون کردن اطلاعات باشند و یا عمیات I/O.
بسته به عملیات مختلف ، مسیرهای مختلفی به Ready وجود دارد.
اگر اطلاعات Process در Wait State کامل شده و سیگنال I/O Completion صادر شود از Suspend Wait یک حافظه به Process داده می شود تا Process از حالت Kernel برای استفاده ی User انتقال پیدا کند و در حافظه ذخیره شود.
به Job Scaduler چون با Job ها کار دارد پس ممکن است به آن High Level Scaduler هم بگویند ولی به Suspend Area دسترسی ندارد.
نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود
اینم توضیحاتش ...
امیدوارم کارت راه بیوفته ...
نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود
با سلام و تشکر زیاد از زحمات دوستان
جناب مصطفی و مجتبی از توضیحات مفیدتون واقعا ممنون.
سوال من یه مقدار ریزتره.
جناب مصطفی در مورد قسمتhold وfork بیشتر توضیح می خواستم(البته با عرض شرمندگی).
فرایندهایی که وارد ready می شوند دو حالت دارند یا از قبل وجود داشتند (که همانtime rans out و swap in ) است ویا جدید به وجود آمده اند(که فکر کنم همان fork و hold باشند)
حال سوال من در مورد حالت دوم است که چگونه سیستم متوجه می شود که باید فرایند جدیدی را به فرایند ها اضافه کند یعنی برای آنpcb بسازد؟ در اصل اگر پدر این فرایند جدید فرایند های موجود در صفهای متفاوت اعم از wait و ready و... نباشد،چگونه این فرایند به وجود می آید؟ مانند حالتی که کابر جدیدی می خواهد از سیستم استفاده کند.
در آثار و رموز طبیعت چنان دقت کن که گویی جاسوس خداوندی
خانوم ازهار من عملکرد اصلی سیستم رو طبق توضیحات بالا خدمت شما دادم.
یعنی سیستم کلا اینجوری عمل می کنه و عملیات ها صورت می گیره ... منتها سوال شما در این مورد جزئیه و باید نسبت به عملکرد سیستم پاسخی بدید.
و ممکنه پاسخ من در این مورد درست نباشه.
برای همین شما کل عملکرد رو دقیق یاد بگیرید و اون موقع می تونید جواب رو خودتون راحت پیدا کنید.
موفق باشید
نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود
در مورد hold و fork هم صبر کنید شب یه مقدار بیشتر بازش می کنم
موفق باشید
نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود
اما تشریح عملیات HOLD و FORK ...
Hold که از اسمش مشخصه ...
گاها در سیستم عملیات هایی نیازه که با هم پردازش بشن و یا یک JOB به JOB دیگری وابسته است برای همین JOB ی که در سیستم است به حالت HOLD رفته و منتظر پیشنیاز خود می شود.
اما در مورد Fork ...
Fork Process پردازشی است که باعث می شود که پردازشی تولید شود ...
در سیستم سنتی ( Fork سنتی ) محتویات Parent در Child که قرار است تولید شود ابتدا کپی می شود. ( مراجعه به عکس پیوست همین پست )
اگر n منفی و یا صفر باشد در child هستیم و اگر n مثبت باشد در مکان Parent یا خود پردازش هستیم.
همچنین کپی ها با Fork تولید می شوند.
وقتی هم سیستم در بخش Child باشد یعنی n<0 و n==0 باشد برنامه یک سیستم ، Call خورده و در نهایت با ایجاد و باز شدن یک Binary File بعد از عمل Execute مقادیر روی Child قرار می گیرد و محتوا عوض می شود.
وقتی Child تولید شد Parent منتظر می ماند تا عملیات Child تمام شود و در نهایت وقتی کار Child تمام شد یک سیگنال به Shel عملیات می دهد و shel عملیات رو بررسی و برمیگرداند.
عملیات را به parent و عملیات از Parent ادامه پیدا می کند.
شل ، Command ها را دریافت می کند و به Process تبدیل می کند....
موفق باشید
نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود
با عرض سلام من نیاز به یک یا چند محقق دارم که از طریق تلفن و اینترنت با من همکار ی کنند برای به اتمام رساندن یک پروژه علمی بسیار مهم من مدیر گروه نو پا تحقیقاتی ساوا هستم در ضمن ساوا نظریه علمی عشق رو بیان کرده و این پیام رو قبلا فرستاده
با تشکر گروه مسئول گروه تحقیقاتی ساوا
در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)
علاقه مندی ها (Bookmarks)