ورود کاربران VIP سرزمین دانلود، مرجع دانلود و آموزش رایگان نرم افزار

منوی سایت



آشنایی با طرز کار و عملکرد سیستم عامل (Operating System)

Rating: 4 - 12 votes

آشنایی با طرز کار و عملکرد سیستم عامل (Operating System)

 


در حقیقت سیستم عامل اولین نرم افزار کاربردی نصب شده روی کامپیوتر شماست. شاید برایتان جالب باشد که بدانید بسیاری از دستگاه های دیجیتالی اطرافتان دارای سیستم عامل هستند. از گوشی تلفن همراه گرفته تا «آی پد» و نقطه دسترسی بیسیم (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) و حافظه ها و تمامی سخت افزار است. هر قدر هم که منابع کامپیوترتان پیشرفته و گسترده باشد، بدون داشتن سیستم عامل مناسب نمی توانید از هیچ کدام آن ها بهره مند شوید.


( 1 کامنت - مشاهده کامنت ها )



 



سوالات و نظرات کاربران در مورد این مطلب (1)

  1. امیر کمالیان

    مطالب جالب و آموزنده ای بودن. با تشکر از شما ...





نکات مهم :

- قبل از طرح سوال یا مشکل خود، کامنت سایر کاربران و پاسخ آنها را مطالعه کنید.
- لطفا فارسی تایپ کنید. امکان بررسی کامنت های پینگلیش وجود ندارد.
- پاسخ سوالات از طریق ایمیل و SMS نیز ارسال میشود. لطفا مشخصات خود را دقیق وارد کنید.

* نام 
آدرس ايميل (برای دریافت پاسخ از طریق ایمیل)
* شماره موبایل (برای دریافت پاسخ از طریق SMS)
توجه: ایمیل و موبایل شما فقط برای دریافت پاسخ سایت بوده و نمایش داده نمیشود.
* متن

* کد امنیتی
کد امنیتی


(اگر کد امنیتی واضح نیست، روی آن کلیک کنید تا عوض شود)
 


توجه : نظر شما بعد از تایید از طرف سایت، نمایش داده خواهد شد.
سرزمین دانلود، مرجع دانلود و آموزش نرم افزار

سرزمین دانلود را دنبال کنید !

عضویت در خبرنامه سرزمین دانلود

با وارد کردن ایمیل خود و سپس تایید آن، جدیدترین مطالب و نرم افزار ها برای شما ارسال می شود:



------------------------------------------