سیستم عامل
مدیریت وسایل :
مسیر بین سیتم عامل و تمام سخت افزار هایی که بر روی مادر بورد قرار ندارند از برنامه خاصی به نام راه انداز یا درایور می گذرد. بیشتر فعالیت درایور مربوط به ترجمه بین سیگنال های زیر سیستم های سخت افزاری و زبان سطح بالا برنامه نویسی سیستم عامل و برنامه های کاربردی می شود. درایور اطلاعاتی که سیستم عامل به صورت یک فایل تعریف کرده است را می گیرد و آن را به جریانی از بیت ها ترجمه می کند که در محل خاصی در وسایل ذخیره سازی اطلاعات، یا مجموعه ای از پالس های لیزر در یک پرینتر قرار داده شده اند.
به دلیل اینکه آنها در گستره ی وسیعی از سخت افزار ها استفاده شده اند، عملکرد های هر کدام از آنها نیز متفاوت است. اکثر آنها زمانی اجرا می شوند که وسیله فرا خوانده شده است؛ و عملکرد باید مانند هر پروسه دیگری باشد. سیستم عامل به طور مرتب بلوک های با اولویتی را به درایور اختصاص می دهد که منابع سخت افزاری بتوانند آزاد و درکمترین زمان آماده شوند.
یکی از دلایلی که درایور ها از سیستم عامل جدا هستند این است که یک عملکرد جدید بتواند به درایور و بدین گونه به زیر سیستم های سخت افزاری اضافه شود بدون اینکه اطلاح و تغییر سیستم عامل نیاز باشد. توسعه یک درایور جدید به وسیله ی سازنده گان سخت افزار انجام می شود تا توسعه دهنده ی سیستم عامل و در آن قابلیت های ورودی و خروجی کل سیستم افزایش میابد.
مدیریت ورودی و خروجی تا حد زیادی مدیریت بافر ها و صف ها (queue) است؛ تاسیساتی که جریانی از بیت ها را از وسیله ای می گیرند - شاید یک کیبورد یا یک پورت سریال - آن بیت ها را ذخیره می کنند و با سرعت خاصی که cpu توانایی آن را داشته باشد، آزاد می کنند. این عملکرد هنگامی اهمیت میابد که چندین پروسه در حال اجرا باشند و زمان از cpu را به خود اختصاص دهند. سیستم عامل در دریافت ورودی به بافر راهنمایی می کند و ولی بافر را از فرستادن آنها به cpu زمانی که پروسه های آنها در حال تعلیق است، متوقف می کند. سپس ، هنگامی که پروسه به ورودی نیاز دارد آنها را به حالت فعال در می آورد و سیستم عامل به بافر فرمان فرستادن اطلاعات را می دهد. این پروسه به یک کیبورد یا مودم اجازه می دهد تا با کاربران یا کامپیوتر های خارجی با سرعت بالایی سر و کار داشته باشند ولو اینکه زمان هایی هستند که cpu نمی تواند از ورودی آن منابع استفاده کند.
مدیریت تمام منابع بخش بزرگی از عملکرد یک سیستم عامل است و در خصوص سیستم عامل های ریل تایم ممکن است که تمام عملکرد مورد نیاز باشد . برای سیستم عامل های دیگر ارائه ی یک راه استوار و ساده برای برنامه ها و انسان برای استفاده از قدرت سخت افزار یکی از مهم ترین دلایل موجودیت آنها است.
رابط برنامه های کاربردی :
دقیقا مانند اینکه درایور ها راهی برای استفاده ی برنامه ها از سخت افزار بدون نیاز به شناخت همه جزئیات سخت فزار ارائه می دهند، "رابط های برنامه نویسی نرم افزار" یا API به برنامه نویسان اجازه می دهند که از علمکرد های کامپیوتر و سیستم عامل بدون نیاز بر نظارت دقیق بر عملیات های CPU استفاده کنند. برای نمونه به ساختن یک فایل در هارد دیسک برای نگهداری اطلاعات نگاه کنیم و ببینیم که چرا این اهمیت دارد.
یک برنامه نویس که برنامه ای برای ضبط اطلاعات از یک ابزار علمی می نویسد ،شاید بخواهد که به دانشمندان اجازه دهد که اسم فایل ذخیره سازی را تعیین کنند. سیستم عامل می تواند تابع API به نام Makefile برای ایجاد فایل ارائه دهد. در هنگام نوشتن برنامه ، برنامه نویس خظی به صورت زیر را به برنامه اضافه می کند : Makefile [1,%name,2] . برای مثال ، دستور عمل به سیستم عامل می گوید که فایلی را ایجاد کند که اجازه دسترسی تصادفی به اطلاعاتش را بدهد. (این به وسیله 1 مشخص شده است). و نامی خواهد داشت که به وسیله کاربر وارد خواهد شد (%name) و اندازه ای بر حسب مقدار اطلاعات ذخیره شده در آن خواهد داشت( مشخص شده به وسیله ی 2 ) (گزینه های دیگر 0 برای یک حجم ثابت و 1 برای فایلی است که با افزایش محتوا حجمش افزایش میابد ولی در صورت کاهش محتوا، ثابت می ماند) . حالا ببینیم سیستم عامل برای تبدیل دستورعمل ها به عمل چه می کند.
سیستم عامل جست و جویی در هارد دیسک انجام می دهد که اولین فضای خالی قابل دسترسی را به دست اورد. با این اطلاعات سیستم عامل مدخلی را در فایل ایجاد می کند که نقطه شروع و پایان فایل، اسم فایل ، نوع فایل ،اینکه آیا فایل ارشیو شده است(؟)،اینکه آیا کاربر اجازه ی دسترسی و اطلاح فایل را دارد(؟)، و زمان و تاریخ ایجاد فایل را نشان می دهد.
سیستم عامل اطلاعات را در ابتدای فایل می تویسد که فایل را تعریف می کند و نوع دسترسی به فایل و دیگر اطلاعات مرتبط با فایل و برنامه را مشخص می کند. تمام این اطلاعات ، پرسش و پاسخ ها و آدرس ها و .. به سازنده و نوع دیسک درایو بستگی دارد.
به این خاطر که برنامه نویس برنامه ای را نوشته است که از API برای برای ذخیره سازی دیسک استفاده می کند، برنامه نویس نیاز نیست که با تمام کد های دستورعمل، انواع اطلاعات و کد های پاسخ برای هر وسیله ذخیره سازی همراهی داشته باشد. سیستم عامل درایور ها را با اجزای زیر سیستم سخت افزاری ارتباط داده است و با تغییر جزئیات سخت افزار سر و کار دارد. برنامه نویس بایستی کد ها را برای API بنویسد و به سیستم عامل برای انجام بقیه کارها اعتماد کند.
رابط های برنامه نویسی نرم افزار در سال های اخیر به یکی از داغ ترین رقابت های صنعت کامپیوتر تبدیل شده اند. کمپانی ها متوجه شده اند که کاربران که از API های آنها استفاده می کنند ، آن را نهایتا به کنترل و سود در این بخش صنعت کامپیوتر تبدیل کرده اند. این یکی از دلایلی است که کمپانی های بسیاری تلاش در این زمینه را گسترش داده اند...
+ نوشته شده در سه شنبه بیست و یکم دی ۱۳۸۹ ساعت 23:18 توسط MEC
GENERAL INFORMATION