یارا فایل

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

یارا فایل

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

گزارش کارآموزی آموزش یونیکس مقدماتی

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

گزارش کارآموزی آموزش یونیکس مقدماتی


گزارش کارآموزی آموزش یونیکس مقدماتی

دانلود گزارش کارآموزی رشته کامپیوتر  آموزش یونیکس مقدماتی بافرمت ورد وقابل ویرایش تعدادصفحات 65

گزارش کارآموزی آماده,دانلود کارآموزی,گزارش کارآموزی,گزارش کارورزی

این پروژه کارآموزی بسیار دقیق و کامل طراحی شده و جهت ارائه واحد درسی کارآموزی میباشد

مقدمه: 

در این گزارش تا حدی سعی شده است تمام مواردی که در این شرکت اجرا می شود بیان شود اما به علت گستردگی موارد این امر امکان پذیر نبود بطور مثال : خیلی از موارد که در سیستم کاربردی و تخصصی شرکت بود که اولا از نظر امنیتی قابل دسترسی نبود دوما ارتباطی با بیرون از شرکت نداشت.حال اینکه در مورد مسائلی از قبیل (یونیکس ، مزایای یونیکس ، وظایف یونیکس ، فرمانهای یونیکس ، ارتباطات یونیکس و مقدار کمی از مسائل داخلی شرکت و سیستم کاربردی این مؤسسه )ذکر شده است.    تاریخچه فعالیت شرکت : کلیات: در سال 1363 به همت کارکنان شاغل در بانک تجارت صندوق قرضالحسنه کارمندی به نام صندوق همگان با هدف رفع نیازهای ضروری کارکنان عضو تشکیل گردید و به استناد درخواست عضویت کارمندان بطور اتوماتیک ماهانه مبلغی مشخص از حقوق آنها کسر و بحساب تعیین شده واریز می گردید.و از محل تجمیع کسور و با توجه به میزان مانده حساب ، متقاضی می توانست معادل 5 برابر به صورت قرض الحسنه با کارمزد معینه دریافت نماید که اقساط آن اتوماتیک از حقوق متقاضی کسر و بحساب مربوطه واریز می گردید تا بدهی کاملا تسویه شود. با توجه به گسترش تعداد اعضا و افزایش حجم کار و به منظور حفظ سلامت وجوه اعضا ، ضابطه مند و قانونمند کردن فعالیت آن در تاریخ 14/4/1379 صندوق مذکور به شرکت تعاونی اعتبار کارکنان بانک تجارت تبدیل شد.طی شماره 168958 مورخ 16/9/1379 در اداره ثبت شرکتها و مالکیت صنعتی تهران به ثبت رسیده است.مرکز اصلی و حیطه فعالیت آن تهران است . فعالیت اصلی شرکت: طبق اساسنامه شرکت فعالیت اصلی شرکت عبارتست از :     باز کردن حساب سپرده های مختلف منحصرا" برای اعضا (کارکنان شاغل و یا بازنشسته بانک تجارت)     پرداخت وام با دریافت کارمزد به اعضاء ، با رعایت مقررات موضوعه و آئین نامه مصوب مجمع عمومی عادی     انجام سایر خدمات مالی و اعتباری برای اعضاء در حدود امکانات     اخذ وام قرض الحسنه و سایر تسهیلات اعتباری از منابع بانکی ، صندوق تعاون و دیگر مؤسسات مالی اعتباری و اشخاص حقیقی و حقوقی دیگر     اخذ کمک و هدایای نقدی و غیر نقدی از دولت ، اشخاص حقیقی و یا حقوقی     تودیع وجوه به حساب سپرده بلند مدت و کوتاه مدت در بانکها و یا صندوق تعاون     سرمایه گزاری و خرید سهام اتحادیه تعاونی اعتبار مربوطه و خرید اوراق مشارکت دولتی و یا تضمین شده توسط دولت. طی سال 1387 فعالیت شرکت قبول سپرده از اعضا ،دریافت تسهیلات اعتباری از منابع بانکی و تعاونی ها و اعطای تسهیلات به اعضا و تودیع سپرده نزد بانکها و تعاونی ها بوده است. شرکتهای تعاونی عموما توسط تعدادی از افراد بنام اعضاء جهت هدف مشخصی ایجاد و سپس به ثبت می رسد. در پایان از تمام کسانی که من را در جهت کارآموزی یاری کردند از جمله آقایان (صادقیان مدیر عامل شرکت،راحت مدیر امور اداری،صیادی مدیر امور مالی)تشکر فراوان می نمایم.             فعالیتهایی که در این شرکت انجام می شود: •    تعداد اعضاء اعم از شاغل و بازنشسته  به تعداد 2000 نفر •    افتتاح حساب برای هر یک از اعضاء  •    کسر حق عضویت از حقوق اعضاء به صورت مکانیزه •    واریز به حساب مربوطه •    تنظیم فرم درخواست استفاده از تسهیلات توسط متقاضی •    ارائه به مدیر عامل جهت اخذ مجوز •    صدور اسناد مربوطه ،پرداخت تسهیلات پس از تأیید مدیر عامل •    اخذ صورت حسابهای بانک و مطابقت با اسناد شرکت از طرفین سیستم مکانیزه •    رفع مغایرت صورت حسابهای بانک با سیستم •    مشخی نمودن و کنترل میزان اضافه واریز اعضاء از طریق کنترل صورتحساب توسط سیستم •    صدور اسناد روزانه بر اساس صورتحسابهای بانک و ثبت در حسابهای مکانیزه •    صدور اسناد اصلاحی و برگشت وجوه اضافه واریز شده به حساب همکاران •    تهیه ترازنامه در پایان هر ماه  •    انجام کنترلهای لازم •    تهیه صورت مغایرت مانه بانکها در صورت داشتن مغایرت.       مقدمه یونیکس چیست؟ اگر سیتم عاملی وجود داشته باشد که آن را مبهم و به کاربردن آن را مشکل بدانند این سیستم عامل ، یونیکس است.یونیکس سیستم عاملی است که کلیه برنامه نویسان نیاز دارند با آن آشنا شوند. یونیکس از ساختار داخلی ، نصب و استفاده یکی از قویترین و زیباترین سیستم عاملهایی است که من با آنها کار کرده ام.زمانی که از یونیکس استفاده می کنید لازم است کاری را که بر روی سیستم انجام می دهید به خوبی بدانید زیرا محیط یونیکس یک محیط جدی می باشد.اما اگر می خواهید یکی از آن افرادی باشید که با شهامت از یونیکس استفاده می کنند پس از کسب مهارت کافی در سطح ارائه نرم افزارهای امروزی ، سازمانهای مختلفی شما را به کار خواهند گرفت. یونیکس مانند MS-DOS و OS\2 یک سیستم عامل است.نرم افزاری که کامپیوتر فیزیکی را کنترل و فرامین ما را تفسیر می کند.سیستم عامل اعمال بسیاری انجام می دهد : •    عملا" برنامه را اجرا می کند. •    تمام ورودی و خروجی را در کامپیوتر کنترل می کند. چرا یونیکس؟ (مزایای یونیکس) یونیکس به دلایل گوناگونی به سیستم عامل بسیار محبوبی تبدیل شده است : •    یونیکس قابل حمل است چون یونیکس به زبان برنامه سازی C نوشته می شود و مقید هیچ سخت افزار خاصی نمی باشد تقریبا" به هر نوع کامپیوتری برده شده است.کامپیوترهای شخصی ، کامپیوترهای کوچک ، کامپیوترهای بزرگ و سوپر کامپیوترها از هر نوعی سیستم عامل یونیکس را اجرا می کنند. •    یونیکس سیستم عامل چند کاربره می باشد بطور همزمان بیش از یک کاربر می توانند از سیستم عامل یونیکس استفاده کنند. •    یونیکس سیستم عامل چند وظیفه ای می باشد می توانید دو وظیفه را بطور همزمان انجام دهید به عنوان نمونه می توانید در هنگامی که پست الکترونیکی خود را می خوانید در پس زمینه پرونده ای متنی را قالب بندی کنید. •    شبکه سازی در یونیکس تعبیه شده است در یونیکس شبکه سازی در برنامه ها و برنامه های کمکی گوناگونی تعبیه می شود. •    یونیکس دارای مجموعه ای غنی از برنامه های کمکی می باشد •    دارای حفاظت فایل و دایرکتوری است که مانع از استفاده غیر مجاز از این منابع می شود. وظایف سیستم عامل یونیکس سیستم عامل مجموعه ای از برنامه ها می باشد که با یکدیگر به طور هماهنگ کار می کنند.سیستم عامل یونیکس از دو قسمت تشکیل یافته است : 1)    کرنل (kernel) 2)    شل (shell) کرنل :کنترل ورودی / خروجی کنترل پراسس ها کنترل دستگاههای جانبی مدیریت فایلها مدیریت حافظه شل :مفسر فرمان ابزارهای توسعه یافته


دانلود با لینک مستقیم

دانلود تحقیق نرم افزار یونیکس

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

دانلود تحقیق نرم افزار یونیکس


دانلود تحقیق نرم افزار یونیکس

 

 

 

 

 

 



فرمت فایل : word(قابل ویرایش)

تعداد صفحات:23

فهرست مطالب:

پیشگفتار
چکیده
مقدمه
تاریخچه یونیکس
UNIX چیست ؟
:Kernel
زمانبندی پردازشها (time – sharing )  :
Shell  :
$  echo   $PATH
ساختار سیستم فایل لینوکس و یونیکس
● سیستم فایل یا درخت؟
● پارتیشن ها
▪ بخش های درخت سیستم فایل
- شاخه boot:
- شاخه dev:
- شاخه etc:
- شاخه home:
- شاخه lib:
- شاخه mnt:
- شاخه proc:
- شاخه sbin:
- شاخه tmp:
- شاخه usr:
- شاخه var:
● پارتیشن swap
منابع

 

 

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



چکیده
یونیکس یک سیستم عامل است که در سال 1960 و 1970 به‌وسیلهٔ گروهی از کارمندان آزمایشگاههای بل متعلق به شرکت اِی‌تی اَند تی (AT&T Bell Labs) شامل کن تامپسون (طراح اصلی و پایه‌گذار) و دنیس ریچی نوشته شد. بتدریچ دیگران نیز به تیم کوچک آن‌ها پیوستند، کسانی مانند داگلاس مَکیلروی.اگر گفته شود یونیکس آغازگر «دوره اطلاعات» و در امتداد آن «عصر اینترنت» است، کوچک‌ترین سخنی به گزافه گفته نشده است. درواقع تا همین امروز هم، تقریباً %100 پیمان‌های مهم و باز که جنبش اینترنت را پدید آورده‌اند، مانند وب، از خوانوادهٔ یونیکس آمده و می‌آیند. اینترنت در آغاز در یونیکس گسترش یافت و تا سال‌ها، واژهٔ «اینترنت» در میان کاربران یونیکس واژه‌ای کاملاً عادی و روزمرّه بود، درحالیکه دیگران حتی این واژه را نشنیده بودند و یا با اکراه تمام به آن بی اعتنائی و حتی آن را مسخره می‌کردند.سیستم‌های یونیکس امروزی به شاخه‌های مختلفی که در مرور زمان توسط AT&T توسعه داده شده، تبدیل گشته است. یونیکس طوری طراحی شده است تا قابل انتقال به هر سیستمی، چند کاره و همچنین چند کاربره باشد. سیستم‌های یونیکس با ایده‌های جدیدی که مطرح کرده‌اند،شناخته می‌‌شوند: پرونده‌های متنی ساده، مترجم‌های خط فرمان و سامانه پرونده‌گردانی (File System) سلسله مراتبی و غیره. در مهندسی نرم افزار، یونیکس به خاطر زبان برنامه‌نویسی سی و فلسفه یونیکس ذکر می‌‌شود.صاحب علامت تجاری یونیکس در حال حاضر open group است.در حالی که مدعی در حال حاضر متن برنامه‌های یونیکس The sco group و Novell است.


دانلود با لینک مستقیم

پایان نامه مهمترین نقاط آسیب پذیر یونیکس و لینوکس

اختصاصی از یارا فایل پایان نامه مهمترین نقاط آسیب پذیر یونیکس و لینوکس دانلود با لینک مستقیم و پرسرعت .

پایان نامه مهمترین نقاط آسیب پذیر یونیکس و لینوکس


پایان نامه مهمترین نقاط آسیب پذیر یونیکس و لینوکس

 

 

 

 

 

 

 


فرمت فایل : word(قابل ویرایش)

تعداد صفحات:169

فهرست مطالب:

مقدمه. ۴

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

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

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

اینترفیس کاربر. ۲۱

مهمترین نقاط آسیب پذیر یونیکس و لینوکس.. ۲۲

مقدمه. ۲۲

مهمترین نقاط آسیب پذیر یونیکس: ۲۴

اولین نقطه آسیب پذیر : BIND Domain Name System.. 25

سیستم های عامل در معرض تهدید : ۲۷

نحوه تشخیص آسیب پذیری سیستم ۲۷

دومین  نقطه آسیب پذیر :  ( Remote Procedure Calls (RPC.. 29

سیستم های عامل در معرض تهدید : ۳۰

نحوه تشخیص آسیب پذیری سیستم : ۳۰

نحوه حفاظت در مقابل نقطه آسیب پذیر : ۳۱

سومین نقطه آسیب پذیر :  Apache Web Server : 32

سیستم های عامل در معرض تهدید ۳۲

نحوه حفاظت در مقابل نقطه آسیب پذیر  : ۳۳

چهارمین نقطه آسیب پذیر : account 38

سیستم ها ی در معرض آسیب پذیر: ۴۰

نحوه حفاظت در مقابل نقطه آسیب پذیر : ۴۲

پنجمین نقطه آسیب پذیر :  :Clear Text Services. 48

سیستم های عامل در معرض تهدید : ۴۹

نحوه تشخیص آسیب پذیری سیستم : ۵۰

نحوه حفاظت در مقابل نقطه آسیب پذیر  : ۵۱

ششمین نقطه آسیب پذیر : : Sendmail 52

سیستم های عامل در معرض تهدید : ۵۳

نحوه تشخیص آسیب پذیری سیستم : ۵۳

نحوه حفاظت در مقابل نقطه آسیب پذیر: ۵۴

هفتمین نقطه آسیب پذیر : ( Simple Network Management Protocol (SNMP. 55

سیستم های عامل در معرض تهدید ۵۸

نحوه تشخیص آسیب پذیری سیستم ۵۸

نحوه حفاظت در مقابل نقطه آسیب پذیر  : ۵۹

حفاظت در مقابل  درخواست های آسیب رسان  و تهدید کننده : ۵۹

حفاظت در مقابل رشته های قابل حدس : ۶۰

هشتمین نقطه آسیب پذیر :( Secure Shell (SSH.. 61

سیستم های عامل در معرض تهدید ۶۲

نحوه تشخیص آسیب پذیری سیستم ۶۲

نحوه حفاظت در مقابل نقطه آسیب پذیر. ۶۳

نهمین نقطه آسیب پذیر : عدم پیکربندی مناسب سرویس های NIS/NFS. 64

سیستم های عامل در معرض تهدید : ۶۶

نحوه تشخیص آسیب پذیری سیستم : ۶۶

نحوه حفاظت در مقابل نقطه آسیب پذیر. ۶۷

دهمین نقطه آسیب پذیر : ( Open Secure Sockets Layer (SSL.. 70

سیستم های عامل در معرض تهدید ۷۱

نحوه تشخیص آسیب پذیری سیستم ۷۱

نحوه حفاظت در مقابل نقطه آسیب پذیر. ۷۱

توصیه های مهم امنیتی در مورد یونیکس و لینوکس… ۷۲

معرفی  ویندوز ۲۰۰۰ و ۲۰۰۳٫ ۷۶

خانواده Windows 2000 Server 77

خانواده Windows .NET Server 2003. 81

مهمترین نقاط آسیب پذیر ویندوز : ۸۴

مقدمه. ۸۴

مهمترین نقاط آسیب پذیر ویندوز : ۸۶

اولین نقطه آسیب پذیر :  ( Internet Information Services (IIS. 87

سیستم های عامل در معرض تهدید : ۸۹

نحوه تشخیص آسیب پذیری سیستم ۹۰

نحوه حفاظت در مقابل نقطه آسیب پذیر. ۹۱

دومین  نقطه آسیب پذیر :  ( Microsoft SQL Server (MSSQL.. 93

سیستم های عامل در معرض تهدید : ۹۸

نحوه تشخیص آسیب پذیری سیستم ۹۹

نحوه حفاظت در مقابل نقطه آسیب پذیر : ۹۹

مهمترین نقاط آسیب پذیر ویندوز. ۱۰۴

در بخش اول این مقاله به بررسی دو مورد از نقاط آسیپ پذیر ویندوز پرداخته گردید . در این بخش به بررسی سومین نقطه آسیب پذیر ویندوز ، اشاره می گردد.   سومین نقطه آسیب پذیر :   Windows Authentication. 104

نحوه حفاظت در مقابل نقطه آسیب پذیر : ۱۰۹

چهارمین نقطه آسیب پذیر:  (Internet Explorer (IE.. 123

سیستم های عامل در معرض تهدید ۱۲۳

نحوه تشخیص آسیب پذیر ی سیستم ۱۲۴

نحوه حفاظت در مقابل نقطه آسیب پذیر. ۱۲۴

ایمن سازی IE.. 125

پنجمین  نقطه آسیب پذیر : Windows Remote Access Services. 126

دستیابی از راه دور به  ریجستری  ویندوز. ۱۲۹

نحوه تشخیص  آسیب پذیری سیستم ۱۳۰

نحوه حفاظت درمقابل مسائل Anonymouse logon  . ۱۳۶

تشریح ریجستری ویندوز. ۱۳۶

نحوه حفاظت در مقابل دستیابی به ریجستری سیستم ۱۳۷

نحوه حفاظت سیستم در مقابل مسائل مرتبط با RPC.. 140

ششمین  نقطه آسیب پذیر :  ( Microsoft Data Access Components (MDAC.. 141

سیستم های عامل در معرض تهدید ۱۴۳

نحوه تشخیص آسیب پذیر ی سیستم ۱۴۳

نحوه حفاظت در مقابل نقطه آسیب پذیر. ۱۴۴

هفتمین  نقطه آسیب پذیر :  (Windows Scripting Host (WSH.. 145

نحوه حفاظت در مقابل نقطه آسیب پذیر. ۱۴۷

غیرفعال نمودن WSH.. 147

آنتی ویروس ها ۱۴۹

مجوزهای                NTFS. 150

هشتمین  نقطه آسیب پذیر :    Microsoft Outlook ,Outlook Express. 151

سیستم های عامل در معرض تهدید ۱۵۲

نحوه تشخیص آسیب پذیر ی سیستم ۱۵۴

نحوه حفاظت در مقابل نقطه آسیب پذیر. ۱۵۴

آموزش کاربران. ۱۵۵

آنتی ویروس.. ۱۵۶

نهمین  نقطه آسیب پذیر :  (Windows Peer to Peer File Sharing (P2P. 159

نحوه تشخیص آسیب پذیر ی سیستم ۱۶۱

نحوه حفاظت در مقابل نقطه آسیب پذیر. ۱۶۲

دهمین  نقطه آسیب پذیر : ( Simple Network Management Protocol (SNMP ) 163

سیستم های عامل در معرض تهدید ۱۶۵

نحوه تشخیص آسیب پذیری سیستم ۱۶۶

نحوه حفاظت در مقابل نقطه آسیب پذیر. ۱۶۷

حفاظت در مقابل  درخواست های آسیب رسان  و تهدید کننده : ۱۶۷

حفاظت در مقابل رشته های قابل حدس.. ۱۶۸

 

مقدمه:

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

تمام کامپیوترها از سیستم عامل استفاده نمی نمایند. مثلا”  اجاق های مایکرویو که در آشپزخانه استفاده شده دارای نوع خاصی از کامپیوتر بوده که از سیستم عامل استفاده نمی نمایند. در این نوع سیستم ها بدلیل انجام عملیات محدود و ساده، نیازی به وجود سیستم عامل نخواهد بود. اطلاعات ورودی و خروجی با استفاده از دستگاههائی نظیر صفحه کلید و نمایشگرهای 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 نمی تواند باعث اجرای یک پردازه گردد.

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


دانلود با لینک مستقیم