• مشکی
  • سفید
  • سبز
  • آبی
  • قرمز
  • نارنجی
  • بنفش
  • طلایی
انجمن ها > انجمن کامپیوتر > صفحه اول بحث
لطفا در سایت شناسائی شوید!
کامپیوتر (بازدید: 2670)
يکشنبه 22/5/1391 - 16:14 -0 تشکر 506477
سیستم عامل چیست؟ قسمت اول

سیستم عامل بدون شک مهمترین نرم افزار در کامپیوتر است . پس از روشن کردن کامپیوتر اولین نرم افزاری که مشاهده می گردد سیستم عامل بوده و آخرین نرم افزاری که قبل از خاموش کردن کامپیوتر مشاهده خواهد شد، نیز سیستم عامل است . سیستم عامل نرم افزاری است که امکان اجرای تمامی برنامه های کامپیوتری را فراهم می آورد. سیستم عامل با سازماندهی ، مدیریت و کنترل منابع سخت افزاری امکان استفاده بهینه و هدفمند آنها را فراهم می آورد. سیتم عامل فلسفه بودن سخت افزار را بدرستی تفسیر و در این راستا امکانات متعدد و ضروری جهت حیات سایر برنامه های کامپیوتری را فراهم می آورد.
تمام کامپیوترها از سیستم عامل استفاده نمی نمایند. مثلا” اجاق های مایکرویو که در آشپزخانه استفاده شده دارای نوع خاصی از کامپیوتر بوده که از سیستم عامل استفاده نمی نمایند. در این نوع سیستم ها بدلیل انجام عملیات محدود و ساده، نیازی به وجود سیستم عامل نخواهد بود. اطلاعات ورودی و خروجی با استفاده از دستگاههائی نظیر صفحه کلید و نمایشگرهای LCD ، در اختیار سیستم گذاشته می گردند. ماهیت عملیات انجام شده در یک اجاق گاز مایکروویو بسیار محدود و مختصر است، بنابراین همواره یک برنامه در تمام حالات و اوقات اجراء خواهد شد.
برای سیستم های کامپیوتری که دارای عملکردی بمراتب پیچیده تر از اجاق گاز مایکروویو می باشند، بخدمت گرفتن یک سیستم عامل باعث افزایش کارآئی سیستم و تسهیل در امر پیاده سازی برنامه های کامپیوتری می گردد. تمام کامپیوترهای شخصی دارای سیستم عامل می باشند. ویندوز یکی از متداولترین سیستم های عامل است . یونیکس یکی دیگر از سیستم های عامل مهم در این زمینه است . صدها نوع سیستم عامل تاکنون با توجه به اهداف متفاوت طراحی و عرضه شده است. سیستم های عامل مختص کامپیوترهای بزرگ، سیستم های روبوتیک، سیستم های کنترلی بلادرنگ ، نمونه هائی در این زمینه می باشند.
سیستم عامل با ساده ترین تحلیل و بررسی دو عملیات اساسی را در کامپیوتر انجام می دهد :
مدیریت منابع نرم افزاری و سخت افزاری یک سِستم کامپیوتری را برعهده دارد. پردازنده ، حافظه، فضای ذخیره سازی نمونه هائی از منابع اشاره شده می باشند .


روشی پایدار و یکسان برای دستیابی و استفاده از سخت افزار را بدو ن نیاز از جزئیات عملکرد هر یک از سخت افزارهای موجود را برای برنامه های کامپیوتری فراهم می نماید
اولین وظیفه یک سیستم عامل، مدیریت منابع سخت افزاری و نرم افزاری است . برنامه های متفاوت برای دستیابی به منابع سخت افزاری نظیر: پردازنده ، حافظه، دستگاههای ورودی و خروجی، حافطه های جانبی، در رقابتی سخت شرکت خواهند کرد. سیستم های عامل بعنوان یک مدیر عادل و مطمئن زمینه استفاده بهینه از منابع موجود را برای هر یک از برنامه های کامپیوتری فراهم می نمایند.
وظیفه دوم یک سیستم عامل ارائه یک رابط ( اینترفیس ) یکسان برای سایر برنامه های کامپیوتری است . در این حالت زمینه استفاده بیش از یک نوع کامپیوتر از سیستم عامل فراهم شده و در صورت بروز تغییرات در سخت افزار سیستم های کامپیوتری نگرانی خاصی از جهت اجرای برنامه وجود نخواهد داشت، چراکه سیستم عامل بعنوان میانجی بین برنامه های کامپیوتری و سخت افزار ایفای وظیفه کرده و مسئولیت مدیریت منابع سخت افزاری به وی سپرده شده است .برنامه نویسان کامپیوتر نیز با استفاده از نقش سیستم عامل بعنوان یک میانجی براحتی برنامه های خود را طراحی و پیاده سازی کرده و در رابطه با اجرای برنامه های نوشته شده بر روی سایر کامپیوترهای مشابه نگرانی نخواهند داشت . ( حتی اگر میزان حافظه موجود در دو کامپیوتر مشابه نباشد ) . در صورتی که سخت افزار یک کامپیوتر بهبود و ارتقاء یابد، سیستم عامل این تضمین را ایجاد خواهد کرد که برنامه ها، در ادامه بدون بروز اشکال قادر به ادامه حیات وسرویس دهی خود باشند. مسئولیت مدیریت منابع سخت افزاری برعهده سیتم عامل خواهد بود نه برنامه های کامپیوتری، بنابراین در زمان ارتقای سخت افزار یک کامپیوتر مسئولیت سیتستم عامل در این راستا اولویت خواهد داشت . ویندوز 98 یکی از بهترین نمونه ها در این زمینه است . سیستم عامل فوق بر روی سخت افزارهای متعدد تولید شده توسط تولیدکنندگان متفاوت اجراء می گردد. ویندوز 98 قادر به مدیریت و استفاده از هزاران نوع چاپگر دیسک و سایر تجهیزات جانبی است .
سیستم های عامل را از بعد نوع کامپیوترهائی که قادر به کنترل آنها بوده و نوع برنامه های کاربردی که قادر به حمایت از آنها می باشند به چهار گروه عمده تقسیم می نمایند.
سیستم عامل بلادرنگ (RTOS). از این نوع سیستم های عامل برای کنترل ماشین آلات صنعتی ، تجهیزات علمی و سیستم های صنعتی استفاده می گردد. یک سیستم عامل بلادرنگ دارای امکانات محدود در رابطه با بخش رابط کاربر و برنامه های کاربردی مختص کاربران می باشند. یکی از بخش های مهم این نوع سیستم های عامل ، مدیریت منابع موجود کامپیوتری بگونه ای است که یک عملیات خاص در زمانی که می بایست ، اجراء خواهند شد.
تک کاربره – تک کاره . همانگونه که از عنوان این نوع سیستم های عامل مشخص است، آنها بگونه ای طراحی شده اند که قادر به مدیریت کامپیوتر بصورتی باشند که یک کاربر در هر لحظه قادر به انجام یک کار باشد. سیستم عامل Palm OS برای کامپیوترهای PDA نمونه ای مناسب از یک سیستم عامل مدرن تک کاربره و تک کاره است .
تک کاربره – چندکاره . اکثر سیستم های عامل استفاده شده در کامپیوترهای شخصی از این نوع می باشند. ویندوز 98 و MacOS نمونه هائی در این زمینه بوده که امکان اجرای چندین برنامه بطور همزمان را برای یک کاربر فراهم می نمایند. مثلا” یک کاربر ویندوز 98 قادر به تایپ یک نامه با استفاده از یک واژه پرداز بوده و در همان زمان اقدام به دریافت یک فایل از اینترنت نموده و در همان وضعیت محتویات نامه الکترونیکی خود را برای چاپ بر روی چاپگر ارسال کرده باشد.
چندکاربره . یک سیستم عامل چند کاربره ، امکان استفاده همزمان چندین کاربر از منابع موجود کامپیوتر را فراهم می آورند. منابع مورد نیاز هر یک از کاربران می بایست توسط سیستم عامل بدرستی مدیریت تا در صورت بروز اشکال در منابع تخصیص یافته به یک کاربر، بر روند استفاده سایر کاربران از منابع مورد نظر اختلالی ایجاد نگردد. یونیکس، VMS و سیستم های عامل کامپیوترهای بزرگ نظیر MVS نمونه هائی از سیستم های عامل چندکاربره می باشند.
در اینجا لازم است که به تفاوت های موجود سیستم های عامل ” چند کاربر ” و ” تک کاربر” در رابطه با امکانات شبکه ای اشاره گردد. ویندوز 2000 و ناول قادر به حمایت از صدها و هزاران کاربر شبکه می باشند این نوع سیستم های عامل بعنوان سیستم عامل چند کاربره واقعی در نظر گرفته نمی شوند.
در ادامه با توجه به شناخت مناسب بوجود آمده در دررابطه با انواع سیستم های عامل به عملیات و وظایف سیستم عامل اشاره می گردد.

سه شنبه 7/6/1391 - 16:23 - 0 تشکر 532971

سیستم عامل (2)

وظایف سیستم عامل

پس از روشن نمودن کامپیوتر، لولین برنامه ای که اجراء می گردد ، مجموعه دستوراتی می باشند که در حافظه ROM ذخیره و مسئول بررسی صحت عملکرد امکانات سخت افزاری موجود می باشند. برنامه فوق (POST) ، پردازنده ، حافظه و سایر عناصر سخت افزاری را بررسی خواهد کرد . پس از بررسی موفقیت آمیز برنامه POST ، در ادامه درایوهای ( هارد ، فلاپی ) سیستم فعال خواهند شد. در اکثر کامپیوترها ، پس از فعال شدن هارد دیسک ، اولین بخش سیستم عامل با نام Bootstrap Loader فعال خواهد شد. برنامه فوق صرفا” دارای یک وظیفه اساسی است : انتقال ( استقرار ) سیستم عامل در حافظه اصلی و امکان اجرای آن . برنامه فوق عملیات متفاوتی را یه منظور استفرار سیستم عامل در حافظه انجام خواهد داد.
سیستم عامل دارای وظایف زیر است :
-مدیریت پردازنده
-مدیریت حافظه
-مدیریت دستگاهها ( ورودی و خروجی )
-مدیریت حافظه جانبی
-اینترفیس برنامه های کاربردی
-رابط کاربر
-وظایف شش گانه فوق ، هسته عملیات در اکثر سیستم های عامل است .
-مدیریت پردازنده

مدیریت پردازنده دو وظیفه مهم اولیه زیر را دارد :
ایجاد اطمینان که هر پردازه و یا برنامه به میزان مورد نیاز پردازنده را برای تحقق عملیات خود ، اختیار خواهد کرد.
استفاده از بیشترین سیکل های پردازنده برای انجام عملیات
ساده ترین واحد نرم افزاری که سیستم عامل یه منظور زمانبندی پردازنده با آن درگیر خواهد شد ، یک پردازه و یا یک Thread خواهد بود. موقتا” می توان یک پردازه را مشابه یک برنامه در نظر گرفت ، در چنین حالتی مفهوم فوق ( پردازه ) ، بیانگر یک تصویر واقعی از نحوه پردازش های مرتبط با سیستم عامل و سخت افزار نخواهد بود. برنامه های کامپیوتری ( نظیر واژه پردازها ، بازیهای کامپیوتری و …) در حقیقت خود یک پردازه می باشند ، ولی برنامه های فوق ممکن است از خدمات چندین پردازه دیگر استفاده نمایند. مثلا” ممکن است یک برنامه از پردازه ای یه منظور برقراری ارتباط با سایر دستگاههای موجود در کامپیوتر استفاده نماید. پردازه های فراوان دیگری نیز وجود دارد که با توجه به ماهیت عملیات مربوطه ، بدون نیاز به محرک خارجی ( نظیر یک برنامه ) فعالیت های خود را انجام می دهند. یک پردازه ، نرم افزاری است که عملیات خاص و کنترل شده ای را انجام می دهد. کنترل یک پردازه ممکن است توسط کاربر ، سایر برنامه های کاربردی و یا سیستم عامل صورت پذیرد.
سیستم عامل با کنترل و زمانبندی مناسب پردازه ها زمینه استفاده از پردازنده را برای آنان ، فراهم می نماید. در سیستم های ” تک – کاره ” ، سیستم زمانبندی بسیار روشن و مشخص است . در چنین مواردی، سیستم عامل امکان اجرای برنامه را فراهم و صرفا” در زمانیکه کاربر اطلاعاتی را وارد و یا سیستم با وقفه ای برخورد نماید ، روند اجراء متوقف خواهد شد. وقفه ، سیگنال های خاص ارسالی توسط نرم افزار و یا سخت افزار برای پردازنده می باشند. در چنین مواردی منابع صادر کننده وقفه درخواست برقراری یک ارتباط زنده با پردازنده برای اخذ سرویس و یا سایر مسائل بوجود آمده ، را می نمایند. در برخی حالات سیستم عامل پردازه ها را با یک اولویت خاص زمانبندی می نماید . در چنین حالتی هر یک از پردازه ها با توجه به اولویت نسبت داده شده به آنان ، قادر به استفاده از زمان پردازنده خواهند بود. در اینچنین موارد ، در صورت بروز وقفه ، پردازنده آنها را نادیده گرفته و تا زمان عدم تکمیل عملیات مورد نظر توسط پردازنده ، فرصت پرداختن به وقفه ها وجود نخواهد داشت . بدیهی است با توجه به نحوه برخورد پردازنده ( عدم توجه به وقفه ها ) ، در سریعترین زمان ممکن عملیات و فعالیت جاری پردازنده به اتمام خواهد رسید. برخی از وقفه ها با توجه به اهمیت خود ( نظیر بروز اشکال در حافظه و یا سایر موارد مشابه ) ، قابل اغماص توسط پردازنده نبوده و می بایست صرفنظر از نوع و اهمیت فعالیت جاری ، سریعا” به وقفه ارسالی پاسخ مناسب را ارائه گردد.
پردازنده ، با توجه به سیاست های اعمال شده سیستم عامل و بر اساس یک الگوریتم خاص ، در اختیار پردازه های متفاوت قرار خواهد گرفت . در چنین مواردی پردازنده مشغول بوده و برای اجراء ، پردازه ای را در اختیار دارد. در زمانیکه پردازنده درگیر یک پردازه است ، ممکن است وقفه هائی از منابع متفاوت نرم افزاری و یا سخت افزاری محقق گردد. در چنین وضعیتی با توجه به اهمیت و جایگاه یک وقفه ، پردازنده برخی از آنها را نادیده گرفته و همچنان به فعالیت جاری خود ادامه داده و در برخی موارد با توجه به اهمیت وقفه ، فعالیت جاری متوقف و سرویس دهی به وقفه آغاز خواهد شد.
در سیستم های عامل ” تک – کاره ” ، وجود وقفه ها و نحوه مدیریت آنها در روند اجرای پردازه ها تاثیر و پیچیدگی های خاص خود را از بعد مدیریتی بدنبال خواهد داشت . در سیستم های عامل |”چند – کاره ” عملیات بمراتب پیچیده تر خواهد بود. در چنین مواردی می بایست این اعتقاد بوجود آید که چندین فعالیت بطور همزمان در حال انجام است . عملا” پردازنده در هر لحظه قادر به انجام یک فعالیت است و بدیهی است رسیدن به مرز اعتقادی فوق ( چندین فعالیت بطور همزمان ) مستلزم یک مدیریت قوی و طی مراحل پیچیده ای خواهد بود. در چنین حالتی لازم است که پردازنده در مدت زمان یک ثانیه هزاران مرتبه از یک پردازه به پردازه ه دیگر سوئیچ تا امکان استفاده چندین پردازه از پردازنده را فراهم نماید . در ادامه نحوه انجام عملیات فوق ، تشریح می گردد :
یک پردازه بخشی از حافظه RAM را اشغال خواهد کرد
پس از استفرار بیش از یک پردازه در حافظه ، پردازنده بر اساس یک زمانبندی خاص ، فرصت اجراء را به یکی از پردازه ها خواهد داد.
پردازنده ، بر اساس تعداد سیکل های خاصی پردازه را اجراء خواهد کرد .
پس ازاتمام تعداد سیکل های مربوطه ، پردازنده وضعیت پردازه ( مقایر ریجسترها و …) را ذخیره و به پردازه اتمام زمان مربوطه را اعلام می نماید.
پردازنده در ادامه اطلاعات ذخیره شده در رابطه با پردازه دیگر را فعال ( ریجسترها و …) و زمینه اجرای پردازه دوم فراهم می گردد.
پس ازاتمام تعداد سیکل های مربوطه ، پردازنده وضعیت پردازه ( مقایر ریجسترها و …) را ذخیره و به پردازه اتمام زمان مربوطه را اعلام و مجددا” پردازه اول جهت اجراء فعال خواهد گردید.
تمام اطلاعات مورد نیاز یه منظور مدیریت یک پردازه در ساختمان داده ای خاص با نام PCB)Process Control Block) ، نگهداری می گردد. پردازنده در زمان سوئیچ بین پردازه ها ، از آخرین وضعیت هر پردازه با استفاده از اطلاعات ذخیره شده در PCB آگاهی پیدا کرده و در ادامه زمینه اجرای پردازه مورد نظر بر اساس تعداد سیکل های در نظر گرفته شده فراهم خواهد شد. برای هر پردازه یک PCB ایجاد و اطلاعات زیر در آن ذخیره خواهد گردید :
یک مشخصه عددی (ID) که نمایانگر پردازه خواهد بود .
اشاره گری که نشاندهنده آخرین محل اجرای پردازه است
محتویات ریجستر ها
وضعیت سوئیچ ها و متغیرهای مربوطه
اشاره گره هائی که حد بالا و پایین حافظه مورد نیاز پردازه را مشخص خواهد کرد.
اولویت پردازه
وضعیت دستگاههای ورودی و خروجی مورد نیاز پردازه
هر زمان که اطلاعات مربوط به پردازه ای تغییر یابد ، ( پردازه از حالت “آماده ” تبدیل به حالت “اجراء ” و یا از حالت ” اجراء ” به حالت “انتظار” و یا “آماده ” سوئیچ نماید ) اطلاعات ذخیره شده در PCB استفاده و بهنگام خواهند شد.
عملیات جایگزینی پردازها، بدون نظارت و ارتباط مستقیم کاربر انجام و هر پردازه به میزان کافی از زمان پردازنده برای اتمام عملیات خود استفاده خواهد کرد. در این راستا ممکن است ، کاربری قصد اجرای تعداد بسیار زیادی از پردازه ها را بسورت همزمان داشته باشد. در چنین مواردی است ، پردازنده خود نیازمند استفاده از چندین سیکل زمانی برای ذخیره و بازیابی اطلاعات مربوط به هر یک از پردازه ها خواهد بود .در صورتی که سیستم عامل با دقت طراحی نشده باشد و یا پردازه های زیادی فعالیت خود را آغاز کرده باشند ، مدت زمان زیادی از پردازنده صرف انجام عملیات سوئیچینگ بین پردازها شده و عملا” در روند اجرای پردازها اختلال ایجاد می گردد. وضعیت بوجود آمده فوق را Thrashing می گویند. در چنین مواردی کاربر می بایست نسبت به غیرفعال نمودن برخی از پردازه ها اقدام تا سیستم مجددا” در وضعیت طبیعی قرار گیرد.
یکی از روش هائی که طراحان سیستم عامل از آن استفاده تا امکان ( شانس) تحقق Thrashing را کاهش دهند ، کاهش نیاز به پردازه های جدید برای انجام فعالیت های متفاوت است . برخی از سیستم های عامل ازیک ” پردازه -lite ” با نام Thread استفاده می نمایند. Thread از لحاظ کارآئی همانند یک پردازه معمولی رفتار نموده ولی نیازمند عملیات متفاوت ورودی و خروجی و یا ایجاد ساختمان داده PCB مشابه یک پردازه عادی نخواهد بود. یک پردازه ممکن است باعث اجرای چندین Threads و یا سایر پردازه های دیگر گردد. یک Thread نمی تواند باعث اجرای یک پردازه گردد.
تمام موارد اشاره شده در رابطه با زمانبندی با فرض وجود یک پردازنده مطرح گردیده است . در سیستم هائی که دارای دو و یا بیش از دو پردازنده می باشند ، سیستم عامل حجم عملیات مربوط به هر گردازنده را تنظیم و مناسب ترین روش اجراء برای یک پردازه در نظر گرفته شود . سیستم های عامل نامتقارن ، از یک پردازنده برای انجام عملیات مربوط به سیستم عامل استفاده و پردازه های مربوط به برنامه های کاربردی را بین سایر پردازه ها تقسیم می نمایند. سیستم های عامل متقارن ، عملیات مربوط به خود و عملیات مربوط به سایر پردازه ها را بین پردازه های موجود تقسیم می نمایند. در این راستا سعی می گردد که توزیع عملیات برای هر یک از پردازه ها بصورت متعادل انجام گردد.

سه شنبه 7/6/1391 - 16:24 - 0 تشکر 532973

سیستم عامل (3)

مدیریت حافظه و فضای ذخیره سازی
سیستم عامل در رابطه با مدیریت حافظه دو عملیات اساسی را انجام خواهد داد :
هر پردازه یه منظور اجراء می بایست دارای حافظه مورد نیاز و اختصاصی خود باشد .
از انواع متفاوتی حافظه در سیستم استفاده تا هر پردازه قادر به اجراء با بالاترین سطح کارآئی باشد.
سیسم های عامل در ابتدا می بایست محدوده های حافظه مورد نیاز هر نوع نرم افزار و برنامه های خاص را فراهم نمایند. مثلا” فرض کنید سیستمی دارای یک مگابایت حافظه اصلی باشد . سیستم عامل کامپیوتر فرضی ، نیازمند 300 کیلو بایت حافظه است . سیستم عامل در بخش انتهائی حافظه مستقر و بهمراه خود درایورهای مورد نیاز یه منظور کنترل سخت افزار را نیز مستقر خواهد کرد. درایورهای مورد نظر به 200 کیلو بایت حافظه نیاز خواهند داشت . بنابراین پس از استقرار سیستم عامل بطور کامل در حافظه ، 500 کیلو بایت حافظه باقیمانده و از آن برای پردازش برنامه های کاربردی استفاده خواهد شد. زمانیکه برنامه های کاربردی در حافظه مستقر می گردند ، سازماندهی آنها در حافظ بر اساس بلاک هائی خواهد بود که اندازه آنها توسط سیستم عامل مشخص خواهد شد. در صورتی که اندازه هر بلاک 2 کیلوبایت باشد ، هر یک از برنامه های کاربردی که در حافظه مستقر می گردنند ، تعداد زیادی از بلاک های فوق را (مضربی از دو خواهد بود) ، بخود اختصاص خواهند داد. برنامه ها در بلاک هائی با طول ثابت مستقر می گردند. هر بلاک دارای محدوده های خاص خود بوده که توسط کلمات چهار و یا هشت بایت ایجاد خواهند شد. بلاک ها و محدو ده های فوق این اطمینان را بوجود خواهند آورد که برنامه ها در محدوده های متداخل مستقر نخواهند شد. پس از پر شدن فضای 500 کیلوبایت اختصاصی برای برنامه های کاربردی ، وضعیت سیستم به چه صورت تبدیل خواهد گردید؟
در اغلب کامپیوترها ، می توان ظرفیت حافظه را ارتقاء و افزایش داد. مثلا” می توان میزان حافظه RAM موجود را از یک مگابایت به دو مگابایت ارتقاء داد. روش فوق یک راهکار فیزیکی برای افزایش حافظه بوده که در برخی موارد دارای چالش های خاص خود می باشد. در این زمینه می بایست راهکارهای دیگر نیز مورد بررسی قرار گیرند.
 اغلب اطلاعات ذخیره شده توسط برنامه ها در حافظه ، در تمام لحظات مورد نیاز نخواهد نبود. پردازنده در هر لحظه قادر به دستیابی به یک محل خاص از حافظه است . بنابراین اکثر حجم حافظه در اغلب اوقات غیر فابل استفاده است . از طرف دیگر با توجه به اینکه فضای ذخیره سازی حافظه ها ی جانبی نظیر دیسک ها بمراتب ارزانتر نسبت به حافظه اصلی است ، می توان با استفاده از مکانیزمهائی اطلاعات موجود در حافظه اصلی را خارج و آنها را موقتا” بر روی هارد دیسک ذخیره نمود. بدین ترتیب فضای حافظه اصلی آزاد و در زمانیکه به اطلاعات ذخیره شده بر روی هارد دیسک نیاز باشد ، مجددا” آنها را در حافظه مستقر کرد. روش فوق ” مدیریت حافظه مجازی ” نامیده می شود.
حافطه های ذخیره سازی دیسکی ، یکی از انواع متفاوت حافظه موجود بوده که می بایست توسط سیستم عامل مدیریت گردد. حافطه های با سرعت بالای Cache ، حافظه اصلی و حافظه های جانبی نمونه های دیگر از حافظه بوده که توسط سیستم عامل مدیریت گردند.
مدیریت دستگاهها
دستیابی سیستم عامل به سخت افزارهای موجود از طریقه برنامه های خاصی با نام “درایور” انجام می گیرد. درایور مسئولیت ترجمه بین سیگنال های الکترونیکی زیر سیستم های سخت افزاری و زبانهای برنامه نویسی سطح بالا و سیستم عامل و برنامه های کاربردی را برعهده خواهد داشت . مثلا” درایورها اطلاعاتی را که سیستم عامل بصورت یک فایل تعریف و در نظر می گیرد را اخذ و آنها را به مجموعه ای از بیت ها برای ذخیره سازی بر روی حافظه های حانبی و یا مجموعه ای از پالس ها برای ارسال بر روی چاپگر ، ترجمه خواهد کرد.
با توجه به ماهیت عملکرد عناصر سخت افزاری و وجود تنوع در این زمینه ، درایورهای مربوطه نیز دارای روش های متعدد یه منظور انجام وظایف خود می باشند. اکثر درایورها در زمانیکه به خدمات دستگاه مورد نظر نیاز باشد ، استفاده شده و دارای پردازش های یکسانی در زمینه سرویس دهی خواهند بود. سیستم عامل بلاک های با اولویت بالا را به درایورها اختصاص داده تا از این طریق منابع سخت افزاری قادر به آزادسازی سریع یه منظور استفاده در آینده باشند.
یکی از دلایلی که درایورها از سیستم عامل تفکیک شده اند ، ضرورت افزودن عملیات و خواسته ای حدید برای درایورها است . در چنین حالتی ضرورتی بر اصلاح و یا تغییر سیستم عامل نبوده و با اعمال تغییرات لازم در درایورها می توان همچنان از قابلیت های آنها در کنار سیستم عامل موجود استفاده کرد.
مدیریت عملیات ورودی و خروجی در کامپیوتر مستلزم استفاده و مدیریت ” صف ها ” و ” بافرها ” است . بافر ، مکان های خاصی برای ذخیره سازی اطلاعات بصورت مجموعه ای از بیت ها ی ارسالی توسط دستگاهها ( نظیر صفحه کلید و یا یک پورت سریال ) و نگهداری اطلاعات فوق و ارسال آنها برای پردازنده در زمان مورد نظر و خواسته شده است . عملیات فوق در مواردیکه چندین پردازنده در وضعیت اجراء بوده و زمان پردازنده را بخود اختصاص داده اند ، بسیار حائز اهمیت است . سیستم عامل با استفاده از یک بافر قادر به دریافت اطلاعات ارسالی توسط دستگاه مورد نظر است . ارسال اطلاعات ذخیره شده برای پردازنده پس از غیر فعال شدن پردازه مربوطه ، متوقف خواهد شد. در صورتی که مجددا” پردازه به اطلاعات ورودی نیاز داشته باشد ، دستگاه فعال و سیستم عامل دستوراتی را صادر تا بافر اطلاعات مربوطه را ارسال دارد. فرآیند فوق این امکان را به صفحه کلید یا مودم خواهد داد تا با سرعت مناسب خدمات خود را همچنان ادامه دهند ( ولواینکه پردازنده در آن زمان خاص مشغول باشد).
مدیریت تمام منابع موجود در یک سیستم کامپیوتری ، یکی از مهمترین و گسترده ترین وظایف یک سیستم عامل است .
ارتباط سیستم با دنیای خارج
اینترفیس برنامه ها
سیستم عامل در رابطه با اجرای برنامه های کامپیوتری خدمات فراوانی را ارائه می نماید. برنامه نویسان و پیاده کنندگان نرم افزار می توانند از امکانات فراهم شده توسط سیستم های عامل استفاده و بدون اینکه نگران و یا درگیر جزئیات عملیات در سیستم باشند ، از خدمات مربوطه استفاده نمایند. برنامه نویسان با استفاده از API)Application program interface) ، قادر به استفاده از خدمات ارائه شده توسط سیستم های عامل در رابطه با طراحی و پیاده سازی نرم افزار می باشند. در ادامه یه منظور بررسی جایگاه API به بررسی مثالی پرداخته خواهد شد که هدف ایجاد یک فایل بر روی هارد دیسک برای ذخیره سازی اطلاعات است .
برنامه نویسی ، برنامه ای را نوشته که بکمک آن قادر به ذخیره سازی داده های ارسالی توسط یک دستگاه کنترل علمی است . سیستم عامل یک تابع API با نام MakeFile را یه منظور ایجاد فایل در اختیار برنامه نویس قرار می دهد. برنامه نویس در زمان نوشتن برنامه از دستوری مشابه زیر استفاده می نماید :
MakeFile [1,%Name,2]
دستورالعمل فوق به سیستم عامل خواهد گفت که فایلی را ایجاد که شیوه دستیابی به داده های آن بصورت تصادفی ( عدد یک بعنوان اولین پارامتر ) ، دارای نام مشخص شده توسط کاربر (Name%) و دارای طولی متغیر است . ( عدد 2 ، بعنوان سومین پارامتر) سیستم عامل دستور فوق را بصورت زیر انجام خواهد داد :
سیستم عامل درخواستی برای هارد ارسال تا اولین مکان آزاد قابل استفاده مشخص گردد.
با توجه به اطلاعات ارسالی ، سیستم عامل یک entry در سیستم فایل مربوطه ایجاد و ابتدا و انتهای فایل ، نام فایل ، نوع فایل ، تاریخ و زمان ایجاد فایل و سایر اطلاعات ضروری را ذخیره خواهد کرد.
سیستم عامل اطلاعاتی را در ابتدای فایل یه منظور مشخص کردن فایل ، تنظیمات مربوط به شیوه دستیابی به فایل و سایر اطلاعات مورد نیاز را خواهد نوشت .
در چنین حالتی برنامه نویس از تابع فوق برای ایجاد و ذخیره سازی فایل استفاده نموده و ضرورتی بر نوشتن کدها ، نوع داده ها و کدهای پاسخ برای هر نوع هارد دیسک نخواهد بود. سیستم عامل از امکانات درایورها استفاده و درایورها مسئول برقراری ارتباط با منابع سخت افزاری خواهند بود. در چنین حالتی برنامه نویس بسادگی از تابع مورد نظر استفاده و ادامه عملیات توسط سیستم عامل انجام خواهد شد. امکانات ارائه شده توسط سیستم های عامل در قالب مجموعه ای از توابع و امکانات API یکی از موارد بسیار مهم استفاده از سیستم عامل از دیدگاه طراحان و پیاده کنندگان نرم افزار است .

سه شنبه 7/6/1391 - 16:26 - 0 تشکر 532974

سیستم عامل (4)

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

سه شنبه 7/6/1391 - 16:27 - 0 تشکر 532975

سیستم عامل (5)

هارد دیسک تنها یکی از انواع حافظه‌هاست که توسط سیستم عامل مدیریت می‌شود. دسته بندی این حافظه‌ها به ترتیب سرعت به صورت زیر است:
• High-Speed Cache: این نوع حافظه دارای ارتباط مستقیم با پردازشگر است و به پردازشگر در دسترسی به اطلاعات کمک می‌کند. [چطورCache کار می‌کند؟]
• Main Memory: که همان RAM است. [چطورRAM کار می‌کند؟]
• Secondary Memory: این نوع حافظه که معمول‌ترین نوع آن حافظه دائمی یا همان هارد دیسک است، تحت مدیریت حافظه سیستم عامل به صورت Virtual RAM در می‌آید.
سیستم عامل مسئولیت ایجاد توازن بین این حافظه‌ها که همان منابع کامپیوتر هستند را دارد.
ارتباط بین سخت افزار کامپیوتر و سیستم عامل توسط برنامه‌ای به نام «گرداننده» (Driver) کنترل می‌شود. وظیفه این برنامه ترجمه سیگنال‌های الکتریکی به برنامه‌های نرم افزاری و برعکس است. این برنامه نیز مانند سایر برنامه‌ها کار می‌کند ولی تنها وقتی فعال می‌شود که سخت افزار مربوط مورد استفاده قرار گیرد و در غیر این صورت در حالت انتظار(Pending) می‌ماند.
گرداننده معمولاً جدا از سیستم عامل کار می‌کنند. به این دلیل که با تغییر در ساختار سخت افزار، نیازی به تغییر سیستم عامل نباشد.
مدیریت سخت افزار ورودی و خروجی به معنی مدیریت کردن سرعت بارگذاری اطلاعات از سخت افزار بر روی پردازشگر است. این امر شامل مدیریت این بارگذاری به ترتیبی است که پردازشگر توانایی پردازش اطلاعات این سخت افزار به طور منظمی را داشته باشد.
تا اینجا متوجه شدید که کار سیستم عامل مدیریت تمامی منابع کامپیوتر است. منابع کامپیوتر شامل چرخه‌های پردازش (Cycle) و حافظه‌ها و تمامی سخت افزار است. هر قدر هم که منابع کامپیوترتان پیشرفته و گسترده باشد، بدون داشتن سیستم عامل مناسب نمی‌توانید از هیچ کدام آن‌ها بهره‌مند شوید.
سیستم‌عامل به رابط نرم‌افزاری میان نرم‌افزارهای سیستمی و کاربری و سخت‌افزار کامپیوتر گفته می‌شوم که بدلیل ماهیت و کارآیی خاص آن به میان‌افزار مشهور است. سیستم عامل مجموعه‌ای از برنامه‌هاست که برای مدیریت و کنترل عملیات کامپیوتر مورد استفاده قرار می‌گیرد. علاوه بر این سیستم عامل به عنوان رابط بین کاربر و سخت‌افزار عمل می‌کند. دستورهای کاربر برای اجرا در کامپیوتر به سیستم عامل اعلام می‌شوند و نتایج حاصل از اجرای دستور‌ها به وسیله سیستم عامل به اطلاع کاربر می‌رسد.
سیستم‌عامل‌ها انواع مختلفی داشته و توسط شرکت‌های مختلفی تولید می‌شوند که در میان کاربران نهایی ۳ نوع سیستم‌عامل ویندوز، لینوکس و مک طرفداران بیشتری نسبت به دیگر رقباء دارند که هریک از انواع سیستم‌عامل به نسخه‌ها و توزیع‌های متفاوتی تقسیم می‌شوند.
سیستم عامل ها می توان از نوع کاربری به دو دسته تک کاربره و چند کاربرMulti User تقسیم نمود. که در بخش مولتی یوزر به سیستم عامل لینوکس را نام برد.
تاریخچه سیستم عامل مایکروسافت:

1) MS-DOS
2)3.1 microsoft Windows
3) windows 95
4) 4.0 windows NT
5) Windows 98
6)Windows 2000
7) Windows Me
Windows XP(8
9) WindowsVISTA
10) Windows 7
11)Windows 8
سیستم عامل های موبایل:
: 1. Symbina (سیمبیان )
2. Microsoft Windows mobile CE( ویندوز موبایل)
3. Palm Os (پالم)
4. Java (جاوا)
5. Linux (لینوکس)
6. BlackBerryبلک بری
7. Goole Android (گوگل آندروید)
8. Apple iPhone (آیفون اپل )
در زمینه تلفن های همراه و دستیاران دیجیتال ( PDA ) مطرح می باشند.
تاریخچه سیستم عامل لینوکس:
سیستم عامل لینوکس به نحوی طراحی شده است که از قانون کپی رایت استفاده نمی کندو مانند ویکی پدیا با سورس آزاد می باشد و هر کسی در دنیا می تواند آنرا ارتقاع بدهد . به همین منظور نسخه های زیادی از این سیستم در دنیا وجود دارد که اکثر آنها به صورت کاملا رایگان و در بعضی موارد حتی با پست رایگان برای شما ارسال می شود. بعضی از نسخه های این سیستم عامل می توان: لینوکس – لینوکس فدروا – لینوکس اوبنتو – لینوکس سوزه – لینوکس شریف (فارسی زبان) – می باشد.
بسیاری از سیستم عامل های ابر کامپیوتر های امروزی لینوکس می باشد. باید بدانید که پایه لینوکس بر اساس بیس یونیکس (که خود نوعی سیستم عاملمی باشد) می باشد.
بقیه سیستم عامل ها:
یونیکس UNIX
مک ( سیستم عاملی بر اساس کامپیوتر های مکینتاش) MAC OS
بی اس دی BSD ( بر اساس Unix) همانند لینوکس می باشد. سه نوع FreeBSD – Open BSD – NET BSD
Plan9
گوگل کروم Google Chrome OS ( بر اساس لینوکس )
همچنین سیستم عامل قدیمی تر وجود دارند. هم چنین امروزه موبایل ها ، آی پد دارای سیستم عامل هایی مجزا می باشند.
سیستم عامل و برنامه های اجرایی
برنامه و نرم افزارهای که در دنیا تولید می شود . باید دارای استانداردهایی باشد که سیستم عامل با آن سازگار باشد. یه طور مثال نرم افزاری که برای مکینتاش طراحی شده است در ویندوز اجرا نمی شود. برای راحتر کردن تشخیص افراد این نرم افزار داری پسوند خاص خود می باشد.
پسوند های استاندارد:
ویندوز : EXE -COM -BAT
لینوکس: tar – rpm – tar.gz – dep و… می باشد. به علت سورس آزاد قوانین می تواند گسترش پیداکند.(با استفاده از کانورتور های جدید برخی از فایلهای exe هم اجرا می شود. که نوعی شبیه ساز می باشد. )
مک: INIT
سیستم عامل و سخت افزار استاندار IBM
Windows – Linux
استاندار Apple
Mac – Windows – Linux
ابر کامپیوتر ها و مینی کامپیوتر ها
Linux
اهداف سیستم عامل
۱ ) مخفی کردن سخت افزار از دیدگاه کاربر
۲ )استفاده از منابع سیستم
۳ ) کنترل اجرای برنامه هاتعریف
سیستم عامل مهم ترین نرم افزار سیستمی است که رابطه بین سخت افزار و برنامه های کاربردی است .
وظایف سیستم عامل
۱ )اشتراک گذاشتن داده ها
۲ )اشتراک گذاشتن سخت افزار
۳ )اجرای برنامه ها
۴ )فراهم کردن امکانات ورودی خروجی
۵ )سازماندهی بر نامه ها
۶ )ترمیم خطا
انواع پردازش
۱ )سریال : در این نوع پردازش تمامی کارها توسط برنامه نویس مدیریت می شد .مانند کامپیوتر های نسل اول و دوم
۲ ) دسته ای : در این پردازش برنامه نویس برنامه خود را برروی کارتهایی به نام کارت پانچ منتقل می نمود ٬سپس یک دسته از کارتها به اپراتور داده می شد و فقط اپراتور مخصوص کامپیوتر این کارت ها را اجرا می نمود . این روش در کامپیوتر های نسل دوم کاربرد داش ت. یکی از اشکالات سیستم هایی با پردازش دسته ای این است که وقتی یک کاربر برای تبدیل عملیات ورودی خروجی منتظر می باشد ٬پردازنده در این مدت بیکار می ماند .
۳ ) چند برنامه ای : در این نوع پردازش حافظه به چند بخش تقسیم می شود و هربخش به یک برنامه اختصاص می یابد . هنگامی که یک برنامه منتظر عملیات ورودی خروجی می باشد پردازنده به اجرای برنامه دیگری می پردازد .
Buffering :
روشی جهت هماهنگ سازی عملیات و رودی خروجی با عملیات محاسباتی می باشد .
Spooling :
درروش قبلی اطلاعات مستقیماً از دستگاه ورودی به حافظه منتقل می شد اما در این روش اطلاعات ابتدا وارد دیسک می شود .درواقع دیسک به عنوان Buffer بزرگ عمل می کند . روش ورودی خروجی چندین کاررا با عملیات محاسباتی آ ن ها هماهنگ می کند .
; (Real time)
اشتراک زمانی یاسیستم های بلادرنگ :
به منظور پشتیبانی از چند کاربر به طور همزمان به کار گرفته می شود .دراین روش کاربران همزمان دستوراتی را وارد کرده وپاسخ آن را سریعاً دریافت می کنند .دراین سیستم ها پردازنده مکانیز برنامه های م ختلف راانتخاب می کند و هرکاربر تصور می کند کامپیوتر در اختیار اوست . در این روش هدف راحتی کاربر و بالاترین کاربرد سیستم می باشد . هدف اصلی این سیستم ها پاسخ دهی سریع به رویدادهااس ت.
در این سیستم ها زمان پاسخگویی باید سریع و تضمین شده باشد .از کاربردهای آن می توان به سیستم های نظامی ٬پزشکی و هسته ای اشاره نمود .
( Distributed System) سیستم های توزیع شده
سیستم های توزیع شده معمولاً دریک محیط شبکه اجرا می شوند .در این سیستم ها برنامه های کاربر همزمان در چند کامپیوتر اجرا می شود.



من این مقاله را از سرچ زیادی پیدا کردم برای تحقیق خودم
که دیدم حیف هستش بقیه استفاده نکنن
یک سری ویرایش لازم داشتش که انجامش دادم
امیدوارم مفید باشه براتون

منابع :گوگل -هفت کلیک - سیستم عامل -آپادانا

موفق باشید!

برو به انجمن
انجمن فعال در هفته گذشته
مدیر فعال در هفته گذشته
آخرین مطالب
  • آلبوم تصاویر بازدید از کلیسای جلفای...
    آلبوم تصاویر بازدید اعضای انجمن نصف جهان از کلیسای جلفای اصفهان.
  • بازدید از زیباترین کلیسای جلفای اصفهان
    جمعی از کاربران انجمن نصف جهان، در روز 27 مردادماه با همکاری دفتر تبیان اصفهان، بازدیدی را از کلیسای وانک، به عمل آورده‌اند. این کلیسا، یکی از کلیساهای تاریخی اصفهان به شمار می‌رود.
  • اعضای انجمن در خانه شهید بهشتی
    خانه پدری آیت الله دکتر بهشتی در اصفهان، امروزه به نام موزه و خانه فرهنگ شهید نام‌گذاری شده است. اعضای انجمن نصف جهان، در بازدید دیگر خود، قدم به خانه شهید بهشتی گذاشته‌اند.
  • اطلاعیه برندگان جشنواره انجمن‌ها
    پس از دو ماه رقابت فشرده بین کاربران فعال انجمن‌ها، جشنواره تابستان 92 با برگزاری 5 مسابقه متنوع در تاریخ 15 مهرماه به پایان رسید و هم‌اینک، زمان اعلام برندگان نهایی این مسابقات فرارسیده است.
  • نصف جهانی‌ها در مقبره علامه مجلسی
    اعضای انجمن نصف جهان، در یك گردهمایی دیگر، از آرامگاه علامه مجلسی و میدان احیا شده‌ی امام علی (ع) اصفهان، بازدیدی را به عمل آوردند.