Hamshahri Logo
ميز آنلاين نشريات انتشارات درباره ما ارتباط با ما جستجو نقشه سايت


ايران جهان
اقتصاد بورس
بزرگراه سايبر شهر مجازی
ارتباطات دانش و تکنولوژي
موسيقی سينما و تلويزيون
ورزش سلامت
آموزش هنر
مهارت‌های زندگی ديدگاه
انديشه قرآن کريم
سفر محيط زيست
پيشخوان کتاب
اجتماع مسکن
پليس حادثه
شهردار شورای شهر
شهر مسير
حمل ‌و‌ نقل مترو
فرهنگ تاريخ
ادبيات داستانی زنان
کودک و نوجوان تغذيه
عکس آب و هوا
سرگرمی

به روز شده: 21 بهمن 1388 ساعت 00:43  - ‏آمار بازدید سایت: آمار بازدید  RSS
صفحه اصلی دانش و تکنولوژي
 
چطور سیستم عامل کار می‌کند؟
ارتباطی- همشهری آنلاین - رشید عسگری:
اگر حتي يك بار هم با كامپيوتر كار كرده باشيد، يا اسم «ویندوز» را شنیده‌اید یا نام «سیستم عامل». کامپیوتر شما یا دارای ویندوز است و یا اگر ساخت شرکت مکینتاش است با سیستم 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) و حافظه‌ها و تمامی سخت افزار است. هر قدر هم که منابع کامپیوترتان پیشرفته و گسترده باشد، بدون داشتن سیستم عامل مناسب نمی‌توانید از هیچ کدام آن‌ها بهره‌مند شوید.

تاریخ درج: 19 مرداد 1387 ساعت 19:55 تاریخ تایید: 20 مرداد 1387 ساعت 14:59 تاریخ به روز رسانی: 13 مرداد 1388 ساعت 22:59
 
مطالب مرتبط
چطور آنتی‌ویروس کار می‌کند؟ چطور از تلفن همراه در تعطيلات بهره ببريم؟ چطور موتور جستجوی ولفرام آلفا کار می‌کند؟ چطور OLED کار می‌کند؟ چطور سرعت کامپیوتر خود را افزایش دهیم؟ چطور پردازش ابری کار می‌کند؟ چطور صفحه نمایش LCD کار می‌کند؟ چطور برخورد دهنده بزرگ هادرون (LHC) کار می‌کند؟ چطور DVD کار می‌کند؟ چطور ریز پردازنده کار می‌کند؟ چطور نیمه‌رسانا‌ها (Semi-Conductors) کار می‌کنند؟ چطور وايمکس (WiMAX) کار می‌کند؟ چطور CAPTCHA کار می‌کند؟ چطور کامپیوتر‌های DNA کار خواهند کرد؟ چطورهاي ديجيتال چطور فاير واير كار مي‌كند؟ چطور CD کار می‌کند؟ چطور mp3 کار می‌کند؟ چطور سرورهای اینترنت کار می‌کنند؟ چطور سرور نام‌های دامنه (DNS) کار می‌کند؟ چطور کوکی‌ها کار می‌کنند؟ چطور بیت و بایت کار می‌کنند؟ چطور حافظه مجازي کار می‌کند؟ چطور MotherBoard کار می‌کند؟ چطور کارت گرافیک کار می‌کند؟ چطور USB کار می‌کند؟ چطور حافظه کامپیوتر کار می‌کند؟ چطور Cache کار می‌کند؟ چطور ROM کار می‌کند؟ چطور RAM کار می‌کند؟ چطور ایمیل کار می‌کند؟ چطور صفحه نمایش پلاسما کار می‌کند؟ چطور مسير‌ياب (روتر) كار مي‌كند؟ چطور كلمه عبور خود را حفظ كنيم؟ چطور اينترنت كار مي‌كند؟
 
 
تمامی حقوق این سایت متعلق به موسسه همشهری است