|
چطور سيستم عامل کار مي کند؟
![](/images/th1_start.gif) ![](/images/th1_start.gif) ![](/images/th1_start.gif) ![](/images/th1_start.gif) -(3 Body)
|
چطور سيستم عامل کار مي کند؟
Visitor
710
Category:
دنياي فن آوري
در حقيقت سيستم عامل اولين نرم افزار کاربردي نصب شده روي کامپيوتر شماست. شايد برايتان جالب باشد که بدانيد بسياري از دستگاه هاي ديجيتالي اطرافتان داراي سيستم عامل هستند. اگر حتي يک بار هم با کامپيوتر کار کرده باشيد، يا اسم «ويندوز» را شنيده ايد يا نام «سيستم عامل». کامپيوتر شما يا داراي ويندوز است و يا اگر ساخت شرکت مکينتاش است با سيستم OS X کار مي کند. بعضي از کامپيوتر هاي سرور نيز از سيستم «لينوکس» و يا «يونيکس» استفاده مي کنند. در حقيقت سيستم عامل اولين نرم افزار کاربردي نصب شده روي کامپيوتر شماست. شايد برايتان جالب باشد که بدانيد بسياري از دستگاه هاي ديجيتالي اطرافتان داراي سيستم عامل هستند. از گوشي تلفن همراه گرفته تا «آي پود» و نقطه دسترسي بيسيم (Wireless Access Point) منزل يا محل کارتان. ولي فر مايکروويو منزلتان داراي سيستم عامل نيست. در حقيقت نيازي به سيستم عامل ندارد چون تمامي تنظيمات و کارکرد آن در چند خط برنامه خلاصه شده است و در يک حافظه کوچک ذخيره شده. گوشي هاي تلفن همراه آنقدر پيشرفته شده اند که اين روزها سيستم عامل اکثر تلفن هاي همراه پيشرفته تر و پيچيده تر از سيستم عامل هاي کامپيوترهاي 20سال گذشته است. نياز دستگاه هاي ديجيتالي و مخصوصاً کامپيوتر به سيستم عامل از آنجا شروع مي شود که با استفاده از سيستم عامل مي توان کار اجزاي سخت افزاري آن ها را مديريت کرد. و يا حتي اجزاي سخت افزاري آن ها را تحت سيستم عامل کنترل کرد. اين امر براي يک کامپيوتر شامل اضافه کردن برنامه ها و تغيير در ساختار خود سيستم عامل است. وقتي برنامه اي را روي کامپيوتر خود نصب مي کنيد، قطعات کامپيوترتان تحت فرمان آن برنامه در مي آيند. براي مثال وقتي با يک برنامه اجراي موسيقي کار مي کنيد، کارت صداي کامپيوترتان با برنامه پخش موسيقي همکاري مي کند و يک آهنگ يا فايل صوتي را از طريق بلندگوي کامپيوترتان پخش مي کند. اين ارتباط بين نرم افزار و سخت افزار توسط سيستم عامل انجام مي شود. اين تنها قسمتي از کار سيستم عامل است. تا اينجا با اهميت کار سيستم عامل پي برديد. بياييد به درون سيستم عامل نگاهي بيندازيم تا کارکرد آن را بهتر درک کنيم. در ابتدايي ترين نگاه اساس و بنيان کار سيستم عامل مديريت سخت افزار است. از مديريت سخت افزار هايي مثل کارت گرافيک و کارت صدا گرفته تا مديريت ذخيره اطلاعات روي حافظه ها و هارد ديسک. همچنين سيستم عامل اطلاعات را براي پردازش به سمت پردازشگر هدايت مي کند. اين امر شامل قسمتي ديگر نيز هست. اگر هزاران برنامه مختلف روي کامپيوترتان نصب کنيد و يا اگر چندين سخت افزار جديد به کامپيوترتان اضافه کنيد، سيستم عامل بدون تغيير ظاهري باقي مي ماند. يکي از هدف هاي سازندگان سيستم هاي عامل همين است. اينکه سيستم عامل خود را انعطاف پذير و سازگار با سيستم هاي ديگر بسازند. از انواع مختلف سيستم عامل مي توان به چند سيستم زير اشاره کرد: ? Real Time Operating System: در دستگاه هاي صنعتي کاربرد دارد. دستگاه هايي مثل CNC که براي انجام تراش قطعات صنعتي به نوعي برنامه نويسي نياز دارد. اين نوع سيستم ها توانايي تغيير بسيار کمي دارند و هر بار که کاري توسط دستگاه انجام مي شود آن را در زمان معين و ثابتي انجام مي دهد. ? Single User ,Single Task: همان طور که از نام آن پيداست فقط براي کار توسط يک کاربر در يک زمان است. سيستم عامل Palm نمونه مناسبي براي اين سيستم است. ? Single User ,MultiTasking: اين همان سيستم عاملي است که در کامپيوتر از آن استفاده مي شود و به يک کاربر اجازه اجراي چندين برنامه را مي دهد.سيستم عامل هاي ويندوز و مکينتاش از اين نوع هستند. ? Multi User: اين نوع سيستم به چندين کاربر توانايي استفاده همزمان و دسترسي به برنامه هاي مختلف را در يک زمان ثابت مي دهد. سيستم عامل «يونيکس» و سيستم عامل هاي ابرکامپيوتر ها مانند MVS از اين قبيل هستند. در اينجا کمي سخت است که بين سيستم عامل هاي شبکه و سيستم عامل هاي MultiUser تفاوت قايل شد. سيستم عاملي مثل ويندوز 2000 در حقيقت مانند باقي ويندوزها يک سيستم عامل SingleUser است و تفاوت آن با سيستم عامل هاي MultiUser اين است که تنظيمات شبکه و اطلاعات کاربران شبکه فقط به صورت يک برنامه روي آن اجرا مي شود و کاربران ديگر شبکه توسط سيستم عامل ويندوز 2000روي شبکه قرار مي گيرند و باقي کارکرد آن ها توسط سيستم عامل کامپيوتر خودشان انجام مي گيرد. وقتي کامپيوترتان را روشن مي کنيد، برنامه اي به نام ( POST(Power On Self Test از روي ROM اجرا مي شود. اين برنامه کوچک، تمام قطعات کامپيوتر را چک مي کند. ابتدا پردازشگر و بعد RAM و BIOS [چطور حافظه کامپيوتر کار مي کند؟]. سپس برنامه ديگري از ROM اجرا مي شود که هارد ديسک شما را فعال مي سازد و به دنبال اولين قسمت سيستم عامل يعني BootstrapLoader مي گردد. Bootstrap سيستم عامل را به ترتيب اجرا مي کند تا جايي که کنترل کامپيوتر را به آن مي سپارد. پيش از اين گفتيم که مديريت و هدايت پردازش هاي کامپيوتر توسط سيستم عامل انجام مي شود. مديريت پردازش شامل تقسيم بندي و اولويت دهي به پردازش ها است. نرم افزاري که سيستم عامل براي اينکار از آن استفاده مي کند به نام Process يا Thread معروف است. در حقيقت سيستم عامل کار برنامه ها را به صورت پردازش در مي آورد و آن ها را به پردازشگر مي فرستد. مشکلي که در اينجا با آن روبرو مي شويم اين است که پردازشگر فقط توانايي انجام يک پردازش در يک لحظه را دارد. براي اينکه کار سيستم MultiTask يا چند کاره به نظر برسد، پردازشگر بايد چندين بار در هر لحظه به چندين پردازش مخ تلف بپردازد. بياييد به اين عمليات به صورت نزديک تري نگاه کنيم. فرض کنيد دو برنامه داريم که هر کدام پردازش هاي خود را به پردازشگر مي فرستد. ابتدا برنامه اي که اولويت بيشتري دارد پردازش مي شود. پردازش اول کامل نمي شود و پردازشگر اطلاعات برنامه اول را تا جايي که پردازش شده، ضبط مي کند. سپس نوبت به برنامه دوم مي رسد. همين اتفاق براي برنامه دوم مي افتد. سپس پردازشگر از همانجايي که برنامه اول متوقف شده شروع به پردازش مي کند. و بعد نوبت به تمام کردن پردازش دوم مي رسد. اين اطلاعات پردازش ها در قسمتي از RAM به نام Process Control Block ذخيره مي شود. اين اطلاعات شامل شماره مخصوصي است که به هر پردازش داده مي شود. اولويت پردازش، محلي که پردازش درآنجا متوقف شده، تعداد فايل هايي که توسط پردازش ها باز شده و اطلاعات سخت افزار هاي خروجي/ ورودي که توسط پردازش مورد استفاده قرار گرفته اند، نيز در اين اطلاعات وجود دارد. هر پردازشي با توجه به اولويت و مرحله اي که در آن قرار دارد يک وضعيت (Status) دريافت مي کند. براي مثال پردازشي که براي اجرا شدن نياز به دستور کاربر دارد، تا زماني که اين دستور براي مثال توسط فشاردادن دکمه صفحه کليد وارد نشود، اين پردازش به صورت غير فعال و در حالت انتظار (Pending) قرار مي گيرد و در اين حالت پردازشگر را مشغول نمي سازد. عمليات تغيير وضعيت پردازش ها و جابجايي بين آن ها نيز بخشي از ظرفيت پردازشگر را اشغال مي کند. اگر سيستم عامل در انجام اين عمليات داراي خطا باشد، بجاي کنترل کردن درست پردازش ها و هدايت آن ها به سمت پردازشگر تمام ظرفيت پردازشگر را براي جابجا کردن پردازش ها صرف مي کند. اين کار سرعت کامپيوتر را به شدت کاهش مي دهد. اين مشکل به Thrashing معروف است. توضيحاتي که تا اينجا داده شد براي سيستم هايي است که با يک پردازشگر کار مي کند. سيستم عامل هاي Asymmetric(نا متقارن) کار هاي مخصوص به خود را توسط يک پردازشگر انجام مي دهند و پردازش هاي ديگر را با پردازشگر هاي ديگر تقسيم مي کنند. پردازشگر هاي Symmetric(متقارن) تمام پردازش ها و حتي پردازش هاي داخلي خود را با تمام پردازشگر ها تقسيم مي کنند. وظيفه بعدي سيستم عامل مديريت حافظه کامپيوتر است. براي توضيح اين کار بياييد به يک مثال توجه کنيم. کامپيوتري را فرض کنيد که داراي يک گيگابايت (1000مگابايت) RAM است و سيستم عامل براي شروع نياز به 300مگابايت RAM و سخت افزار ها و گرداننده هاي آن ها(Driver) نيز نياز به 200مگابايت ازRAM دارند. در اينجا سيستم 500مگابايت RAM براي اجراي برنامه ها و انجام پردازش ها دارد. اطلاعات در RAM در حجم هاي مختلف بسته بندي مي شوند. اين حجم بستگي به تنظيمات سيستم دارد. اگر اين مقدار 2کيلوبايت باشد تمام بسته هايي که به RAM منتقل مي شوند 2کيلوبايت خواهند بود. هر کدام از بسته ها نيز با 4 يا 8 بايت در ابتدا و انتهاي آن ها بسته مي شود. اين ابتدا و انتها به شناسايي بسته ها کمک مي کند. با اطمينان حاصل کردن از اين امر، سوال بعدي اين است که وقتي که اين 1گيگابايت RAM تمام شد، سيستم چگونه کار خواهد کرد؟ ارتقاء RAM اکثر کامپيوترها امکان پذير است ولي اگر به مثال بالا که تقريباً واقعي و کاربردي است توجه کنيد، متوجه مي شويد که اگر کامپيوتر شما فقط به اين ترتيب کار کند، براي اجرا هر برنامه نياز به يک RAM اضافي داريد. ولي در حقيقت کامپيوتر به نحوي ديگر کار مي کند. در هر لحظه پردازشگر تنها به يک نقطه از RAM دسترسي پيدا مي کند و بعضي از اطلاعات وقتي که براي يک بار مورد استفاده قرار مي گيرند، براي مدت زيادي بدون استفاده باقي مي مانند. با انتقال اين اطلاعات به هارد ديسک، مي توان فضاي RAM را براي فعاليت هاي مهم تر خالي کرد. اين تکنيک جابجا کردن اطلاعات از RAM به هارد ديسک Virtual Memory Management ناميده مي شود. هارد ديسک تنها يکي از انواع حافظه هاست که توسط سيستم عامل مديريت مي شود. دسته بندي اين حافظه ها به ترتيب سرعت به صورت زير است: ? High Speed Cache: اين نوع حافظه داراي ارتباط مستقيم با پردازشگر است و به پردازشگر در دسترسي به اطلاعات کمک مي کند. [چطورCache کار مي کند؟] ? Main Memory: که همان RAM است. [چطورRAM کار مي کند؟] ? Secondary Memory: اين نوع حافظه که معمول ترين نوع آن حافظه دائمي يا همان هارد ديسک است، تحت مديريت حافظه سيستم عامل به صورت Virtual RAM در مي آيد. سيستم عامل مسئوليت ايجاد توازن بين اين حافظه ها که همان منابع کامپيوتر هستند را دارد. ارتباط بين سخت افزار کامپيوتر و سيستم عامل توسط برنامه اي به نام «گرداننده» (Driver) کنترل مي شود. وظيفه اين برنامه ترجمه سيگنال هاي الکتريکي به برنامه هاي نرم افزاري و برعکس است. اين برنامه نيز مانند ساير برنامه ها کار مي کند ولي تنها وقتي فعال مي شود که سخت افزار مربوط مورد استفاده قرار گيرد و در غير اين صورت در حالت انتظار(Pending) مي ماند. گرداننده معمولاً جدا از سيستم عامل کار مي کنند. به اين دليل که با تغيير در ساختار سخت افزار، نيازي به تغيير سيستم عامل نباشد. مديريت سخت افزار ورودي و خروجي به معني مديريت کردن سرعت بارگذاري اطلاعات از سخت افزار بر روي پردازشگر است. اين امر شامل مديريت اين بارگذاري به ترتيبي است که پردازشگر توانايي پردازش اطلاعات اين سخت افزار به طور منظمي را داشته باشد. تا اينجا متوجه شديد که کار سيستم عامل مديريت تمامي منابع کامپيوتر است. منابع کامپيوتر شامل چرخه هاي پردازش (Cycle) و حافظه ها و تمامي سخت افزار است. هر قدر هم که منابع کامپيوترتان پيشرفته و گسترده باشد، بدون داشتن سيستم عامل مناسب نمي توانيد از هيچ کدام آن ها بهره مند شويد. منبع:www.aftabir.com ارسال توسط کاربر محترم سايت : mohamadaminsh
|
|
|