فرمت فایل : word (قابل ویرایش) تعداد صفحات : 37 صفحه
مقدمه :
امروزه در دنیایی متکی بر فناوری اطلاعات زندگی میکنیم که هر لحظه به خطر افتادن جریان اطلاعات منجر به بروز خسارتهای تجاری جبران ناپذیری خواهد شد. امروزه همه به دنبال یک سکوی (Platform) امنتر برای اجرای برنامههای کاربردی و سرویسدهندهها هستند. لینوکس حرفهای زیادی برای گفتن در سمت امنیت دارد. بسیاری از قابلیتهای امنیتی که در ویندوز وجود ندارند و یا فقط با اضافه کردن نرمافزارهای اضافی قابل دسترسی میباشند، بطور درونی و پیشگزیده در لینوکس پیادهسازی شدهاند.
لینوکس از ابتدا برای محیطهای شبکهای و چندکاربره طراحیشده است و همین باعث رعایت مسائل امنیتی از ابتدا در آن شده است، درحالیکه ویندوز اینگونه نبوده و در حال حاضر نیز ازنظر امنیتی دارای نقاط ضعف فراوانی است. مثلاً یک برنامهی مخرب با استفاده از همین ضعفهای امنیتی میتواند کل سیستمعامل را نابود کند، ولی درصورتیکه مورد مشابهی در لینوکس وجود داشته باشد، حداکثر به دایرکتوری خانگی کاربر اجراکننده آسیب خواهد رسید، نه کل سیستمعامل.
اینطور نیست که لینوکس فاقد هرگونه اشکال امنیتی باشد، خیر! ولی باز بودن کد منبع آن باعث میشود تا بسیاری از اشکالات امنیتی پیش از ایجاد خسارت و در مراحل توسعه و برنامهنویسی برنامه برملا شده و رفع شوند. درصورتیکه اشکالی نیز در برنامههای منتشرشده یافت شود، به دلیل موجود بودن کد منبع سریعاً برطرف میگردد. درصورتیکه در سیستمعامل ویندوز شما باید منتظر مایکروسافت بمانید وبمانید وبمانید. سیستمعامل ویندوز دارای اشکالات امنیتی بسیاری است که بهراحتی هم کشف نمیشوند و هنگامی کشف میشوند که خسارات جبرانناپذیری در اثر حمله از طریق آن ضعفهای امنیتی رخ دهد که امثال آن را شاهد هستیم.
میتوان ادعا کرد که تقریباً هیچ ویروسی برای لینوکس وجود ندارد و این در حالی است که سالیانه بیش از ۱۰۰۰ ویروس و کرم مختلف برای سیستمعامل ویندوز ایجاد میشود. این به خاطر عدم گسترده بودن لینوکس نیست، (حدود ۷۰ درصد از سایتهای وب در جهان بر روی سیستمعامل لینوکس و سرویسدهندهی وب آپاچی درحال اجرا هستند) بلکه بدلیل وجود حفرههای امنیتی متعدد ویندوز و سیاست انحصارگرایی مایکروسافت است. یعنی چه؟ مایکروسافت طوری رفتار و سیاستگذاری کرده است که مشتریان خود را تنها به محصولات خودش عادت دهد. بسیاری از کاربران ویندوز از اینترنت اکسپلورر و آتلوک برای مرور وب و پست الکترونیک استفاده میکنند. من به عنوان یک ویروسنویس، میدانم که اگر ویروسی را برای کاربران ویندوز بنویسم، بر روی کامپیوترهای ۹۰ درصد آنها اثر خواهد کرد. چون اکثراً از IE و Outlook استفاده میکنند. ولی در لینوکس چطور؟ در لینوکس شما طیف وسیعی از انتخاب و عدم اجبار دارید. من از مرورگر موزیلا استفاده میکنم. دوستی دارم که Konqueror را ترجیح میدهد. دیگری از Opera استفاده میکند. من از Kmail استفاده میکنم. دوستم از Evolution، دیگری از Pine و بعدی از Mutt و برادرم هم از Mozilla Mail. من فقط میتوانم برای یکی از اینها ویروس بنویسم چون روی بقیه کار نخواهد کرد و عملاً میزان اثر آن اندک خواهد بود. ضمناً هیچیک از ویروسهایی که برای ویندوز نوشته شدهاند، بر روی لینوکس کار نمیکنند.
اولین و برجستهترین تفاوت در اینجاست که سیستمهای مبتنی بر یونیکس به معنای کاملاً واقعی سیستمهایی چند کاربره هستند و برای هرفایل به تنهایی یا یک دایرکتوری میتوان سطوح دسترسی کاربران و گروههای کاربری تعریف کرد و هر کاربر بصورت پیشفرض دارای یک محدوده امن اطلاعاتی از فایلهای شخصی خانگی است.
چیزی که در اینجا دربارهی کاربران و گروههای کاربری لازم به ذکر است این است که هر کاربر در سیستم یونیکس یک دایرکتوری شخصی به نام home خواهد داشت که کلیه اختیارات دسترسی فایل در آن برای او مجاز بوده و میتواند در آن به ایجاد و حذف فایل یا عملیات دیگر بپردازد و هیچیک از کاربران یا گروههای دیگر بجز کاربر ریشه root در حالت عادی و بدون اجازه او نخواهند توانست به اطلاعات او دسترسی یابند. (نکته مهم امنیتی)
در سیستمهای مبتنی بر یونیکس مثل لینوکس هر کاربری که مالک یا ایجادکنندهی یک فایل یا دایرکتوری باشد خواهد توانست با تعین سطوح دسترسی فایل یا دایرکتوری مربوطه برای دیگر کاربران یا گروههای کاربری آنان را از امکان خواندن و ایجاد تغییر و یا اجرای فایل اجرایی محروم یا بهرهمند سازد.
بدیهی است که مجوزهای تعریف شده برای یک گروه کاربری بر روی تمام اعضای آن گروه اعمال شده و هر کاربر عضو آن گروه از تمام مزایا یا محدودیتهای موصوف بهرهمند خواهدشد.
بطور کلی سه سطح دسترسی برای هر فایل یا دایرکتوری تعریف میشود که عبارتست از:
ادامه...
سیستمعامل یا سامانهٔ عامل[۱] (به انگلیسی: Operating) نرمافزاری است که مدیریت منابع Systemرایانه را به عهده گرفته و بستری را فراهم میسازد که نرمافزار کاربردی اجرا شده و از خدمات آن استفاده کنند. سیستمعامل جزء ضروریترین نرمافزارهای یک سیستم کامپیوتری است. سیستمعامل خدماتی به برنامههای کاربردی و کاربر ارائه میدهد. برنامههای کاربردی یا از طریق واسطهای برنامهنویسی کاربردی[یادداشت ۱] و یا از طرق فراخوانیهای سیستم به این خدمات دسترسی دارند. با فراخوانی این واسطها، برنامههای کاربردی میتوانند سرویسی را از سیستمعامل درخواست کنند، پارامترها را انتقال دهند، و پاسخ عملیات را دریافت کنند. ممکن است کاربران با بعضی انواع واسط کاربری نرمافزار مثل واسط خط فرمان یا یک واسط گرافیکی کاربر با سیستمعامل تعامل کنند. برای کامپیوترهای دستی و رومیزی، عموماً واسط کاربری به عنوان بخشی از سیستمعامل در نظر گرفته میشود. در سیستمهای بزرگ و چند کاربره مثل یونیکس و سیستمهای شبیه یونیکس، واسط کاربری معمولاً به عنوان یک برنامه کاربردی که خارج از سیستمعامل اجرا میشود پیادهسازی میشود. نمونههایی از محبوبترین سیستمعاملهای نوین شامل: اندروید،بیاسدی، آیاواس، لینوکس، اواس ده، کیواناکس، مایکروسافت ویندوز، ویندوز فون و زد/اواس میباشند.سیستمهای بیدرنگ یا زمان واقعی یک سیستم عامل چند وظیفهای است که معمولاً بعنوان یک کنترل کننده در یک کاربرد خاص استفاده میشوند. سیستم در این حالت میبایست در زمانی مشخص و معین حتماً جواب مورد نظر را بدهد. سیستمهای کنترل آزمایشهای علمی، تصویربرداری پزشکی، کنترل صنعتی و برخی از سیستمهای نمایش از این دستهاند. هدف اصلی استفاده از سیستمهای بیدرنگ واکنش سریع و تضمین شده در برابر یک رویداد خارجی میباشد. در سیستمهای بیدرنگ معمولاً وسایل ذخیرهسازی ثانویه وجود ندارد و به جای آن از حافظههای ROM استفاده میشود. سیستمعاملهای پیشرفته نیز در این سیستمها وجود ندارند چرا که سیستمعامل کاربر را از سختافزار جدا میکند و این جداسازی باعث عدم قطعیت در زمان پاسخگویی میشود. سیستمهایی که در آن مهلت زمانی[یادداشت ۲] باید پاسخ داده شود را بیدرنگ سخت و سیستمهایی که مهلت زمانی را پشتیبانی نمیکنند بیدرنگ نرم مینامند. از کاربرد سیستمهای بیدرنگ سخت میتوان به کنترل موتور یک خودرو (پاسخ با تأخیر میتواند نتایج فاجعهباری را به همراه داشته باشد) و در سیستمهای بیدرنگ نرم میتوان به اسکن بارکد در پایانه فروشگاه (با اینکه سرعت پاسخدهی باید سریع باشد اما به حادّی سیستمهای سخت نمیباشد) اشاره کرد
سیستمعامل دو کار عمده انجام میدهد:
در نگرش پایین به بالا، منابع منطقی (مانند فایلها) و منابع فیزیکی (مانند دستگاههای سختافزاری) رایانه را مدیریت و کنترل میکند.در نگرش بالا به پایین، وظیفه سیستمعامل این است که یک ماشین توسعه یافته[یادداشت ۳] یا ماشین مجازی را به کاربران ارائه کند تا آنها بتوانند آسانتر برنامهنویسی نمایند و درگیر پیچیدگیهای سختافزاری رایانه نشوند.[نیازمند منبع]
به طور کلی، وظایف سیستمعامل شامل موارد زیر است:
استفاده بهینهتر از منابع و جلوگیری از به هدر رفتن آنهاتخصیص و آزاد سازی منابعاداره صفها و زمانبندی استفاده از منابعحسابداری میزان استفاده از منابعایجاد امنیتایجاد، حذف و اداره فرایندهاایجاد مکانیسمهای ارتباط بین فرایندها و همگامسازی آنهامدیریت فایلها و پوشههامدیریت حافظههای اصلی و جانبیبرقراری امکان دسترسی چندتایی[یادداشت ۴] و اجرای هم روند[یادداشت ۵] فرایندهابه اشتراک گذاری منابع[یادداشت ۶]تعیین راهکارهایی برای اداره بنبست[یادداشت ۷]جلوگیری از وضعیت رقابتی[یادداشت ۸] و تداخل یا در هم قفل شدن[یادداشت ۹] فرایندهاجلوگیری از گرسنگی[یادداشت ۱۰]
سیستمعاملهای فعلی[ویرایش]
در سالهای اخیر رقابت بیشتر بین سیستمعاملهای مایکروسافت ویندوز، اپل مک اواس و لینوکس جریان دارد که آماری که در ماه ژوییه ۲۰۱۱ توسط وبگاه W3Schools به ثبت رسیده حاکی از آن است که هم اکنون بیش از ۸۰ درصد کاربران اینترنت از سیستمعامل ویندوز استفاده میکنند.
آمار موجود که مربوط به اوت ۲۰۱۰ میباشد به شرح زیر است:
ویندوز ۷: ۳۷٫۸٪ویندوز ویستا: ۶٫۷٪ویندوز اکس پی: ۳۹٫۷٪ویندوز ۲۰۰۳: ۰٫۹٪مک اواس: ۸٫۱٪توزیعهای گنو/لینوکس: ۵٫۲٪
فرمت فایل : word (قابل ویرایش) تعداد صفحات : 20
مقدمه :
کمتر از سه سال پیش زمانی که سیستم عامل آندروید برای نخستین بار توسط کنسرسیومی به رهبری گوگل معرفی شد، کمتر کسی پیشبینی میکرد که در این مدت کوتاه این سیستم عامل موفق به پیشی گرفتن از سیستم عاملهای پرطرفدار و جا افتاده تلفن همراه چون ویندوزموبایل، لینوکس و پالم شده و خود را به عنوان تهدیدی جدی برای رقبایی چون سیمبین، RIM و آیفون نشان دهد. آندروید پا را از این هم فراتر گذاشته و علاوه بر حضور قدرتمند در بازار تلفنهای همراه هوشمند، وارد عرصههای دیگری مانند تبلتها و حتی تلویزیون نیز شده است.
به نوشته ی هومن کبیری، رشد اعجابآور آندروید به گونهای بوده است که بسیاری از کارشناسان پیشبینی میکنند این سیستم عامل تا سال ۲۰۱۲ دومین سیستم عامل پرطرفدار تلفنهای همراه جهان خواهد بود. تخمینی که نه تنها دور از دسترس نمینماید بلکه بسیار محافظهکارانه به شمار میرود. چرا که با روند رشد این سیستم عامل و اقبال شرکتهای مختلف به آن، کسب رتبه اول نیز برای آندروید چندان دور از ذهن نیست. مروری خواهیم داشت بر تاریخچه و روند شکلگیری این سسیتم عامل، موفقیتها و چشمانداز آتی آن.
معنای آندروید
پیش از ورود به اطلاعات مربوط به آندروید، نخست به نام آن میپردازیم. بنابر ترجمه دیکشنری کمبریج، آندروید این گونه تعریف شده است: «یک ربات (ماشینی که به وسیله کامپیوتر کنترل میشود) که به گونهای ساخته شده تا شکل ظاهری شبیه به انسان داشته باشد.» شاید بتوان نزدیکترین معنی در زبان فارسی به آندروید را آدم آهنی یا آدم ماشینی دانست.
مقدمه:
مهمترین کاربرد سیستمهای بلادرنگ در رابطه با عملیات کنترل پردازش است . خاصیت مهم سیستم عاملهای بلادرنگ این است که هر فعل و انفعال با کامپیوتر بایستی یک پاسخ در مدت زمانی که از قبل تعیین شده است دریافت دارد . سیستم بایستی بتواند این زمان پاسخ را گارانتی بکند (عواقب زمان پاسخ بد در رابطه با سیستمی که یک هواپیما و یا یک کارخانه شیمیایی را کنترل میکند را میتوان براحتی تصور کرد ) . مسئله زمان پاسخ در عمل به این معناست که معمولاً نرم افزار بصورت خاص-منظور است و به کاربرد بخصوصی اختصاص یافته است . دستگاههای جنبی چنین سیستمهایی نیز به احتمال قوی دستگاههای بخصوصی هستند . مثلاً ممکن است که از وسایل حس کننده که با سیگنالهای آنالوگ عمل می کنند به جای ترمینالهای عادی استفاده شوند.
فهرست مطالب:
فصل اول : زمانبندی بلادرنگ
مقدمه
مشخصات سیستم های بلادرنگ
زمانبندی بلادرنگ
رویکردهای ایستای مبتنی بر جدول
رویکردهای ایستای مبتنی بر اولویت و با قبضه کردن
رویکردهای پویا بر اساس برنامه ریزی
رویکردهای پویا با بهترین کوشش
زمانبندی ایستا مبتنی بر جدول
زمانبندی ایستای مبتنی بر اولویت و با قبضه کردن
زمانبند مهلت زمانی
زمانبندی Linux
زمانبندی Unix SVR4
فصل دوم : الگوریتم های برنامه ریزی و حمایت سیستم های اجرایی برای سیستم های بلادرنگ
خلاصه
برنامه ریزی بلادرنگ
متریک های اجرا در سیستم های بلادرنگ
الگوهای برنامه ریزی
الگوریتمهای برنامه ریزی برای این الگوها
برنامه ریزی ثابت Table –Driven
برنامه ریزی priority driven preemptive
برنامه ریزی دینامیک
برنامه ریزی Best –Effort دینامیک
موضوعات برنامه ریزی مهم
برنامه ریزی با محدودیتهای توان خطا
برنامه ریزی با احیای منابع
سیستم اجرایی بلادرنگ
هسته های کوچک ، سریع و اختصاصی
توسعه های زمان واقعی برای سیستم های اجرای بازرگانی
سیستم های اجرای تحقیق
هسته MARS
هسته SPRING
هستهMARUTI
هسته ARTS
فصل سوم : بررسی ارتباط میان اجزای یک سیستم جامع بلادرنگ
خلاصه
شرح عملگرهای بهبودیافته
تشریح مطالعات تجربی
فصل چهارم : منابع
فهرست جدول ها و شکلها :
شکل 1 – 1 : زمانبندی یک فرایند بلادرنگ
شکل 1 – 2 : زمانبندی وظیفه های بلادرنگ متناوب با مهلتهای زمانی کامل شدن
شکل 1 – 3 : زمانبندی وظیفه های بلادرنگ نامتناوب با مهلتهای زمانی در شروع
شکل 1 – 4 : مثالی از زمانبندی Linux
شکل 1 – 5: طبقه های اولویت در SVR4
جدول 1 -1 : اطلاعات اجرای دو وظیفه متناوب
جدول1 – 2: اطلاعات اجرای پنج وظیفه نامتناوب
شکل 3– 1: معماری سیستم جامع
شکل 3 – 2 : پروتکل ارتباط RS- 232C
شکل 3 – 3: خطای checksum
شکل 3 – 4 : زمان تزریق خطا
شکل 3 – 5 : عملگرهای جهش یافته
شکل 3 – 6 : مثالی از CRM
شکل 3 – 7 : مثالی از CRH
جدول 3 – 1: رابط میان RTOS و برنامه
جدول 3 – 2 : محل تزریق خطا
جدول 3 – 3 : RTOS و برنامه های کاربردی
جدول 3 – 4 : تعداد رابطهای بین RTOS و برنامه
سیستم عامل BackTrack یک توزیع linux که هم اکنون مبتنی بر Ubuntuمیباشد که برای تست نفوذ و کشف آسیبپذیری سیستمهای مختلف ساخته شده است. نام این سیستم عامل بر اساس نام الگوریتم جستجوی backtracking انتخاب شده است. اولین نسخهی این سیستم عامل به صورت نسخهی بتا ، 5 فوریه سال 2006 در اختیار کاربران قرار گرفت و در 26 می همان سال اولین نسخهی اصلی ( غیر بتا ) آن منتشر شد. این سیستم عامل قابلیت این را دارد که بدون نیاز به نصب از روی وسایل قابل حمل (portable ) قابل اجرا باشد. البته میتوان آن را روی هارد دیسک نیز نصب نمود و سپس از آن استفاده نمود. همچنین قابلیت نصب بر روی ماشین های مجازی را نیز دارد.