Quantcast
Channel: دانلود فایل رایگان
Viewing all articles
Browse latest Browse all 46175

مقاله در مورد مديريت پردازشprocess management

$
0
0
 nx دارای 39 صفحه می باشد و دارای تنظیمات در microsoft word می باشد و آماده پرینت یا چاپ است فایل ورد nx  کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه  و مراکز دولتی می باشد. این پروژه توسط مرکز nx2 آماده و تنظیم شده است توجه : در صورت  مشاهده  بهم ريختگي احتمالي در متون زير ،دليل ان کپي کردن اين مطالب از داخل فایل ورد مي باشد و در فايل اصلي nx،به هيچ وجه بهم ريختگي وجود ندارد بخشی از متن nx : مدیریت پردازشprocess management 1-7- مقدمه یك processیك برنامه در حال اجرا میباشد . سیستم unix برای كنترل نمودن process های در حال اجرا برنامه های مختلفی را فراهم ساخته است . بی شك برنامه ps مهمترین برنامه از این نوع میباشد كه وضعیت process های كنونی شما را نشان میدهد . هنگامیكه process ها در صحنه اجرا میشوند ، میتوان بوسیله سیگنال هائیكه از صفحه كلید ارسال میگردد آنها را متوقف نمود . اما برای مدیریت process هائیكه در زمینه اجرا میگردند با استفاده از فرمان kill آنها را متوقف میسازیم . دیگر فرامینی كه در این فصل مورد بررسی قرار میگیرد امكان تغییر دادن محیط process ها را فراهم میسازند . فرمان nice اولویت اجرای process را كاهش میدهد تا process های دیگر بیشتر مورد توجه قرار گیرند . فرمان nohup این امكان را در اختیار شما قرار میدهد كه پس از خروج از سیستم process شما همچنان در حال اجرا باقی بماند . فرمان at این امكان را در اختیار شما قرار میدهد كه برنامه ای را در زمانیكه شما تعیین می نمائید به اجرا در بیاید . 2-7- گزارش وضعیت process ها فرمان psیك برنامه در حال اجراء رایك process مینامند وهر process بوسیله یك شماره واحد شناخته میشودبه این شماره PID ویاشماره مشخصه process میگویند. process های باشماره مشخصه process1. 0 های ویژه سیستم میباشند. process شماره صفرkernel سیستم unix میباشدو process شماره init process .1 نام دارد. این process وظیقه برپاسازی ساختار process ها را بر عهده دارد . در سیستم unix تمام process ها توسط process دیگر ایجاد میشوند كه به آن process پدر میگویند. پدرویابه تعبیری دیگر پدر بزرگ تمام process ها process شماره 1 میباشد. شماره مشخصه بقیه process ها در محدوده 2 تا 30000 قراردارد .برنامه ps نه تنها pid هابلكه اطلاعات دیگر ی درمورد process های در حال اجراءرا نمایش میدهد.برای مثال جهت مشاهده وضعیت process های اجراءشده در زمینه ویامشخص نمودن pid برای خاتمه دادن به process كه درزمینه در حال اجراء میباشد از فرمان ps استفاده میكند همچنین از فرمان ps برای مشاهده process هائی كه توسط دیگر استفاده كنندگان به اجراءدر آمده استفاده میكنیم.اگرهیچ opthion رادر سطرفرمان ps اختصاص ندهیدتنها اطلاعات مربوط به process های ترمینال كنترلی خودرامشاهده خواهیدكرد.$ pspid tty time command25 2b 0:09 sh156 2b 0:01 ps$چهارفیلدخروجی عبارتنداز شماره مشخصه process ونام ترمینال كنترلی. زمان مصرف شده برای اجرای فرمان ونام فرمان.معمولا process ها ازطریق یك ترمینال كنترلی به اجراء در می آیند .اگر یك process كه درزمینه اجراءمیگردد به ترمینال كنترلی اختصاصی نیافته باشد به آن daemon process ویا daemons میگویند. برای مشاهده وضعیت یك process خاص بصورت زیر عمل نمائید$ ps_ p25pid tty time command 25 01 0:09 sh$برای اجراءكردن یك process درزمینه در انتهای سطرفرمان علامت(E) راقراردهید در اینصورت اجرای process شروع میگردد بدون آنكه ترمینال شما منتظر خاتمه یافتن اجرای process گردد . $ ls _ lr / >/ dev/ null e 157$هنگامیكه اجرای یك process در زمینه شروع میشود shell یك شماره بعنوان شماره مشخصه process نشان میدهد . در مثال فوق عدد 157 شماره مشخصه process است كه در زمینه اجراء نموده ایم . خروجی فرمان ls كه به صورت بازگشتی از ریشه به اجراء در میاید بصورت استاندارد بر روی صفحه ترمینال ما ظاهر میگردد كه ما با تغییر مسیر دادن آن به فایل null از اینكار جلو گیری نموده ایم . $PS PID TTY TIME COMMAND 25 2b O:O9 SH 157 2b O: P3 LS- LR 158 2b O:O1 PS $ اگر فرمان PS را بعد از چند لحظه دوباره به اجراء در بیاورید مشاهده خواهید كرد كه زمان مصرف شده برای فرمان ils اضافه میشود. $PS PID TTY TIME COMMAND 25 2b O:O9 SH 157 2b O: 4 LS – LR 158 2b O:O1 PS $تا بحال از فرم كوتاه فرمانps استفاده نمودیم برای استفاده ا زفرم بلند خروجی فرمان ps از L ـ در سطر فرمان ps استفاده نمائید . $ ps – l F S UID PID PPID C PRI NI ADDR S2 WCHAN TTY TIME CMD 1 S USEN 2 25 1 0 30 20 39 32 CHILD 2B 0: 10 SH 1 R USEN 2 160 25 13 56 20 46 64 2B 0: 01 PS $البته ممكن است كه اعداد خروجی فرمان PS با آنچه كه شما بر روی ترمینال خود مشاهده میكنید تفاوت داشته باشد . در اینجا شرح مختصری در مورد فیلدها و اطلاعات موجود در آنها رابیان می نمائیم . lag : f اختصاص داده شده به process 01 : در حافظه 02 : system process 4 : برای i/o فیزیكی در حافظه قفل شده 10 : در حال swap20 : بوسیله process دیگری ردیابی میگردد. S : حالت process S: SLEEP W : منتظر WAIT R : در حال اجراء run I: میانی INTErMEDIATE Z : خاتمه یافته T : متوقف شده UID : اسم استفاده كننده مالك processPID : شماره مشخصه processPPID : شماره مشخصه برای پدر processC : زمان مصرف شده CPU برای زمانبندی processPRI : الویت process ( اعداد بزرگتر – اولویت كمتر را نشان میدهند ) NI : عددی كه در محاسبه اولویت استفاده میگردد . ADDR : اگر process در حافظه باشد این عدد آدرس حافظه را نشان میدهد و در غیر اینصورت آدرس دیسك میباشد . SZ : اندازه process در حافظه WCHAN : هنگامیكه یك process تقاضائی دارد كه در دسترس نمیباشد process تا زمان مهیا شدن نیازش باید منتظر بماند . علت انتظار process بصورت یك آدرس در این فیلد نوشته میشود . اگر فیلد خالی باشد process در حال اجراء میباشد . TTY : اسم ترمینال كنترلی process TIME : زمان مصرف شده برای اجرای process با استفاده از فرمان PS میتوانید تمام process های در حال اجراء را مشاهده نماید . برای اینكار میتوانید از –EL در سطر فرمان PS استفاده نمائید. $PS – EL F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 3 S 0 0 45 0 20 1D 8 NUNOUT 570:08 SWAPPEL1 S 1 0 0 30 20 2 9 40 CHIED 0:01 INIT 1 S 26 1 0 28 20 3D 32 TTY(O) 2C 0:05 GETTY1 S USEN2 30 1 0 30 20 39 32 HILD 2B 0:10 SH1 R USEL2 161 30 13 56 20 46 64 2B 0:01 PS 1 S 21 1 0 40 20 4A 40 SLEEP 1:12 CLON $ 3=7-خاتمه دادن به یك process فرمان KILLگاهی از اوقات لازم است كه اجرای یك process را كه شما شروع نموده اید متوقف سازید . مثلا برنامه آنطور كه شما مایل بودید عمل نمیكند و یا اینكه دیگر نیازی به اجرای برنامه ای كه در زمینه اجرا نمودید ندارید . یك برنامه كه در زمینه اجراء میگردد نه تنها بوسیله وقفه بلكه بوسیله سیگنال quit هم خاتمه نمی یابد ، زیراshell process , های زمینه را از سیگنال ها محفوظ نگاه میدارد . اما بوسیله ارسال سیگنال نرم افزاری خاتمه ، میتوانید یك process را كه در زمینه در حال اجراء شدن است خاتمه دهید . زیرا shell در مقابل این signal محافظتی انجام نمیدهد . برای ارسال یك سیگنال نرم افزاری به یك process از فرمان kill با قالب زیر استفاده نمائید . $ kill ( – signal – no ) pid در اینجا pid شماره مشخصه process میباشد كه بلافاصله پس از اجرای process در زمینه توسط shell نمایش داده میشود . اگر شماره مشخصه process را فراموش كردید با استفاده از فرمان ps شماره مشخصه process مورد نظر خود را بدست آورید . هنگامیكه فرمان ps را صادر میكنید تمام process هائیكه هم اكنون به ترمینال شما اختصاص داده شده اند نشان داده میشوند . signal – no شماره سیگنالی است كه برای process ارسال میگردد لیست سیگنال های عمومی بشرح زیر میباشد : hup 1 زمانیكه خط تلفن قطع شود ارسال میگردد. hang up )) 2 int هنگام فشار دادن كلید delete یا break ارسال میگردد. 3 quit هنگام فشار دادن كلیدهایctnl ”/” بطور همزمان ارسال میگردد (interupt)9 kill مطمئن ترین راه برای خاتمه دادن به یك process زیرا این سیگنال را نمی توان دریافت كرد و یا نادیده گرفت . TERM 15 برای خاتمه دادن به یك process ارسال می گردد . میتوان آن راگرفت ویا اینكه نادیده انگاشت هنگامیكه به یك process سیگنال شماره3 ارسال میگردد cone image مربوط c debuger)) استفاده میشود. اگر در سطر فرمان kill شماره سیگنال را اختصاص ندهید ، اجرای process نامبرده شده خاتمه می یابد . $ ls – lr / > / dev / null E 830 $ ps pid tty time command 740 2b 0:07 sh 830 2b 0:00 ls _ lr / 83 1 2b 0:01 ps $ اكنون سعی كنید با فشار دادن كلید break و یا del به تمام process ها سیگنال وقفه ارسال نمائید و سپس با استفاده از فرمان ps حاصل كار خود را مشاهده نمائید . $ (interrupt) $ ( interrupt) $ ps pid tty time command 740 2b 0:07 sh 830 2b 0:20 ls_ lr / 832 2b 0:01 ps $همانطور كه مشاهده میكنید process شماره 830 كه در زمینه در حال اجراء میباشد همچنان به كار خود ادامه میدهد و سیگنالهای ارسالی در كار آن وقفه ای ایجاد نمی كند . حال با استفاده از فرمان kill این process را خاتمه دهید . 830 $ kill $ps pid tty time command 740 2b 0:07 sh 834 2b 0:01 ps $ پس از اجرای فرمان process kill . شماره 830 كه در زمینه در حال انجام بود خاتمه مییابد . در برخی از سیستمها پس از اجرای فرمان kill پیامی بصورت زیر بر روی صفحه مشاهده میگردد. $ 830 : termnated و بدین صورت بشما اعلام میدارد كه process با شماره مشخصه 830 واقعا خاتمه یافته است . گاهی اوقات برنامه ها طوری طراحی شده اند كه در مقابل سیگنال خاتمه مصونیت داشته باشند . در این صورت برنامه signal بصورت فوق نمیتواند process را خاتمه دهد . اگر چه شما میتوانید با اختصاص دادن signal _ no سیگنال شماره 9 را برای process ارسال نمائید . این سیگنال همواره میتواند هر process را كه به شما تعلق دارد خاتمه دهد. $ kill _ 9 pidدر اینصورت pid شماره مشخصه process میباشد و 9ـ ارسال سیگنال شماره 9 را نشان میدهد. این روش مطمئن ترین راه برای خاتمه دادن به یك process میباشد . 4-7- محافظت یك process از سیگنالهای hangup, quit فرمان nohupبطور معمول ، هنگامیكه شما از سیستم unix خارج میشوید ، تمام process هائیكه در زمینه شروع نموده اید خاتمه می یابند . موقعی كه شما logoll می نمائید ، kernel سیگنال hang up را برای تمام process هائیكه شما شروع نموده اید ارسال میدارد و آنها بوسیله این signal خاتمه می یابند . این رفتار سیستم در صورتیكه خط شما بصورت غیر عمدی قطع شده باشد ، مطلوب نمیباشد . مثلا اگر خط تلفن اشتباها قطع شده باشد ، شما انتطار ندارید كه process ها خاتمه یابند . در اینمورد ، خوشبختانه سیستم unix راه ساده ای برای ادامه اجرای process های در صحنه و یا در زمینه حتی بعد از اینكه شما logoll نمودید فراهم ساخته است . و یا در زمینه حتی بعد از اینكه شما logoll نمودید فراهم ساخته است . فرمان nohup این امكان را فراهم میسازد كه اجرای برنامه های شما هنگام logoll ادامه پیدا كند . فرم كلی فرمان nohup بصورت زیر میباشد . $ nohup command line در اینجا command line یك سطر فرمان میباشد ، در اینصورت هنگامیكه شما logoll نمائید ، برنامه nohup مانع از ارسال سیگنال خاتمه یافتن به command line میشود . فرمان nohup تمام خروجیهای حاصله از command line شامل خروجی استاندارد و خطای استاندارد را در فایلی به نام nohup . out در فهرست راهنمای كنونی ذخیره می كند . اگر اجازه نوشتن به این فایل در فهرست راهنمای كنونی ایجاد نشده باشد ، خروجی ها برای فایلی به همین اسم در فهرست راهنمای خانگی شما ارسال میگردد. برای تمرین فرمان nohup ، یك فرمان مثلا ls _ lr را با استفاده از nohup در زمینه اجراء نمائید . سپس logoll نموده و پس از چند دقیقه مجددا logon نمائید و فایل nohup . out را مشاهده كنید و بدین وسیله مشاهده میكنید كه فرمان صادره با موفقیت انجام شده است . $ nohup ls _ lr / E 820 sending output to nohup. out $ ( ^D)login : user 2password :$ cat nohup . out ممكن است سیستم شما پیام sending output to nohup ! outرا صادر ننماید . 5 –7- اجراكردن یك process با اولویت كمتر فرمان niceاجرای یك process توسط cpu انجام میشود. قطعاتی از زمان كه هنگام اجرای یك process توسط cpu به آن اختصاص داده میشود را time slice مینامند . cpu; یك process را به اندازه یك time slice اجراء میكندو سپس process بعدی را اجراء میكند. اندازه time slice تحت تاثیر اولویتی است كه kernel هنگام زمانبندی به هر process نسبت میدهد . به process هائیكه اولویت بیشتری داشته باشند time slice های بزرگتری اختصاص داده میشود . گاهی از اوقات ممكن است كه بخواهید یك برنامه را با اولویت كمتر از معمول اجراء نمائید . بنابراین تقاضای برنامه برای cup كاهش پیدا میكند و به دیگر برنامه ها اندكی بیشتر زمان cpu اختصاص داده میشود . اگر به یك برنامه اولویت كمتری اختصاص داده شود ، این برنامه نسبت به دیگر برنامه ها كندتر اجراء میشود . برنامه هائی كه بیشتر از معمول از منابع سیستم استفاده میكنند بیش از دیگر برنامه ها باعث كند شدن سیستم میگردند. این نوع برنامه ها كاندیداهای مناسبی برای اجرا نمودن با اولویت كمتر میباشند . یك مثال مناسب ا زاین قبیل برنامه ها برنامه nroll ، برنامه قالب دهنده متن سیستم unix میباشد . برنامه ای كه با اولویت كمتری اجرا میشود مدت زمان بیشتری طول خواهد كشید تا خاتمه یابد زیرا برنامه هائیكه اولویت كمتری دارند هنگام اجرا شدن قطعات كوچكتری از زمان cpu به آنها اختصاص داده میشود . فرمان nice این امكان را در اختیار شما قرار میدهد كه اولویت یك process را كاهش دهید . سطر فرمان nice بصورت زیر میباشد . $ nice ( – increment) command line در اینجا command line یك سطر فرمان shell میباشد . اگر از آرگومان – increment (كه محدوده آن 1 الی 19 میباشد ) استفاده نمائید آنگاه به مقدار nice فرضی process كه عدد 20 میباشد اضافه میشود ، در اینصورت كمیت nice افزایش مییابد و باعث میشود كه اولویت زمانبندی process كاهش یافته و در نتیجه قطعات زمانی (time slic )spu كه قرار است به process اختصاص داده شوند كاهش یابند . اگر – increment اختصاص داده نشود مقدار قراردادی 10 مورد استفاده قرار میگیرد بنا براین عدد nice بدست آمده برای process عدد 30 خواهد بود . استفاده كنندگان معمولی تنها میتوانند اولویت process های خود را كاهش دهند اما superusen ( كسی كه با اسم استفاده كننده root از سیستم استفاده میكند ) قادر است اولویت برنامه های خود را افزایش دهد. برای این منظور باید مقدار increment را به صورت یك عدد منفی وارد نماید . ادامه خواندن مقاله در مورد مديريت پردازشprocess management

نوشته مقاله در مورد مديريت پردازشprocess management اولین بار در دانلود رایگان پدیدار شد.


Viewing all articles
Browse latest Browse all 46175

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>