در این مقاله به بررسی فرآیندهای پردازش در کامپیوتر خواهیم پراداخت.با مطالعه این مطلب می توانید از الگوهای پردازشی CPU،کاربرد و شیوه کار آن مطلع شوید.پردازنده یکی از مهمترین قطعات سخت افزاری است که شیوه کار آن بسیار جذاب است.برای شناخت یک کامپیوتر و اجزای آن،آشنایی با پردازنده را می توان مهمترین قسمت برای مطالعه و تحقیق دانست.با ما همراه باشید.
CPU تعداد زیادی برنامه ها را اجرا می کند. اگرچه کار و توجه عمده ان به اجرای برنامه های کاربر است، با این حال CPU برای اجرای برنامه های کاربردی سیستم نیز مورد نیاز است. این فعالیتها را پردازش می گویند. پردازش واحد کاری سیستم است. چنین سیستمی شامل مجموعه ای از پردازش ها است: پردازش های سیستم عامل کدهای سیستمی را اجرا می کنند، و پردازش های کاربری کدهای کاربر را اجرا می کنند. تمام این فرایندها می توانند به صورت بالقوه با یکدیگر اجرا شوند، CPU (یا CPU ها) در بین انها تقسیم می شود(ند). با سوئیچ کردن CPU بین پردازش ها، سیستم عامل می توانند پر یازده تر و مفیدتر باشند.
مفهوم پردازش
یک مشکل در بحث سیستم های عامل این پرسش است که تمام فعالیتها و کارهای cpu را چه بنامیم. یک سیستم batch کارها را اجرا می کند، در حالیکه یک سیستم اشتراک زمانی برنامه های کاربری یا وظیفه دارد. حتی در یک سیستم تک کاربره، مثل MS-DOS و سیستم عامل مک اینتاش، یک کاربر می تواند چندین برنامه را دریک زمان اجرا کند. یک برنامه به صورت تعاملی و چندین برنامه به صور برنامه های batch می توادن اجرا شود. حتی اگر کاربر بتواند در یک زمان تنها یک برنامه را اجرا کند، سیستم عامل ممکن است از برنامه های داخل خود، مثل اسپولینگ پشتیبانی کند. در خیلی از موارد، تمامی این فعالیتها مشابه همدیگر می باشند، لذا به تمامی این برنامه ها پردازش می گویند.
دو عامل کار و پردازش عموما در این قابل تبدیل به یکدیگر می باشند. اگرچه ما شخصا از واژه پردازش استفاده کنیم، اکثر تئوری سیستم عامل و ترمینولوژی آن در طول زمان بهبود و گسترش یافته است.وقتی که فعالیت اصلی سیستم های عامل پردازش کار بود. اگر بخواهیم از واژه پردازش بجای واژه کار در مواردی که کاملا کلمه کار برای آن تعریف شده است (مثل زمانبندی کار) استفاده کنیم، ممکن است موجب گمراهی شود.
پردازش های ترتیبی
اجرای یک پردازش باید در یک پردازش حالت ترتیبی پیشرفت کند. یعنی در هر نقطه ای از زمان ، حداکثر یک دستورالعمل بابت پروژه اجرا می شود.یک پردازش بیش از یک کد به علاوه فعالیت کنونی است. یک پردازش می تواند حاوی شامل پشته پردازش حاوی داده های موقتی (مثل پارامترهای زیربرنامه ها، آدرس های بازگشت و متغیرهای موقتی ) می باشند، و بخش داده ها که شامل متغیرهای غمومی می باشند، خواهند بود.ما اصرار می کنیم که یک برنامه به خودی خود یک پردازش نیست ، پردازش یک وجود پسیو، مثل محتویات یک فایل ذخیره شده در حافظه است ، حال انکه پردازش یک وجود اکتیو، با یک شمارنده برنامه است که دستورالعمل بعدی برای اجرا را مشخص می کند.اگرچه دو پردازش می تواند با یک برنامه همراه باشد، بااین وجود، هیچپاه 2 برنامه اجرایی جدا از هم در نظر گرفته نخواهند شد. داشتن پردازشی که خود چندین پردازش دیگر را بوجود می آورد، کاملا معمول و مرسوم است.
حالت پردازش
زمانی که یک پردازش اجرا می شود، حالتش تغییر می کند. حالت یک پردازش به صورت کاملا جزئی در یکی از 3 حالت زیر بیان می شود:
- در حال اجرا: دستورالعملهایی که در حال اجرا شدن می باشندپ
- در حال انتظار: پردازش منتظر است تا روی دادی رخ بدهد (مثلا کامل شدن یک فرایند (I/O)
- آماده: پردازش ممنتظر است تا در اختیار یک پردازنده قرار بگیرد.
این نامها کاملا دلخواه و قراردادی هستند. و در بین سیستم عاملها تغییر می کند. حالتهایی که این نامها از خود نشان می دهند، در تمامی سیستم ها وجود دارد. با این وجود؛ فوق العاده مهم است تا تا چنین در نظر گرفته شود که در هر زمان کوتاه تنها یک پردازش در حال اجرا وجود خواهد داشت. خیلی از فرایندها ممکن است آماده و یا در حال انتظار باشند.
مفاهیم زمانبندی
هدف از چندبرنامگی داشتن چندین فرایند در تمامی زمانهاست، برای اینکه کاربری و راندمان CPUافزایش یابد. در یک سیستم تک پردازنده، هیچگاه بیش از یک فرایند در حال اجرا وجود نخواهد داشت. اگر نعداد CPU ها بیشتر از یکی باشد، دیگران باید منتظر بمانند تا CPU آزاد شود و مجددا زمانبندی شود.
هدف از چندبرنامگی تقریبا ساده است. برنامه تا زمانی که باید متوقف شود، اجرا می شود. این توقف برای کامل شدن بعضی از دستگاههای I/O است. در یک سیستم کامپیوتری ساده، CPU در این مواقع بیکار می ماند.تمامی این زمانهای توقف، به هدر می رود. هیچ کار مفیدی صورت نمی گیرد. با چندبرنامگی تلاش خواهیم کرد این زمان توقف را سود آور و مفید سازیم. چندین فرایند در یک زمان در حافظه باقی می مانند. زمانی که یک برنامه نیاز به توقف دارد، سیستم عامل CPU را از ان برنامه می گیرد و به برنامه دیگری می دهد. این الگو ادامه خواهد داشت. درهر لحظه یک برنامه باید منتظر بماند ، و فرایند دیگر CPU را در اختیار خود می گیرد.
فایده چندبرنامگی افزایش راندمان و کارایی CPU و بالابردن توان عملیاتی است. توان عملیاتی مقدار کاری است که در یک فاصله زمانی محدود (مثلا 17 فرایند در ساعت) می تواند انجام شود. به عنوان یک مثال روشن ، در نظر بگیرید که دو فرایند P0 و P1 را داریم، که باید اجرا شوند .اجرای هر فرایند 1 ثانیه طول می کشد، و سپس 1 ثانیه انتظار وجود دارد. این الگو 60 بار تکرار می شود. اگر ما اول فرایند P0 را اجرا کنیم و بعد P1، یکی پس ار دیگری، 4 دقیقه طول می کشد تا اول یکی و بعد دیگری انجام شود. فرایند P0 2 دقیقه و فرایند P1 هم دقیقه اجرای ان به طول می انجامد. اگرچه کل زمان لازم برای اجرای این 2 برنامه تنها 2 دقیقه زمان لازم بوده است، اما 2 دقیقه از زمان هم هدر رفته است.راندمان CPU در این حالت 50درصد است.
اگر از چندبرنامگی در اجرای فرایند های P0 و P1 استفاده کنیم، خواهیم دید که کارایی سیستم تا حد زیادی افزایش پیدا می کند.ما با فرایند P0 شروع می کنیم که 1 ثانیه به طول می انجامد. سپس زمانی که این فرایند متوقف می شود، فرایند P1 را اجرا می کنیم. زمانی که P1 متوقف می شود، فرایند P0 اماده اجرا است. حال زمان مورد نیاز برای اجرای هر 2 فرایند تنها 2 دقیقه است. و هیچ زمانی هم از CPU هدر نرفته است. بنابراین، 50 درصد توان عملیاتی وراندمان CPU را بهبود بخشیده ایم و ان را به 100درصد رسانده ایم. دقت کنید که فرایند P0 زودتر تمام نمی شود، ولی فرایند P1 حال پس از 2 دقیقه به پایان می رسد.این مثال یک مثال خاص است، و خیلی ایده آل می باشد حال انکه در عمل اینگونه نخواهد بود. با این حال، می تواند مفهوم چندبرنامگی را به خوبی نشان دهد.
بسیار ترجمه ی مزخرفی بود. اصلا روش وقت گذاشته نشده بود و قشنگ معلومه که مترجمش زیاد حرفه ای نبوده. فقط وقتم رو تلف کردم
خسته نباشید 🙂 . کاش برای تصاویر و ترجمه متن سلیقه بیشتری به خرج داده میشد.
=))=))=))
پس واسه همین بود که من هیچی ازش نفهمیدم.:D
سلام خیلی ممنون
ان شاءالله سربلند باشید
سلام خیلی ممنون
ان شاءالله سربلند باشید
من همین ها رو هالیم نشد چه برسه به تخصصی ترش.
مطالب آخری شبیه کلاس دانشگاه شد:D
:smiley4من که چیزی نفهمیدم:-s
تشکر از مطلب خوب شما:-bd
با تشکر از همه سروران عزیزم که نظر دادند.به روی چشم موارد مورد نظر شما به طور حتم در قسمت های بعدی رعایت می شود.
کار ترجمه و ویرایش کار سختیه، ولی وقتی قراره یه مطلب به این مهمی در سایت قرار بگیره به نظرتون بهتر نیست دو یا سه بار ویرایش بشه؟
من از این مطلب تا حدودی استفاده بردم، ولی خیلی بهتر میشد اگه شکلها رو واضح تر طراحی میکردید، نه اینکه از روی اسکن یک متن کپی کنید. طراحی این شکلهای ساده با فتوشاپ یا حتی paint هم با کمی دقت خیلی بهتر از این در میاد.
چون سایت رو دنبال میکنم و خیلی از مقالاتش لذت میبرم این ایراد رو مطرح کردم.
ممنون ادامه بدید. فقط یکم تخصصی تر :smiley3
بیشتر این که دستورات چطور پردازش می شن. منظورم خود عملی هست که تو cpu اتفاق میفته و cpu چطور خود عمل پردازش رو انجام می ده.امیدوارم فهمیده باشید منظورم رو .
ممنون
عالی عالی
خیلی ممنون مطلب مفیدی بود فقط آخرش خیلی پیچیده شد شاید برای اونایی زیاد سرکار با مطالب سخت افزاری ندارن گیج کننده باشه