KN4140v  (( مديريت متمرکز سرورها از راه دور ))


با گسترش تعداد کامپيوترها و سرورها در شبکه‌ها مشکل اتصال کيبورد، مانيتور و موس به آنها از معضلات مديران شبکه بود. شرکت‌هايي بر آن شدند تا امکان مديريت و کنترل چند سرور را با يک کنسول KVM (Keyboard, Video, Mouse) فراهم نمايند و در هزينه و فضاي کار صرفه‌جويي کنند. بدين صورت که کنسول KVM به دستگاه رابطي به نام KVM Switch و اين دستگاه نيز به تعداد زيادي سرور متصل مي‌شود (شکل1).


شکل1

يکي از اين توليدکنندگان KVM Switch شرکت ATEN است که جديدترين محصول اين شرکت KVM Switch مدل KN4140v است و تقريبا تمامي امکانات توليدات قبلي اين شرکت را در بر دارد.
براي مثال، به دليل اينکه ‌4 نفر به طور همزمان از راه دور مي‌توانند توسط اين دستگاه سرورهاي شبکه را کنترل نمايند، از خانواده Matrix‌ محسوب مي‌شود.

ادامه نوشته

استانداردی برای مدیریت امنیت اطلاعات

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

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

ادامه نوشته

پيکربندی IIS با رعايت مسائل امنيتی  

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

IIS)Internet Information services) ، يکی از سرويس دهندگان وب است  که از آن برای برای نشر و توزيع سريع محتويات مبتنی بر وب ، برای مرورگرهای استاندارد استفاده می شود . نسخه پنج IIS ، صرفا" برای سيستم های  مبتنی بر ويندوز 2000 قابل استفاده است . نسخه های ويندوز 2000  Server و Advanced server  بمنظور نصب IIS  ، مناسب و بهينه می باشند . نسخه پنج برای  استفاده در نسخه های قديمی ويندوز طراحی  نشده است . امکان نصب IIS نسخه پنج ،  بهمراه ويندوز Professional نيز وجود داشته  ولی برخی از امکانات آن نظير : ميزبان نمودن چندين وب سايت ،  اتصال به يک بانک اطلاعاتی ODBC و يا محدوديت در دستيابی از طريق IP   در آن لحاظ نشده است .

 

ادامه نوشته

دانلود جزوه و آموزشی های سیسکو با لینک اختصاصی

برای وارد شدن به بخش دانلود بر روی دانلود کیلیک کنید

علل کاهش سرعت کامپيوتر

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

آشنائی با ريجستری ويندوز 2003

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

پارتيشن بندی

   

 _1برای اینکه بتوان هارد دیسکی را پارتیشن بندی نمود ابتدا باید بوسیله دیسکت یا cd راه انداز  کامپیوتر را راه اندازی کنیم.(برای این کار میتوانید از cd:windows98 یا از cd:windows me استفاده کنید. و همچنین میتوان از فلاپی استفاده کرد که طرز درست کردن این فلاپی را به شما ارائه می دهیم.)

 

 _2 اگر از cd:windows استفاده کردید باید پس از وارد شدن به قسمت نصب از آن خارج شوید تا با تایپ فرمان fdisk و فشردن Enter وارد پارتیشن بندی شوید.

 

3_ در این پنجره پیغامی می باشدمبنی بر اینکه هارد دیسک شما دارای حجمی بیشتر از MB512 است واگر نیاز دارید که پارتیشن DOS شما تا 2 GM باشد باید گزینه Large را تائید نمائید.کلید Enter را فشار دهید.

 

4_صفحه ای که مشاهده می کنید مختص Fdisk میباشد.

(صفحه 1 )

 

1. Creat DOS partition or Logical DOS Drive

1.جهت ایجاد پارتیشن

2.Set active partition

2.جهت فعال سازی پارتیشن

3.Delete partition or Logical DOS Drive

3.جهت از بین بردن و پاک کردن پارتیشن

4.Display partition information

4.جهت مشاهده تقسیمها و اطلاعات پارتیشن

 

5_اگر هارد دیسکی را به تازگی خریده اید و تا به حال آنرا پارتیشن نکرده اید از گزینه ی اول شروع نمائید اما با توجه به اینکه ممکن است هارد دیسک شما قبلا پارتیشن بندی شده باشد ابتدا پارتیشن بندی قبلی را پاک کرده و دوباره آن را پارتشن بندی می کنیم.لطفا عدد 3 را تایپ کرده و کلید Enter را فشار دهید.

 

6_ در این صفحه 4 گزینه برای پاک کردن وجود دارد.از انتها شروع به پاک کردن می نمائیم.عدد3 را تایپ کرده و کلید Enter را فشار دهید.

 

(صفحه 2 )

1.Delete Primary DOS Partition

2.Delete Extended DOS partition

3.Delete Logical DOS Drive(s) in the Extended DOS Partition

4.Delete Non-DOS Partition

 

7_ پارتیشن انتخابی همه ی درایوها به جز درایو C میباشد پس همه ی درایوها را یکی پس از دیگری با تایپ نام درایو انتخاب کنید و حذف نمائید.

 

8_ پیغامی ظاهر می شود که از شما می پرسد اگر درایو نام خاصی دارد در محل ظاهر شده یادداشت کنید.

 

9_ در  پیغام بعدی از شما صحت عمل انجا شده را در خواست می کند حرف Y را تایپ کرده و کلید Enter را فشار دهید.

 

10_ درایو انتخاب شده حذف گردید.

(دقت نمائید که اگر درایوی را انتخاب کردید و حذف شد دوباره به همین جا برگردید تا  درایو بعدی را حذف کنید.)

 

11_ حال باید پارتیشن Extended را حذف نمود برای اینکار گزینه ی 2 از قسمت حذف درایوها (صفحه 2 ) انتخاب کرد.

 

12_ حال باید عملیات را تائید نمود برای این منظور حرف Y را تایپ کرده و کلید Enter را فشار دهید.

 

13_ در این لحظه نوبت به حذف پارتیشن Primary می رسد گزینه ی اول را انتخاب کنید .عدد 1 را تایپ کرده و کلید Enter را فشار دهید.

 

14_ اگر درایو C شما اسم خاصی دارد تایپ کرده و اگر ندارد Enter را فشار دهید و بعد از آن برای تائید عملیات حرف Y را تایپ و کلید Enter را فشار دهید.

 

15_ برای ایجاد پارتیشن گزینه ی اول از صفحه 1 را انتخاب کنید.عدد 1 را تایپ کنید وکلید Enter را فشار دهید.

 

16_ در این پنجره نیز گزینه اول را انتخاب نمائید.عدد 1 را تایپ کرده وکلید Enter را فشار دهید.

 

) صفحه 3 )

1.Create Primary DOS Partition

2.Create Extended DOS Partition

3.Create Logical DOS Drive(s) in the Extended DOS Partition

 

17_ پس از پر شدن درصد پنجره ای برای شما باز می شود که از شما میپرسد آیا می خواهید پارتیشن Primary با حداکثر حجم پر شود. در واقع همه ی حجم شما به درایو C شما اختصاص داده میشود.اگر می خواهید همه ی حجم شما به درایو C شما اختصاص بیابد حرف Y و اگر نمی خواهید حرف N را تایپ کرده و کلید Enter را فشار دهید.

 

18_ در این موقع که درصد پر میشود در واقع سیستم شروع به آماده سازی می کنید و در نهایت حجم هارد دیسک را به نمایش میگذارد در این پنجره باید حجم پارتیشن اول یا همان درایو C را تعیین کنید.(هر یک گیگ (GB) مساوی عدد 1000 است.)

 

19_ اولین بخش پارتیشن بندی انجام گردید حال اگر همه ی حجم خود را به درایو C اختصاص نداده اید این بخش را نیز انجام دهید به صفحه ی ایجاد پارتیشن برگردید (صفحه ی 3 ) و عدد 2 را تایپ کنید و کلید Enter را فشار دهید.

 

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

 

21_ با این کار تمامی حجم باقی مانده به پارتیشن Extended اختصاص یافتحال اگر می خواهید حجم پارتیشن Extended را به چند درایو تقسیم کنید باید حجم انتخابی را نوشته و اگر نمی خواهید فقط کلید Enter را فشار دهید.

 

22_ اگر کلید Enter را فشار دادید تمامی حجم باقی مانده ی شما به درایو D شما اختصاص یافته و اگر حجمی را انتخاب کردید باید به همین جا برگردید و درایو های بعدی خود را بسازید.

 

23_ آخرین مرحله تعیین پارتیشن اکتیو است . گزینه ی دوم از صفحه ی اول را انتخاب کنید(صفحه 1 ) .عدد 2 را در این صفحه تایپ کنید و کلید Enter را فشار دهید.

 

24_ هرکدام از پارتیشن ها که می خواهید اکتیو(فعال) شود عدد مربوط به آن را تایپ کرده و کلید Enter را فشار دهید.سپس پارتیشنی که شما خوا ستید اکتیو می شود

 

25_ برای این که عملیات کامل شود یک بار کامپیوتر خود را Restart کنید(تذکر: با دکمهی کامپوتر خود این کار را نکنید یا با دکمه ی Esc و یا با سه دکمه یAlt+Ctrl+delete  )

 

26_ سپس به محلی که فرمان Fdisk را وارد کردید بروید و همه ی درایو های خود را فرمت کنید.

 

مثلا فرمت درایو C :

Format c:/u

 

) تذکر:فاصله ی بین format و نام درایو را فراموش نکنید.)

 

 

حملات DoS  

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

حملات از نوع ( DoS ( denial-of-service
در يک تهاجم از نوع DoS ، يک مهاجم باعث ممانعت دستيابی کاربران تائيد شده به اطلاعات و يا سرويس های خاصی می نمايد . يک مهاجم با هدف قرار دادن کامپيوتر شما و اتصال شبکه ای آن و يا کامپيوترها و شبکه ای از سايت هائی که شما قصد استفاده از آنان را داريد ، باعث سلب دستيابی شما به سايت های Email ، وب سايت ها ، account های online  و ساير سرويس های ارائه شده بر روی کامپيوترهای سرويس دهنده می گردد .
متداولترين و مشهودترين نوع حملات DoS ، زمانی محقق می گردد که يک مهاجم اقدام به ايجاد يک سيلاب اطلاعاتی در يک شبکه نمايد . زمانی که شما آدرس URL يک وب سايت خاص را از طريق مرورگر خود تايپ می نمائيد ، درخواست شما برای سرويس دهنده ارسال می گردد . سرويس دهنده در هر لحظه قادر به پاسخگوئی به حجم محدودی از درخواست ها می باشد، بنابراين اگر يک مهاجم با ارسال درخواست های متعدد و سيلاب گونه باعث افزايش حجم عمليات سرويس دهند گردد ، قطعا" امکان پردازش درخواست شما برای سرويس دهنده وجود نخواهد داشت. حملات فوق از نوع DoS می باشند، چراکه امکان دستيابی شما به سايـت مورد نظر سلب شده است .
يک مهاجم می تواند با ارسال پيام های الکترونيکی ناخواسته که از آنان با نام Spam ياد می شود ، حملات مشابهی را متوجه سرويس دهنده پست الکترونيکی نمايد . هر account پست الکترونيکی ( صرفنظر از منبعی که آن را در اختيار شما قرار می دهد ، نظير سازمان مربوطه و يا سرويس های رايگانی نظير ياهو و hotmail ) دارای ظرفيت محدودی می باشند. پس از تکميل ظرفيت فوق ، عملا" امکان ارسال Email ديگری به account فوق وجود نخواهد داشت . مهاجمان با ارسال نامه های الکترونيکی ناخواسته سعی می نمايند که ظرفيت account مورد نظر را تکميل و عملا" امکان دريافت email های معتبر را از account فوق سلب نمايند .

حملات از نوع ( DDoS (distributed denial-of-service 
در يک تهاجم از نوع DDoS ، يک مهاجم ممکن است از کامپيوتر شما برای تهاجم بر عليه کامپيوتر ديگری استفاده نمايد . مهاجمان با استفاده از نقاط آسيب پذير و يا ضعف امنتيی موجود بر روی سيستم شما می توانند کنترل کامپيوتر شما را بدست گرفته و در ادامه از آن به منظور انجام عمليات مخرب خود استفاده  نمايند. ارسال حجم بسيار بالائی داده از طريق کامپيوتر شما برای يک وب سايت و يا ارسال نامه های الکترونيکی ناخواسته برای آدرس های Email خاصی ، نمونه هائی از همکاری کامپيوتر شما در بروز يک تهاجم DDOS  می باشد . حملات فوق ، "توزيع شده " می باشند ، چراکه مهاجم از چندين کامپيوتر به منظور اجرای يک تهاجم DoS استفاده می نمايد .

نحوه پيشگيری از حملات
متاسفانه روش موثری به منظور پيشگيری در مقابل يک تهاجم DoS و يا DDoS  وجود ندارد . عليرغم موضوع فوق ، می توان با رعايت برخی نکات و انجام عمليات پيشگيری ، احتمال بروز چنين حملاتی ( استفاده از کامپيوتر شما برای تهاجم بر عليه ساير کامپيوتر ها )  را کاهش داد .

چگونه از وقوع حملات  DoS و يا DDoS  آگاه شويم ؟
خرابی و يا بروز اشکال در يک سرويس شبکه ، همواره بدليل بروز يک تهاجم DoS نمی باشد . در اين رابطه ممکن است دلايل متعددی فنی وجود داشته و يا مدير شبکه به منظور انجام عمليات نگهداری موقتا" برخی سرويس ها را غير فعال کرده باشد . وجود و يا مشاهده علائم  زير می تواند نشاندهنده بروز يک تهاجم از نوع DoS و يا DDoS باشد :

  • کاهش سرعت و يا کارآئی شبکه بطرز غير معمول ( در زمان باز نمودن فايل ها و يا دستيابی به وب سايت ها ) .

  • عدم در دسترس بودن يک سايـت خاص (بدون وجود دلايل فنی )

  • عدم امکان دستيابی به هر سايتی  (بدون وجود دلايل فنی )

  • افزايش محسوس حجم نامه های الکترونيکی ناخواسته  دريافتی

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

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

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

 

حافظه مجازی

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

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

پيکربندی حافظه مجازی
ويندوز 98 دارای يک برنامه هوشمند برای مديريت حافظه مجازی است . در زمان نصب ويندوز ، پيکربندی و تنظيمات پيش فرض برای مديريت حافظه مجازی انجام خواهد شد. تنظيمات انجام شده در اغلب موارد پاسخگو بوده و نيازی به تغيير آنها وجود نخواهد داشت . در برخی موارد لازم است که  پيکربندی مديريت حافظه مجازی بصورت دستی انجام گيرد.  برای انجام اين کار در ويندوز 98 ، گزينه System را از طريق Control panel انتخاب و در ادامه گزينه Performance را فعال نمائيد. در بخش Advanced setting ، گزينه Virtual memory را انتخاب نمائيد.

با نمايش پنجره مربوط به Virtual Memory  ، گزينه "Let me specify my own virtual memory setting" را انتخاب تا زمينه مشخص نمودن مکان و طرفيت حداقل و حداکثر فايل مربوط به حافظه مجازی فراهم گردد..در فيلد Hard  disk محل ذخيره نمودن فايل و درفيلد های ديگر حداقل و حداکثر ظرفيت فايل را بر حسب مگابايت مشخص نمائيد.  برای مشخص نمودن  حداکثر فضای مورد نياز حافظه مجازی می توان هر اندازه ای را مشخص نمود . تعريف اندازه ائی به ميزان دو برابر حافظه اصلی کامپيوتر برای حداکثر ميزان حافظه مجازی توصيه می گردد.
ميزان حافظه موجود هارد ديسک که برای حافظه مجازی  در نظر گرفته خواهد شد بسيار حائر اهميت است . در صورتی که  فضای فوق بسيار ناچيز انتخاب گردد ، همواره با پيام خطائی مطابق "Out of Memory" ، مواجه خواهيم شد. پيشنهاد  می گردد نسبت حافظه مجازی به حافظه اصلی دو به يک باشد. يعنی در صورتی که  حافظه اصلی موجود 16 مگابايت باشد ، حداکثر حافظه مجازی را 32 مگابايت در نظر گرفت .
يکی از روش هائی که یه منظور بهبود کارائی حافظه مجاری پيشنهاد شده است ، ( مخصوصا" در موارديکه حجم بالائی از حافظه مجازی مورد نياز باشد ) در نظر گرفتن ظرفيت يکسان برای حداقل و حداکثر انداره حافظه مجازی است . در چنين حالتی در زمان راه اندازی کامپيوتر، سيستم عامل تمام فضای مورد نياز را اختصاص و در ادامه نيازی با افزايش آن همزمان با اجرای ساير برنامه ها نخواهد بود. در چنين حالتی کارآئی سيستم بهبود پيدا خواهد کرد .
يکی ديگر از فاکتورهای مهم در کارآئی حافظه مجازی ، محل فايل مربوط به حافظه مجازی است . در صورتی که  سيستم کامپيوتری دارای چندين هارد ديسک فيزيکی باشد ، ( منظور چندين درايو منظقی نيست ) می توان حجم عمليات مربوط به حافظه مجازی را بين هر يک از درايوهای فيزيکی موجود توزيع کرد. روش فوق در موارديکه از حافظه مجازی در مقياس بالائی استفاده می گردد ، کارآئی مطلوبی را بدنبال خواهد داشت .
 

 

هوش مصنوعی

 

هوش مصنوعی

رؤیای طراحان اولیه کامپیوتر از بابیج تا تورینگ ، ساختن ماشینی بود که قادر به حل تمامی مسائل باشد ، البته ماشینی که در نهایت ساخته شد ( کامپیوتر ) به جز دسته ای خاص از مسائل قادر به حل تمامی مسائل بود . اما نکته در اینجاست که این « تمامی مسائل » چیست ؟ طبیعتاً چون طراحان اولیه کامپیوتر ، منطق ‌دانان و ریاضیدانان بودند ، منظورشان تمامی مسائل منطقی یا محاسباتی بود . بدین ترتیب عجیب نیست ، هنگامی که فون ‌نیومان سازنده اولین کامپیوتر ، در حال طراحی این ماشین بود ، کماکان اعتقاد داشت برای داشتن هوشمندی شبیه به انسان ، کلید اصلی ، منطق ( از نوع به کار رفته در کامپیوتر ) نیست ، بلکه احتمالاً چیزی خواهد بود شبیه ترمودینامیک !
به هرحال ، کامپیوتر تا به حال به چنان درجه‌ای از پیشرفت رسیده و چنان سرمایه‌گذاری عظیمی برروی این ماشین انجام شده است که به فرض این که بهترین انتخاب نباشد هم ، حداقل سهل ‌الوصول ‌ترین و ارزان‌ترین و عمومی ‌ترین انتخاب برای پیاده‌سازی هوشمندیست.
بنابراین ظاهراً به نظر می ‌رسد به جای سرمایه ‌گذاری برای ساخت ماشین‌های دیگر هوشمند ، می ‌توان از کامپیوتر های موجود برای پیاده ‌سازی برنامه‌های هوشمند استفاده کرد و اگر چنین شود ، باید گفت که طبیعت هوشمندی ایجاد شده حداقل از لحاظ پیاده ‌سازی ، کاملاً با طبیعت هوشمندی انسانی متناسب خواهد بود ، زیرا هوشمندی انسانی ، نوعی هوشمندی بیولوژیک است که با استفاده از مکانیسم‌ های طبیعی ایجاد شده ، و نه استفاده از عناصر و مدار های منطقی .
در برابر تمامی استدلالات فوق می توان این نکته را مورد تاُمل و پرسش قرار داد که هوشمندی طبیعی تا بدان جایی که ما سراغ داریم ، تنها بر محمل طبیعی و با استفاده از روش های طبیعت ایجاد شده است . طرفداران این دیدگاه تا بدانجا پیش رفته ‌اند که حتی ماده ایجاد کننده هوشمندی را مورد پرسش قرار داده اند ، کامپیوتر از سیلیکون استفاده می کند ، در حالی که طبیعت همه جا از کربن سود برده است .
مهم تر از همه ، این نکته است که در کامپیوتر ، یک واحد کاملاً پیچیده مسئولیت انجام کلیه اعمال هوشمندانه را بعهده دارد ، در حالی که طبیعت در سمت و سویی کاملاً مخالف حرکت کرده است . تعداد بسیار زیادی از واحد های کاملاً ساده ( بعنوان مثال از نورون‌های شبکه عصبی ) با عملکرد همزمان خود ( موازی ) رفتار هوشمند را سبب می شوند . بنابراین تقابل هوشمندی مصنوعی و هوشمندی طبیعی حداقل در حال حاضر تقابل پیچیدگی فوق العاده و سادگی فوق العاده است . این مساُله هم اکنون کاملاً به صورت یک جنجال ( debate ) علمی در جریان است .
در هر حال حتی اگر بپذیریم که کامپیوتر در نهایت ماشین هوشمند مورد نظر ما نیست ، مجبوریم برای شبیه ‌سازی هر روش یا ماشین دیگری از آن سود بجوییم .

تاریخ هوش مصنوعی
هوش مصنوعی به خودی خود علمی است کاملاً جوان . در واقع بسیاری شروع هوش مصنوعی را 1950 می‌دانند زمانی که آلن تورینگ مقاله دوران ‌ساز خود را در باب چگونگی ساخت ماشین هوشمند نوشت ( آنچه بعد ها به تست تورینگ مشهور شد ) تورینگ در آن مقاله یک روش را برای تشخیص هوشمندی پیشنهاد می‌کرد . این روش بیشتر به یک بازی شبیه بود .
فرض کنید شما در یک سمت یک دیوار ( پرده یا هر مانع دیگر ) هستید و به صورت تله تایپ با آن سوی دیوار ارتباط دارید و شخصی از آن سوی دیوار از این طریق با شما در تماس است . طبیعتاً یک مکالمه بین شما و شخص آن سوی دیوار می ‌تواند صورت پذیرد . حال اگر پس از پایان این مکالمه ، به شما گفته شود که آن سوی دیوار نه یک شخص بلکه ( شما کاملاً از هویت شخص آن سوی دیوار بی‌خبرید ) یک ماشین بوده که پاسخ شما را می ‌داده ، آن ماشین یک ماشین هوشمند خواهد بود ، در غیر این صورت ( یعنی در صورتی که شما در وسط مکالمه به مصنوعی بودن پاسخ پی ببرید ) ماشین آن سوی دیوار هوشمند نیست و موفق به گذراندن تست تورینگ نشده است .
باید دقت کرد که تورینگ به دو دلیل کاملاً مهم این نوع از ارتباط ( ارتباط متنی به جای صوت ) را انتخاب کرد . اول این که موضوع ادراکی صوت را کاملاً از صورت مساُله حذف کند و این تست هوشمندی را درگیر مباحث مربوط به دریافت و پردازش صوت نکند و دوم این که بر جهت دیگری هوش مصنوعی به سمت نوعی از پردازش زبان طبیعی تاکید کند .
در هر حال هر چند تا کنون تلاش‌های متعددی در جهت پیاده سازی تست تورینگ صورت گرفته مانند برنامهEliza و یا AIML ( زبانی برای نوشتن برنامه ‌‌هایی که قادر به chat کردن اتوماتیک باشند ) اما هنوز هیچ ماشینی موفق به گذر از چنین تستی نشده است .
همانگونه که مشخص است ، این تست نیز کماکان دو پیش فرض اساسی را در بردارد :
1-
نمونه کامل هوشمندی انسان است .
2-
مهمترین مشخصه هوشمندی توانایی پردازش و درک زبان طبیعی است .
درباره نکته اول به تفصیل تا بدین جا سخن گفته ایم ؛ اما نکته دوم نیز به خودی خود باید مورد بررسی قرار گیرد . این که توانایی درک زبان نشانه هوشمندی است تاریخی به قدمت تاریخ فلسفه دارد . از نخستین روز هایی که به فلسفه ( Epistemology ) پرداخته شده زبان همیشه در جایگاه نخست فعالیت‌ های شناختی قرار داشته است . از یونانیان باستان که لوگوس را به عنوان زبان و حقیقت یکجا به کار می‌بردند تا فیلسوفان امروزین که یا زبان را خانه وجود می ‌دانند ، یا آن را ریشه مسائل فلسفی می‌خوانند ؛ زبان ، همواره شاُن خود را به عنوان ممتاز ترین توانایی هوشمند ترین موجودات حفظ کرده است .
با این ملاحظات می‌توان درک کرد که چرا آلن تورینگ تنها گذر از این تست متظاهرانه زبانی را شرط دست‌یابی به هوشمندی می ‌داند .
تست تورینگ اندکی کمتر از نیم‌قرن هوش مصنوعی را تحت تاُثیر قرار داد اما شاید تنها در اواخر قرن گذشته بود که این مسئله بیش از هر زمان دیگری آشکار شد که متخصصین هوش مصنوعی به جای حل این مسئله با شکوه ابتدا باید مسائل کم ‌اهمیت ‌تری همچون درک تصویر ( بینایی ماشین ) درک صوت و … را حل کنند .
به این ترتیب با به محاق رفتن آن هدف اولیه ، اینک گرایش ‌های جدید تری در هوش مصنوعی ایجاد شده ‌اند .
در سال ‌های آغازین AI تمرکز کاملاً بر روی توسعه سیستم‌هایی بود که بتوانند فعالیت ‌های هوشمندانه ( البته به زعم آن روز ) انسان را مدل کنند ، و چون چنین فعالیت‌هایی را در زمینه ‌های کاملاً خاصی مانند بازی های فکری ، انجام فعالیت ‌های تخصصی حرف‌های ، درک زبان طبیعی ، و…. می ‌دانستند طبیعتاً به چنین زمینه ‌هایی بیشتر پرداخته شد .
در زمینه توسعه بازی ‌ها ، تا حدی به بازی شطرنج پرداخته شد که غالباً عده ‌ای هوش مصنوعی را با شطرنج همزمان به خاطر می‌آورند . مک ‌کارتی که پیشتر اشاره شد ، از بنیان‌ گذاران هوش مصنوعی است این روند را آنقدر اغراق ‌آمیز می ‌داند که می ‌گوید :
«
محدود کردن هوش مصنوعی به شطرنج مانند این است که علم ژنتیک را از زمان داروین تا کنون تنها محدود به پرورش لوبیا کنیم . » به هر حال دستاورد تلاش مهندسین و دانشمندان در طی دهه ‌های نخست را می ‌توان توسعه تعداد بسیار زیادی سیستم‌ های خبره در زمینه ‌های مختلف مانند پزشکی عمومی ، اورژانس ، دندان پزشکی ، تعمیرات ماشین ، ….. توسعه بازی‌های هوشمند ، ایجاد مدل ‌های شناختی ذهن انسان ، توسعه سیستم های یاد گیری ، …. دانست . دستاوردی که به نظر می ‌رسد برای علمی با کمتر از نیم قرن سابقه قابل قبول به نظر می‌رسد .

افق ‌های هوش مصنوعی
در 1943، ) Mcclutch روانشناس ، فیلسوف و شاعر) و Pitts ( ریاضیدان ) طی مقاله ‌ای ، دیده ‌های آن روزگار درباره محاسبات ، منطق و روانشناسی عصبی را ترکیب کردند . ایده اصلی آن مقاله چگونگی انجام اعمال منطقی به وسیله اجزای ساده شبکه عصبی بود . اجزای بسیار ساده ( نورون‌ها ) این شبکه فقط از این طریق سیگنال های تحریک ( exitory ) و توقیف ( inhibitory ) با هم درتماس بودند . این همان چیزی بود که بعد ها دانشمندان کامپیوتر آن را مدار های ( And ) و ( OR ) نامیدند و طراحی اولین کامپیوتر در 1947 توسط فون نیومان عمیقاً از آن الهام می‌گرفت .
امروز پس از گذشته نیم ‌قرن از کار Mcclutch و Pitts شاید بتوان گفت که این کار الهام بخش گرایشی کاملاً پویا و نوین در هوش مصنوعی است .
پیوند گرایی ( Connectionism ) هوشمندی را تنها حاصل کار موازی و هم‌زمان و در عین حال تعامل تعداد بسیار زیادی اجزای کاملاً ساده به هم مرتبط می ‌داند .
شبکه‌های عصبی که از مدل شبکه عصبی ذهن انسان الهام گرفته ‌اند امروزه دارای کاربرد های کاملاً علمی و گسترده تکنولوژیک شده ‌اند و کاربرد آن در زمینه‌های متنوعی مانند سیستم‌های کنترلی ، رباتیک ، تشخیص متون ، پردازش تصویر ، … مورد بررسی قرار گرفته است .
علاوه بر این کار بر روی توسعه سیستم ‌های هوشمند با الهام از طبیعت ( هوشمندی ‌های ـ غیر از هوشمندی انسان ) اکنون از زمینه ‌های کاملاً پر طرفدار در هوش مصنوعی است .
الگوریتم ژنیتک که با استفاده از ایده تکامل داروینی و انتخاب طبیعی پیشنهاد شده روش بسیار خوبی برای یافتن پاسخ به مسائل بهینه سازیست . به همین ترتیب روش ‌های دیگری نیز مانند استراتژی ‌های تکاملی نیز ( Evolutionary Algorithms ) در این زمینه پیشنهاد شده اند .
در این زمینه هر گوشه ‌ای از ساز و کار طبیعت که پاسخ بهینه ‌ای را برای مسائل یافته است مورد پژوهش قرار می ‌گیرد . زمینه ‌هایی چون سیستم امنیتی بدن انسان ( Immun System ) که در آن بیشمار الگوی ویروس‌های مهاجم به صورتی هوشمندانه ذخیره می‌ شوند و یا روش پیدا کردن کوتاه‌ ترین راه به منابع غذا توسط مورچگان ( Ant Colony ) همگی بیانگر گوشه ‌هایی از هوشمندی بیولوژیک هستند .
گرایش دیگر هوش مصنوعی بیشتر بر مدل سازی اعمال شناختی تاُکید دارد ( مدل سازی نمادین یا سمبولیک ) این گرایش چندان خود را به قابلیت تعمق بیولوژیک سیستم‌های ارائه شده مقید نمی‌کند .
CASE-BASED REASONING
یکی از گرایش ‌های فعال در این شاخه می‌باشد . بعنوان مثال روند استدلال توسط یک پزشک هنگام تشخیص یک بیماری کاملاً شبیه به CBR است به این ترتیب که پزشک در ذهن خود تعداد بسیار زیادی از شواهد بیماری ‌های شناخته شده را دارد و تنها باید مشاهدات خود را با نمونه ‌های موجود در ذهن خویش تطبیق داده ، شبیه ‌ترین نمونه را به عنوان بیماری بیابد .
به این ترتیب مشخصات ، نیازمندی ‌ها و توانایی ‌های CBR به عنوان یک چارچوب کلی پژوهش در هوش مصنوعی مورد توجه قرار گرفته است .
البته هنگامی که از گرایش ‌های آینده سخن می‌گوییم ، هرگز نباید از گرایش‌های ترکیبی غفلت کنیم . گرایش ‌هایی که خود را به حرکت در چارچوب شناختی یا بیولوژیک یا منطقی محدود نکرده و به ترکیبی از آن ها می ‌اندیشند . شاید بتوان پیش ‌بینی کرد که چنین گرایش ‌هایی فرا ساختار های ( Meta –Structure ) روانی را بر اساس عناصر ساده بیولوژیک بنا خواهند کرد .

 

سيستم عامل

سيستم عامل

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