سفارش تبلیغ
صبا ویژن
اوقات شرعی
اخلاص، رازی از رازهای من است که آن را به قلب هریک ازبندگانم که دوستش داشته باشم، می سپارم . [رسول خدا صلی الله علیه و آله ـ به نقل از جبرئیل از خداوند نقل می کند ـ]
امروز: دوشنبه 103 تیر 11

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

SpyWare چیست ؟
Spyware ، نرم افزاری است که اقدام به جمع آوری اطلاعات شخصی بدون آگاهی و
یا اجازه کاربران می نماید. اطلاعات جمع آوری شده می تواند شامل لیست سایت های
مشاهده شده توسط کاربر و یا  اطلاعات بمراتب حساس تری نظیر نام و رمز عبور
باشد . به این نوع برنامه ها
adware نیز گفته می
شود . نرم افزارهای فوق پس از نصب بر روی کامپیوتر ،قادر به  ارسال آگهی های
تجاری
pop-up ، هدایت مرورگر به وب سایت هائی خاص ، ارسال لیست سایت های مشاهده
شده توسط کاربر و یا مانیتورینگ عملکرد کاربران در زمان اتصال به اینترنت می
باشند. برخی از برنامه های
Spyware ، قادر به
ردیابی و تشخیص اطلاعات تایپ شده از طریق صفحه کلید نیز می باشند . با توجه به
انجام پردازش های اضافی توسط اینگونه نرم افزارها ، سیستم های کاربران کند و
کارآئی آنان بطرز محسوسی کاهش خواهد یافت . در صورت دریافت موزیک از طریق
برنامه های اشتراک فایل ، بازی های رایگان از سایت های ناامن و یا سایر نرم
افزارها از منابع ناشناخته ، شرایط لازم به منظور نصب اینگونه نرم افزارها و در
نهایت آلودگی سیستم فراهم می گردد.

نحوه تشخیص Spyware 

علائم زیر می تواند
نشاندهنده نصب
Spyware بر روی یک کامپیوتر باشد :

·         نمایش مستمر پنجره های pop-up آگهی

·         هدایت ناخواسته کاربران به وب سایت هائی که هرگز نام
آنان در مرورگر تایپ نشده است .

·         نصب Toolbars جدید و ناخواسته در مرورگر وب

·         تغییر ناگهانی و  غیرمنتظره صفحه اصلی
مرورگر  (
home page )

·         تغییر موتور جستجوی مرتبط با مرورگر پس از کلیک بر روی
دکمه
Search همراه مرورگر 
 

·         عدم عملکرد صحیح برخی کلیدها در مرورگر ( نظیر کلید Tab زمانی که بر روی فیلدهای یک فرم حرکت می شود )
 

·         نمایش تصادفی پیام های خطاء
 

·         کاهش ملموس سرعت کامپیوتر در زمان فعال نمودن برنامه
ها و یا انجام عملیاتی خاص ( ذخیره فایل ها و ... )
 

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

·         عدم کارکرد صحیح لینک های همراه یک برنامه 
 

·         توقف ناگهانی و غیرمنتظره مرورگر وب
 

·         عدم عملکرد صحیح برخی از عناصر سیستم عامل و یا سایر
برنامه ها

نحوه
پیشگیری از نصب
Spyware 

·         عدم کلیک بر روی لینک
های موجود در پنجره های
pop-up . با توجه به این که
پنجره های
pop-up اغلب محصول و یا نوع خاصی از Spyware می
باشند ، کلیک بر روی آنان می تواند باعث نصب یک نرم افزار
Spyware گردد . برای بستن این نوع پنجره ها از آیکون "X"
در
titlebar استفاده گردد ( در مقابل لینک close همراه پنجره ).

·         پاسخ منفی به سوالات
ناخواسته
: در صورت برخورد با جعبه های محاوره ای که درخواست اجرای یک برنامه
را  نموده  و یا قصد انجام عملیات خاص دیگری را دارند ،  همواره
گزینه
NO و یا  Cancel انتخاب
گردد.در موارد خاص می توان از  آیکون "
X"
موجود در
titlebar استفاده نمود.

·         دقت لازم در خصوص
دریافت نرم افزارهای رایگان از اینترنت
 : سایت های زیادی اقدام به
ارائه
Toolbar های سفارشی و یا ویژگی های خاص دیگری می نمایند . تا زمانی که
نسبت به ایمن بودن این نوع سایت ها اطمینان حاصل نشده است ، نمی بایست  فایل
و یا برنامه ای را از طریق آنان 
Download نمود .
 

·          عدم کلیک بر روی
لینک های موجود در
Email که ادعای ارائه یک نرم افزار Anti-Spyware را دارند . نظیر ویروس های کامپیوتری ، لینک
های موجود در نامه های الکترونیکی ممکن است اهداف سودمندی را دنبال ننموده و نصب
Spyware بر روی سیستم شما را بدنبال داشته باشند .

علاوه بر موارد فوق و
خصوصا" در مواردی که احساس می شود بر روی کامپیوتر
Spyware نصب شده است و قصد داشته باشیم عملکرد آن را به حداقل مقدار خود برسانیم می توان
عملیات زیر را انجام داد:

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

نحوه حذف Spyware

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

·         اجرای یک برنامه معتبر
که مختص حذف
Spyware طراحی شده است . تعداد زیادی از تولیدکنندگان محصولاتی را به منظور
شناسائی و حذف برنامه های 
Spyware ، ارائه داده
اند .
LavaSoft"s
Adaware, Webroot"s SpySweeper, PestPatrol, Spybot Search and Destroy
، نمونه هائی در این زمینه می باشند .


 نوشته شده توسط وحید قویدل در یکشنبه 86/10/23 و ساعت 12:38 صبح | نظرات دیگران()

Spam 
یکی از متداولترین و  در عین حال منفی ترین جنبه های  دارا بودن یک آدرس Email است . با این که در حال حاضر و با توجه به
تکنولوژی های موجود امکان حذف کامل این نوع از نامه های الکترونیکی ناخواسته وجود
ندارد ، ولی می توان با استفاده از برخی روش های موجود تعداد آنان را کاهش داد .

Spam چیست ؟
Spam ، نسخه الکترونیکی از " نامه های بدرد نخور " است .
واژه
Spam به پیام های الکترونیکی ناخواسته ، اطلاق می گردد . این نوع از
نامه های الکترونیکی ارتباط مستقیمی با ویروس نداشته و حتی ممکن است پیام هائی که
از منابع معتبر ارسال شده اند نیز در زمره این گروه قرار گیرند  . 

چگونه می
توان میزان 
Spam را کاهش داد ؟
با
رعایت برخی نکات ، می توان میزان
Spam دریافتی را
بطرز محسوسی کاهش داد :

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

·         بررسی سیاست های
محرمانگی 
. قبل از ارسال آدرس Email خود به صورت online ،
بدنبال
Privacy سایت مورد نظر بگردید .تعداد بسیار زیادی از سایت های شناخته شده
و خوشنام دارای یک لینک خاص بر روی سایت خود به منظور آشنائی کاربران با سیاست های
آن سایت در خصوص نحوه برخورد با اطلاعات ارسالی شما می باشند . (همواره این پرسش
را برای خود مطرح نمائید که  آیا ما آدرس
Email 
خود را در  سایت هائی  درج می نمائیم که نسبت به آنان شناخت کافی داریم
؟) . شما می بایست قبل از ارسال آدرس
Email خود و یا سایر
اطلاعات شخصی ، سیاست های اعلام شده توسط سایت مورد نظر را مطالعه نموده و از این
موضوع آگاه شوید که مالکین و یا مسئولین سایت قصد انجام چه کاری را با اطلاعات
ارسالی شما دارند .

·         دقت لازم در خصوص گزینه
هائی که به صورت پیش فرض فعال شده اند
. زمانی که شما برای دریافت خدمات و
یا
Account  جدید عملیات sign in را انجام می
دهید ، ممکن است بخشی وجود داشته باشد که به شما مجموعه ای از گزینه ها را در خصوص
دریافت
email در خصوص محصولات و یا سرویس های جدید ، ارائه نماید . در برخی
مواقع ، گزینه ها به صورت پیش فرض انتخاب شده اند ، بنابراین در صورتی که شما آنان
را به همان وضعیت باقی بگذارید ، در آینده نه چندان دور برای شما حجم زیادی از
نامه های الکترونیکی که شاید انتظار آنان را نداشته باشد ،  ارسال گردد .

·         استفاده از فیلترها : تعدادی زیادی از
برنامه های پست الکترونیکی امکان فیلترینگ را ارائه می نمایند . پتانسیل فوق به
شما این اجازه را خواهد داد که آدرس های خاصی را بلاک نموده و یا امکان دریافت
نامه را صرفا" از طریق لیست تماس موجود بر روی کامپیوتر خود ، داشته باشید.
برخی مراکز ارائه دهنده خدمات اینترنت (
ISP ) نیز سرویس
فیلترینگ  و علامت گذاری مربوط به مقابله با
Spam را
ارائه می نمایند . در چنین مواردی ممکن است پیام های معتبری که بدرستی طبقه بندی
نشده باشند به عنوان
spam درنظر گرفته شده و هرگز به صندوق پستی
شما ارسال نگردند .

·          هرگز برروی لینک
های موجود در یک
Spam ، کلیک ننمائید . برخی از منابع ارسال کننده  Spam با
ارسال آدرس های
Email  متغیر در یک Domain خاص ، سعی در
تشخیص معتبر بودن یک آدرس
Email می نمایند. (
مثلا" تشخیص آدرس های
Email  معتبر
موجود بر روی
hotmail و یا yahoo ) .در صورتی که شما بر روی یک
لینک ارسالی توسط یک
Spam کلیک نمائید ، صرفا" معتبر بودن
آدرس
Email خود را به اطلاع آنان رسانده اید . پیام های ناخواسته ای که یک
گزینه "عدم عضویت "  وسوسه انگیز را در اختیار شما قرارمی دهند ،
اغلب به عنوان روشی به منظور جمع آوری آدرس های
Email معتبر مورد استفاده قرار گرفته که در آینده از آنان به منظور ارسال Spam استفاده گردد .

·         غیرفعال نمودن گزینه
دریافت اتوماتیک گرافیک در نامه های الکترونیکی با فرمت
HTML . تعداد زیادی از شرکت ها ، نامه های
الکترونیکی را با فرمت
HTML  و همراه با یک فایل گرافیکی لینک
شده ارسال نموده  که در ادامه از آن به منظور ردیابی فردی که پیام الکترونیکی
را باز نموده است ، استفاده می نمایند . زمانی که برنامه سرویس گیرنده پست
الکترونیکی شما ، اقدام به
download گرافیک از
سرویس دهنده آنان می نماید ، آنان می دانند که شما پیام الکترونیکی را باز نموده
اید . با غیر فعال نمودن
HTML mail و
مشاهده  پیام ها با فرمت صرفا" متن ، می توان پیشگیری لازم در خصوص این
مسئله را انجام داد .

·         ایجاد و یا بازنمودن Account های جدید اضافی : تعداد زیادی از سایت ها ، اقدام
به عرضه آدرس پست الکترونیکی به صورت رایگان می نمایند . در صورتی که شما بطور
مداوم اقدام به ارسال آدرس
Email  خود می
نمائید ( برای خرید
online ، دریافت سرویس و ... ) ، ممکن
است مجبور به ایجاد یک
account دیگر به منظور حفاظت آدرس account اولیه خود در مقابل spam شوید . شما
همچنین می بایست از یک
account دیگر در زمانی که اطلاعاتی را
بر روی بولتن های خبری
online ، اطاق های چت ، لیست های عمومی Mailing و یا USENET ارسال می نمائید، استفاده
نمائید  . بدین تریتب می توان یک سطح حفاظتی مناسب در خصوص دریافت
spam به
آدرس
Email اولیه خود را ایجاد کرد.

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


 نوشته شده توسط وحید قویدل در یکشنبه 86/10/23 و ساعت 12:38 صبح | نظرات دیگران()

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

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

نحوه آگاهی
از
patch 
مورد نیاز

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


 نوشته شده توسط وحید قویدل در یکشنبه 86/10/23 و ساعت 12:37 صبح | نظرات دیگران()

ویروس های
پست الکترونیکی

آخرین اطلاعات موجود در رابطه با ویروس های کامپیوتری به " ویروس پست
الکترونیکی
" اشاره دارد. عملکرد ویروس "ملیزا " در سال 1999
بسیار دیدنی بود. ویروس فوق از طریق  مستندات ( سندها ) از نوع 
Word شرکت مایکروسافت ، گسترش و توسط پست
الکترونیکی
ارسال و توزیع می گردید. عملکرد ویروس فوق بشکل زیر بود :

فردی اقدام به ایجاد یک
ویروس کرده ، آن را بعنوان یک سند
Word برای 
" گروه های خبری اینترنت " ، ارسال می کرد. در ادامه هر فرد دیگری که
فایل فوق را اخذ و آن را بر روی سیستم خود فعال می کرد ، زمینه اجراء و فعال شدن
ویروس را هم فراهم می کرد. ویروس در ادامه ، سند ( بهمراه خود ویروس ) را از طریق
یک پیام پست الکترونیکی برای اولین پنجاه نفر موجود در دفترچه آدرس ، ارسال می
کرد. پیام الکترونیکی شامل یک متن دوستانه بهمراه نام شخص بود، بنابراین گیرنده
بدون هیچگونه نگرانی اقدام به بازنمودن نامه می کرد. در ادمه ویروس ، پنجاه پیام
جدید را از کامپیوتر گیرنده پیام ، ارسال می کرد. ویروس ملیزا ، سریعترین ویروس از
بعد گسترش تاکنون بوده است . همانگونه که در ابتدا اشاره گردید ، عملکرد و سرعت
باورنکردنی گسترش ویروس فوق باعث گردید که تعدادی از شرکت های بزرگ ، سیستم های
پست الکترونیکی خود را غیرفعال نمایند.
عملکرد ویروس
ILOVEYOU ، که در سال 2000 مطرح گردید ، بمراتب ساده تر از ویروس ملیزا
بود. ویروس فوق شامل کد محدودی بود که بعنوان یک
Attachment (
ضمیمه ) به یک پیام پست الکترونیکی متصل می شد. افرادیکه پیام را دریافت می کردند
با فعال نمودن ضمیمه ، امکان اجرای ویروس را فراهم می کردند. کد ارسال شده در
ادامه نسخه هائی از خود را تکثیر و برای افرادیکه نام آنها در دفترچه آدرس بود،
ارسال می کرد. ویروس ملیزا از قابلیت های برنامه نویسی توسط
VBA)Visual Basic for Application)  که در Ms Word وجود دارد ،
استفاده می کرد.
VBA یک زبان برنامه نویسی کامل بوده که امکانات متعددی نظیر : تغییر
محتویات فایل ها و یا ارسال پیام های پست الکترونیکی را فراهم می آورد.
VBA دارای یک امکان مفید و در عین حال خطرناک با نام " اجرای خودکار " است .
یک برنامه نویس قادر به درج یک برنامه درون یک سند بوده و بلافاصله پس از باز
نمودن سند ، شرایط اجرای کدهای فوق فراهم خواهد شد. ویروس ملیزا بدین طریق برنامه
نویسی شده بود. هر شخص که سند آلوده به ویروس ملیزا را فعال می نمود ، بلافاصله
زمینه فعال شدن ویروس نیز فراهم می گردید. ویروس فوق قادر به ارسال 50 پیام پست
الکترونیکی بوده و در ادامه یک فایل مرکزی با نام
NORMAL.DOT را
آلوده تا هر فایل دیگری که در آینده ذخیره می گردد ، نیز شامل ویروس گردد.
برنامه های مایکروسافت دارای یک ویژگی خاص با نام " حفاظت ماکروها در مقابل
ویروس " بوده که از فایل ها و مستندات مربوطه را در مقابل  ویروس حفاظت
می نماید. زمانیکه ویژگی فوق فعال گردد ، امکان " اجرای خودکار " ،
غیرفعال می گردد. در چنین حالتی در صورتی که یک سند سعی در اجرای خودکار کدهای
ویروسی نماید ، یک پیام هشداردهنده برروی نمایشگر ظاهر می گردد. متاسفانه ، اکثر
کاربران دارای شناخت لازم و مناسب از ماکروها و ماکروهای ویروسی نبوده و بمحض
مشاهد پیام هشداردهنده ، از آن چشم پوشی و صرفنظر می نمایند. در چنین مواردی ،
ویروس با خیال آسوده اجراء خواهد شد.  برخی دیگر از کاربران امکان حفاظتی فوق
را غیر فعال نموده و ناآگاهانه در توزیع و گسترش ویروس های کامپیوتری نظیر ملیزا ،
سهیم می گردند.

پیشگیری از ویروس

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

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

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

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

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

 

·       هرگز بر روی ضمائمی که بهمراه یک پیام پست الکترونیکی
ارسال شده و شامل کدهای اجرائی می باشند ، کلیک ننمائید.  ضمائمی که دارای
انشعاب
DOC ( فایل های word) ، انشعاب XLS(
صفحه گسترده ) ، تصاویر( فایل های با انشعاب
GIF و
یا
JPG و ...) بوده ، صرفا" شامل اطلاعات بوده و خطرناک نخواهند بود
( در رابطه با فایل های
word و Execl به
مسئله ماکرو و ویروس های مربوطه دقت گردد ) . فایل های با انشعاب
EXE,COM و یا VBS اجرائی بوده و در صورت آلوده بودن به
ویروس ، با اجرای آنان بر روی سیستم خود زمینه فعال شدن آنها فرام خواهد شد. 
بنابراین لازم است از اجرای هرگونه فایل اجرائی که بهمراه پست الکترونیکی برای شما
ارسال می گردد ( خصوصا" مواردیکه آدرس فرستنده برای شما گمنام و ناشناخنه اس
)  ، صرفنظر نمائید

با تحقق اصول فوق ، یک
پوشش ایمنی مناسب در رابطه با ویروس های کامپیوتری بوجود می آید.

علت ایجاد ویروس های کامپیوتری

انسان ویروس ها را ایجاد
می نمایند. برنامه نویس مجبور به نوشتن کد لازم ، تست آن به منظور اطمینان از
انتشار مناسب آن و در نهایت رها سازی و توزیع ویروس است . برنامه نویس همچنین می
بایست نحوه حملات مخرب را نیز طراحی و پیاده سازی نماید ( تبین و پیاده سازی سیاست
حملات مخرب). چرا انسان ها دست به چنین اقداماتی زده و خالق ویروس های کامپیوتری
می گردند؟

در رابطه با
سوال فوق ، حداقل سه دلیل وجود دارد :

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

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

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

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

تاریخچه
ویروس های سنتی کامپیوتر در اواخر 1980 بشدت گسترش یافتند. موضوع فوق دارای چندین
دلیل است .

·       دلیل اول ،  به گسترش
استفاده از کامپیوترهای شخصی  برمی گردد. قبل از 1980 استفاده از کامپیوتر در
منازل بسیار کم و در مواردی شامل  استفاده محدود بصورت   سرگرمی و
اسباب بازی  بود. کامپیوترهای واقعی کمیاب و صرفا" در اختیار متخصصین و
کارشناسان مجرب گذاشته می گردید. در سال 1980 ، استفاده از کامپیوتر بشدت گسترش و
در موارد متعددی بخدمت گرفته گردید.

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

·       سومین دلیل ، استفاده فراوان از
فلاپی دیسک ها به منظور استفاده از برنامه های کامپیوتری بود. در سال 1980 ،
برنامه ها دارای ظرفیت کم بوده و امکان استقرار یک سیستم عامل ، یک واژه پرداز و مستندات
فراوانی در یک و یا دو فلاپی دیسک وجود داشت . اغلب کامپیوترها در آن زمان دارای هارد دیسک نبوده و می بایست برای راه
اندازی کامپیوتر از فلاپی دیسک استفاده می شد ، استفاده از فلاپی دیسک ها ، زمینه ای مساعد برای توزیع و انتشار
برنامه های آلوده را فراهم می کرد.


 نوشته شده توسط وحید قویدل در یکشنبه 86/10/23 و ساعت 12:36 صبح | نظرات دیگران()

 ویروس های کامپیوتری  از جمله موارد اسرارآمیز و مرموز
در دنیای  کامپیوتر بوده که توجه اغلب کاربران را  بخود  جلب می نماید.
ویروس های کامپیوتری بخوبی قدرت آسیب پذیری  سیستم های اطلاعاتی مبتنی بر
کامپیوتر  را به ما نشان می دهند. یک ویروس مدرن و پیشرفته قادر به بروز آسیب
های  کاملا" غیرقابل پیش بینی در اینترنت است . مثلا" ویروس
ملیزا (
Melissa) ، که در سال 1999 متداول گردید ، از چنان قدرت و توانی برخوردار
بود که شرکت های بزرگی نظیر مآیکروسافت و سایر شرکت های بزرگ  را مجبور به
خاموش نمودن کامل سیستم های پست
الکترونیکی
نمود. ویروس "
ILOVEYOU" ، که در
سال 2000 رایج گردید ، باعث آسیب های فراوان در اینترنت و شبکه های کامپیوتری گردید.

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

انواع آلودگی
آلودگی الکترونیکی دارای اشکال منتفاوتی است . متداولترین موارد آلودگی الکترونیکی
عبارتند از :

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

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

·       کرم ها . یک کرم ، برنامه 
نرم افزاری کوچکی بوده که با استفاده از شبکه های کامپیوتری و حفره های امنیتی موجود ، اقدام به تکثیر خود می نمایند.
نسخه ای از "کرم " ، شبکه را پیمایش تا ماشین های دیگر موجود در شبکه را
که دارای حفره های امنیتی می باشند ، تشخیص و نسخه ای از خود را تکثیر نمایند. کرم
ها با استناد به حفره های امنیتی موجود ، نسخه ای از خود را بر روی ماشین های جدید
تکثیر می نمایند.

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

ویروس چیست
؟

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

کرم چیست ؟
کرم ، یک برنامه کامپیوتری است که قابلیت تکثیر خود از ماشینی به ماشین دیگر را
دارا است . شبکه های کامپیوتری بستر مناسب برای حرکت کرمها و آلوده نمودن سایر
ماشین های موجود در شبکه را فراهم می آورند. با استفاده از شبکه های کامپیوتری ،
کرمها قادر به تکثیر باورنکردنی خود در اسرع زمان می باشند. مثلا" کرم "
Code Red" ، که در سال 2001 مطرح گردید ، قادر به تکثیر خود به میزان
250.000 مرتبه در مدت زمان نه ساعت بود. کرمها در زمان تکثیر، زمان کامپیوتر و
پهنای باند موجود را استفاده می نمایند.  کرم
Code Red ،
در زمان تکثیر به میزان قابل ملاحظه ای سرعت ترافیک اطلاعاتی بر روی اینترنت را
کند می نمود. هر نسخه از کرم فوق ، پیمایش اینترنت به منظور یافتن سرویس دهندگان
ویندوز
NT و یا 2000 را آغاز می کرد. هر زمان که  یک سرویس دهنده ناامن
( سرویس دهنده ای که بر روی آن آخرین نرم افزارهای امنیتی مایکروسافت نصب نشده
بودند ) پیدا می گردید ، کرم نسخه ای از خود را بر روی سرویس دهنده تکثیر می کرد.
نسخه جدید در ادامه عملیات پیمایش  برای یافتن سایر سرویس دهندگان را آغاز می
نماید. با توجه به تعداد سرویس دهندگان ناامن ، یک کرم قادر به ایجاد صدها و
هزاران نسخه از خود است . 

نحوه تکثیر
به چه صورت است ؟

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

 


 نوشته شده توسط وحید قویدل در یکشنبه 86/10/23 و ساعت 12:36 صبح | نظرات دیگران()

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

عوامل تاثیر گذار در  نحوه عملکرد ایمن
مرورگر
IE

  • بروز اشکالات امنیتی متعدد در
    سالیان اخیر در مقایسه با سایر مرورگرها ( کشف بیش از 153 اشکال امنیتی از
    آوریل سال 2001 ، منبع )
  • فاصله زمانی زیاد بین تشخیص یک
    اشکال و ارائه
    Patch  آن
    توسط شرکت مایکروسافت ( در برخی موارد بیش از شش ماه ! )
  • علیرغم ارائه پتانسیل های مثبت
    توسط تکنولوژی هائی نظیر اکتیو ایکس و یا اسکریپت های فعال ، مهاجمان با
    استفاده از آنان قادر به نادیده گرفتن و یا دور زدن تنظیمات امنیتی سیستم می
    باشند .
  • تاکنون 34 نقطه آسیب پذیر Patch نشده باقی مانده است ! ( منبع )
  • نقاط آسیب پذیر Spyware/Adware که تمامی مرورگر ها و سیستم هائی را که از منابع موجود بر
    روی وب استفاده می نمایند ، تحت تاثیر قرار می دهد .
  • تلفیق مرورگر IE با سیستم عامل باعث شده است که مشکلات IE به سیستم عامل ویندوز نیز سرایت نموده و بر نحوه عملکرد آن تاثیر منفی داشته
    باشد .

مهاجمان با
استفاده از نقاط آسیب پذیر مرورگرها  قادر به انجام عملیات متفاوتی می باشند
:

  • افشای کوکی ها 
  • افشای فایل ها و داده های محلی
  • اجرای برنامه های محلی
  • دریافت و اجرای هرگونه کد
    دلخواه
  • در اختیار گرفتن کنترل کامل
    سیستم آسیب پذیر و انجام هر گونه عملیات دلخواه 

جدول زیر
متداولترین اشکالات امنیتی برخی از مرورگرهای متداول را  نشان می دهد ( طی
چند ماه اخیر) : 

Browser

Deion

Internet Explorer
(IE)

Mozilla

Netscape

Opera


 نوشته شده توسط وحید قویدل در یکشنبه 86/10/23 و ساعت 12:35 صبح | نظرات دیگران()

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

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

جمله زیر از 17 کلمه ، 61 حرف ، 16 فضای خالی ، یک نقطه و یک dash ،
تشکیل شده است :

"Ask
not what your country can do for you -- ask what you can do for your
country."

اگر هر یک از حروف ، فضای خالی و
حروف خاص ، یک واحد از حافظه را اشغال نمایند ، مجموعا" 79 واحد از حافظه
توسط عبارت فوق استفاده خواهد گردید (79 = 1 + 1+ 16 + 61 ) . به منظور کاهش ظرفیت
فایل می بایست  افزونگی اطلاعات در فایل را بررسی کرد. با مشاهده و بررسی
عبارت فوق ، نتایج زیر بدست می آید :

·       کلمه
"
ask" ، دو مرتبه تکرار شده است .

·       کلمه
"
what" ،  دو مرتبه تکرار شده است .

·       کلمه
"
your" ، دو مرتبه تکرار شده است .

·       کلمه
"
country" ، دو مرتبه تکرار شده است .

·       کلمه
"
can" ، دو مرتبه تکرار شده است .

·       کلمه
"
do" ، دو مرتبه تکرار شده است .

·       کلمه
"
for" ، دو مرتبه تکرار شده است .

·       کلمه
"
you" ، دو مرتبه تکرار شده است .

با عدم لحاظ نمودن حروف بزرگ و کوچک
درعبارت فوق ، مشاهده می گردد که نیمی از اطلاعات موجود در عبارت فوق ، زائد و
تکراری می باشند. با دقت در عبارت فوق و نحوه افزونگی اطلاعات مشاهده می گردد که
با دارا بودن نه کلمه
ask,not,what,your,country,can ،do ،for  و you می توان پالایشی مناسبی از عبارت فوق را انجام و در صورت لزوم و
با استفاده از نه کلمه فوق ، مجددا" عبارت اولیه را ایجاد نمود. در این راستا
و به منظور ایجاد عبارت فوق کافی است به کلمات موجود در بخش اول ( نصف عبارت )
اشاره  و جایگاه و تعداد تکرار هر یک از آنها را در بخش دوم مشخص نمود. در
ادامه نحوه فشرده سازی اطلاعات و بازسازی مجدد آنها بررسی می گردد.

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

  1. ask
  2. what
  3. your
  4. country
  5. can
  6. do
  7. for
  8. you

با توجه به دیکشنری ایجاد شده ، عبارت مورد نظر بصورت زیر
خوانده خواهد شد :

"1 not
2 3 4 5 6 7 8 -- 1 2 8 5 6 7 3 4"

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

 


 نوشته شده توسط وحید قویدل در یکشنبه 86/10/23 و ساعت 12:35 صبح | نظرات دیگران()

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

·       هر پردازه
یه منظور اجراء می بایست دارای حافظه مورد نیاز و اختصاصی خود باشد .

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

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


 نوشته شده توسط وحید قویدل در یکشنبه 86/10/23 و ساعت 12:34 صبح | نظرات دیگران()

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

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

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

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

·       یک پردازه
بخشی از حافظه
RAM را اشغال خواهد کرد

·       پس از
استفرار بیش از یک پردازه در حافظه ، پردازنده بر اساس یک زمانبندی خاص ، فرصت
اجراء را به یکی از پردازه ها خواهد داد. 

·       پردازنده ،
بر اساس تعداد سیکل های خاصی پردازه را اجراء خواهد کرد .

·       پس ازاتمام
تعداد سیکل های مربوطه ، پردازنده وضعیت پردازه ( مقایر ریجسترها و ...) را ذخیره
و به پردازه اتمام زمان مربوطه را اعلام می نماید.

·       پردازنده
در ادامه اطلاعات ذخیره شده در رابطه با پردازه دیگر را فعال ( ریجسترها و ...) و
زمینه اجرای پردازه دوم فراهم می گردد.

·       پس ازاتمام
تعداد سیکل های مربوطه ، پردازنده وضعیت پردازه ( مقایر ریجسترها و ...) را ذخیره
و به پردازه اتمام زمان مربوطه را اعلام و مجددا" پردازه اول جهت اجراء فعال
خواهد گردید.

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

·       یک مشخصه
عددی (
ID) که نمایانگر پردازه خواهد بود .

·       اشاره گری
که نشاندهنده آخرین محل اجرای پردازه است

·       محتویات
ریجستر ها

·       وضعیت
سوئیچ ها و متغیرهای مربوطه

·       اشاره گره
هائی که حد بالا و پایین حافظه مورد نیاز پردازه را مشخص خواهد کرد.

·       اولویت
پردازه

·       وضعیت
دستگاههای ورودی و خروجی مورد نیاز پردازه

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

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

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

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


 نوشته شده توسط وحید قویدل در یکشنبه 86/10/23 و ساعت 12:33 صبح | نظرات دیگران()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

·       مدیریت
حافظه

·       مدیریت
دستگاهها ( ورودی و خروجی )

·       مدیریت
حافظه جانبی

·       اینترفیس
برنامه های کاربردی

·       رابط کاربر

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

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

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

·       استفاده از بیشترین سیکل های پردازنده برای انجام
عملیات


 نوشته شده توسط وحید قویدل در یکشنبه 86/10/23 و ساعت 12:32 صبح | نظرات دیگران()
<      1   2   3   4   5   >>   >
 لیست کل یادداشت های این وبلاگ
نرم افزارهای ضدویروس
[عناوین آرشیوشده]

بالا

طراح قالب: رضا امین زاده** پارسی بلاگ پیشرفته ترین سیستم مدیریت وبلاگ

بالا