رپو فایل

مرجع دانلود و خرید فایل

رپو فایل

مرجع دانلود و خرید فایل

نرم افزارهای سیستم عامل

سیستم عامل بدون شک مهمترین نرم افزار در کامپیوتر است پس از روشن کردن کامپیوتر اولین نرم افزاری که مشاهده می گردد سیستم عامل بوده و آخرین نرم افزاری که قبل از خاموش کردن کامپیوتر مشاهده خواهد شد، نیز سیستم عامل است سیستم عامل نرم افزاری است که امکان اجرای تمامی برنامه های کامپیوتری را فراهم می آورد
دسته بندی کامپیوتر و IT
بازدید ها 3
فرمت فایل doc
حجم فایل 148 کیلو بایت
تعداد صفحات فایل 112
نرم افزارهای سیستم عامل

فروشنده فایل

کد کاربری 2106
کاربر

نرم افزارهای سیستم عامل

نرم افزار

سیستم عامل

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

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

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

سیستم عامل با ساده ترین تحلیل و بررسی دو عملیات اساسی را در کامپیوتر انجام می دهد :

- مدیریت منابع نرم افزاری و سخت افزاری یک سِستم کامپیوتری را برعهده دارد. پردازنده ، حافظه، فضای ذخیره سازی نمونه هائی از منابع اشاره شده می باشند .

- روشی پایدار و یکسان برای دستیابی و استفاده از سخت افزار را بدو ن نیاز از جزئیات عملکرد هر یک از سخت افزارهای موجود را برای برنامه های کامپیوتری فراهم می نماید

اولین وظیفه یک سیستم عامل، مدیریت منابع سخت افزاری و نرم افزاری است . برنامه های متفاوت برای دستیابی به منابع سخت افزاری نظیر: پردازنده ، حافظه، دستگاههای ورودی و خروجی، حافطه های جانبی، در رقابتی سخت شرکت خواهند کرد. سیستم های عامل بعنوان یک مدیر عادل و مطمئن زمینه استفاده بهینه از منابع موجود را برای هر یک از برنامه های کامپیوتری فراهم می نمایند.

وظیفه دوم یک سیستم عامل ارائه یک رابط ( اینترفیس ) یکسان برای سایر برنامه های کامپیوتری است . در این حالت زمینه استفاده بیش از یک نوع کامپیوتر از سیستم عامل فراهم شده و در صورت بروز تغییرات در سخت افزار سیستم های کامپیوتری نگرانی خاصی از جهت اجرای برنامه وجود نخواهد داشت، چراکه سیستم عامل بعنوان میانجی بین برنامه های کامپیوتری و سخت افزار ایفای وظیفه کرده و مسئولیت مدیریت منابع سخت افزاری به وی سپرده شده است .برنامه نویسان کامپیوتر نیز با استفاده از نقش سیستم عامل بعنوان یک میانجی براحتی برنامه های خود را طراحی و پیاده سازی کرده و در رابطه با اجرای برنامه های نوشته شده بر روی سایر کامپیوترهای مشابه نگرانی نخواهند داشت . ( حتی اگر میزان حافظه موجود در دو کامپیوتر مشابه نباشد ) . در صورتیکه سخت افزار یک کامپیوتر بهبود و ارتقاء یابد، سیستم عامل این تضمین را ایجاد خواهد کرد که برنامه ها، در ادامه بدون بروز اشکال قادر به ادامه حیات وسرویس دهی خود باشند. مسئولیت مدیریت منابع سخت افزاری برعهده سیتم عامل خواهد بود نه برنامه های کامپیوتری، بنابراین در زمان ارتقای سخت افزار یک کامپیوتر مسئولیت سیتستم عامل در این راستا اولویت خواهد داشت . ویندوز 98 یکی از بهترین نمونه ها در این زمینه است . سیستم عامل فوق بر روی سخت افزارهای متعدد تولید شده توسط تولیدکنندگان متفاوت اجراء می گردد. ویندوز 98 قادر به مدیریت و استفاده از هزاران نوع چاپگر دیسک و سایر تجهیزات جانبی است .

سیستم های عامل را از بعد نوع کامپیوترهائی که قادر به کنترل آنها بوده و نوع برنامه های کاربردی که قادر به حمایت از آنها می باشند به چهار گروه عمده تقسیم می نمایند.

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

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

- تک کاربره - چندکاره . اکثر سیستم های عامل استفاده شده در کامپیوترهای شخصی از این نوع می باشند. ویندوز 98 و MacOS نمونه هائی در این زمینه بوده که امکان اجرای چندین برنامه بطور همزمان را برای یک کاربر فراهم می نمایند. مثلا" یک کاربر ویندوز 98 قادر به تایپ یک نامه با استفاده از یک واژه پرداز بوده و در همان زمان اقدام به دریافت یک فایل از اینترنت نموده و در همان وضعیت محتویات نامه الکترونیکی خود را برای چاپ بر روی چاپگر ارسال کرده باشد.

- چندکاربره . یک سیستم عامل چند کاربره ، امکان استفاده همزمان چندین کاربر از منابع موجود کامپیوتر را فراهم می آورند. منابع مورد نیاز هر یک از کاربران می بایست توسط سیستم عامل بدرستی مدیریت تا در صورت بروز اشکال در منابع تخصیص یافته به یک کاربر، بر روند استفاده سایر کاربران از منابع مورد نظر اختلالی ایجاد نگردد. یونیکس، VMS و سیستم های عامل کامپیوترهای بزرگ نظیر MVS نمونه هائی از سیستم های عامل چندکاربره می باشند.

در اینجا لازم است که به تفاوت های موجود سیستم های عامل " چند کاربر " و " تک کاربر" در رابطه با امکانات شبکه ای اشاره گردد. ویندوز 2000 و ناول قادر به حمایت از صدها و هزاران کاربر شبکه می باشند این نوع سیستم های عامل بعنوان سیستم عامل چند کاربره واقعی در نظر گرفته نمی شوند.

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

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

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

سیستم عامل دارای وظایف زیر است :

  • مدیریت پردازنده
  • مدیریت حافظه
  • مدیریت دستگاهها ( ورودی و خروجی )
  • مدیریت حافظه جانبی
  • اینترفیس برنامه های کاربردی
  • رابط کاربر

وظایف شش گانه فوق ، هسته عملیات در اکثر سیستم های عامل است . در ادامه به تشریح وظایف فوق اشاره می گردد :

مدیریت پردازنده

مدیریت پردازنده دو وظیفه مهم اولیه زیر را دارد :

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

ساده ترین واحد نرم افزاری که سیستم عامل بمنظور زمانبندی پردازنده با آن درگیر خواهد شد ، یک پردازه و یا یک Thread خواهد بود. موقتا" می توان یک پردازه را مشابه یک برنامه در نظر گرفت ، در چنین حالتی مفهوم فوق ( پردازه ) ، بیانگر یک تصویر واقعی از نحوه پردازش های مرتبط با سیستم عامل و سخت افزار نخواهد بود. برنامه های کامپیوتری ( نظیر واژه پردازها ، بازیهای کامپیوتری و ...) در حقیقت خود یک پردازه می باشند ، ولی برنامه های فوق ممکن است از خدمات چندین پردازه دیگر استفاده نمایند. مثلا" ممکن است یک برنامه از پردازه ای بمنظور برقراری ارتباط با سایر دستگاههای موجود در کامپیوتر استفاده نماید. پردازه های فراوان دیگری نیز وجود دارد که با توجه به ماهیت عملیات مربوطه ، بدون نیاز به محرک خارجی ( نظیر یک برنامه ) فعالیت های خود را انجام می دهند. یک پردازه ، نرم افزاری است که عملیات خاص و کنترل شده ای را انجام می دهد. کنترل یک پردازه ممکن است توسط کاربر ، سایر برنامه های کاربردی و یا سیستم عامل صورت پذیرد.

سیستم عامل با کنترل و زمانبندی مناسب پردازه ها زمینه استفاده از پردازنده را برای آنان ، فراهم می نماید. در سیستم های " تک - کاره " ، سیستم زمانبندی بسیار روشن و مشخص است . در چنین مواردی، سیستم عامل امکان اجرای برنامه را فراهم و صرفا" در زمانیکه کاربر اطلاعاتی را وارد و یا سیستم با وقفه ای برخورد نماید ، روند اجراء متوقف خواهد شد. وقفه ، سیگنال های خاص ارسالی توسط نرم افزار و یا سخت افزار برای پردازنده می باشند. در چنین مواردی منابع صادر کننده وقفه درخواست برقراری یک ارتباط زنده با پردازنده برای اخذ سرویس و یا سایر مسائل بوجود آمده ، را می نمایند. در برخی حالات سیستم عامل پردازه ها را با یک اولویت خاص زمانبندی می نماید . در چنین حالتی هر یک از پردازه ها با توجه به اولویت نسبت داده شده به آنان ، قادر به استفاده از زمان پردازنده خواهند بود. در اینچنین موارد ، در صورت بروز وقفه ، پردازنده آنها را نادیده گرفته و تا زمان عدم تکمیل عملیات مورد نظر توسط پردازنده ، فرصت پرداختن به وقفه ها وجود نخواهد داشت . بدیهی است با توجه به نحوه برخورد پردازنده ( عدم توجه به وقفه ها ) ، در سریعترین زمان ممکن عملیات و فعالیت جاری پردازنده به اتمام خواهد رسید. برخی از وقفه ها با توجه به اهمیت خود ( نظیر بروز اشکال در حافظه و یا سایر موارد مشابه ) ، قابل اغماص توسط پردازنده نبوده و می بایست صرفنظر از نوع و اهمیت فعالیت جاری ، سریعا" به وقفه ارسالی پاسخ مناسب را ارائه گردد.

پردازنده ، با توجه به سیاست های اعمال شده سیستم عامل و بر اساس یک الگوریتم خاص ، در اختیار پردازه های متفاوت قرار خواهد گرفت . در چنین مواردی پردازنده مشغول بوده و برای اجراء ، پردازه ای را در اختیار دارد. در زمانیکه پردازنده درگیر یک پردازه است ، ممکن است وقفه هائی از منابع متفاوت نرم افزاری و یا سخت افزاری محقق گردد. در چنین وضعیتی با توجه به اهمیت و جایگاه یک وقفه ، پردازنده برخی از آنها را نادیده گرفته و همچنان به فعالیت جاری خود ادامه داده و در برخی موارد با توجه به اهمیت وقفه ، فعالیت جاری متوقف و سرویس دهی به وقفه آغاز خواهد شد.

در سیستم های عامل " تک - کاره " ، وجود وقفه ها و نحوه مدیریت آنها در روند اجرای پردازه ها تاثیر و پیچیدگی های خاص خود را از بعد مدیریتی بدنبال خواهد داشت . در سیستم های عامل |"چند - کاره " عملیات بمراتب پیچیده تر خواهد بود. در چنین مواردی می بایست این اعتقاد بوجود آید که چندین فعالیت بطور همزمان در حال انجام است . عملا" پردازنده در هر لحظه قادر به انجام یک فعالیت است و بدیهی است رسیدن به مرز اعتقادی فوق ( چندین فعالیت بطور همزمان ) مستلزم یک مدیریت قوی و طی مراحل پیچیده ای خواهد بود. در چنین حالتی لازم است که پردازنده در مدت زمان یک ثانیه هزاران مرتبه از یک پردازه به پردازه ه دیگر سوئیچ تا امکان استفاده چندین پردازه از پردازنده را فراهم نماید . در ادامه نحوه انجام عملیات فوق ، تشریح می گردد :

  • یک پردازه بخشی از حافظه RAM را اشغال خواهد کرد
  • پس از استفرار بیش از یک پردازه در حافظه ، پردازنده بر اساس یک زمانبندی خاص ، فرصت اجراء را به یکی از پردازه ها خواهد داد.
  • پردازنده ، بر اساس تعداد سیکل های خاصی پردازه را اجراء خواهد کرد .
  • پس ازاتمام تعداد سیکل های مربوطه ، پردازنده وضعیت پردازه ( مقایر ریجسترها و ...) را ذخیره و به پردازه اتمام زمان مربوطه را اعلام می نماید.
  • پردازنده در ادامه اطلاعات ذخیره شده در رابطه با پردازه دیگر را فعال ( ریجسترها و ...) و زمینه اجرای پردازه دوم فراهم می گردد.
  • پس ازاتمام تعداد سیکل های مربوطه ، پردازنده وضعیت پردازه ( مقایر ریجسترها و ...) را ذخیره و به پردازه اتمام زمان مربوطه را اعلام و مجددا" پردازه اول جهت اجراء فعال خواهد گردید.

تمام اطلاعات مورد نیاز بمنظور مدیریت یک پردازه در ساختمان داده ای خاص با نام PCB)Process Control Block) ، نگهداری می گردد. پردازنده در زمان سوئیچ بین پردازه ها ، از آخرین وضعیت هر پردازه با استفاده از اطلاعات ذخیره شده در PCB آگاهی پیدا کرده و در ادامه زمینه اجرای پردازه مورد نظر بر اساس تعداد سیکل های در نظر گرفته شده فراهم خواهد شد. برای هر پردازه یک PCB ایجاد و اطلاعات زیر در آن ذخیره خواهد گردید :

  • یک مشخصه عددی (ID) که نمایانگر پردازه خواهد بود .
  • اشاره گری که نشاندهنده آخرین محل اجرای پردازه است
  • محتویات ریجستر ها
  • وضعیت سوئیچ ها و متغیرهای مربوطه
  • اشاره گره هائی که حد بالا و پایین حافظه مورد نیاز پردازه را مشخص خواهد کرد.
  • اولویت پردازه
  • وضعیت دستگاههای ورودی و خروجی مورد نیاز پردازه

هر زمان که اطلاعات مربوط به پردازه ای تغییر یابد ، ( پردازه از حالت "آماده " تبدیل به حالت "اجراء " و یا از حالت " اجراء " به حالت "انتظار" و یا "آماده " سوئیچ نماید ) اطلاعات ذخیره شده در PCB استفاده و بهنگام خواهند شد.

عملیات جایگزینی پردازها، بدون نظارت و ارتباط مستقیم کاربر انجام و هر پردازه به میزان کافی از زمان پردازنده برای اتمام عملیات خود استفاده خواهد کرد. در این راستا ممکن است ، کاربری قصد اجرای تعداد بسیار زیادی از پردازه ها را بسورت همزمان داشته باشد. در چنین مواردی است ، پردازنده خود نیازمند استفاده از چندین سیکل زمانی برای ذخیره و بازیابی اطلاعات مربوط به هر یک از پردازه ها خواهد بود .در صورتیکه سیستم عامل با دقت طراحی نشده باشد و یا پردازه های زیادی فعالیت خود را آغاز کرده باشند ، مدت زمان زیادی از پردازنده صرف انجام عملیات سوئیچینگ بین پردازها شده و عملا" در روند اجرای پردازها اختلال ایجاد می گردد. وضعیت بوجود آمده فوق را Thrashing می گویند. در چنین مواردی کاربر می بایست نسبت به غیرفعال نمودن برخی از پردازه ها اقدام تا سیستم مجددا" در وضعیت طبیعی قرار گیرد.

یکی از روش هائی که طراحان سیستم عامل از آن استفاده تا امکان ( شانس) تحقق Thrashing را کاهش دهند ، کاهش نیاز به پردازه های جدید برای انجام فعالیت های متفاوت است . برخی از سیستم های عامل ازیک " پردازه -lite " با نام Thread استفاده می نمایند. Thread از لحاظ کارآئی همانند یک پردازه معمولی رفتار نموده ولی نیازمند عملیات متفاوت ورودی و خروجی و یا ایجاد ساختمان داده PCB مشابه یک پردازه عادی نخواهد بود. یک پردازه ممکن است باعث اجرای چندین Threads و یا سایر پردازه های دیگر گردد. یک Thread نمی تواند باعث اجرای یک پردازه گردد.

تمام موارد اشاره شده در رابطه با زمانبندی با فرض وجود یک پردازنده مطرح گردیده است . در سیستم هائی که دارای دو و یا بیش از دو پردازنده می باشند ، سیستم عامل حجم عملیات مربوط به هر گردازنده را تنظیم و مناسب ترین روش اجراء برای یک پردازه در نظر گرفته شود . سیستم های عامل نامتقارن ، از یک پردازنده برای انجام عملیات مربوط به سیستم عامل استفاده و پردازه های مربوط به برنامه های کاربردی را بین سایر پردازه ها تقسیم می نمایند. سیستم های عامل متقارن ، عملیات مربوط به خود و عملیات مربوط به سایر پردازه ها را بین پردازه های موجود تقسیم می نمایند. در این راستا سعی می گردد که توزیع عملیات برای هر یک از پردازه ها بصورت متعادل انجام گردد.

مدیریت حافظه و فضای ذخیره سازی

سیستم عامل در رابطه با مدیریت حافظه دو عملیات اساسی را انجام خواهد داد :

  • هر پردازه بمنظور اجراء می بایست دارای حافظه مورد نیاز و اختصاصی خود باشد .
  • از انواع متفاوتی حافظه در سیستم استفاده تا هر پردازه قادر به اجراء با بالاترین سطح کارآئی باشد.

سیسم های عامل در ابتدا می بایست محدوده های حافظه مورد نیاز هر نوع نرم افزار و برنامه های خاص را فراهم نمایند. مثلا" فرض کنید سیستمی دارای یک مگابایت حافظه اصلی باشد . سیستم عامل کامپیوتر فرضی ، نیازمند 300 کیلو بایت حافظه است . سیستم عامل در بخش انتهائی حافظه مستقر و بهمراه خود درایورهای مورد نیاز بمنظور کنترل سخت افزار را نیز مستقر خواهد کرد. درایورهای مورد نظر به 200 کیلو بایت حافظه نیاز خواهند داشت . بنابراین پس از استقرار سیستم عامل بطور کامل در حافظه ، 500 کیلو بایت حافظه باقیمانده و از آن برای پردازش برنامه های کاربردی استفاده خواهد شد. زمانیکه برنامه های کاربردی در حافظه مستقر می گردند ، سازماندهی آنها در حافظ بر اساس بلاک هائی خواهد بود که اندازه آنها توسط سیستم عامل مشخص خواهد شد. در صورتیکه اندازه هر بلاک 2 کیلوبایت باشد ، هر یک از برنامه های کاربردی که در حافظه مستقر می گردنند ، تعداد زیادی از بلاک های فوق را (مضربی از دو خواهد بود) ، بخود اختصاص خواهند داد. برنامه ها در بلاک هائی با طول ثابت مستقر می گردند. هر بلاک دارای محدوده های خاص خود بوده که توسط کلمات چهار و یا هشت بایت ایجاد خواهند شد. بلاک ها و محدو ده های فوق این اطمینان را بوجود خواهند آورد که برنامه ها در محدوده های متداخل مستقر نخواهند شد. پس از پر شدن فضای 500 کیلوبایت اختصاصی برای برنامه های کاربردی ، وضعیت سیستم به چه صورت تبدیل خواهد گردید؟

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

حافطه های ذخیره سازی دیسکی ، یکی از انواع متفاوت حافظه موجود بوده که می بایست توسط سیستم عامل مدیریت گردد. حافطه های با سرعت بالای Cache ، حافظه اصلی و حافظه های جانبی نمونه های دیگر از حافظه بوده که توسط سیستم عامل مدیریت گردند.

مدیریت دستگاهها

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

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

یکی از دلایلی که درایورها از سیستم عامل تفکیک شده اند ، ضرورت افزودن عملیات و خواسته ای حدید برای درایورها است . در چنین حالتی ضرورتی بر اصلاح و یا تغییر سیستم عامل نبوده و با اعمال تغییرات لازم در درایورها می توان همچنان از قابلیت های آنها در کنار سیستم عامل موجود استفاده کرد.

مدیریت عملیات ورودی و خروجی در کامپیوتر مستلزم استفاده و مدیریت " صف ها " و " بافرها " است . بافر ، مکان های خاصی برای ذخیره سازی اطلاعات بصورت مجموعه ای از بیت ها ی ارسالی توسط دستگاهها ( نظیر صفحه کلید و یا یک پورت سریال ) و نگهداری اطلاعات فوق و ارسال آنها برای پردازنده در زمان مورد نظر و خواسته شده است . عملیات فوق در مواردیکه چندین پردازنده در وضعیت اجراء بوده و زمان پردازنده را بخود اختصاص داده اند ، بسیار حائز اهمیت است . سیستم عامل با استفاده از یک بافر قادر به دریافت اطلاعات ارسالی توسط دستگاه مورد نظر است . ارسال اطلاعات ذخیره شده برای پردازنده پس از غیر فعال شدن پردازه مربوطه ، متوقف خواهد شد. در صورتیکه مجددا" پردازه به اطلاعات ورودی نیاز داشته باشد ، دستگاه فعال و سیستم عامل دستوراتی را صادر تا بافر اطلاعات مربوطه را ارسال دارد. فرآیند فوق این امکان را به صفحه کلید یا مودم خواهد داد تا با سرعت مناسب خدمات خود را همچنان ادامه دهند ( ولواینکه پردازنده در آن زمان خاص مشغول باشد).

مدیریت تمام منابع موجود در یک سیستم کامپیوتری ، یکی از مهمترین و گسترده ترین وظایف یک سیستم عامل است .

ارتباط سیستم با دنیای خارج

اینترفیس برنامه ها

سیستم عامل در رابطه با اجرای برنامه های کامپیوتری خدمات فراوانی را ارائه می نماید. برنامه نویسان و پیاده کنندگان نرم افزار می توانند از امکانات فراهم شده توسط سیستم های عامل استفاده و بدون اینکه نگران و یا درگیر جزئیات عملیات در سیستم باشند ، از خدمات مربوطه استفاده نمایند. برنامه نویسان با استفاده از API)Application program interface) ، قادر به استفاده از خدمات ارائه شده توسط سیستم های عامل در رابطه با طراحی و پیاده سازی نرم افزار می باشند. در ادامه بمنظور بررسی جایگاه API به بررسی مثالی پرداخته خواهد شد که هدف ایجاد یک فایل بر روی هارد دیسک برای ذخیره سازی اطلاعات است .

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

MakeFile [1,%Name,2]

دستورالعمل فوق به سیستم عامل خواهد گفت که فایلی را ایجاد که شیوه دستیابی به داده های آن بصورت تصادفی ( عدد یک بعنوان اولین پارامتر ) ، دارای نام مشخص شده توسط کاربر (Name%) و دارای طولی متغیر است . ( عدد 2 ، بعنوان سومین پارامتر) سیستم عامل دستور فوق را بصورت زیر انجام خواهد داد :

● سیستم عامل درخواستی برای هارد ارسال تا اولین مکان آزاد قابل استفاده مشخص گردد.

● با توجه به اطلاعات ارسالی ، سیستم عامل یک entry در سیستم فایل مربوطه ایجاد و ابتدا و انتهای فایل ، نام فایل ، نوع فایل ، تاریخ و زمان ایجاد فایل و سایر اطلاعات ضروری را ذخیره خواهد کرد.

● سیستم عامل اطلاعاتی را در ابتدای فایل بمنظور مشخص کردن فایل ، تنظیمات مربوط به شیوه دستیابی به فایل و سایر اطلاعات مورد نیاز را خواهد نوشت .

در چنین حالتی برنامه نویس از تابع فوق برای ایجاد و ذخیره سازی فایل استفاده نموده و ضرورتی بر نوشتن کدها ، نوع داده ها و کدهای پاسخ برای هر نوع هارد دیسک نخواهد بود. سیستم عامل از امکانات درایورها استفاده و درایورها مسئول برقراری ارتباط با منابع سخت افزاری خواهند بود. در چنین حالتی برنامه نویس بسادگی از تابع مورد نظر استفاده و ادامه عملیات توسط سیستم عامل انجام خواهد شد.

امکانات ارائه شده توسط سیستم های عامل در قالب مجموعه ای از توابع و امکانات API یکی از موارد بسیار مهم استفاده از سیستم عامل از دیدگاه طراحان و پیاده کنندگان نرم افزار است .

اینترفیس کاربر

API یک روش یکسان برای برنامه های کامپیوتری بمنظور استفاده از منابع موجود در یک سیستم کامپیوتری را فراهم می نماید. بخش رابط کاربر (UI) ، یک ساختار مناسب ارتباطی بین کاربر و کامپیوتر را فراهم می آورد. اکثر سیستم های عامل از رابط های گرافیکی در این زمینه استفاده می نمایند. بخش رابط کاربر هر سیستم عامل شامل یک و یا مجموعه ای از برنامه های کامپیوتری است که بصورت یک لایه در بالاترین سطح یک سیستم عامل و در ارتباط با کاربر مستقر می گردند. برخی از سیستم های عامل از رابط های گرافیکی ( نظیر ویندوز ) و برخی دیگر از رابط های مبتنی بر متن ( نظیر سیستم عامل DOS ) استفاده می نمایند.

جهت دریافت فایل نرم افزارهای سیستم عامل لطفا آن را خریداری نمایید



اصول سیستم های عامل توزیع شده

در طول دو دهه اخیر، حصول پیشرفت در تکنولوژی میکروالکترونیک باعث در دسترس قرار گرفتن پردازنده‌های ارزان و سریع شده است از سوی دیگر پیشرفت‌های موجود در تکنولوژی ارتباطات باعث به وجود آمدن شبکه‌های سریع تر و به صرفه‌تر شده است از ترکیب پیشرفت‌ها در این دو میدان از تکنولوژی‌ها تکنولوژی ارزان‌تر و کاراتری به وجود آمده که در آن به جای این که از یک پرداز
دسته بندی کامپیوتر و IT
بازدید ها 1
فرمت فایل doc
حجم فایل 27 کیلو بایت
تعداد صفحات فایل 22
اصول سیستم های عامل توزیع شده

فروشنده فایل

کد کاربری 2106
کاربر

اصول سیستم های عامل توزیع شده

((اصول سیستم‌های عامل توزیع شده))

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

از نظر معماری، کامپیوترهایی که از چندپردازنده متصل به هم تشکیل شده‌اند اساساً بر دو دسته تقسیم می‌شوند.

1- سیستم‌های جفت شده قوی

2- سیستم‌های جفت شده ضعیف

1- سیستم‌های جفت شده قوی:

پردازنده

پردازنده

پردازنده

پردازنده

حافظه مشترک عمومی

در این سیستم‌ها یک حافظه اولیه (فضای آدرس) عمومی وجود دارد که میان همه پردازنده‌ها به اشتراک گذاشته شده است. اگر برای مثال، پردازنده‌ای در محل × از حافظه مقدار 100 را بنویسد هر پردازنده دیگری که بلافاصله از همان آدرس × بخواند مقدار 100 را دریافت خواهد کرد. بنابراین در این سیستم‌ها هر نوع تبادل میان پردازنده‌ها از طریق حافظه مشترک صورت می‌گیرد.

جهت دریافت فایل اصول سیستم های عامل توزیع شده لطفا آن را خریداری نمایید


سیستم عامل آندروید

کمتر از سه سال پیش زمانی که سیستم عامل آندروید برای نخستین بار توسط کنسرسیومی به رهبری گوگل معرفی شد، کمتر کسی پیش‌بینی می‌کرد که در این مدت کوتاه این سیستم عامل موفق به پیشی گرفتن از سیستم عامل‌های پرطرفدار و جا افتاده‌ تلفن همراه چون ویندوزموبایل، لینوکس و پالم شده و خود را به عنوان تهدیدی جدی برای رقبایی چون سیمبین، RIM و آیفون نشان دهد آندروید
دسته بندی کامپیوتر و IT
بازدید ها 2
فرمت فایل doc
حجم فایل 442 کیلو بایت
تعداد صفحات فایل 20
سیستم عامل آندروید

فروشنده فایل

کد کاربری 2106
کاربر

سیستم عامل آندروید

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

به نوشته ی هومن کبیری، رشد اعجاب‌آور آندروید به گونه‌ای بوده است که بسیاری از کارشناسان پیش‌بینی می‌کنند این سیستم عامل تا سال ۲۰۱۲ دومین سیستم عامل پرطرفدار تلفن‌های همراه جهان خواهد بود. تخمینی که نه تنها دور از دسترس نمی‌نماید بلکه بسیار محافظه‌کارانه به شمار می‌رود. چرا که با روند رشد این سیستم عامل و اقبال شرکت‌های مختلف به آن، کسب رتبه اول نیز برای آندروید چندان دور از ذهن نیست. مروری خواهیم داشت بر تاریخچه و روند شکل‌گیری این سسیتم عامل، موفقیت‌ها و چشم‌انداز آتی آن.

معنای آندروید
پیش از ورود به اطلاعات مربوط به آندروید، نخست به نام آن می‌پردازیم. بنابر ترجمه دیکشنری کمبریج، آندروید این گونه تعریف شده است: «یک ربات (ماشینی که به وسیله کامپیوتر کنترل می‌شود) که به گونه‌ای ساخته شده تا شکل ظاهری شبیه به انسان داشته باشد.» شاید بتوان نزدیک‌ترین معنی در زبان فارسی به آندروید را آدم آهنی یا آدم ماشینی دانست.

از مدیریت شرکت کوچک آندروید تا مدیریت پروژه در خلاق‌ترین شرکت جهان
در ماه ژوئیه سال ۲۰۰۵ گوگل شرکت آندروید در پالو آلتوی کالیفرنیا را خرید. شرکت کوچک آندروید که توسط اندی روبین، ریچ ماینرز، نیک سیرز و کریس وایت پایه‌گذاری شده بود، در زمینه تولید نرم‌افزار و برنامه‌های کاربردی برای تلفن‌های همراه فعالیت می‌کرد. اندی روبین مدیر ارشد اجرایی این شرکت پس از پیوستن آندروید به گوگل به سمت قائم‌مقام مدیریت مهندسی این شرکت و مسئول پروژه آندروید در گوگل منصوب شد.

در واقع می‌توان روبین را پایه‌گذار آندروید دانست. چرا که وی علاوه بر اینکه ایده تولید آندروید را در شرکت کوچک خود پرورش داد، در سمت مدیر این پروژه در شرکت گوگل توانست ایده خود را پیاده‌سازی کند و سیستم عامل آندروید را با نام شرکت کوچک پیشین خود روانه بازار نماید.

تیم آندروید به رهبری روبین فعالیت خود را برای تولید پلتفرم موبایل مبتنی بر کرنل لینوکس آغاز کردند. درز اخباری از فعالیت‌های این تیم به خارج از گوگل، سبب بروز شایعاتی مبنی بر تمایل گوگل به تولید تلفن همراه در اواخر سال ۲۰۰۶ گردید. این شایعات زمانی بیشتر قوت گرفت که در سپتامبر ۲۰۰۷ نشریه اینفورمیشن ویک در گزارشی خبر از ثبت چندین حق امتیاز و اختراع در حوزه تلفن همراه توسط گوگل داد.

تولد یک آدم آهنی!
با اعلام زمان کنفرانس خبری شرکت گوگل در نوامبر سال ۲۰۰۷ دیگر تمامی رسانه‌ها و افکار عمومی جهان چشم انتظار مشاهده نخستین تلفن همراه ساخت گوگل بودند. ولی غافلگیری بزرگ رخ داد. هیچ خبری از «یک» گوشی تلفن همراه نبود بلکه خبر داغ آن روز در مورد ورود صدها تلفن همراه در سال‌های پیش رو بود که توسط شرکت‌های مختلف تولید می‌شد. «اتحادیه گوشی باز» یا Open Handset Alliance در روز ۵ نوامبر ۲۰۰۷ اعلام موجودیت کرد.

۳۴ شرکت فعال در زمینه تولید نرم‌افزار، تولید گوشی‌های تلفن همراه، اپراتور تلفن همراه و تولید کننده نیمه رساناها و پردازنده‌های تلفن همراه اعضای مؤسس این اتحادیه بودند. در میان نام‌های مشهور در بین اعضای مؤسس، شرکت‌هایی چون سامسونگ، LG، موتورولا، HTC، T-Mobile، NTT DoCoMo، اینتل، Nvidia، تگزاس اینسترومنتس، کوآلکام، برادکام، تلفونیکا، اسپرینت، eBay و البته گوگل به چشم می‌خوردند. اریک اشمیت مدیر ارشد اجرایی گوگل در این مراسم گفت: «اعلام امروز بسیار جاه‌طلبانه‌تر از معرفی تنها «یک» تلفن گوگلی است که در چند هفته اخیر توسط رسانه‌ها پیش‌بینی شده بود.

جهت دریافت فایل سیستم عامل آندروید لطفا آن را خریداری نمایید


مروری بر سیستم عامل های WIN NT وXINU و MINIX و UNIX

ویندوز NT نسبت به سیستمهای عامل OS2 و UNIX و ویندوز 16 بیتی دارای برتری‌هایی است که این خصوصیات و امکاناتی که ویندوز NT دارد، با یک سیستم عامل یا بیشتر نیز قابل دسترسی است ولی هیچ‌کدام از سیتم عاملها قابلیتهای ویندوز NT را ندارد در این قسمت مهمترین خصوصیات NT را معرفی می‌کنیم و یکسری خصوصیات کلیدی NT را شرح می‌دهیم
دسته بندی کامپیوتر و IT
بازدید ها 4
فرمت فایل doc
حجم فایل 61 کیلو بایت
تعداد صفحات فایل 78
مروری بر سیستم عامل های WIN NT  وXINU و MINIX و UNIX

فروشنده فایل

کد کاربری 2106
کاربر

مروری بر سیستم عامل های WIN NT وXINU و MINIX و UNIX

مقدمه

ویندوز NT نسبت به سیستمهای عامل OS/2 و UNIX و ویندوز 16 بیتی دارای برتری‌هایی است که این خصوصیات و امکاناتی که ویندوز NT دارد، با یک سیستم عامل یا بیشتر نیز قابل دسترسی است. ولی هیچ‌کدام از سیتم عاملها قابلیتهای ویندوز NT را ندارد. در این قسمت مهمترین خصوصیات NT را معرفی می‌کنیم و یکسری خصوصیات کلیدی NT را شرح می‌دهیم.

1- آدرس‌دهی 32 بیتی

در انیجا لازم است توضیحی در مورد اینکه آدرس چیست و نحوة آدرس‌دهی که میکروسافت DOS چگونه است بدهیم. آدرس کلاً محل یک بایت از اطلاعات در حافظه کامپیوتر یا Mass storage می‌گویند. آدرس بر دو نوع است. آدرس می‌تواند فیزیکی و یا می‌تواند مجازی باشد.

1-1- آدرس‌دهی فیزیکی: به بایت دادة معین در محل فیزیکی معینی از حافظه یا دیسک اشاره می‌کنند.

2-1- آدرس‌دهی مجازی: به آدرس منطقی (نرم‌افزاری) اشاره می‌کند که سیستم عامل به آدرس فیزیکی معینی اشاره می‌کند.

مطلب قابل توجه در انیجا این است که ویندوزNT از بین دو آدرس‌دهی، از آدرس‌دهی مجازی استفاده می‌کند که برای هر درخواست اصولاً چهار گیگابایت اختصاص داده می‌شود که البته 2 گیگابایت آن برای سیستم عامل منظور می‌شود.

به دنبال پیشرفت مایکروسافت DOS به دلیل محدودیتهای حافظه، میکروپروسسورهایی از قبیل 8086 و 8088 شانزده بیتی که یک فضای آدرس‌دهی بیست بیتی را عرضه می‌داشتند طراحی کردند. یعنی در واقع این میکروپروسسورهای می‌توانستند یک مگابایت از حافظه را به طور فیزیکی آدرس‌دهی کنند. با توجه به این که بیست بیت به خوبی در کلمه (word) شانزده بیتی جای نمی‌گرفت مهندسین INTEL برای دستیابی به هر آدرس، طرحی به نام تقسیم حافظه ارائه دادند.

در این نوع آدرس‌دهی آمدند یک مگابایت را به 16 قسمت تقسیم کردند که هر قسمت 64 کیلوبایتی با ghunk بود. این کار بدین دلیل بود که برنامه‌نویسان اصولاً در پردازنده‌های 8 بیتی قدیمی مانند INTEL 8085 و ZILOG Z80 با آدرس‌دهی 64 kdyte آشنایی داشتند.

برای اینکه برنام‌نویسان بتوانند به هر آدرسی در داخل فضای آدرس یک مگابایتی دست پیدا کنند آدرس حافظه فیزیکی محاسبه شد. (قسمت در 16 ضرب کرده و سپس یک offset به آن اضافه می‌شود. نتیجه به بایت مورد نظر اشاره می‌کند.) بقیة پردازنده‌های 6 بیت مانند 68000 Motorola از آدرس‌دهی خطی استفاده می‌کردند که هربیت از حافظه مستقیماً و بدون استفاده از offset & segment آدرس‌دهی می‌کرد. و علاوه بر تسهیلاتی مانند MS-DOS 5.0 و windows 3.1، طراحان زیادی طرحهای خود را برای آدرس‌دهی و بیش از 640 کیلوبایت حافظه پیشنهاد کردند. می‌توان از معروفترین نمونه‌ها QEMM QUALAS’ 386 MAو QUARTERDECK’S را نام برد.

کل این و طرحها حافظة مورد استفاده را بیش از حد 640 کیلوبایتی بسط داند، ولی مجبور کردن آنها به کار با یک موقعیت خاص PC و دنبالة درخواستها و تسهیلات نرم‌افزاری معمولاً یک هدر کردن زمان، پردازش خنثی‌کننده است. همیشه این‌طور به نظر می‌رسد که حداقل یک درخواست مهم با یکی از تسهیلات با مدیریت حافظة شما سازگار نیست.

اولین پردازنده که فضای آدرس‌دهی خطی را به کار برد و نیز با DOS سازگاری داشت INTEL 386 بودکه می‌بایست تقسیم‌بندی حافظه در کنار آن احتیاج به مدیریت شخص ثالث را حذف کرد که در واقع فضای آدرس‌دهی 32 بیتی INTEL 386 با برنامه‌ها نوشته شده برای پردازنده‌های INTEL قبلی سازگاری نداشت.

این برنامه‌های ناسازگار، DOS و تمام برنامه‌های اجرا شده تحت DOS بودند. برایایجاد سازگاری با DOS و درخواستهای آن INTEL یک طریقة دیگر آدرس‌دهی را طرح کرد بنام Real Mode .

این نوع آدرس‌دهی با سایر نرم‌افزارهای قبل سازگاری داشت ولی متذسفانه در هنگام کار با این نوع آدرس‌دهی یعنی Real moed ، 386 و (486) بیش از یک 8086 خیلی سریع عمل نمی‌کند. DOS که در مقابل محدودیتهای 8086 و 8088 نوشته شده بود، هنوز بسیار شبیه نسخه سریع حد خود در سال 1981 با تمام محدودیتهای آدرس‌دهی عمل می‌کنند.

دو طریق آدرس‌دهی حافظه:

Real Mode : یک طریقة آدرس‌دهی حافظه است که از آدرس‌دهی نوع تقسیم‌بندی حافظه یعنی همان segment & offset استفاده می‌کنند. ماننده پردازندة INTEL 8086.

‍‍‍‍‍Protected Mode : یک طریقة دیگر آدرس‌دهی حافظه که برای دستیابی به بایت حافظه به جای segment & offset از آدرس‌دهی خطی استفاده می‌کند. این نوع آدرس‌دهی مشخصات حفاظت سخت‌افزاری که windows و windows NT آن را به کار گرفته‌اند، فعال می‌کند.

windows NT برای تهیه آدرس‌دهی 32 بیتی واقعی Trune 32-bit addressing از آدرس‌دهی خطی 386 و 186 و پنتوم (INTELS586) و همچنین پردازنده pisk همچنون Mips و DigtalAlpha استفاده می کند. قابل ذکر است که دیگر NT از سازگار بودن با DOS و windos 16بیتی صرفنظر می کند و دارای طرحی است بنام (viriul dos machine) که در این صورت این امکان را به ویندوز NT می دهد که بتواند در خواستهای Dos و windows16 بیتی را اجرا کند (بعدا در مورد VDM صحبت خواهیم کرد ) .

مزیت های آدرس دهی 32 بیتی :

1-توسعه نرم افزار با حذف قسمت بندی حافظ آسانتر و سریع تر می شود.

2- برنامه نویسان دیگر لآزم نیست حافظه مورد در خواستهایشان آشنا باشد .

3-کارسیستم باحذف سربارپردازشی که موردلزوم مدیریت حافظه است بهبود می یابد.یعنی در هیچ گونه نیازی به حافظه ثالثی ندارد.رهایی از مدیریت حافظه سازگاریهای NT واقع ویندوز مختلف سخت افزار ونرم افزار را نیزحذفمی کندیعنی وضعیت استقرارنرم افزار می تواند ساده و 16 بیتی باشد WindowsیاDos ابتدایی تر از

4- میزان برنامه قابل دسترسی و اندازه داده در آدرس دهی 32 بیتی زیاد می شود.

ویندوز NT از ترکیب برنامه و سیستم با اندازه چهار گیگا با یت که صدها برابر بزرگتر از حدودقابل اجرا روی بر نامه های DOS و ویندوز 16 بیتی تشکیل شده است . فایلهای بزرگ که توسط ویندوز NT قابل پردازش می باشد غیر ممکن است که توسط DOS ویاwindos16 بیتی پردازش شوددر خواست کننده های (در خواستهای ) پیچیده که فایلهای بزرگ را پردازش میکنند فقط با ویندوز NT عمل می کندو آن هم فقط به دلیل آدرس دهی 32 بیتی است . در خواستهای پیچیده همچون رزرواسیون، مبادله دارایی وسیستمهای پردازش طلبهای بیمه است

از دیگر خصوصیات کلیدی ویندوز NT ،حافظه مجازی و یا VM است که در زیر توضیح می دهیم .

2-VIRTUAL MEMORY (حافظه مجازی)

هر در خواست در ویندوز NT میتواند به 4 گیگا بایت حافظه دست پیدا کند (به خاطر فضای 32 بیتی )

که البته از مقدار تصور شده برای هر در خواست بیشتر است . دو نوع حافظه اصلی کامپیوتر به شرح زیر است :

RAM :RAM یا حافظه تصادفی (حافظه دسترسی تصادفی ) از نوع دیگر سریعتر است . مزیتهای آن به شرح زیر است :

1-PC برای اینکه بتوانند یک بایت داده را در 70 بیلیونیم ثانیه دریافت و بعد ذخیره کننداز RAM استفاده می کنند

2-برنامه ها به طور مستقیم می توانند به آدرس حافظه بروند و بایت مورد نظر خود را دریافت کنند درواقع بجای اینکه به بلاک مورد نظر در روی دیسک مراجعه کند و با یتها ی بلاک را بایت به بایت بخواند وبه بایت مورد نظر برسد می تواند به طور مستقیم به آدرس حافظه بروند . ترجیحا استفاده از RAM را پیشنهاد می کنند.

عیوب استفاده ازRAM :

1 -در هنگام قطع برق تمام اطلاعات ذخیره شده در RAMاز بین می رود.این نوع حافظه را VOLATL STORAGE نامیده میشود . در این جا قابل ذکر است که در بسیاری از کامپیوتر هایی که قابل حمل هستند

هنگامی که کامپیوتر خاموش است مقداری برق به حافظه RAM کامپیوترمی رسدکه باعث می شود داده های ذخیره شده در آن از بین نرود و در هنگام تمام شدن باطری آن اطلاعات در آن با تمام شدن باطری از بین می رود.

2-عیب دیگر RAM ها در قیمت آن مشاهده می شودوآن نیزگران بودن قیمت RAMها است در واقع هر مگا بایت از RAM ها برای pc ها حدود 35 دلار فروخته می شود . از روی این قیمت می تواند تعداد RAMهایی که در یک pc می توان نصب کردرا حدس زد .اصولا به pc های kigh-end 8 مگا بایت RAM وصل می شود و این مقدار را خیلی ها می توانند تا 20 مگابایت افزایش دهند و بعضی نیز این مقدار را به 64 مگابایت میرسانند .برای این امر به RAM با چگالی بالا تری نیاز است که قیمت آن به ازای هر مگابایت افزایش می یابد ولی فضای فیزیکی کمتری را اشغال میکند نوع دیگر حافظه اصلی در کامپیوتر hard disk است که در زیر شرح داده شده است :(نوع دیگر حافظه Mass storage ها هستند که روی hard disk سواری می شوند.

Mass STORAGE :HARD DISK

همان طور که در بالا گرفته شده نوع دیگر حافظه اصلی Mass storage ها هستند که بر رویhard disk سوار می شوندhard disk ها به مراتب کند تر از RAM ها هستند .

از نظر قابلیت ذخیره سازی hard disk ها از 40 مگا بایت تا حدود 2 گیگا بایت قابلیت ذخیره سازی دارند .

از نظر قیمت هم یک pc hard 200 مگابایتی تقریبا 400 دلار ویا به عبارتی دو دلار به ازای هر مگا بایت می باشد که در مقایسه با قیمت RAM که در حدود قیمت یک مگا بایت RAM است . در هنگام قطع برق محتویات hard ها از بین نمی رود به این گونه حافظه Nonvolatile storage می شود .

استفاده از هر دو نوع حافظه برای pc ضروری به نظر می رسد.از RAM برای برنامه های اجرایی و ذخیره.

دادههای حساس هنگامی که اجرا ضروریست استفاذه می شود واز hard disk برای ذخیره طولانی اطلاعات در زمانی که قیمت به ازای هر بایت مهم می باشد، استفاده میشود .

در این جا یک سئوالی که پیش می آید این است که اگر به بیش از RAM قابل ذسترسی نیاز پیدا کردیم چه می کنیم؟مثلآ فرض کنید که یک برنامهspreed sheet به دو مگا بایت وRAM ویک فایل spreed sheetکه به دو مگا بایت احتیاج دارد داشته باشیم . این سئوال پیش می آید که آیا فقط به همین 4 مگابایت نیاز داریم ؟ خود سیستم عامل به مقداری زیاد RAM احتاج دارد . پس ما میزان لازم RAM برای سیستم عامل و پردازنش speed sheet به طور همزمان در دست نداریم .

در DOS برای فراخوانی برنامه و داده اگر RAM به مقدارکافی نداشتیم مجبوربودیم یک RAM اضافه دیگر خریداری می کردیم وبه PC نصب می کردیم. ولی در ویندوز NT ما راه چاره ای داریم وآن این است که امکان تبدیل قسمتی از hard به فضای RAM وجود دارد.به طوری که در خواستهایی بزرگتر از آن هستند که در حافظه RAM جای بگیرند ، می توانیم اجرا کنیم . این خصوصیت ویندوزNT را viriual Memory نامگذاری کردند . بعدا به طرز کار VM تحت ویندوز NT وتوضیح وشرح آن خواهیم پرداخت .

در هنگام نصب ویندوز NT (برای اولین )کاربران و یا مدیرسیستم موظف است که برنامه راه اندازNT را چک کند تا به فضای قابل دسترسی پذیرRAM وHARDدر سیستم عالملی پی ببرد.برپایه فضای دسترسی پذیر دیسک RAM یک swap file ایجاد میکنند که اندازه آن حداکثر می تواند به اندازه RAM موجود در سیستم باشد . در هنگام نصب ویندوز NT کاربر میتواند اندازهswap file را تغییر بدهد . رابطه swap file با حافظه مجازی از نظر اندازه مستقیم است . یعنی هر چه اندازه swap file بزرگ باشد ، حافظه مجازی نیز بزرگ میباشد. ولی قابل ذکر است که بزرگی آن تا اندازه فضای ذخیره سازی فایل ثابت، اذامه خواهد داشت .

اندازه نهایی swap file را جابجایی وظرفیت کل دیسک مشخص می کند

جهت دریافت فایل مروری بر سیستم عامل های WIN NT وXINU و MINIX و UNIX لطفا آن را خریداری نمایید


دیوار آتش مبتنی بر سیستم عامل لینوکس

تأمین امنیت شبکه، بخش حساسی از وظایف هر مدیر شبکه محسوب می‎شود از آنجاییکه ممکن است محافظت های متفاوتی موردنیاز باشد، لذا مکانیزم های گوناگونی هم برای تأمین امنیت در شبکه وجود دارد یکی از این مکانیزم ها استفاده از دیوار آتش می‎باشد مدیر شبکه باید درک بالایی از انواع دیوار آتش، نقاط قوت و ضعف هر نوع، حملات تهدید کنندة هر نوع، معماری های دیوار آتش،
دسته بندی کامپیوتر و IT
بازدید ها 0
فرمت فایل doc
حجم فایل 289 کیلو بایت
تعداد صفحات فایل 98
دیوار آتش مبتنی بر سیستم عامل لینوکس

فروشنده فایل

کد کاربری 2106
کاربر

دیوار آتش مبتنی بر سیستم عامل لینوکس

فهرست مطالب

فهرست مطالب....................................................................................................... 3

فهرست شکل ها.................................................................................................... 9

فهرست جدول ها................................................................................................... 11

چکیده (فارسی)...................................................................................................... 12

فصل اول: دیوارهای آتش شبکه.......................................................................... 13

1-1 : مقدمه................................................................................................. 14

1-2 : یک دیوار آتش چیست؟...................................................................... 15

1-3 : دیوارهای آتش چه کاری انجام می دهند؟........................................ 16

1-3-1 : اثرات مثبت........................................................................... 16

1-3-2 : اثرات منفی........................................................................... 17

1-4 : دیوارهای آتش، چه کارهایی را نمی توانند انجام دهند؟................... 18

1-5 : چگونه دیوارهای آتش عمل می‌کنند؟................................................. 20

1-6 : انواع دیوارهای آتش.......................................................................... 21

1-6-1 : فیلتر کردن بسته.................................................................. 22

1-6-1-1 : نقاط قوت............................................................... 24

1-6-1-2 : نقاط ضعف............................................................ 25

1-6-2 : بازرسی هوشمند بسته........................................................ 28

1-6-2-1 : نقاط قوت............................................................... 31

1-6-2-2 : نقاط ضعف............................................................ 32

1-6-3 : دروازة برنامه های کاربردی و پراکسیها........................... 32

1-6-3-1 : نقاط قوت............................................................... 35

1-6-3-2 : نقاط ضعف............................................................ 36

1-6-4 : پراکسیهای قابل تطبیق......................................................... 38

1-6-5 : دروازة سطح مداری............................................................ 39

1-6-6 : وانمود کننده ها.................................................................... 40

1-6-6-1 : ترجمة آدرس شبکه............................................... 40

1-6-6-2 : دیوارهای آتش شخصی......................................... 42

1-7 : جنبه های مهم دیوارهای آتش کارآمد.............................................. 42

1-8 : معماری دیوار آتش........................................................................... 43

1-8-1 : مسیریاب فیلترکنندة بسته.................................................... 43

1-8-2 : میزبان غربال شده یا میزبان سنگر..................................... 44

1-8-3 : دروازة دو خانه ای.............................................................. 45

1-8-4 : زیر شبکة غربال شده یا منطقة غیرنظامی........................... 46

1-8-5 : دستگاه دیوار آتش............................................................... 46

1-9 : انتخاب و پیاده سازی یک راه حل دیوار آتش................................... 48

1-9-1 : آیا شما نیاز به یک دیوار آتش دارید؟................................. 48

1-9-2 : دیوار آتش، چه چیزی را باید کنترل یا محافظت کند؟......... 49

1-9-3 : یک دیوار آتش، چه تأثیری روی سازمان، شبکه و کاربران

خواهد گذاشت؟..................................................................... 50

1-10 : سیاست امنیتی ................................................................................ 51

1-10-1 : موضوعات اجرایی............................................................. 52

1-10-2 : موضوعات فنی.................................................................. 53

1-11 : نیازهای پیاده سازی........................................................................ 54

1-11-1 : نیازهای فنی....................................................................... 54

1-11-2 : معماری.............................................................................. 54

1-12 : تصمیم گیری................................................................................... 55

1-13 : پیاده سازی و آزمایش.................................................................... 56

1-13-1 : آزمایش، آزمایش، آزمایش!............................................... 57

1-14 : خلاصه ........................................................................................... 58

فصل دوم: پیاده سازی دیوار آتش با استفاده از iptables.............................. 60

2-1 : مقدمه................................................................................................. 61

2-2 : واژگان علمی مربوط به فیلترسازی بسته.......................................... 62

2-3 : انتخاب یک ماشین برای دیوار آتش مبتنی بر لینوکس....................... 65

2-4 : به کار بردن IP Forwarding و Masquerading......................... 65

2-5 : حسابداری بسته................................................................................. 70

2-6 : جداول و زنجیرها در یک دیوار آتش مبتنی بر لینوکس.................... 70

2-7 : قوانین................................................................................................. 74

2-8 : تطبیق ها............................................................................................. 75

2-9 : اهداف................................................................................................. 75

2-10 : پیکربندی iptables......................................................................... 76

2-11 : استفاده از iptables....................................................................... 77

2-11-1 : مشخصات فیلترسازی....................................................... 78

2-11-1-1 : تعیین نمودن آدرس IP مبدأ و مقصد.................. 78

2-11-1-2 : تعیین نمودن معکوس........................................... 79

2-11-1-3 : تعیین نمودن پروتکل............................................ 79

2-11-1-4 : تعیین نمودن یک رابط.......................................... 79

2-11-1-5 : تعیین نمودن قطعه ها........................................... 80

2-11-2 : تعمیم هایی برای iptables (تطبیق های جدید)................. 82

2-11-2-1 : تعمیم های TCP.................................................. 82

2-11-2-2 : تعمیم های UDP................................................. 86

2-11-2-3 : تعمیم های ICMP............................................... 86

2-11-2-4 : تعمیم های تطبیق دیگر......................................... 87

2-11-3 : مشخصات هدف................................................................ 92

2-11-3-1 : زنجیرهای تعریف شده توسط کاربر................... 92

2-11-3-2 : هدف های تعمیمی ............................................... 92

2-11-4 : عملیات روی یک زنجیر کامل............................................ 94

2-11-4-1 : ایجاد یک زنجیر جدید.......................................... 94

2-11-4-2 : حذف یک زنجیر .................................................. 94

2-11-4-3 : خالی کردن یک زنجیر ........................................ 95

2-11-4-4 : فهرست گیری از یک زنجیر ................................ 95

2-11-4-5 : صفر کردن شمارنده ها....................................... 95

2-11-4-6 : تنظیم نمودن سیاست........................................... 95

2-11-4-7 : تغییر دادن نام یک زنجیر..................................... 96

2-12 : ترکیب NAT با فیلترسازی بسته................................................... 96

2-12-1 : ترجمة آدرس شبکه........................................................... 96

2-12-2 : NAT مبدأ و Masquerading........................................ 98

2-12-3 : NAT مقصد..................................................................... 99

2-13 : ذخیره نمودن و برگرداندن قوانین.................................................. 101

2-14 : خلاصه............................................................................................. 102

نتیجه گیری............................................................................................................ 105

پیشنهادات.............................................................................................................. 105

فهرست شکل ها

فصل اول

شکل 1-1 : نمایش دیوار آتش شبکه........................................................... 15

شکل 1-2 : مدل OSI.................................................................................. 22

شکل 1-3 : دیوار آتش از نوع فیلترکنندة بسته........................................... 23

شکل 1-4 : لایه های OSI در فیلتر کردن بسته.......................................... 23

شکل 1-5 : لایه های OSI در بازرسی هوشمند بسته................................ 28

شکل 1-6 : دیوار آتش از نوع بازرسی هوشمند بسته................................ 30

شکل 1-7 : لایة مدل OSI در دروازة برنامة کاربردی.............................. 33

شکل 1-8 : دیوار آتش از نوع دروازة برنامة کاربردی.............................. 34

شکل 1-9 : مسیریاب فیلتر کنندة بسته........................................................ 44

شکل 1-10 : دیوار آتش میزبان غربال شده یا میزبان سنگر..................... 45

شکل 1-11 : دروازة دو خانه ای................................................................ 46

شکل 1-12 : زیر شبکة غربال شده یا منطقة غیرنظامی.............................. 46

شکل 1-13 : دستگاه دیوار آتش................................................................. 47

فصل دوم

شکل 2-1 : یک سیستم مبتنی بر لینوکس که به عنوان یک مسیریاب به

جلو برنده پیکربندی شده است............................................................ 67

شکل 2-2 : تغییر شکل شبکة 10.1.2.0 به عنوان آدرس 66.1.5.1 IP 69

شکل 2-3 : مسیر حرکت بستة شبکه برای filtering................................. 72

شکل 2-4 : مسیر حرکت بستة شبکه برای Nat......................................... 73

شکل 2-5 : مسیر حرکت بستة شبکه برای mangling.............................. 73

فهرست جدول ها

فصل اول

فصل دوم

جدول 2-1 : جداول و زنجیرهای پیش فرض.............................................. 71

جدول 2-2 : توصیف زنجیرهای پیش فرض............................................... 71

جدول 2-3 : هدف های پیش فرض............................................................. 76

جدول 2-4 : حالت های ردیابی ارتباط........................................................ 91

جدول 2-5 : سطوح ثبت وقایع..................................................................... 93

جدول 2-6 : ماجول های کمکی NAT........................................................ 97

چکیده:

تأمین امنیت شبکه، بخش حساسی از وظایف هر مدیر شبکه محسوب می‎شود. از آنجاییکه ممکن است محافظت های متفاوتی موردنیاز باشد، لذا مکانیزم های گوناگونی هم برای تأمین امنیت در شبکه وجود دارد. یکی از این مکانیزم ها استفاده از دیوار آتش می‎باشد. مدیر شبکه باید درک بالایی از انواع دیوار آتش، نقاط قوت و ضعف هر نوع، حملات تهدید کنندة هر نوع، معماری های دیوار آتش، تأثیرات آن بر شبکه و کاربران، سیاست امنیتی سازمان و همچنین نیازهای فنی پیاده سازی داشته باشد تا بتواند راه حل مناسب را انتخاب و به درستی پیاده سازی نماید و سپس آنرا مورد آزمایش قرار دهد. در همین راستا، سیستم عامل «Linux» برای پیاده سازی نرم افزاری دیوار آتش فیلتر کنندة بسته، ابزاری را به نام «iptables» در اختیار کاربر قرار می‎دهد تا با استفاده از دستورات این ابزار بتواند قوانین و فیلترهای موردنیاز را برای کنترل مطلوب دسترسی، خواه از داخل شبکه به خارج و خواه بالعکس، پیکربندی نماید.

فصل اول

دیوارهای آتش شبکه

فصل اول: دیوارهای آتش شبکه

1-1 : مقدمه

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

چه متغیرهایی باید در هنگام تعیین نیاز به یک دیوار آتش، مورد توجه قرار گیرند؟ سازمانهایی که اتصال به اینترنت یا هر شبکة نامطمئن دیگر دارند، ممکن است نیاز به پیاده سازی یک راه حل دیوار آتش داشته باشند. به هر حال، این سازمانها باید اثراتی را که یک دیوار آتش بر سرویسهای شبکه، منابع و کاربران آن خواهد گذاشت مورد توجه قرار دهند و نحوة قرارگیری دیوار آتش براساس نیازهای تجاری خاص آنها و زیربنای شبکه را در نظر بگیرند. سازمانها باید نیازهای ویژة خود را مشخص کنند، زیربنای فعلی شبکة خود را تجزیه و تحلیل نمایند و از اطلاعات بدست آمده به عنوان مبنایی برای تصمیمات خود استفاده کنند. در برخی موارد، ممکن است بعد از بررسی تمام متغیرها، دریابند که یک راه حل دیوار آتش، ضروری نیست و یا پیاده سازی آن غیرعملی است.

1-2 : یک دیوار آتش چیست؟

دیوارهای آتش شبکه، سدی مابین شبکه‌ها به وجود می‌آورند که از ترافیک (traffic) ناخواسته یا بدون مجوز (unauthorized) جلوگیری می‌کند.

تعریف: دیوار آتش شبکه، سیستم یا گروهی از سیستمهاست که با استفاده از قوانین (rules) یا فیلترهای از پیش پیکربندی شده، دسترسی مابین دوشبکه- یک شبکة مطمئن (Trusted) و یک شبکة نامطمئن (Untrusted)- را کنترل می‌کند

جهت دریافت فایل دیوار آتش مبتنی بر سیستم عامل لینوکس لطفا آن را خریداری نمایید


دانلود تحقیق یزید عامل اصلى قتل امام حسین (ع)

یکى از خلفاى بنى امیه که در عصر حکومت کوتاه خود جنایات بسیارى را انجام داد، یزید بن معاویه بود. او در سه سال حکومتى که داشت، در سال اول آن دستور قتل امام حسین (ع) فرزند رسول خدا (ص) و یارانش را صادر نمود. این عمل آن قدر شنیع بود که قیام‏هایى را به دنبال داشت و نیز تا به امروز اعتراضاتى حتى از بسیارى از علماى عامه را در پى داشته است. ولى متأسفانه عده‏اى از متعصبین عامّه و نواصب و پیروان یزید در صدد دفاع از یزید برآمده و کتاب‏ها در مدح و منقبت دروغین او تألیف کرده‏اند. اینک این موض ...