Distributed systems

 Distributed systems


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


خرید و دانلود  Distributed systems


کتاب آزمایشگاه سیستم عامل

 کتاب آزمایشگاه سیستم عامل


فهرست کتاب آزمایشگاه سیستم عامل به شرح زیر می باشد :
۳۰-۱ دستور مهم و کاربردی در لینوکس
۲- کامپایل کرنل لینوکس
۳- ایجاد فراخوان سیستمی در لینوکس ( system call )
۴- AWK
۵- Sed
۶- Thread
۷- Semaphore


خرید و دانلود  کتاب آزمایشگاه سیستم عامل


تحقیق-سیستم عامل چیست- Operating Systems - درقالب word- در 28ص

 تحقیق-سیستم عامل چیست- Operating Systems - درقالب word- در 28ص


سیستم‌عامل یا سامانهٔ عامل نرم‌افزاری است که مدیریت منابع رایانه را به عهده گرفته و بستری را فراهم می‌سازد که نرم‌افزار کاربردی اجرا شده و از خدمات آن استفاده کنند. سیستم‌عامل جزء ضروری‌ترین نرم‌افزارهای یک سیستم کامپیوتری است. سیستم‌عامل خدماتی به برنامه‌های کاربردی و کاربر ارائه می‌دهد. برنامه‌های کاربردی یا از طریق واسط‌های برنامه‌نویسی کاربردی[یادداشت ۱] و یا از طرق فراخوانی‌های سیستم به این خدمات دسترسی دارند. با فراخوانی این واسط‌ها، برنامه‌های کاربردی می‌توانند سرویسی را از سیستم‌عامل درخواست کنند، پارامترها را انتقال دهند، و پاسخ عملیات را دریافت کنند. ممکن است کاربران با بعضی انواع واسط کاربری نرم‌افزار مثل واسط خط فرمان یا یک واسط گرافیکی کاربر با سیستم‌عامل تعامل کنند. برای کامپیوترهای دستی و رومیزی، عموماً واسط کاربری به عنوان بخشی از سیستم‌عامل در نظر گرفته می‌شود. در سیستم‌های بزرگ و چند کاربره مثل یونیکس و سیستم‌های شبیه یونیکس، واسط کاربری معمولاً به عنوان یک برنامه کاربردی که خارج از سیستم‌عامل اجرا می‌شود پیاده‌سازی می‌شود. نمونه‌هایی از محبوب‌ترین سیستم‌عامل‌های نوین شامل: اندروید، بی‌اس‌دی، آی‌اواس، لینوکس، اواس ده، کیوان‌اکس، مایکروسافت ویندوز، ویندوز فون و زد/اواس می‌باشند.

انواع سیستم‌عامل

سیستم‌های بی‌درنگ

سیستم‌های بی‌درنگ یا زمان واقعی یک سیستم عامل چند وظیفه‌ای است که معمولاً بعنوان یک کنترل کننده در یک کاربرد خاص استفاده می‌شوند. سیستم در این حالت می‌بایست در زمانی مشخص و معین حتماً جواب مورد نظر را بدهد. سیستم‌های کنترل آزمایش‌های علمی، تصویربرداری پزشکی، کنترل صنعتی و برخی از سیستم‌های نمایش از این دسته‌اند. هدف اصلی استفاده از سیستم‌های بی‌درنگ واکنش سریع و تضمین شده در برابر یک رویداد خارجی می‌باشد. در سیستم‌های بی‌درنگ معمولاً وسایل ذخیره‌سازی ثانویه وجود ندارد و به جای آن از حافظه‌های ROM استفاده می‌شود. سیستم‌عامل‌های پیشرفته نیز در این سیستم‌ها وجود ندارند چرا که سیستم‌عامل کاربر را از سخت‌افزار جدا می‌کند و این جداسازی باعث عدم قطعیت در زمان پاسخ‌گویی می‌شود. سیستم‌هایی که در آن مهلت زمانی[یادداشت ۲] باید پاسخ داده شود را بی‌درنگ سخت و سیستم‌هایی که مهلت زمانی را پشتیبانی نمی‌کنند بی‌درنگ نرم می‌نامند. از کاربرد سیستم‌های بی‌درنگ سخت می‌توان به کنترل موتور یک خودرو (پاسخ با تأخیر می‌تواند نتایج فاجعه‌باری را به همراه داشته باشد) و در سیستم‌های بی‌درنگ نرم می‌توان به اسکن بارکد در پایانه فروشگاه (با اینکه سرعت پاسخ‌دهی باید سریع باشد اما به حادّی سیستم‌های سخت نمی‌باشد) اشاره کرد

سیستم‌های چند کاربره

سیستم‌های چند کاربره اجازه می‌دهند تا کاربران متعدد بصورت همزمان به یک سیستم کامپیوتری دسترسی داشته باشند. سیستم‌های اشتراک زمانی و کارساز وب را می‌توان بعنوان سیستم‌های چند کاربره طبقه‌بندی کرد. در سیستم‌های اشتراک زمانی تنها یک پردازنده قرار دارد که توسط مکانیزم‌های زمانبندی بین برنامه‌های مختلف کاربرها با سرعت زیاد سوئیچ می‌شود و بنابراین هر کاربر تصور می‌کند کل رایانه در اختیار اوست

سیستم‌عامل تک پردازنده

این نوع سیستم‌عامل‌ها، سیستم‌عامل‌های نسل چهارم (نسل فعلی) هستند که بر روی یک پردازنده اجرا می‌شوند. از قبیل XP,Vista,98,Me که بیشتر محصول شرکت مایکرو سافت می‌باشند.

سیستم‌عامل شبکه‌ای

سیستم عاملهایی مثل ناول نت که بیشترین استفاده و امکانات این سیستم عامل برای شبکه می‌باشد.

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

          

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

دلایل ایجاد سیستم‌عامل

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

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

سیستم‌عامل دو کار عمده انجام می‌دهد:

در نگرش پایین به بالا، منابع منطقی (مانند فایل‌ها) و منابع فیزیکی (مانند دستگاه‌های سخت‌افزاری) رایانه را مدیریت و کنترل می‌کند.در نگرش بالا به پایین، وظیفه سیستم‌عامل این است که یک ماشین توسعه یافته[یادداشت ۳]یا ماشین مجازی را به کاربران ارائه کند تا آنها بتوانند آسان‌تر برنامه‌نویسی نمایند و درگیر پیچیدگی‌های سخت‌افزاری رایانه نشوند.[نیازمند منبع]

به طور کلی، وظایف سیستم‌عامل شامل موارد زیر است:

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

سیستم‌عامل‌های فعلی

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

آمار موجود که مربوط به اوت ۲۰۱۰ می‌باشد به شرح زیر است:

ویندوز ۷: ۳۷٫۸٪ویندوز ویستا: ۶٫۷٪ویندوز اکس پی: ۳۹٫۷٪ویندوز ۲۰۰۳: ۰٫۹٪مک اواس: ۸٫۱٪توزیع‌های گنو/لینوکس: ۵٫۲٪

از سیستم‌عامل‌های مشهور کامپیوترهای شخصی می‌توان به اسامی زیر اشاره کرد:

یونیکسگنو/لینوکسمک اواسویندوز اکس‌پیویندوز ویستاویندوز ان‌تیویندوز ۷ویندوز ۸ویندوز 8.1ویندوز 10ویندوز سی‌ایسولاریسبی اس دیداسام وی اسویلزپالم

همچنین از سیستم‌عامل‌های موجود روی گوشی‌های تلفن همراه نسل جدید می‌توان به اسامی زیر اشاره کرد:

اندرویدiOSویندوز موبایلویندوز فونسیمبینیوآی‌کیوبادابلک بریمی‌گوپالمتایزن

تاریخچه سیستم عامل

در آغاز

اولین کامپیوترها فاقد سیستم‌عامل بودند. در اوایل سال ۱۹۶۴ فروشندگان کامپیوترهای تجاری ابزار کاملاً گسترده‌ای را برای تسهیل توسعه، زمانبندی، و اجرای کارها روی یک سیستم پردازش دسته‌ای فراهم می‌کردند. برای مثال رایانه تولید شده توسط UNI VAC.

در ابتدا سیستم‌عامل روی مین فریم‌ها مستقر می‌شد و کمی بعد سیستم‌عامل میکروکامپیوترهای ابتدایی که فقط از یک برنامه در هر زمان پشتیبانی می‌کردند و به یک زمانبند بسیار ابتدایی نیاز داشتند. هر برنامه زمانی که در حال اجرا بود تحت کنترل کامل ماشین قرار داشت. چند وظیفه‌ای (اشتراک زمانی) اولین بار در مین فریم‌ها و در ۱۹۶۰ عرضه شد. ابتدا کامپیوترها بسیار بزرگ و جاگیر بودند اما امروزه در کف یک دست جا می‌گیرند.

مین فریم‌ها

میکرو کامپیوترها 

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

سیستم عامل

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

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

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

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

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

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

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

خرید و دانلود  تحقیق-سیستم عامل چیست- Operating Systems - درقالب word- در 28ص


آموزش ساخت سیستم عامل هکینتاش

 آموزش ساخت سیستم عامل هکینتاش


در این کتاب شما با اصطلاح بسیار جدید در دنیای فناوری روبرو می شوید بنام هکینتاش . همانطور که از نام کتاب متوجه می‌شوید منظور همان هک است اما چه چیزی را باید هک کرد، بله شما باید سیستم عامل مک اپل را هک کنید تا دارای یک سیستم عامل آزاد با نام هکینتاش داشته باشید . این کتاب دارای سه بخش می‌باشد که عبارتند از: ۱- آماده سازی ۲-نصب OS X ۳- تنظیمات OS X .

خرید و دانلود  آموزش ساخت سیستم عامل هکینتاش