نرم افزار
نرمافزار
نرمافزار (به انگلیسی: Software) یا برنامه، مجموعهای از دستورالعملهای دقیق و مرحله به مرحله است که هدف خاصی را دنبال میکنند.
ظاهراً، اولین بار جان توکی در سال ۱۹۵۸ این واژه را بهاین معنا بهکار بردهاست. احتمالاً این واژه در مقابل سختافزار (به انگلیسی: Hardware) به کار بردهاند که بسیار پیش از پیدایش رایانه (به معنای اسباب و اشیاء) بهکار میرفتهاست.
دو گروه کلی نرمافزارها
نرمافزارهای رایانه را میتوان به دو دسته بزرگ تقسیم کرد:
نرمافزار سیستم (به انگلیسی: System software)
نرمافزار کاربردی (به انگلیسی: Application software)
میتوان گفت نرمافزارهای کاربردی، برنامههای مورد استفاده کاربرند و نرمافزارهای سیستمی، مدیریت رایانه را برعهده دارند. مهمترین نرمافزار سیستم، سیستمعامل است.
سیستم عامل
وقتی برنامهای را روی رایانه خود نصب میکنید، اجزای سختافزاری آن به فرمان آن برنامه در میآیند. برای نمونه هنگامی که با یک برنامه اجرای موسیقی کار میکنید، کارت صدای رایانه تان با برنامه پخش موسیقی همکاری میکند و یک آهنگ یا پرونده (فایل) صوتی را از طریق بلندگوی رایانه تان پخش میکند.
این ارتباط میان نرمافزار و سختافزار توسط سیستم عامل انجام میشود. این تنها قسمتی از کار سیستم عامل است.
سه گروه کلی نرمافزارهای معماری
از دیدگاه ساختاری (معماری) (architecture)، نرمافزارها به دستههای زیر تقسیم میشوند:
کاربر-بنیان یا Client Base
کارگزار-بنیان یا Server Base
کاربر کارگزار بنیان یا Client-Server Base
امروزه واژه نرمافزار را در معناهایی به جز معنی برنامه رایانهای نیز بهکار میبرند. مثلاً در دانش مدیریت برای اشاره به روشها و دانش فنی (در برابر وسایل و تجهیزات و نیروی انسانی). نرمافزارها انواع گوناگونی دارند که مهم ترین دسته بندی آنها دستهٔ تجاری و آزاد است. به ویژه با رویکردهای طرحهای گنو و لینوکس معنای ژرف تری به نرمافزارهای آزاد داده شده تا آنجا که برخی نرمافزارها را نماد فرهنگ می دانند. نرمافزارها را برنامه نویسان تدوین کرده و انتشار میدهند. این برنامه نویسان ممکن است در یک شرکت مشغول کار باشند یا در خانه برنامه نویسی کنند مانند برنامه نویسان برخی نرمافزارهای لینوکس. امروزه بیشتر کاربران تنها با ظاهر گرافیکی این برنامهها کار میکنند و اقدامات بسیاری از آنها از دید کاربر پنهان میماند به عبارتی هر نرمافزار مجموعهای از رمزها است که از الگوریتمی خاص پشتیبانی میکنند این رمزها خود با رمزهای گرافیکی آمیخته شده و بسیاری از اقدامات برنامه به دور از چشم کاربر عادی رخ میدهد. برنامهها با رمزهایی نوشته میشوند که بعداً یک رمزخوان آن را در رایانه کاربر اجرا میکند.
رقابت نرمافزاری
در حال حاضر نرمافزارهای کامپیوتری فراوان را میتوان در بازار یافت که به طور جدی به رقابت خود برای بقا ادامه میدهند. از مسائل قابل ذکر در این مورد میتوان به خرید سهام شرکتهای نرمافزاری کوچک و بزرگ توسط شرکتهای دیگر اشاره نمود. همچنان که شرکت بزرگ گوگل به خرید سهام شرکتهای بزرگ همچنان ادامه میدهد، در مدت کمی توانسته بسیاری از شرکتها را تحت سلطه خود درآورد.
تعریف صنعتی
سختافزار بخش مادی، قابل لمس و ابزاری هر مجموعه یا سیستم است. سختافزار معمولاً به قطعات و یراقآلات فلزی و پلاستیکی تشکیل دهنده مجموعه گفته میشود. لازم به توضیح است که برق نیز جزو سختافزار حساب میشود.
تعریف رایانه
در دانش رایانه به مجموع مدارهای الکترونیکی، اجزای فیزیکی و مکانیکی قابل لمس و مشاهده در یک رایانه سختافزار میگوییم. همچنین به بخش غیرقابل لمس مانند سیستمعامل و برنامههای رایانهای، نرمافزار اطلاق میگردد.
فهرست سختافزارها
بُردِ مادر یا برد اصلی (مادربورد)
نمایشگر (مانیتور)
جعبه رایانه (کیس)
صفحهکلید (کیبورد)
موشواره (ماوس)
چاپگر (پرینتِر)
پویشگر (اسکنر)
واحد پردازش مرکزی (سیپییو یا پردازنده)
فلاپیدیسک
دیسک سخت
مودم
دیسکگردان نوری (درایو نوری) (CD و DVD)
بلندگو
یو اس بی
کارت صدا
کارت گرافیک
قلم نوری
هدفون (دوگوشی)
کارت تلویزیون و رادیو
دوربین (وبکم)
میکروفون
هدست
برنامه (رایانه)
برنامه رایانهای رشته دستورالعمل هایی است که توسط کامپیوتر قابل اجرا میباشد. این اصطلاح میتواند به کد اصلی یا نگارش اجرایی آن (زبان ماشین) نیز اطلاق گردد. برنامههای کامپیوتر میتوانند پایانپذیر یا پایان ناپذیر باشند. در برنامههای کامپیوتری هدف اجرای روالی خاص جهت رسیدن به مقصودی خاص می باشد.
انواع برنامههای رایانهای
برنامههای رایانهای از تنوع زیادی برخوردارند. از جمله میتوان به این موارد اشاره کرد:
سیستمعامل
برنامههای کاربردی
ویروسهای رایانهای
ویروس رایانهای
تعریف ویروس
ویروس، یک نوع از بدافزار است که در اغلب مواقع بدون اطلاع كاربر اجرا شده و تلاش میکند خودش را در یک کد اجرایی دیگر کپی کند. وقتی موفق به انجام این کار شد، کد جدید، آلوده نامیده میشود. کد آلوده وقتی اجرا شود، به نوبهی خود کد دیگری را میتواند آلوده کند. این عمل تولید مثل یا کپیسازی از خود بر روی یک کد اجرایی موجود، ویژگی کلیدی در تعریف یک ویروس است. معمولاً کاربران کامپیوتر به ویژه آنهایی که اطلاعات تخصصی کمتری درباره کامپیوتر دارند، ویروسها را برنامههایی هوشمند و خطرناک میدانند که خود به خود اجرا و تکثیر شده و اثرات تخریبی زیادی دارند که باعث از دست رفتن اطلاعات و گاه خراب شدن کامپیوتر میگردند در حالیکه طبق آمار تنها پنج درصد ویروسها دارای اثرات تخریبی بوده و بقیه صرفاً تکثیر میشوند. بنابراین یک ویروس رایانهای را میتوان برنامهای تعریف نمود که میتواند خودش را با استفاده از یک میزبان تکثیر نماید. بنابر این تعریف اگر برنامهای وجود داشته باشد که دارای اثرات تخریبی باشد ولی امکان تکثیر نداشته باشد، نمیتوان آنرا ویروس نامید. بنابراین ویروسهای رایانهای از جنس برنامههای معمولی هستند که توسط ویروسنویسان نوشته شده و سپس به طور ناگهانی توسط یک فایل اجرایی و یا جا گرفتن در ناحیه سیستمی دیسک، فایلها و یا کامپیوترهای دیگر را آلوده میکنند. در این حال پس از اجرای فایل آلوده به ویروس و یا دسترسی به یک دیسک آلوده توسط کاربر دوم، ویروس به صورت مخفی نسخهای از خودش را تولید کرده و به برنامههای دیگر میچسباند و به این ترتیب داستان زندگی ویروس آغاز میشود و هر یک از برنامهها و یا دیسکهای حاوی ویروس، پس از انتقال به کامپیوترهای دیگر باعث تکثیر نسخههایی از ویروس و آلوده شدن دیگر فایلها و دیسکها میشوند. لذا پس از اندک زمانی در کامپیوترهای موجود در یک کشور و یا حتی در سراسر دنیا منتشر میشوند. از آنجا که ویروسها به طور مخفیانه عمل میکنند، تا زمانی که کشف نشده و امکان پاکسازی آنها فراهم نگردیده باشد، برنامههای بسیاری را آلوده میکنند و از این رو یافتن سازنده و یا منشاء اصلی ویروس مشکل است.
تاریخچه
اولین تحقیق واقعی علمی و آکادمیک بر روی ویروسها توسط فرد کوهن در سال 1983، با نام ویروس که توسط لِن آدلمن ابداع شده بود، انجام شد. بعضاً از کوهن به عنوان «پدر ویروسهای کامپیوتری» نام برده میشود، اما واقعاً ویروسهایی بودند که قبل از شروع تحقیقات او تولید شده بودند. ویروس Elk Cloner نوشته شده توسط ریچ اسکرنتا در سال 1982 در گردش بود و ویروسهای تولید شده توسط جو دلینگر نیز بین سالهای 1981 تا 1983 ساخته شده بودند؛ که همهی آنها برای پلتفرمهای Apple II بودند. برخی منابع یک نقص فنی در Arpanet را در سال 1980 به عنوان اولین ویروس ذکر میکنند، اما آن فقط یک کد قانونی و مجاز بود که اشتباه کار میکرد و تنها مسألهای که ایجاد میکرد این بود که دادهها را در بستههای شبکه پخش میکرد. ویروسهای گریگوری بنفورد، تنها به به داستانهای علمیاش ختم نشد. او در سال 1969 ویروسهای غیر مخرب خود را در جایی که امروزه «آزمایشگاه ملی لیوِرمور لارنس» خوانده میشود و در Arpanet اولیه تولید و منتشر کرد.
میزبان ویروس
ویروس هم مانند هر برنامه کامپیوتری نیاز به محلی برای ذخیره خود دارد. ولی این محل باید به گونهای باشد که ویروسها را به وصول اهداف خود نزدیکتر کند. همان گونه که قبلاً ذکر شد اکثر ویروسها به طور انگلوار به فایلهای اجرایی میچسبند و آنها را آلوده میکنند. اصولاً میتوان فایلها را به دو گونه کلی «اجرایی» و «غیر اجرایی» تقسیم کرد که عموم ویروسها در فایلهای اجرایی جای گرفته و آنها را آلوده میکنند و واقعاً کمتر ویروسی یافت میشود که در یک فایل غیراجرایی قرار بگیرد و بتواند از طریق آن تکثیر شود.
لازم به ذکر است که بعضی از فایلها را شاید نتوان ذاتاً اجرایی نامید اما چون اینگونه فایلها میتوانند حاوی قسمتهایی اجرایی باشند، لذا آنها را از نوع اجرایی در نظر میگیریم. از این نوع فایلها میتوان به فایلهای اچتیامال و مستندات برنامههای اداره اشاره کرد که به ترتیب ممکن است شامل اسکریپت و ماکرو باشند. اسکریپتها و ماکروها قسمتهایی اجرایی هستند که در دل این فایلها قرار گرفته و کار خاصی را انجام میدهند.
در ذیل فهرست پسوندهای رایج فایلهای اجرایی ارائه شده است و اکثر نرمافزارهای ضد ویروس در حالت عادی (بدون تنظیمات خاص) این فایلها را ویروسیابی میکنند (البته در برخی برنامههای ضد ویروس ممکن است برخی پسوندها حذف یا اضافه شوند) :
.com ، .exe ، .dll ، .ovl ، .bin ، .sys ، .dot ، .doc ، .vbe ، .vbs ، .hta ، .htm ، .scr ، .ocx ، .hlp ، .eml
بنابراین یکی از اصلیترین میزبانهای ویروس، فایلهای اجرایی هستند. از طرف دیگر برخی ویروسها نیز از سکتور راهانداز (Boot Sector) و جدول بخشبندی دیسک (Master Boot Record یا Partition Table) به عنوان میزبان استفاده میکنند. سکتور راهانداز واحد راهاندازی سیستمعامل است که در سکتور شماره صفر دیسکت فلاپی و یا درایوهای منطقی یک دیسک سخت قرار دارد و جدول بخشبندی شامل اطلاعات تقسیمبندی دیسک سخت میباشد که آن نیز در سکتور شماره صفر دیسک سخت قرار دارد. اینگونه ویروسها با قرار گرفتن در یکی از این دو محل، هنگام راهاندازی کامپیوتر، اجرا شده و در حافظه سیستم مقیم میشوند و تا زمان خاموش کردن کامپیوتر و یا راهاندازی دوباره، همانجا مانده و فلاپیها و یا دیسکهای سخت دیگر را آلوده میکنند.
عملکرد ویروس
همانطور که گفته شد تنها پنج درصد از ویروسها دارای اثرات تخریبی هستند و بقیه صرفاً تکثیر میشوند. با توجه به این مطلب این پرسش مطرح است که چرا ویروسها به عنوان یک معضل شناخته میشوند و باید با آنها مبارزه کرد؟ پاسخ به این پرسش در موارد زیر خلاصه گردیده است:
۱ - بسیاری از ویروسها دارای اثراتی هستند که هرچند تخریبی نمیباشد ولی میتواند برای کاربر ایجاد مزاحمت کند. مثلاً ممکن است پیغامی نمایش دهد، باعث ریزش حروف صفحه نمایش به پایین شود یا اینکه یک آهنگ پخش نماید. علاوه بر این برخی از ویروسها به علت اشکالات نرمافزاری که ناشی از عدم دقت ویروسنویس میباشد، ممکن است دارای اثراتی غیرقابل پیشبینی باشند که گاهی این اثرات میتوانند تخریبی نیز باشند. از نقطه نظر کاربر اهمیتی ندارد که خسارت ایجاد شده بوسیله یک ویروس، یک کار عمدی پیشبینی شده توسط نویسنده ویروس بوده باشد یا یک اشتباه برنامهنویسی.
۲ - برخی از ویروسها در حافظه کامپیوتر مقیم شده و از این طریق عملیات تکثیر خود را انجام میدهند. این عمل ممکن است به گونهای باشد که جایی برای اجرای برنامههای دیگر نماند و یا باعث ایجاد تأخیر یا وقفه در حین عملیات سیستم اعم از اجرای برنامهها و یا راهاندازی کامپیوتر گردد.
۳ - فرض کنید که شما یک ویروس بر روی کامپیوتر خود داشته باشید. بسیار احتمال دارد که این ویروس به صورت غیرعمدی به یک دوست، همکار یا مشتری منتقل شود که این امر ممکن است باعث از بین رفتن اعتماد آنها به شما و شرکت شما شود.
۴ - ویروسها و برنامههای مخرب زیادی وجود دارند که اقدام به سرقت اطلاعات و کلمات عبور کاربر مینمایند. بعضی از اینگونه برنامهها با مقیم شدن در حافظه از عباراتی که توسط شما تایپ میشود گزارش گرفته و پس از اتصال رایانه شما به اینترنت این اطلاعات را برای مقصد خاصی ارسال میکنند. گیرنده این اطلاعات میتواند به راحتی از آنها سوء استفادههای مختلفی نماید.
علاوه بر همه اینها هیچ ویروسی کاملاً بیضرر نیست و در خوشبینانهترین حالت، آنها وقت شما، وقت پردازنده و فضای دیسک شما را تلف میکنند.
در مورد اثرات تخریبی ویروسهایی که آنها را به صورت عمدی انجام میدهند میتوان به موارد زیر اشاره نمود:
تخریب یا حذف برنامهها و اطلاعات بخشهای مختلف دیسکها.
فرمت کردن دیسکها.
کد کردن اطلاعات و برنامهها.
تخریب اطلاعات حافظه فلش ها.
مزاحمتهای فوق ممکن است به محض فعال شدن ویروس (یعنی قرار گرفتن ویروس در حافظه از طریق اجرای یک برنامه آلوده) و یا در یک تاریخ و زمان خاص و یا حتی با اجرای یک برنامه کاربردی خاص انجام شود.
انواع ویروسها
ارائه یک تقسیمبندی دقیق از ویروسها کار مشکلی است و میتوان ویروسها را به روشهای مختلفی تقسیمبندی کرد. این روشها میتواند بر اساس میزبان ویروس، سیستمعاملی که ویروس میتواند در آن فعالیت کند، روش آلودهسازی فایل و ... باشد. در زیر به برخی از این روشها اشاره میکنیم :
تقسیم بندی ویروسها بر اساس مقصد آلودهسازی:
۱ - ویروسهای فایلی (File Viruses) : ویروسهای فایلی، معمولاً فایلهای اجرایی را آلوده میکنند. فایلهای آلوده به این نوع از ویروسها اغلب (اما نه همیشه) دارای پسوند .com یا .exe هستند.
۲ - ویروسهای ماکرو (Macro Viruses) : ویروسهای ماکرو، مستندات برنامههایی را که از امکان ماکرونویسی پشتیبانی مینمایند (مانند MS Word ، MS Excel و...) آلوده میکنند. فایلهای اینگونه برنامهها اجرایی نیستند ولی درون آنها قسمتهایی اجرایی به نام «ماکرو» وجود دارد که میتواند میزبان مناسبی برای ویروسهای ماکرو باشد.
۳ - ویروسهای بوت و پارتیشن سکتوری (Boot Sector and Partition Table Viruses) : اینگونه ویروسها سکتور راهانداز (Boot Sector) دیسک سخت و دیسکت فلاپی یا جدول بخشبندی دیسکهای سخت را آلوده میکنند. با راهاندازی سیستم از روی دیسکی که به اینگونه ویروسها آلوده شده است، ویروس در حافظه مقیم شده و متعاقباً دیسکهایی را که مورد دسترسی قرار گیرند، آلوده میکند.
۴ - ویروسهای اسکریپتی (Script Viruses) : این ویروسها که اسکریپتهای نوشته شده به زبانهای ویژوال بیسیک یا جاوا میباشند، تنها در کامپیوترهایی اجرا میشوند که بر روی آنها Internet Explorer یا هر مرورگر وب دیگری با توانایی اجرای اسکریپتها، نصب شده باشد و فایلهای با پسوند .html ، .htm ، .vbs ، .js ، .htt یا .asp را آلوده میکنند.
ویروسها جدا از تقسیمبندی فوق، ممکن است در یک یا چند دسته از دستههای زیر نیز قرار بگیرند:
ویروسهای مقیم در حافظه (Memory Resident Viruses) :
اینگونه ویروسها با مقیم شدن در حافظه، هنگام دسترسی به فایلهای دیگر، آنها را آلوده میکنند.
ویروسهای مخفیکار (Stealth Viruses) :
اینگونه ویروسها به روشهای مختلف ردپای خویش را مخفی میکنند. به این معنی که فایلهای آلوده به اینگونه ویروسها به گونهای نشان داده میشود که یک فایل غیرآلوده جلوه کند. به عنوان مثال عموم ویروسها پس از آلوده کردن یک فایل، اندازه آن را افزایش میدهند و یا گاهی تاریخ و زمان ضبط فایل را عوض میکنند. اما ویروسهای مخفیکار میتوانند با روشهای خاص و بدون تغییر وضعیت ظاهری، عملیات خویش را انجام دهند.
ویروسهای کدشده (Encrypting Viruses) :
این ویروسها پس از هر بار آلودهسازی، با استفاده از شیوههای خود رمزی شکل ظاهری خود را تغییر میدهند.
ویروسهای چندشکلی (Polymorphic Viruses) :
اینگونه ویروسها با استفاده از الگوریتمهای خاص، علاوه بر تغییر شکل ظاهری خود، ساختار خود را نیز تغییر میدهند به طوریکه ممکن است جای دستورالعملها و حتی خود دستورالعملها نیز تغییر کنند.
ویروسهای فعالشونده بر اساس رویداد خاص(Triggered Event Viruses) :
ویروسهایی هستند که بخشی از عملیات تخریب خود را در ساعت و یا در تاریخ خاص انجام میدهند. البته باید توجه داشت که تکثیر و آلودهسازی فایلها در تمام اوقات فعال بودن ویروس انجام میشود.
نشانههای وجود ویروس
معمولاً سیستمی که به ویروس آلوده میگردد نشانههایی را از خود بروز میدهد که با دقت در آنها میتوان به ویروسی بودن احتمالی سیستم پی برد. بعضی از این نشانهها در زیر آمده است. اما باید دقت داشت که این نشانهها ممکن است در اثر عوامل غیرویروسی نیز ظاهر گردد. اما اگر کامپیوتر بطور عادی کار میکرده و ناگهان و بدون هیچگونه دستکاری، این علایم را از خود بروز میدهد، احتمال وجود ویروس بیشتر است:
۱ - سیستم در هنگام راهاندازی قفل میکند و احتمالاً پیغامهای غیرمعمول روی صفحه ظاهر میگردد.
۲ - هنگام اجرای برنامهها پیغام کمبود حافظه ظاهر شده و برنامه اجرا نمیگردد.
۳ - در کارچاپگر اختلال ایجاد میشود یا بدون هیچگونه فرمان چاپی شروع به کار میکند.
۴ - امکان دسترسی به برخی از درایوها وجود ندارد.
۵ - هنگام اجرای فایلها، پیغام File is Damaged یا File is Corrupted نمایش داده میشود.
۶ - هنگام اجرای یک فایل، کاراکترها و یا پیغامهای غیرعادی روی صفحه نمایش ظاهر میگردد.
۷ - هنگام کار در محیطهای گرافیکی، تصاویر به هم میریزد.
۸ - اصوات غیرمعمول یا موزیک از بلندگوهای کامپیوتر پخش میشود.
۹ - سیستم هنگام اجرای یک برنامه قفل کرده و حتی گاهی فشردن کلیدهای Ctrl+Alt+Del نیز نمیتواند سیستم را دوباره راهاندازی کند.
۱۰ - اطلاعات بخشی از دیسک سخت و یا تمام آن بطور ناگهانی از بین میرود یا دیسک سخت ناخواسته فرمت میشود.
۱۱ - اندازه فایلهای اجرایی افزایش مییابد.
۱۲ - خواص فایلهای اجرایی تغییر میکند.
۱۳ - سرعت سیستم بطور نامحسوسی کاهش مییابد.
۱۴ - اطلاعات Setup کامپیوتر از بین میرود.
۱۵ - برنامهها مراجعاتی به دیسکت انجام میدهند که قبلاً انجام نمیدادند.
۱۶ - کاهش فضای خالی دیسک بدون اینکه فایلی اضافه شده و یا به محتوای فایلها افزوده شده باشد.
۱۷ - نرمافزارهای مقیم در حافظه با خطا اجرا شده یا اصلاً اجرا نمیشوند.
۱۸ - بعضی برنامهها سعی در برقراری ارتباط با اینترنت را دارند.
۱۹ - هنگام کار با اینترنت مقدار ارسال و دریافت اطلاعات ناخواسته افزایش یافته و سرعت به شدت افت میکند.
۲۰ - نامههای الکترونیکی ناخواسته از روی سیستم ارسال شده و یا دریافت میگردد.
فناوری اطلاعات
فناوری اطلاعات (فا) (به انگلیسی: Information Technology یا IT)، همان طور که بهوسیله انجمن فناوری اطلاعات آمریکا (ITAA) تعریف شدهاست، «به مطالعه، طراحی، توسعه، پیادهسازی، پشتیبانی یا مدیریت سیستمهای اطلاعاتی مبتنی بر رایانه، خصوصا برنامههای نرمافزاری و سختافزار رایانه میپردازد». به طور کوتاه، فناوری اطلاعات با مسائلی مانند استفاده از رایانههای الکترونیکی و نرمافزار سروکار دارد تا تبدیل، ذخیره، حفاظت، پردازش، انتقال و بازیابی اطلاعات به شکلی مطمئن و امن انجام پذیرد.
اخیرا تغییر اندکی در این عبارت داده میشود تا این اصطلاح به طور روشن دایره ارتباطات مخابراتی را نیز شامل گردد. بنابراین عدهای بیشتر مایلند تا عبارت «فناوری اطلاعات و ارتباطات» (فاوا) (Information and Communications Technology) یا به اختصار ICT را به کار برند.
عناصر کاملا اصلی
فناوری اطلاعات متشکل از چهار عنصر اساسی انسان، ساز و کار، ابزار، ساختار است، به طوری که در این فناوری، اطلاعات از طریق زنجیره ارزشی که از بهم پیوستن این عناصر ایجاد میشود جریان یافته و پیوسته تعالی و تکامل سازمان را فراراه خود قرار میدهد:
انسان: منابع انسانی، مفاهیم و اندیشه، نوآوری
ساز و کار: قوانین، مقررات و روشها، سازوکارهای بهبود و رشد، سازوکارهای ارزش گذاری و مالی
ابزار: نرمافزار، سختافزار، شبکه و ارتباطات
ساختار: سازمانی، فراسازمانی مرتبط، جهانی
بسیاری مفهوم فناوری اطلاعات را با کامپیوتر و انفورماتیک ادغام میکنند، این درحالیست که اینها ابزارهای فناوری اطلاعات میباشند نه تمامی آنچه که فناوری اطلاعات عرضه میکند. سید حامد خسروانی شریعتی در مقالهای در همین زمینه آوردهاست که:" با فرض اینکه فناوری اطلاعات یک سیب باشد، کامپیوتر، شبکه، نرمافزار و دیگر ابزارهای مرتبط با این حوزه همانند دم سیب است که میوه توسط آن تغذیه میگردد، حال این خود سیب است که محصول اصلی است و هدف و نتیجه در آن خلاصه میگردد. "
زمینههای IT
امروزه معنای اصطلاح «فناوری اطلاعات» بسیار گسترده شدهاست و بسیاری از جنبههای محاسباتی و فناوری را دربر میگیرد و نسبت به گذشته شناخت این اصطلاح آسانتر شدهاست. چتر فناوری اطلاعات تقریباً بزرگ است و بسیاری از زمینهها را پوشش میدهد. متخصص فناوری اطلاعات وظایف گوناگونی دارد، از نصب برنامههای کاربردی تا طراحی شبکههای پیچیده رایانهای و پایگاه دادههای اطلاعاتی. چند نمونه از زمینههای فعالیت متخصصین فناوری اطلاعات میتواند موارد زیر باشند: فناوری اطلاعات و علوم کتابداری و اطلاع رسانی ارتباط تنگاتنگی با هم دارند. Information Technology در ایران متولی اصلی فناوری اطلاعات و ارتباطات را وزارت ارتباطات و فناوری اطلاعات میدانند.
ابزارهای نرمافزاری مدیریت خدمات فناوری اطلاعات
با افزایش چشمگیر تنوع تجهیزات و خدمات مربوط به فناوری اطلاعات، مدیریت خدمات ارائه شده در این حوزه نیز با چالشهای فراوانی روبرو شدهاست. مدیریت رسیدگی به مشکلات و درخواستها، مدیریت تجهیزات و منابع در رابطه با خدمات پشتیبانی فنی و تخصیص آنها به کاربران، و همچنین نظارت، کنترل و برنامه ریز در این زمینه از جمله مواردی است که مدیران حوزه فناوری اطلاعات را بر آن میدارد تا برای خود ابزارهای سودمند و کارا تدارک ببینند. از جمله این ابزارها، میتوان به نرمافزارهای مدیریت خدمات فناوری اطلاعات اشاره نمود که میتوانند مدیران و کارشناسان و تکنسینها را در این رابطه یاری نمایند.
فناوری اطلاعات در دانشگاههای ایران
در بیشتر کشورها این دانش در دانشگاهها با عنوان رشته «فناوری اطلاعات» (Information Technology) شناخته میشود، در حالیکه در ایران بر اساس تصمیم سازمان آموزش عالی کشور عنوان «مهندسی فناوری اطلاعات» برای این رشته بکار برده میشود و رشتهای نیز تحت عنوان مهندسی فناوری اطلاعات و ارتباطات (ICT) به پیشنهاد وزارت ارتباطات و فناوری اطلاعات اخیراً در دانشگاههای ایران تدریس میشود همچنین رشتهای با عنوان فقط «فناوری اطلاعات» وجود ندارد. همچنین رشتهٔ میانرشتهای دیگری با عنوان رشته «مدیریت فناوری اطلاعات» در دانشگاههای ایران و دیگر کشورها وجود دارد که از ترکیب دو رشته "مدیریت" و «فناوری اطلاعات» به وجود آمدهاست. رشته مهندسی فناوری اطلاعات به چگونگی سازماندهی و ساماندهی دادهها میپردازد و رشته مدیریت فناوری اطلاعات به چگونگی تدوین سیستم و استفاده از دادهها میپردازد. هرکدام از این رشتهها دارای گرایشهای ویژه خود هستند که در دانشگاههای ایران به شرح زیرند:
مهندسی فناوری اطلاعات:
تجارت الکترونیکی
سیستمهای چندرسانهای
مدیریت سیستمهای اطلاعاتی
امنیت اطلاعات
شبکههای کامپیوتری
مهندسی فناوری اطلاعات (IT)
علم اطلاعات ودانش شناسی:
مدیریت اطلاعات
بازیابی اطلاعات ودانش
علم سنجی
اقتصاد و بازاریابی اطلاعات
مدیریت دانش
گرایشهای رشته مدیریت فناوری اطلاعات:
مدیریت منابع اطلاعاتی
سیستمهای اطلاعات پیشرفته
نظام کیفیت فراگیر
کسب و کار الکترونیک (کارشناسی ارشد)
مدیریت دانش (کارشناسی ارشد)
مدیریت رسانه (کارشناسی ارشد)
فناوری اطلاعات پزشکی (کاربرد فناوری اطلاعات در پزشکی)
گرایشهای رشته مهندسی فناوری اطلاعات و ارتباطات:
مدیریت شبکه
دیتا و امنیت شبکه
ارتباطات سیار
مدیریت ارتباطات و فناوری اطلاعات
سیستمهای چند رسانهای
دروس تخصصی مهندسی فناوری اطلاعات
درسهای تخصصی کارشناسی مهندسی فناوری اطلاعات عبارتند از:
مبانی فناوری اطلاعات
مهندسی فناوری اطلاعات
تجارت الکترونیکی
مدیریت و کنترل پروژههای فناوری اطلاعات
برنامهریزی استراتژیک فناوری اطلاعات
آموزش الکترونیکی
محیطهای چند رسانهای
پروژه فناوری اطلاعات
کارآموزی IT
گرافیک کامپیوتری
ریاضی
فناوری اطلاعات در ایران
در ایران همیشه بحث بر سر متولی اصلی فناوری اطلاعات وجود داشت تا با تغییر نام وزارت پست و تلگراف و تلفن در سال ۱۳۸۲ به وزارت ارتباطات و فناوری اطلاعات و مهمتر از آن ایجاد معاونت فناوری اطلاعات وزارت ارتباطات، خود را متولی اصلی فناوری اطلاعات در کشور مطرح ساخت. از این سال به بعد توسعه همهجانبهای در این وزارتخانه صورت گرفت تا شرکتها و مراکز متعددی زیر مجموعه آن تشکل یافتند و هر یک از آنها با توانمندیها و فعالیتهای بسیار، تحولات فراوانی را شکل داده و باعث گسترش وضع ارتباطی کشور در بخشهای پست و مخابرات شدند. معاونت فناوری اطلاعات به منظور تدوین راهبردها، سیاستها، برنامههای بلند مدت و اهداف کیفی و کمی بخش توسعه فناوری اطلاعات و ارائه آن به شورای عالی فناوری اطلاعات معاونتی تحت عنوان معاونت فناوری اطلاعات در ساختار سازمانی وزارت ارتباطات و فناوری اطلاعات در نظر گرفته شد. و کمکم سازمانهایی مثل سازمان فناوری اطلاعات و ارتباطات زیرساخت نیز در این رابطه شکل گرفتند.
نظریه محاسبات
نظریهٔ محاسبات یا تئوری محاسبات (Theory of computation) زمینهٔ وسیعی است که امکان و کارآیی حل مسائل گوناگون به وسیلهٔ مدلهای محاسباتی، با استفاده از الگوریتمها را مورد مطالعه قرار میدهد.
این نظریه را به دو شاخهٔ عمده بهصورت زیر تقسیم میکنند:
نظریهٔ محاسبهپذیری یا قابلیت محاسبه
نظریهٔ پیچیدگی
هر دو شاخهٔ فوق با مدلهای صوری محاسبات سر وکار دارد.
تاریخچه
ریشههای تاریخی تئوری محاسبات را میتوان در کارهای منطقدانهایی که در دههٔ ۱۹۳۰ مدلهایی ریاضی برای مفهوم الگوریتم ارائه دادند، جستجو کرد. آلن تورینگ، امیل پست، و آلونزو چرچ در ۱۹۳۶ نخستین تعاریف دقیق را برای مفاهیم محاسبه و توابع محاسبهپذیر ارائه دادند.
یکی از اهداف مهم این پیشگامان، بررسی مسائلی مانند برنامه هیلبرت و قضایای گودل بود که در منطق و مبانی ریاضی مطرح شده بود.
یکی از نتایجی که بلافاصله از این تئوری به دست آمد اثبات تمییز ناپذیری مساله توقف بود. یعنی الگوریتمی وجود ندارد که تشخیص دهد یک الگوریتم با یک ورودی داده شده متوقف میشود یا نه. به کمک این مطلب میتوان اثباتی زیبا از قضیه اول ناتمامیت گودل به دست آورد.
از دیگر نتایج قابل توجه اثبات تمیز ناپذیری منطق مرتبه اول بود که توسط چرچ ثابت شد.
به زودی مشخص شد که میتوان از این تئوری در ساخت ماشینهایی فیزیکی که محاسبه انجام دهند استفاده کرد، کاری که چند سال بعد با ساخته شدن نخستین کامپیوترها عملی شد.
امروزه نظریهٔ محاسبه از شاخههای بنیادی در منطق ریاضی و علوم نظری کامپیوتر محسوب میشود و در مطالعهٔ مبانی ریاضی و همچنین تئوری الگوریتمها و پیچیدگی محاسبه و بسیاری از مسائل تحقیقاتی در ریاضیات و علوم کامپیوتر نقش اساسی دارد.
رایانش
رایانش به کاربری یا توسعهٔ فناوری رایانه، سختافزار یا نرمافزار رایانه میگویند. رایانش شامل تخصصهای فناوری اطلاعات است که به رایانهها ،سختافزارها یا نرمافزارها و دیگر دانشهای تخصصی مربوط میشود. علوم رایانه دانش پایههای نظری اطلاعات و محاسبات و کاربرد آنها در سامانههای رایانهای است.
رایانش خودمختار
رایانش خود مختار (به انگلیسی: Autonomic Computing) طرحی ابتکاری است که اولین بار توسط آی بی ام در سال ۲۰۰۱ آغاز شد. هدف نهایی آن ساخت سیستمهای رایانه ای با قابلیت خود-مدیریتی است تابرپیچیدگی روزافزون مدیریت سیستمهای رایانشی غلبه کنند و موانعی که بر اثراین پیچیدگیها برسرراه گسترشهای آتی بوجود می آیندراکاهش دهند.به عبارت دیگر رایانش خودمختار اشاره به ویژگیهای خود-مدیریتی منابع رایانشی توزیع شده دارد. یک سیستم خودمختار خودش با استفاده از سیاستهای سطح بالا تصمیم گیری می کند؛ پیوسته وضعیت خود را بررسی و بهینه میکند و خود را با شرایط در حال تغییر تطبیق می دهد. چنانکه در بسیاری از رسالههای علمی اشاره شده است یک چارچوب رایانش خود مختار را می توان به صورت ترکیبی از مولفههای خودمختار در تعامل با یکدیگر دانست. یک مولفه خود مختار را می توان ترکیبی از دو حلقه کنترل(محلی و سراسری)، حسگرها (برای نظارت بر خود) و تاثیرگذارها(برای تنظیم خود)، دانش و برنامه ریز/تطبیق دهنده برای بهره برداری از سیاستها برپایه آگاهی از خود و محیط دانست.
رایانش توزیعشده
رایانش توزیعشده یک زمینه از علوم رایانه است، که در آن به سیستمهای توزیعشده پرداخته میشود. یک سیستم توزیعشده از چندین رایانه خودکار تشکیل شده که توسط یک شبکه رایانهای با هم دیگر در ارتباط اند. کامپیوترها با هم ارتباط برقرار میکنند تا به یک هدف مشترک برسند. یک برنامه کامپیوتری که در یک سیستم توزیعشده اجرا میشود، یک برنامه توزیعشده نامیده میشود و به فرآیند نوشتن چنین برنامههایی برنامه نویسی توزیعشده اطلاق میشود. رایانش توزیعشده همچنین به استفاده از سیستمهای توزیعشده برای حل مسائل محاسباتی اطلاق میشود. در رایانش توزیعشده یک مسئله به وظایف مختلف تقسیم میشود که هر کدام از آنها توسط یک کامپیوتر یا بیشتر حل میشود.این وظایف از طریق ارسال پیام با یکدیگر در ارتباط هستند.
مقدمه
کلمه توزیعشده در اصطلاحات «سیستمهای توزیعشده» و «برنامه نویسی توزیعشده» و «الگوریتم توزیعشده» در واقع به شبکههای کامپیوتری ای اطلاق میشود که در آن کامپیوترهای شخصی به طور فیزیکی در برخی مناطق جغرافیایی توزیع میشوند.
رایانش توزیعشده یا توزیعیافته به دستهای از محاسبات رایانهای اطلاق میشود که در آن دو، یا معمولاً چند کامپیوتر از طریق یک شبکه رایانهای به هم متصل شده و با استفاده از یک الگوریتم موازی بار محاسباتی مابین آنها توزیع میشود.
در همه موارد نمیتوان از این روش استفاده کرد، تکلیفی که میخواهیم از طریق محاسبات توزیعشده انجام گیرد باید قابلیت تقسیم شدن به چند تکه کوچکتر را داشته باشد. جستجو از جمله تکالیفی است که بالاترین موفقیت را در محاسبات توزیعشده دارد.
رایانش مشبک
شبکههای گرید محاسباتی شبکههای محاسباتی گرید مجموعهای از چندین سیستم با قدرت محاسباتی متفاوت میباشد که با متصل شدن این قدرت محاسباتی حاصل یک ابر رایانهٔ مجازی شکل میگیرید که با استفاده از آن میتوان بسیاری از محاسبات پیچیدهٔ ریاضی، نجوم، زیست و... را در زمان بسیار کمی انجام داد. شعار شبکههای محاسباتی نادیده گرفتن نگرانیهای ناشی از محدودیت سختافزاری سیستمهای کامپیوتری میباشد. در شبکههای محاسباتی یا همان Grid computing منابع (منظور منابع فیزیکی) بین چندین کاربر موجود در شبکه مشترک هستند. هر کاربر، بصورت همزمان با دیگر کاربران درخواستهایش را ارائه میکند، از این رو پروسهها از چندین کاربر وارد میشود که این کارها از هم مستقل و هر درخواست با درخواست دیگر متفاوت است. معمولاً بخش مدیریت منابع (Resource management) با محاسبات متفاوت، سرعت و اندازههای مختلف کارها را دریافت میکند، سپس این پروسههای ورودی را به گرههای محاسباتی(Nodes Computational) موجود در شبکه اختصاص میدهد.
دانشجویان دانشگاهها و محققین در این حوزه بدلیل هزینه زیاد برپایی یک شبکهٔ محاسباتی برای انجام آزمایشات خود ناچار به استفاده از نرمافزارهای شبیهسازی میشوند. از مهمترین نرمافزارهای شبیهسازی گرید میتوان به Grid sim اشاره کرد، در Grid sim ما با خصوصیات و ومعماری ابزارهای شبیهسازی Grid سرو کار داریم. Grid simیک toolkit یا جعبه ابزار برای مدلسازی منابع و شبیهسازی اتصال شبکه با پیکر بندیهای مختلف است. اجزاء این شبیهساز یک APIjava و بخشی از پروژه grid bus هست. Grid sim toolkit قادر است گروه هاو دستههای مختلفی از منابع ناهمگن، کاربران، برنامههای کاربردی، و زمانبندها را شبیهسازی کند.
انواع گرید
گریدها شبه به هم نیستند واندازه و شکل متفاوتی دارند، در ادامه سه تقسیم بندی یا کلاس Gridهای فعلی را که رایانههای فردی را تبدیل به یک مزرعهٔ ابر رایانه با هزاران پردازنده کرده فهرست شده است:
- گرید خوشهای(cluster) که ساده ترین نوع این سیستم هستند از مجموعهای از رایانهها که با هم کار میکنند تشکیل شدهاند ویک نقطه دسترسی به سیستم برای کاربران یک پروژه یا بخش سازمانی خاص ایجاد میکنند.
- گرید پردیزه (campus) به پروژهها و بخشهای سازمانی متعدد اجازه میدهد که منابع رایانهای خود رابا هم به اشتراک گذارند. سازمانها میتوانند از این نوع سیستم برای مدیریت کارهای زیاد از فرایندهای تجاری سازمان تا داده کاوی استفاده کنند.
- گرید جهانی(global) مجموعهای از چندین گرید پردیزه میباشند که پا بر فراز مرزهای سازمانی گذاشتهاند و یک سیستم مجازی بسیار بزرگ را ایجاد کردهاند. کاربران میتوانند به منابع رایانهای بیش از آنچه که در سازمان دارند دسترسی داشته باشند
رایانش موازی
رایانش موازی یا محاسبات موازی به اجرای همزمان یک برنامه (که به بخشهای کوچکتری تقسیم شدهاست) بر روی چند پردازنده به منظور دستیابی به سرعت بیشتر اطلاق میشود. ایدهٔ اصلی این است که فرایند حل یک مساله را معمولاً میتوان به زیروظایف خردتری تقسیم کرد که با اجرای همزمان این زیروظایف و هماهنگ کردن آنها مساله اصلی در زمان کوتاهتری حل میشود.
تعریف
یک سیستم محاسبات موازی رایانه ایست با بیش از یک پردازنده که برای پردازش موازی استفاده میشود. در گذشته، در یک سیستم چندپردازنده هر پردازنده در یک بستهبندی جداگانه قرار داشت، اما امروزه با معرفی تراشههای چندهستهای، چندین پردازنده در کنار یکدیگر در یک بسته قرار میگیرند. در حال حاضر انواع بسیار گوناگونی از رایانههای موازی وجود دارند که بر اساس نوع اتصالات بین پردازندهها و حافظه از یکدیگر متمایز میشوند. رده بندی Flynn که یکی از پذیرفتهشدهترین ردهبندیها برای رایانههای موازی است، رایانههای موازی را بر این اساس طبقهبندی میکند که آیا شامل پردازندههایی هستند که همگی همزمان یک دستور یکسان را روی دادههای متفاوتی اجرا میکنند (یک دستور چند داده SIMD: Single Instruction Multiple Data) و یا هر پردازنده دستور متفاوتی را روی دادههایی متفاوت اجرا میکند (چند دستور چند داده MIMD: Multiple Instruction Multiple Data).
پرداش موازی
پرداش موازی اجرای یک فرایند به طور هم زمان، عموماً با تقسیم عملیات پردازش بر روی چندین پردازنده به منظور افزایش کارایی و در نهایت سرعت بخشیدن به رسیدن به جواب است. گاهی استفاده از تکنیکهای اشتراک زمان را در یک پردازنده، به اشتباه پردازش موازی به حساب میآورند (چند پروسه به طور موازی روی یک پردازنده اجرا میشوند). ایدهٔ این کار بر این مبنا است که هر مساله به طور معمول قابل تقسیم به چندین مساله با اندازهٔ کوچکتر است که این مسالههای کوچکتر میتوانند به صورت همزمان حل شده و در نهایت ادغام شوند تا نتیجه نهایی سریعتر بدست آید.
کاهش زمان محاسبه، امکان حل مسایل بزرگتر، غلبه بر محدودیتهای حافظه، صرفه اقتصادی و استفاده از فناوریهای روز از جمله برتریهایی است که برای پردازش موازی نسبت به پردازش سریال (روش سنتی تر پردازش اطلاعات) برشمرده میشود.
رایانش ابری
رایانش ابری (به انگلیسی: Cloud Computing) مدل رایانشی بر پایهٔ شبکههای رایانهای مانند اینترنت است که الگویی تازه برای عرضه، مصرف و تحویل خدمات رایانشی (شامل زیرساخت، نرمافزار، بستر، و سایر منابع رایانشی) با به کارگیری شبکه ارائه میکند "رایانش ابری" از ترکیب دو کلمه رایانش و ابر ایجاد شده است. ابر در اینجا استعاره از شبکه یا شبکهای از شبکههای وسیع ماننداینترنت است که کاربر معمولی از پشت صحنه و آنچه در پی آن اتفاق میافتد اطلاع دقیقی ندارد (مانند داخل ابر) در نمودارهای شبکههای رایانهای نیز از شکل ابر برای نشان دادن شبکهٔ اینترنت استفاده میشود. دلیل تشبیه اینترنت به ابر در این است که اینترنت همچون ابر جزئیات فنیاش را از دید کاربران پنهان میسازد و لایهای از انتزاع را بین این جزئیات فنی و کاربران به وجود میآورد. به عنوان مثال آنچه یک ارائهدهندهٔ خدمت نرمافزاری رایانش ابری ارائه میکند، برنامههای کاربردی تجاری برخط است که از طریق مرورگر وب یا نرمافزارهای دیگر به کاربران ارائه میشود. نرمافزارهای کاربردی و اطلاعات، روی سرورها ذخیره میگردند و براساس تقاضا در اختیار کاربران قرار میگیرد. جزئیات از دید کاربر مخفی میمانند و کاربران نیازی به تخصص یا کنترل در مورد فناوری زیرساخت ابری که از آن استفاده میکنند ندارند. . رایانش ترجمه کلمه " Computing" است که در بعضی متون به جای رایانش از محاسبات و پردازش استفاده شده است. البته محاسبات و پردازش معادل کاملی از این کلمه نیست. زیرا بر اساس تعریف واژه نامههای معتبر مانند آکسفورد، لانگمن این واژه به معنای استفاده از رایانه و عملیات رایانهها یا اموری است که یک رایانه انجام میدهد و محاسبه و پردازش تنها یکی از این امور است. به طور نمونه یک رایانه همانطور که برای اجرای فرامین به محاسبه و پردازش میپردازد، به همین ترتیب مدارک و فایلها را در هارد دیسک یا صفحه سخت خود ذخیره میکند، امکان ایجاد ارتباط میان افراد را فرآهم میآورد که این امور چیزی بیش از یک محاسبه و پردازش صرف است. به علاوه در معنای علوم رایانه معادلهای دیگری برای کلمات “محاسبه” و “پردازش”وجود دارند، مانند” calculation” و” processing ”، که عدم تمایز این کلمات با یکدیگر میتواند منشاء اشتباه در درک این مفاهیم شود.. رایانش ابری راهکارهایی برای ارائهٔ خدمات فناوری اطلاعات به شیوههای مشابه با صنایع همگانی (آب، برق، تلفن و ...) پیشنهاد میکند. این بدین معنی است که دسترسی به منابع فناوری اطلاعات در زمان تقاضا و بر اساس میزان تقاضای کاربر به گونهای انعطافپذیر و مقیاسپذیر از راه اینترنت به کاربر تحویل داده میشود. همانطور که کاربر تنها هزینه برق یا آب مصرفی خود را میپردازد. در صورت استفاده از رایانش ابری نیز کاربر تنها هزینه خدمات رایانشی مورد استفاده خود (اگر هزینه از کاربر دریافت شود) را پرداخت خواهد کرد.
رایانش ابری را گروهی تغییر الگووارهای میدانند که دنبالهروی تغییری است که در اوایل دهه ۱۹۸۰ از مدل رایانه بزرگ به مدل کارخواه-کارساز صورت گرفت.
تعریف
با پیشرفت فناوری اطلاعات نیاز به انجام کارهای محاسباتی در همه جا و همه زمان به وجود آمده است. همچنین نیاز به این هست که افراد بتوانند کارهای محاسباتی سنگین خود را بدون داشتن سختافزارها و نرمافزارهای گران، از طریق خدماتی انجام دهند. رایانش ابری آخرین پاسخ فناوری به این نیازها بوده است. از آنجا که اکنون این فناوری دوران طفولیت خود را میگذراند، هنوز تعریف استاندارد علمی که مورد قبول عام باشد برای آن ارائه نشده است اما بیشتر صاحبنظران بر روی قسمتهایی از تعریف این پدیده هم رای هستند. موسسه ملی فناوری و استانداردها (NIST) رایانش ابری را اینگونه تعریف میکند:
«رایانش ابری مدلی است برای فراهم کردن دسترسی آسان بر اساس تقاضای کاربر از طریق شبکه به مجموعهای از منابع رایانشی قابل تغییر و پیکربندی (مثل: شبکهها، سرورها، فضای ذخیرهسازی، برنامههای کاربردی و سرویسها) که این دسترسی بتواند با کمترین نیاز به مدیریت منابع و یا نیاز به دخالت مستقیم فراهمکننده سرویس به سرعت فراهم شده یا آزاد (رها) گردد.»
عموماً مصرف کنندههای رایانش ابری مالک زیر ساخت فیزیکی ابر نیستند، بلکه برای اجتناب از هزینه سرمایهای آن را از عرضه کنندگان شخص ثالث اجاره میکنند. آنها منابع را در قالب سرویس مصرف میکنند و تنها بهای منابعی که به کار میبرند را میپردازند. بسیاری از سرویسهای رایانش ابری ارائه شده، با به کار گیری مدل رایانش همگانی امکان مصرف این سرویسها را به گونهای مشابه با صنایع همگانی (مانند برق) فراهم میسازند. این در حالی است که سایر گونههای عرضه کنندگان بر مبنای اشتراک سرویسهای خود را عرضه میکنند. به اشتراک گذاردن قدرت رایانشی «مصرف شدنی و ناملموس» میان چند مستاجر میتواند باعث بهبود نرخ بهرهوری شود؛ زیرا با این شیوه دیگر کارساز (سرور)ها بدون دلیل بیکار نمیمانند (که سبب میشود هزینهها به میزان قابل توجهی کاهش یابند در عین حال که سرعت تولید و توسعه برنامههای کاربردی افزایش مییابد). یک اثر جانبی این شیوه این است که رایانهها به میزان بیشتری مورد استفاده قرار میگیرند زیرا مشتریان رایانش ابری نیازی به محاسبه و تعیین حداکثری برای بار حداکثر (Peak Load) خود ندارند.
مقایسه با مدلهای دیگر رایانش
رایانش ابری اگرچه برخی از ویژگیهایش را از مدلهای رایانشی دیگر به ارث میبرد؛ اما خود متفاوت از آنهاست. برخی از این مدلها عبارتند از:
رایانش شبکهای -«شکلی از رایانش توزیع شده و رایانش موازی که در آن یک رایانه مجازی بزرگ از رایانههایی تشکیل شدهاست که با جفتگری ضعیف به هم شبکه شدهاند و با هماهنگی با یکدیگر کار میکنند تا وظایف سنگین را به انجام برسانند».
رایانش خودمختار - «سامانههای رایانهای با قابلیت خود-مدیریت».
مدل مشتری/سرور - رایانش مشتری/سرور به صورت گسترده به هر برنامه کاربردی توزیع یافته ای گفته میشود که بین ارائه دهنده سرویس (سرور) و درخواست کننده سرویس (مشتری) تمایز قایل میشود.
رایانه بزرگ - رایانههای قدرتمند توسط سازمانهای بزرگ برای کاربردهای بحرانی بکار برده میشوند. این کاربردها نوعاً شامل پردازش حجم زیاد داده میباشد. به طور نمونه میتوان از سرشماری، آمار مصرف کننده و صنعت، برنامهریزی منابع سازمانی(ERP) و پردازش تراکنشهای مالی نام برد.
رایانش همگانی - «عبارت است از بسته بندی منابع رایانشی مانند منابع محاسباتی و دخیره سازی، در قالب سرویسهای قابل اندازهگیری، به گونهای مشابه با صنایع همگانی (آب، برق، تلفن و ...)؛
نظیر به نظیر - گونهای از معماری توزیع شده بدون هماهنگی مرکزی است که در آن شرکت کنندگان میتوانند در آن واحد عرضه کننده و نیز مصرف کننده منابع باشند. (بر خلاف مدل کارخواه-کارساز سنتی)
تاریخچه
پیدایش مفاهیم اساسی رایانش ابری به دهه ۱۹۶۰ بازمی گردد. زمانی که جان مک کارتی اظهار داشت که «رایانش ممکن است روزی به عنوان یکی از صنایع همگانی سازماندهی شود». تقریباً تمام ویژگیهای امروز رایانش ابری (تدارک الاستیک، ارائه به صورت یک صنعت همگانی، برخط بودن و توهم دسترسی به عرضه نامحدود) به همراه مقایسه با صنعت برق و شکلهای مصرف عمومی وخصوصی و دولتی وانجمنی را پارک هیل داگلاس در کتابی که با عنوان «مشکل صنعت همگانی رایانه» در سال ۱۹۶۶ مورد بررسی قرار داد. واژهٔ ابر در واقع بر گرفته از صنعت تلفن است به این گونه که کمپانیهای ارتباطات راه دور که تا دهه ۱۹۹۰ تنها خطوط نقطه به نقطهٔ اختصاصی ارائه میکردند، شروع به ارائه شبکههای خصوصی مجازی با کیفیتی مشابه و قیمتهای کمتر نمودند. نماد ابر برای نمایش نقطه مرزی بین بخشهایی که در حیطه مسئولیت کاربرند و آنهایی که در حیطه مسئولیت عرضه کننده بکار گرفته میشد. رایانش ابری مفهوم ابر را به گونهای گسترش میدهد که سرورها را نیز علاوه برزیر ساختهای شبکه در بر گیرد.
سایت آمازون با مدرن سازی مرکز داده خود نقش مهمی در گسترش رایانش ابری ایفا کرد. بعد از حباب دات-کام آنها دریافتند که با تغییر مرکز دادههای خود - که ماننداغلب شبکههای رایانهای در بیشتر اوقات تنها از ۱۰٪ ظرفیت آن استفاده میشدو مابقی ظرفیت برای دورههای کوتاه اوج مصرف در نظر گرفته شده بود - به معماری ابر میتوانند بازده داخلی خود را بهبود بخشند. آمازون از سال ۲۰۰۶ امکان دسترسی به سامانه خود از طریق وب سرویسهای آمازون را بر پایه رایانش همگانی ارائه کرد. در سال ۲۰۰۷، گوگل و آی بی ام به همراه چند دانشگاه پروژهای تحقیقاتی در مقیاسی بزرگ را در زمینه رایانش ابری آغاز نمودند.
در اواسط سال ۲۰۰۸ شرکت گارتنر متوجه وجود موقعیتی در رایانش ابری شد که برای «شکل دهی ارتباط بین مصرف کنندگان خدمات فناوری اطلاعات، بین آنهایی که این سرویسها را مصرف میکنند و آنها که این سرویسها را میفروشند» بوجود میآید.
اقتصاد رایانش ابری
کاربران رایانش ابری میتوانند از هزینه سرمایهای لازم برای خرید سختافزار و نرمافزار و خدمات دوری کنند، زیرا آنها تنها برای آنچه که استفاده میکنند به عرضه کنندگان پرداخت میکنند و هزینه اولیهای برای خرید تجهیزات به آنها تحمیل نمیشود. سایر مزایای اقتصادی این شیوه اشتراک زمانی در ارائه منابع رایانشی عبارتند از: موانع ورود به بازار کمتر، هزینه و زیر ساخت اشتراکی، سربار مدیریتی کمتر و دسترسی سریع به طیف وسیعی از برنامههای کاربردی.
عموماً کاربران میتوانند در هر زمانی قراردادشان را پایان دهند (و به این وسیله از ریسک و عدم قطعیت در نرخ بازگشت سرمایه بکاهند) و غالباً سرویسها زیر پوشش یک قرارداد سطح سرویس با جریمههای مالی قرار میگیرند.
بنا به گفته نیکلاس کار، اهمیت راهبردی (استراتژیک) فناوری اطلاعات با استاندارد شدن و ارزان تر شدن آن کاهش مییابد. او استدلال میکند که تغییرالگووارهٔ رایانش ابری شبیه به جایگزینی ژنراتورهای مولد برق با شبکههای توزیع برق است که در اوایل قرن بیستم رخ داد. اگر چه کمپانیها ممکن است بتوانند هزینههای پیش پرداختی سرمایهای را حذف کنند اما در مورد هزینههای عملیاتی کاهش چندانی صورت نمیگیرد و ممکن است در عمل هزینههای عملیاتی افزایش یابند. در مواردی که هزینههای سرمایهای نسبتاً کوچک باشند یا سازمان انعطافپذیری بیشتری در مورد هزینههای سرمایهای نسبت به هزینههای عملیاتی داشته باشد، از دیدگاه مالی رایانش ابری انتخاب مناسبی نخواهد بود. سایر عواملی که بر میزان کاهش هزینه بالقوه استفاده از رایانش ابری تاثیر میگذارند عبارتند ازمیزان بازدهی مرکز دادهها ی کمپانی در مقایسه با فروشندگان رایانش ابری، هزینههای عملیاتی فعلی کمپانی، میزان پذیرش و استفاده از رایانش ابری و نوع کاربردی که باید در ابر میزبانی شود.
ساختار مدل
معماری
معماری سامانههای نرمافزاری دست اندر کار در ارائهٔ رایانش ابری عموماً شامل اجزایی است که با یکدیگر از طریق رابط برنامهنویسی نرمافزار و معمولاً وبسرویس ارتباط برقرار میکنند.
این طراحی شباهتی با فلسفه یونیکس دارد که در آن چند برنامهٔ مختلف که هر یک کاری را به خوبی انجام میدهند، با یکدیگر از طریق واسطهای جهانی کار میکنند. پیچیدگی کنترل میشود و سامانههای حاصل مدیریت پذیرتر از همتاهای یکپارچهنبوی
لایهها
کاربر
کاربر رایانش ابری متشکل از سختافزار و نرمافزاری است که برای تحویل برنامههای کاربردی از ابر استفاده میکند و یا آنکه به طورویژه تنها برای تحویل سرویسهای ابر طراحی شدهاست که در هر دوی موارد بدون وجود ابر بی استفاده باشد. مثال: رایانهها، تلفنها و سایر دستگاهها، سیستمعاملها و مرورگرهای وب.
برنامههای کاربردی
سرویسهای برنامه کاربردی ابری یا «نرمافزار به عنوان سرویس»(SaaS)، نرمافزار را به صورت سرویس روی اینترنت تحویل میدهند و بدین وسیله نیاز به نصب نرمافزار روی رایانههای مشتریان را ازبین میبرند و نگهداری و پشتیبانی را ساده تر میسازد. ویژگیهای اصلی این سرویسها عبارتند از:
دسترسی و مدیریت نرمافزار تجاری از طریق شبکه
فعالیتها از سرور مرکزی اداره میشوند و نه در مکان هریک از مشتریان و در نتیجه مشتریان میتوانند از راه دور و از طریق وب به برنامهها دسترسی داشته باشند.
مدل تحویل نرمافزار به مدل یک-به-چند (یک نسخه در حال اجرا از برنامه - مدل چند مستاجری) نزدیک تر است تا مدل یک-به-یک.
به روز رسانی و ارتقای نرمافزار به صورت مرکزی اداره میشود و نیاز به بارگیری (دانلود) وصلهه یا ارتقا دهندهها را برطرف میسازد.
بستر
سرویسهای بستر ابری یا «بستر به عنوان سرویس»(PaaS) بستر رایانشی ویا پشتهٔ راهکار -که اغلب روی زیرساخت ابری اجرا شده و برنامه کاربردی ابری را تغذیه میکند- را به صورت سرویس ارایه میدهد. سرویس بستر ابری استقرار برنامههای کاربردی را بدون هزینه و پیچیدگی خرید و مدیریت لایههای نرمافزاری و سختافزاری زیرین آسان میسازد.
زیرساخت
سرویسهای زیرساخت ابری یا «زیرساخت به عنوان سرویس»(IaaS) زیرساخت رایانهای را که عموماً یک بستر مجازی است را به صورت سرویس ارائه میدهند. کاربران به جای خرید سختافزار و نرمافزار و فضای مرکز داده (دیتا سنتر) ویا تجهیزات شبکه، همهٔ این زیر ساختها را به صورت یک سرویس کاملاً برونسپاری(Outsource) شده میخرند. صورتحساب سرویس معمولاً بر اساس مدل رایانش همگانی (Utility Computing) و میزان منابع مصرف شده صادر میشود و بنابر این هزینه منعکس کننده میزان فعالیت است. این شیوه در واقع تکامل یافته مدل عرضه سرورهای خصوصی مجازی است.
نرمافزار (به انگلیسی: Software) یا برنامه، مجموعهای از دستورالعملهای دقیق و مرحله به مرحله است که هدف خاصی را دنبال میکنند.
ظاهراً، اولین بار جان توکی در سال ۱۹۵۸ این واژه را بهاین معنا بهکار بردهاست. احتمالاً این واژه در مقابل سختافزار (به انگلیسی: Hardware) به کار بردهاند که بسیار پیش از پیدایش رایانه (به معنای اسباب و اشیاء) بهکار میرفتهاست.
دو گروه کلی نرمافزارها
نرمافزارهای رایانه را میتوان به دو دسته بزرگ تقسیم کرد:
نرمافزار سیستم (به انگلیسی: System software)
نرمافزار کاربردی (به انگلیسی: Application software)
میتوان گفت نرمافزارهای کاربردی، برنامههای مورد استفاده کاربرند و نرمافزارهای سیستمی، مدیریت رایانه را برعهده دارند. مهمترین نرمافزار سیستم، سیستمعامل است.
سیستم عامل
وقتی برنامهای را روی رایانه خود نصب میکنید، اجزای سختافزاری آن به فرمان آن برنامه در میآیند. برای نمونه هنگامی که با یک برنامه اجرای موسیقی کار میکنید، کارت صدای رایانه تان با برنامه پخش موسیقی همکاری میکند و یک آهنگ یا پرونده (فایل) صوتی را از طریق بلندگوی رایانه تان پخش میکند.
این ارتباط میان نرمافزار و سختافزار توسط سیستم عامل انجام میشود. این تنها قسمتی از کار سیستم عامل است.
سه گروه کلی نرمافزارهای معماری
از دیدگاه ساختاری (معماری) (architecture)، نرمافزارها به دستههای زیر تقسیم میشوند:
کاربر-بنیان یا Client Base
کارگزار-بنیان یا Server Base
کاربر کارگزار بنیان یا Client-Server Base
امروزه واژه نرمافزار را در معناهایی به جز معنی برنامه رایانهای نیز بهکار میبرند. مثلاً در دانش مدیریت برای اشاره به روشها و دانش فنی (در برابر وسایل و تجهیزات و نیروی انسانی). نرمافزارها انواع گوناگونی دارند که مهم ترین دسته بندی آنها دستهٔ تجاری و آزاد است. به ویژه با رویکردهای طرحهای گنو و لینوکس معنای ژرف تری به نرمافزارهای آزاد داده شده تا آنجا که برخی نرمافزارها را نماد فرهنگ می دانند. نرمافزارها را برنامه نویسان تدوین کرده و انتشار میدهند. این برنامه نویسان ممکن است در یک شرکت مشغول کار باشند یا در خانه برنامه نویسی کنند مانند برنامه نویسان برخی نرمافزارهای لینوکس. امروزه بیشتر کاربران تنها با ظاهر گرافیکی این برنامهها کار میکنند و اقدامات بسیاری از آنها از دید کاربر پنهان میماند به عبارتی هر نرمافزار مجموعهای از رمزها است که از الگوریتمی خاص پشتیبانی میکنند این رمزها خود با رمزهای گرافیکی آمیخته شده و بسیاری از اقدامات برنامه به دور از چشم کاربر عادی رخ میدهد. برنامهها با رمزهایی نوشته میشوند که بعداً یک رمزخوان آن را در رایانه کاربر اجرا میکند.
رقابت نرمافزاری
در حال حاضر نرمافزارهای کامپیوتری فراوان را میتوان در بازار یافت که به طور جدی به رقابت خود برای بقا ادامه میدهند. از مسائل قابل ذکر در این مورد میتوان به خرید سهام شرکتهای نرمافزاری کوچک و بزرگ توسط شرکتهای دیگر اشاره نمود. همچنان که شرکت بزرگ گوگل به خرید سهام شرکتهای بزرگ همچنان ادامه میدهد، در مدت کمی توانسته بسیاری از شرکتها را تحت سلطه خود درآورد.
تعریف صنعتی
سختافزار بخش مادی، قابل لمس و ابزاری هر مجموعه یا سیستم است. سختافزار معمولاً به قطعات و یراقآلات فلزی و پلاستیکی تشکیل دهنده مجموعه گفته میشود. لازم به توضیح است که برق نیز جزو سختافزار حساب میشود.
تعریف رایانه
در دانش رایانه به مجموع مدارهای الکترونیکی، اجزای فیزیکی و مکانیکی قابل لمس و مشاهده در یک رایانه سختافزار میگوییم. همچنین به بخش غیرقابل لمس مانند سیستمعامل و برنامههای رایانهای، نرمافزار اطلاق میگردد.
فهرست سختافزارها
بُردِ مادر یا برد اصلی (مادربورد)
نمایشگر (مانیتور)
جعبه رایانه (کیس)
صفحهکلید (کیبورد)
موشواره (ماوس)
چاپگر (پرینتِر)
پویشگر (اسکنر)
واحد پردازش مرکزی (سیپییو یا پردازنده)
فلاپیدیسک
دیسک سخت
مودم
دیسکگردان نوری (درایو نوری) (CD و DVD)
بلندگو
یو اس بی
کارت صدا
کارت گرافیک
قلم نوری
هدفون (دوگوشی)
کارت تلویزیون و رادیو
دوربین (وبکم)
میکروفون
هدست
برنامه (رایانه)
برنامه رایانهای رشته دستورالعمل هایی است که توسط کامپیوتر قابل اجرا میباشد. این اصطلاح میتواند به کد اصلی یا نگارش اجرایی آن (زبان ماشین) نیز اطلاق گردد. برنامههای کامپیوتر میتوانند پایانپذیر یا پایان ناپذیر باشند. در برنامههای کامپیوتری هدف اجرای روالی خاص جهت رسیدن به مقصودی خاص می باشد.
انواع برنامههای رایانهای
برنامههای رایانهای از تنوع زیادی برخوردارند. از جمله میتوان به این موارد اشاره کرد:
سیستمعامل
برنامههای کاربردی
ویروسهای رایانهای
ویروس رایانهای
تعریف ویروس
ویروس، یک نوع از بدافزار است که در اغلب مواقع بدون اطلاع كاربر اجرا شده و تلاش میکند خودش را در یک کد اجرایی دیگر کپی کند. وقتی موفق به انجام این کار شد، کد جدید، آلوده نامیده میشود. کد آلوده وقتی اجرا شود، به نوبهی خود کد دیگری را میتواند آلوده کند. این عمل تولید مثل یا کپیسازی از خود بر روی یک کد اجرایی موجود، ویژگی کلیدی در تعریف یک ویروس است. معمولاً کاربران کامپیوتر به ویژه آنهایی که اطلاعات تخصصی کمتری درباره کامپیوتر دارند، ویروسها را برنامههایی هوشمند و خطرناک میدانند که خود به خود اجرا و تکثیر شده و اثرات تخریبی زیادی دارند که باعث از دست رفتن اطلاعات و گاه خراب شدن کامپیوتر میگردند در حالیکه طبق آمار تنها پنج درصد ویروسها دارای اثرات تخریبی بوده و بقیه صرفاً تکثیر میشوند. بنابراین یک ویروس رایانهای را میتوان برنامهای تعریف نمود که میتواند خودش را با استفاده از یک میزبان تکثیر نماید. بنابر این تعریف اگر برنامهای وجود داشته باشد که دارای اثرات تخریبی باشد ولی امکان تکثیر نداشته باشد، نمیتوان آنرا ویروس نامید. بنابراین ویروسهای رایانهای از جنس برنامههای معمولی هستند که توسط ویروسنویسان نوشته شده و سپس به طور ناگهانی توسط یک فایل اجرایی و یا جا گرفتن در ناحیه سیستمی دیسک، فایلها و یا کامپیوترهای دیگر را آلوده میکنند. در این حال پس از اجرای فایل آلوده به ویروس و یا دسترسی به یک دیسک آلوده توسط کاربر دوم، ویروس به صورت مخفی نسخهای از خودش را تولید کرده و به برنامههای دیگر میچسباند و به این ترتیب داستان زندگی ویروس آغاز میشود و هر یک از برنامهها و یا دیسکهای حاوی ویروس، پس از انتقال به کامپیوترهای دیگر باعث تکثیر نسخههایی از ویروس و آلوده شدن دیگر فایلها و دیسکها میشوند. لذا پس از اندک زمانی در کامپیوترهای موجود در یک کشور و یا حتی در سراسر دنیا منتشر میشوند. از آنجا که ویروسها به طور مخفیانه عمل میکنند، تا زمانی که کشف نشده و امکان پاکسازی آنها فراهم نگردیده باشد، برنامههای بسیاری را آلوده میکنند و از این رو یافتن سازنده و یا منشاء اصلی ویروس مشکل است.
تاریخچه
اولین تحقیق واقعی علمی و آکادمیک بر روی ویروسها توسط فرد کوهن در سال 1983، با نام ویروس که توسط لِن آدلمن ابداع شده بود، انجام شد. بعضاً از کوهن به عنوان «پدر ویروسهای کامپیوتری» نام برده میشود، اما واقعاً ویروسهایی بودند که قبل از شروع تحقیقات او تولید شده بودند. ویروس Elk Cloner نوشته شده توسط ریچ اسکرنتا در سال 1982 در گردش بود و ویروسهای تولید شده توسط جو دلینگر نیز بین سالهای 1981 تا 1983 ساخته شده بودند؛ که همهی آنها برای پلتفرمهای Apple II بودند. برخی منابع یک نقص فنی در Arpanet را در سال 1980 به عنوان اولین ویروس ذکر میکنند، اما آن فقط یک کد قانونی و مجاز بود که اشتباه کار میکرد و تنها مسألهای که ایجاد میکرد این بود که دادهها را در بستههای شبکه پخش میکرد. ویروسهای گریگوری بنفورد، تنها به به داستانهای علمیاش ختم نشد. او در سال 1969 ویروسهای غیر مخرب خود را در جایی که امروزه «آزمایشگاه ملی لیوِرمور لارنس» خوانده میشود و در Arpanet اولیه تولید و منتشر کرد.
میزبان ویروس
ویروس هم مانند هر برنامه کامپیوتری نیاز به محلی برای ذخیره خود دارد. ولی این محل باید به گونهای باشد که ویروسها را به وصول اهداف خود نزدیکتر کند. همان گونه که قبلاً ذکر شد اکثر ویروسها به طور انگلوار به فایلهای اجرایی میچسبند و آنها را آلوده میکنند. اصولاً میتوان فایلها را به دو گونه کلی «اجرایی» و «غیر اجرایی» تقسیم کرد که عموم ویروسها در فایلهای اجرایی جای گرفته و آنها را آلوده میکنند و واقعاً کمتر ویروسی یافت میشود که در یک فایل غیراجرایی قرار بگیرد و بتواند از طریق آن تکثیر شود.
لازم به ذکر است که بعضی از فایلها را شاید نتوان ذاتاً اجرایی نامید اما چون اینگونه فایلها میتوانند حاوی قسمتهایی اجرایی باشند، لذا آنها را از نوع اجرایی در نظر میگیریم. از این نوع فایلها میتوان به فایلهای اچتیامال و مستندات برنامههای اداره اشاره کرد که به ترتیب ممکن است شامل اسکریپت و ماکرو باشند. اسکریپتها و ماکروها قسمتهایی اجرایی هستند که در دل این فایلها قرار گرفته و کار خاصی را انجام میدهند.
در ذیل فهرست پسوندهای رایج فایلهای اجرایی ارائه شده است و اکثر نرمافزارهای ضد ویروس در حالت عادی (بدون تنظیمات خاص) این فایلها را ویروسیابی میکنند (البته در برخی برنامههای ضد ویروس ممکن است برخی پسوندها حذف یا اضافه شوند) :
.com ، .exe ، .dll ، .ovl ، .bin ، .sys ، .dot ، .doc ، .vbe ، .vbs ، .hta ، .htm ، .scr ، .ocx ، .hlp ، .eml
بنابراین یکی از اصلیترین میزبانهای ویروس، فایلهای اجرایی هستند. از طرف دیگر برخی ویروسها نیز از سکتور راهانداز (Boot Sector) و جدول بخشبندی دیسک (Master Boot Record یا Partition Table) به عنوان میزبان استفاده میکنند. سکتور راهانداز واحد راهاندازی سیستمعامل است که در سکتور شماره صفر دیسکت فلاپی و یا درایوهای منطقی یک دیسک سخت قرار دارد و جدول بخشبندی شامل اطلاعات تقسیمبندی دیسک سخت میباشد که آن نیز در سکتور شماره صفر دیسک سخت قرار دارد. اینگونه ویروسها با قرار گرفتن در یکی از این دو محل، هنگام راهاندازی کامپیوتر، اجرا شده و در حافظه سیستم مقیم میشوند و تا زمان خاموش کردن کامپیوتر و یا راهاندازی دوباره، همانجا مانده و فلاپیها و یا دیسکهای سخت دیگر را آلوده میکنند.
عملکرد ویروس
همانطور که گفته شد تنها پنج درصد از ویروسها دارای اثرات تخریبی هستند و بقیه صرفاً تکثیر میشوند. با توجه به این مطلب این پرسش مطرح است که چرا ویروسها به عنوان یک معضل شناخته میشوند و باید با آنها مبارزه کرد؟ پاسخ به این پرسش در موارد زیر خلاصه گردیده است:
۱ - بسیاری از ویروسها دارای اثراتی هستند که هرچند تخریبی نمیباشد ولی میتواند برای کاربر ایجاد مزاحمت کند. مثلاً ممکن است پیغامی نمایش دهد، باعث ریزش حروف صفحه نمایش به پایین شود یا اینکه یک آهنگ پخش نماید. علاوه بر این برخی از ویروسها به علت اشکالات نرمافزاری که ناشی از عدم دقت ویروسنویس میباشد، ممکن است دارای اثراتی غیرقابل پیشبینی باشند که گاهی این اثرات میتوانند تخریبی نیز باشند. از نقطه نظر کاربر اهمیتی ندارد که خسارت ایجاد شده بوسیله یک ویروس، یک کار عمدی پیشبینی شده توسط نویسنده ویروس بوده باشد یا یک اشتباه برنامهنویسی.
۲ - برخی از ویروسها در حافظه کامپیوتر مقیم شده و از این طریق عملیات تکثیر خود را انجام میدهند. این عمل ممکن است به گونهای باشد که جایی برای اجرای برنامههای دیگر نماند و یا باعث ایجاد تأخیر یا وقفه در حین عملیات سیستم اعم از اجرای برنامهها و یا راهاندازی کامپیوتر گردد.
۳ - فرض کنید که شما یک ویروس بر روی کامپیوتر خود داشته باشید. بسیار احتمال دارد که این ویروس به صورت غیرعمدی به یک دوست، همکار یا مشتری منتقل شود که این امر ممکن است باعث از بین رفتن اعتماد آنها به شما و شرکت شما شود.
۴ - ویروسها و برنامههای مخرب زیادی وجود دارند که اقدام به سرقت اطلاعات و کلمات عبور کاربر مینمایند. بعضی از اینگونه برنامهها با مقیم شدن در حافظه از عباراتی که توسط شما تایپ میشود گزارش گرفته و پس از اتصال رایانه شما به اینترنت این اطلاعات را برای مقصد خاصی ارسال میکنند. گیرنده این اطلاعات میتواند به راحتی از آنها سوء استفادههای مختلفی نماید.
علاوه بر همه اینها هیچ ویروسی کاملاً بیضرر نیست و در خوشبینانهترین حالت، آنها وقت شما، وقت پردازنده و فضای دیسک شما را تلف میکنند.
در مورد اثرات تخریبی ویروسهایی که آنها را به صورت عمدی انجام میدهند میتوان به موارد زیر اشاره نمود:
تخریب یا حذف برنامهها و اطلاعات بخشهای مختلف دیسکها.
فرمت کردن دیسکها.
کد کردن اطلاعات و برنامهها.
تخریب اطلاعات حافظه فلش ها.
مزاحمتهای فوق ممکن است به محض فعال شدن ویروس (یعنی قرار گرفتن ویروس در حافظه از طریق اجرای یک برنامه آلوده) و یا در یک تاریخ و زمان خاص و یا حتی با اجرای یک برنامه کاربردی خاص انجام شود.
انواع ویروسها
ارائه یک تقسیمبندی دقیق از ویروسها کار مشکلی است و میتوان ویروسها را به روشهای مختلفی تقسیمبندی کرد. این روشها میتواند بر اساس میزبان ویروس، سیستمعاملی که ویروس میتواند در آن فعالیت کند، روش آلودهسازی فایل و ... باشد. در زیر به برخی از این روشها اشاره میکنیم :
تقسیم بندی ویروسها بر اساس مقصد آلودهسازی:
۱ - ویروسهای فایلی (File Viruses) : ویروسهای فایلی، معمولاً فایلهای اجرایی را آلوده میکنند. فایلهای آلوده به این نوع از ویروسها اغلب (اما نه همیشه) دارای پسوند .com یا .exe هستند.
۲ - ویروسهای ماکرو (Macro Viruses) : ویروسهای ماکرو، مستندات برنامههایی را که از امکان ماکرونویسی پشتیبانی مینمایند (مانند MS Word ، MS Excel و...) آلوده میکنند. فایلهای اینگونه برنامهها اجرایی نیستند ولی درون آنها قسمتهایی اجرایی به نام «ماکرو» وجود دارد که میتواند میزبان مناسبی برای ویروسهای ماکرو باشد.
۳ - ویروسهای بوت و پارتیشن سکتوری (Boot Sector and Partition Table Viruses) : اینگونه ویروسها سکتور راهانداز (Boot Sector) دیسک سخت و دیسکت فلاپی یا جدول بخشبندی دیسکهای سخت را آلوده میکنند. با راهاندازی سیستم از روی دیسکی که به اینگونه ویروسها آلوده شده است، ویروس در حافظه مقیم شده و متعاقباً دیسکهایی را که مورد دسترسی قرار گیرند، آلوده میکند.
۴ - ویروسهای اسکریپتی (Script Viruses) : این ویروسها که اسکریپتهای نوشته شده به زبانهای ویژوال بیسیک یا جاوا میباشند، تنها در کامپیوترهایی اجرا میشوند که بر روی آنها Internet Explorer یا هر مرورگر وب دیگری با توانایی اجرای اسکریپتها، نصب شده باشد و فایلهای با پسوند .html ، .htm ، .vbs ، .js ، .htt یا .asp را آلوده میکنند.
ویروسها جدا از تقسیمبندی فوق، ممکن است در یک یا چند دسته از دستههای زیر نیز قرار بگیرند:
ویروسهای مقیم در حافظه (Memory Resident Viruses) :
اینگونه ویروسها با مقیم شدن در حافظه، هنگام دسترسی به فایلهای دیگر، آنها را آلوده میکنند.
ویروسهای مخفیکار (Stealth Viruses) :
اینگونه ویروسها به روشهای مختلف ردپای خویش را مخفی میکنند. به این معنی که فایلهای آلوده به اینگونه ویروسها به گونهای نشان داده میشود که یک فایل غیرآلوده جلوه کند. به عنوان مثال عموم ویروسها پس از آلوده کردن یک فایل، اندازه آن را افزایش میدهند و یا گاهی تاریخ و زمان ضبط فایل را عوض میکنند. اما ویروسهای مخفیکار میتوانند با روشهای خاص و بدون تغییر وضعیت ظاهری، عملیات خویش را انجام دهند.
ویروسهای کدشده (Encrypting Viruses) :
این ویروسها پس از هر بار آلودهسازی، با استفاده از شیوههای خود رمزی شکل ظاهری خود را تغییر میدهند.
ویروسهای چندشکلی (Polymorphic Viruses) :
اینگونه ویروسها با استفاده از الگوریتمهای خاص، علاوه بر تغییر شکل ظاهری خود، ساختار خود را نیز تغییر میدهند به طوریکه ممکن است جای دستورالعملها و حتی خود دستورالعملها نیز تغییر کنند.
ویروسهای فعالشونده بر اساس رویداد خاص(Triggered Event Viruses) :
ویروسهایی هستند که بخشی از عملیات تخریب خود را در ساعت و یا در تاریخ خاص انجام میدهند. البته باید توجه داشت که تکثیر و آلودهسازی فایلها در تمام اوقات فعال بودن ویروس انجام میشود.
نشانههای وجود ویروس
معمولاً سیستمی که به ویروس آلوده میگردد نشانههایی را از خود بروز میدهد که با دقت در آنها میتوان به ویروسی بودن احتمالی سیستم پی برد. بعضی از این نشانهها در زیر آمده است. اما باید دقت داشت که این نشانهها ممکن است در اثر عوامل غیرویروسی نیز ظاهر گردد. اما اگر کامپیوتر بطور عادی کار میکرده و ناگهان و بدون هیچگونه دستکاری، این علایم را از خود بروز میدهد، احتمال وجود ویروس بیشتر است:
۱ - سیستم در هنگام راهاندازی قفل میکند و احتمالاً پیغامهای غیرمعمول روی صفحه ظاهر میگردد.
۲ - هنگام اجرای برنامهها پیغام کمبود حافظه ظاهر شده و برنامه اجرا نمیگردد.
۳ - در کارچاپگر اختلال ایجاد میشود یا بدون هیچگونه فرمان چاپی شروع به کار میکند.
۴ - امکان دسترسی به برخی از درایوها وجود ندارد.
۵ - هنگام اجرای فایلها، پیغام File is Damaged یا File is Corrupted نمایش داده میشود.
۶ - هنگام اجرای یک فایل، کاراکترها و یا پیغامهای غیرعادی روی صفحه نمایش ظاهر میگردد.
۷ - هنگام کار در محیطهای گرافیکی، تصاویر به هم میریزد.
۸ - اصوات غیرمعمول یا موزیک از بلندگوهای کامپیوتر پخش میشود.
۹ - سیستم هنگام اجرای یک برنامه قفل کرده و حتی گاهی فشردن کلیدهای Ctrl+Alt+Del نیز نمیتواند سیستم را دوباره راهاندازی کند.
۱۰ - اطلاعات بخشی از دیسک سخت و یا تمام آن بطور ناگهانی از بین میرود یا دیسک سخت ناخواسته فرمت میشود.
۱۱ - اندازه فایلهای اجرایی افزایش مییابد.
۱۲ - خواص فایلهای اجرایی تغییر میکند.
۱۳ - سرعت سیستم بطور نامحسوسی کاهش مییابد.
۱۴ - اطلاعات Setup کامپیوتر از بین میرود.
۱۵ - برنامهها مراجعاتی به دیسکت انجام میدهند که قبلاً انجام نمیدادند.
۱۶ - کاهش فضای خالی دیسک بدون اینکه فایلی اضافه شده و یا به محتوای فایلها افزوده شده باشد.
۱۷ - نرمافزارهای مقیم در حافظه با خطا اجرا شده یا اصلاً اجرا نمیشوند.
۱۸ - بعضی برنامهها سعی در برقراری ارتباط با اینترنت را دارند.
۱۹ - هنگام کار با اینترنت مقدار ارسال و دریافت اطلاعات ناخواسته افزایش یافته و سرعت به شدت افت میکند.
۲۰ - نامههای الکترونیکی ناخواسته از روی سیستم ارسال شده و یا دریافت میگردد.
فناوری اطلاعات
فناوری اطلاعات (فا) (به انگلیسی: Information Technology یا IT)، همان طور که بهوسیله انجمن فناوری اطلاعات آمریکا (ITAA) تعریف شدهاست، «به مطالعه، طراحی، توسعه، پیادهسازی، پشتیبانی یا مدیریت سیستمهای اطلاعاتی مبتنی بر رایانه، خصوصا برنامههای نرمافزاری و سختافزار رایانه میپردازد». به طور کوتاه، فناوری اطلاعات با مسائلی مانند استفاده از رایانههای الکترونیکی و نرمافزار سروکار دارد تا تبدیل، ذخیره، حفاظت، پردازش، انتقال و بازیابی اطلاعات به شکلی مطمئن و امن انجام پذیرد.
اخیرا تغییر اندکی در این عبارت داده میشود تا این اصطلاح به طور روشن دایره ارتباطات مخابراتی را نیز شامل گردد. بنابراین عدهای بیشتر مایلند تا عبارت «فناوری اطلاعات و ارتباطات» (فاوا) (Information and Communications Technology) یا به اختصار ICT را به کار برند.
عناصر کاملا اصلی
فناوری اطلاعات متشکل از چهار عنصر اساسی انسان، ساز و کار، ابزار، ساختار است، به طوری که در این فناوری، اطلاعات از طریق زنجیره ارزشی که از بهم پیوستن این عناصر ایجاد میشود جریان یافته و پیوسته تعالی و تکامل سازمان را فراراه خود قرار میدهد:
انسان: منابع انسانی، مفاهیم و اندیشه، نوآوری
ساز و کار: قوانین، مقررات و روشها، سازوکارهای بهبود و رشد، سازوکارهای ارزش گذاری و مالی
ابزار: نرمافزار، سختافزار، شبکه و ارتباطات
ساختار: سازمانی، فراسازمانی مرتبط، جهانی
بسیاری مفهوم فناوری اطلاعات را با کامپیوتر و انفورماتیک ادغام میکنند، این درحالیست که اینها ابزارهای فناوری اطلاعات میباشند نه تمامی آنچه که فناوری اطلاعات عرضه میکند. سید حامد خسروانی شریعتی در مقالهای در همین زمینه آوردهاست که:" با فرض اینکه فناوری اطلاعات یک سیب باشد، کامپیوتر، شبکه، نرمافزار و دیگر ابزارهای مرتبط با این حوزه همانند دم سیب است که میوه توسط آن تغذیه میگردد، حال این خود سیب است که محصول اصلی است و هدف و نتیجه در آن خلاصه میگردد. "
زمینههای IT
امروزه معنای اصطلاح «فناوری اطلاعات» بسیار گسترده شدهاست و بسیاری از جنبههای محاسباتی و فناوری را دربر میگیرد و نسبت به گذشته شناخت این اصطلاح آسانتر شدهاست. چتر فناوری اطلاعات تقریباً بزرگ است و بسیاری از زمینهها را پوشش میدهد. متخصص فناوری اطلاعات وظایف گوناگونی دارد، از نصب برنامههای کاربردی تا طراحی شبکههای پیچیده رایانهای و پایگاه دادههای اطلاعاتی. چند نمونه از زمینههای فعالیت متخصصین فناوری اطلاعات میتواند موارد زیر باشند: فناوری اطلاعات و علوم کتابداری و اطلاع رسانی ارتباط تنگاتنگی با هم دارند. Information Technology در ایران متولی اصلی فناوری اطلاعات و ارتباطات را وزارت ارتباطات و فناوری اطلاعات میدانند.
ابزارهای نرمافزاری مدیریت خدمات فناوری اطلاعات
با افزایش چشمگیر تنوع تجهیزات و خدمات مربوط به فناوری اطلاعات، مدیریت خدمات ارائه شده در این حوزه نیز با چالشهای فراوانی روبرو شدهاست. مدیریت رسیدگی به مشکلات و درخواستها، مدیریت تجهیزات و منابع در رابطه با خدمات پشتیبانی فنی و تخصیص آنها به کاربران، و همچنین نظارت، کنترل و برنامه ریز در این زمینه از جمله مواردی است که مدیران حوزه فناوری اطلاعات را بر آن میدارد تا برای خود ابزارهای سودمند و کارا تدارک ببینند. از جمله این ابزارها، میتوان به نرمافزارهای مدیریت خدمات فناوری اطلاعات اشاره نمود که میتوانند مدیران و کارشناسان و تکنسینها را در این رابطه یاری نمایند.
فناوری اطلاعات در دانشگاههای ایران
در بیشتر کشورها این دانش در دانشگاهها با عنوان رشته «فناوری اطلاعات» (Information Technology) شناخته میشود، در حالیکه در ایران بر اساس تصمیم سازمان آموزش عالی کشور عنوان «مهندسی فناوری اطلاعات» برای این رشته بکار برده میشود و رشتهای نیز تحت عنوان مهندسی فناوری اطلاعات و ارتباطات (ICT) به پیشنهاد وزارت ارتباطات و فناوری اطلاعات اخیراً در دانشگاههای ایران تدریس میشود همچنین رشتهای با عنوان فقط «فناوری اطلاعات» وجود ندارد. همچنین رشتهٔ میانرشتهای دیگری با عنوان رشته «مدیریت فناوری اطلاعات» در دانشگاههای ایران و دیگر کشورها وجود دارد که از ترکیب دو رشته "مدیریت" و «فناوری اطلاعات» به وجود آمدهاست. رشته مهندسی فناوری اطلاعات به چگونگی سازماندهی و ساماندهی دادهها میپردازد و رشته مدیریت فناوری اطلاعات به چگونگی تدوین سیستم و استفاده از دادهها میپردازد. هرکدام از این رشتهها دارای گرایشهای ویژه خود هستند که در دانشگاههای ایران به شرح زیرند:
مهندسی فناوری اطلاعات:
تجارت الکترونیکی
سیستمهای چندرسانهای
مدیریت سیستمهای اطلاعاتی
امنیت اطلاعات
شبکههای کامپیوتری
مهندسی فناوری اطلاعات (IT)
علم اطلاعات ودانش شناسی:
مدیریت اطلاعات
بازیابی اطلاعات ودانش
علم سنجی
اقتصاد و بازاریابی اطلاعات
مدیریت دانش
گرایشهای رشته مدیریت فناوری اطلاعات:
مدیریت منابع اطلاعاتی
سیستمهای اطلاعات پیشرفته
نظام کیفیت فراگیر
کسب و کار الکترونیک (کارشناسی ارشد)
مدیریت دانش (کارشناسی ارشد)
مدیریت رسانه (کارشناسی ارشد)
فناوری اطلاعات پزشکی (کاربرد فناوری اطلاعات در پزشکی)
گرایشهای رشته مهندسی فناوری اطلاعات و ارتباطات:
مدیریت شبکه
دیتا و امنیت شبکه
ارتباطات سیار
مدیریت ارتباطات و فناوری اطلاعات
سیستمهای چند رسانهای
دروس تخصصی مهندسی فناوری اطلاعات
درسهای تخصصی کارشناسی مهندسی فناوری اطلاعات عبارتند از:
مبانی فناوری اطلاعات
مهندسی فناوری اطلاعات
تجارت الکترونیکی
مدیریت و کنترل پروژههای فناوری اطلاعات
برنامهریزی استراتژیک فناوری اطلاعات
آموزش الکترونیکی
محیطهای چند رسانهای
پروژه فناوری اطلاعات
کارآموزی IT
گرافیک کامپیوتری
ریاضی
فناوری اطلاعات در ایران
در ایران همیشه بحث بر سر متولی اصلی فناوری اطلاعات وجود داشت تا با تغییر نام وزارت پست و تلگراف و تلفن در سال ۱۳۸۲ به وزارت ارتباطات و فناوری اطلاعات و مهمتر از آن ایجاد معاونت فناوری اطلاعات وزارت ارتباطات، خود را متولی اصلی فناوری اطلاعات در کشور مطرح ساخت. از این سال به بعد توسعه همهجانبهای در این وزارتخانه صورت گرفت تا شرکتها و مراکز متعددی زیر مجموعه آن تشکل یافتند و هر یک از آنها با توانمندیها و فعالیتهای بسیار، تحولات فراوانی را شکل داده و باعث گسترش وضع ارتباطی کشور در بخشهای پست و مخابرات شدند. معاونت فناوری اطلاعات به منظور تدوین راهبردها، سیاستها، برنامههای بلند مدت و اهداف کیفی و کمی بخش توسعه فناوری اطلاعات و ارائه آن به شورای عالی فناوری اطلاعات معاونتی تحت عنوان معاونت فناوری اطلاعات در ساختار سازمانی وزارت ارتباطات و فناوری اطلاعات در نظر گرفته شد. و کمکم سازمانهایی مثل سازمان فناوری اطلاعات و ارتباطات زیرساخت نیز در این رابطه شکل گرفتند.
نظریه محاسبات
نظریهٔ محاسبات یا تئوری محاسبات (Theory of computation) زمینهٔ وسیعی است که امکان و کارآیی حل مسائل گوناگون به وسیلهٔ مدلهای محاسباتی، با استفاده از الگوریتمها را مورد مطالعه قرار میدهد.
این نظریه را به دو شاخهٔ عمده بهصورت زیر تقسیم میکنند:
نظریهٔ محاسبهپذیری یا قابلیت محاسبه
نظریهٔ پیچیدگی
هر دو شاخهٔ فوق با مدلهای صوری محاسبات سر وکار دارد.
تاریخچه
ریشههای تاریخی تئوری محاسبات را میتوان در کارهای منطقدانهایی که در دههٔ ۱۹۳۰ مدلهایی ریاضی برای مفهوم الگوریتم ارائه دادند، جستجو کرد. آلن تورینگ، امیل پست، و آلونزو چرچ در ۱۹۳۶ نخستین تعاریف دقیق را برای مفاهیم محاسبه و توابع محاسبهپذیر ارائه دادند.
یکی از اهداف مهم این پیشگامان، بررسی مسائلی مانند برنامه هیلبرت و قضایای گودل بود که در منطق و مبانی ریاضی مطرح شده بود.
یکی از نتایجی که بلافاصله از این تئوری به دست آمد اثبات تمییز ناپذیری مساله توقف بود. یعنی الگوریتمی وجود ندارد که تشخیص دهد یک الگوریتم با یک ورودی داده شده متوقف میشود یا نه. به کمک این مطلب میتوان اثباتی زیبا از قضیه اول ناتمامیت گودل به دست آورد.
از دیگر نتایج قابل توجه اثبات تمیز ناپذیری منطق مرتبه اول بود که توسط چرچ ثابت شد.
به زودی مشخص شد که میتوان از این تئوری در ساخت ماشینهایی فیزیکی که محاسبه انجام دهند استفاده کرد، کاری که چند سال بعد با ساخته شدن نخستین کامپیوترها عملی شد.
امروزه نظریهٔ محاسبه از شاخههای بنیادی در منطق ریاضی و علوم نظری کامپیوتر محسوب میشود و در مطالعهٔ مبانی ریاضی و همچنین تئوری الگوریتمها و پیچیدگی محاسبه و بسیاری از مسائل تحقیقاتی در ریاضیات و علوم کامپیوتر نقش اساسی دارد.
رایانش
رایانش به کاربری یا توسعهٔ فناوری رایانه، سختافزار یا نرمافزار رایانه میگویند. رایانش شامل تخصصهای فناوری اطلاعات است که به رایانهها ،سختافزارها یا نرمافزارها و دیگر دانشهای تخصصی مربوط میشود. علوم رایانه دانش پایههای نظری اطلاعات و محاسبات و کاربرد آنها در سامانههای رایانهای است.
رایانش خودمختار
رایانش خود مختار (به انگلیسی: Autonomic Computing) طرحی ابتکاری است که اولین بار توسط آی بی ام در سال ۲۰۰۱ آغاز شد. هدف نهایی آن ساخت سیستمهای رایانه ای با قابلیت خود-مدیریتی است تابرپیچیدگی روزافزون مدیریت سیستمهای رایانشی غلبه کنند و موانعی که بر اثراین پیچیدگیها برسرراه گسترشهای آتی بوجود می آیندراکاهش دهند.به عبارت دیگر رایانش خودمختار اشاره به ویژگیهای خود-مدیریتی منابع رایانشی توزیع شده دارد. یک سیستم خودمختار خودش با استفاده از سیاستهای سطح بالا تصمیم گیری می کند؛ پیوسته وضعیت خود را بررسی و بهینه میکند و خود را با شرایط در حال تغییر تطبیق می دهد. چنانکه در بسیاری از رسالههای علمی اشاره شده است یک چارچوب رایانش خود مختار را می توان به صورت ترکیبی از مولفههای خودمختار در تعامل با یکدیگر دانست. یک مولفه خود مختار را می توان ترکیبی از دو حلقه کنترل(محلی و سراسری)، حسگرها (برای نظارت بر خود) و تاثیرگذارها(برای تنظیم خود)، دانش و برنامه ریز/تطبیق دهنده برای بهره برداری از سیاستها برپایه آگاهی از خود و محیط دانست.
رایانش توزیعشده
رایانش توزیعشده یک زمینه از علوم رایانه است، که در آن به سیستمهای توزیعشده پرداخته میشود. یک سیستم توزیعشده از چندین رایانه خودکار تشکیل شده که توسط یک شبکه رایانهای با هم دیگر در ارتباط اند. کامپیوترها با هم ارتباط برقرار میکنند تا به یک هدف مشترک برسند. یک برنامه کامپیوتری که در یک سیستم توزیعشده اجرا میشود، یک برنامه توزیعشده نامیده میشود و به فرآیند نوشتن چنین برنامههایی برنامه نویسی توزیعشده اطلاق میشود. رایانش توزیعشده همچنین به استفاده از سیستمهای توزیعشده برای حل مسائل محاسباتی اطلاق میشود. در رایانش توزیعشده یک مسئله به وظایف مختلف تقسیم میشود که هر کدام از آنها توسط یک کامپیوتر یا بیشتر حل میشود.این وظایف از طریق ارسال پیام با یکدیگر در ارتباط هستند.
مقدمه
کلمه توزیعشده در اصطلاحات «سیستمهای توزیعشده» و «برنامه نویسی توزیعشده» و «الگوریتم توزیعشده» در واقع به شبکههای کامپیوتری ای اطلاق میشود که در آن کامپیوترهای شخصی به طور فیزیکی در برخی مناطق جغرافیایی توزیع میشوند.
رایانش توزیعشده یا توزیعیافته به دستهای از محاسبات رایانهای اطلاق میشود که در آن دو، یا معمولاً چند کامپیوتر از طریق یک شبکه رایانهای به هم متصل شده و با استفاده از یک الگوریتم موازی بار محاسباتی مابین آنها توزیع میشود.
در همه موارد نمیتوان از این روش استفاده کرد، تکلیفی که میخواهیم از طریق محاسبات توزیعشده انجام گیرد باید قابلیت تقسیم شدن به چند تکه کوچکتر را داشته باشد. جستجو از جمله تکالیفی است که بالاترین موفقیت را در محاسبات توزیعشده دارد.
رایانش مشبک
شبکههای گرید محاسباتی شبکههای محاسباتی گرید مجموعهای از چندین سیستم با قدرت محاسباتی متفاوت میباشد که با متصل شدن این قدرت محاسباتی حاصل یک ابر رایانهٔ مجازی شکل میگیرید که با استفاده از آن میتوان بسیاری از محاسبات پیچیدهٔ ریاضی، نجوم، زیست و... را در زمان بسیار کمی انجام داد. شعار شبکههای محاسباتی نادیده گرفتن نگرانیهای ناشی از محدودیت سختافزاری سیستمهای کامپیوتری میباشد. در شبکههای محاسباتی یا همان Grid computing منابع (منظور منابع فیزیکی) بین چندین کاربر موجود در شبکه مشترک هستند. هر کاربر، بصورت همزمان با دیگر کاربران درخواستهایش را ارائه میکند، از این رو پروسهها از چندین کاربر وارد میشود که این کارها از هم مستقل و هر درخواست با درخواست دیگر متفاوت است. معمولاً بخش مدیریت منابع (Resource management) با محاسبات متفاوت، سرعت و اندازههای مختلف کارها را دریافت میکند، سپس این پروسههای ورودی را به گرههای محاسباتی(Nodes Computational) موجود در شبکه اختصاص میدهد.
دانشجویان دانشگاهها و محققین در این حوزه بدلیل هزینه زیاد برپایی یک شبکهٔ محاسباتی برای انجام آزمایشات خود ناچار به استفاده از نرمافزارهای شبیهسازی میشوند. از مهمترین نرمافزارهای شبیهسازی گرید میتوان به Grid sim اشاره کرد، در Grid sim ما با خصوصیات و ومعماری ابزارهای شبیهسازی Grid سرو کار داریم. Grid simیک toolkit یا جعبه ابزار برای مدلسازی منابع و شبیهسازی اتصال شبکه با پیکر بندیهای مختلف است. اجزاء این شبیهساز یک APIjava و بخشی از پروژه grid bus هست. Grid sim toolkit قادر است گروه هاو دستههای مختلفی از منابع ناهمگن، کاربران، برنامههای کاربردی، و زمانبندها را شبیهسازی کند.
انواع گرید
گریدها شبه به هم نیستند واندازه و شکل متفاوتی دارند، در ادامه سه تقسیم بندی یا کلاس Gridهای فعلی را که رایانههای فردی را تبدیل به یک مزرعهٔ ابر رایانه با هزاران پردازنده کرده فهرست شده است:
- گرید خوشهای(cluster) که ساده ترین نوع این سیستم هستند از مجموعهای از رایانهها که با هم کار میکنند تشکیل شدهاند ویک نقطه دسترسی به سیستم برای کاربران یک پروژه یا بخش سازمانی خاص ایجاد میکنند.
- گرید پردیزه (campus) به پروژهها و بخشهای سازمانی متعدد اجازه میدهد که منابع رایانهای خود رابا هم به اشتراک گذارند. سازمانها میتوانند از این نوع سیستم برای مدیریت کارهای زیاد از فرایندهای تجاری سازمان تا داده کاوی استفاده کنند.
- گرید جهانی(global) مجموعهای از چندین گرید پردیزه میباشند که پا بر فراز مرزهای سازمانی گذاشتهاند و یک سیستم مجازی بسیار بزرگ را ایجاد کردهاند. کاربران میتوانند به منابع رایانهای بیش از آنچه که در سازمان دارند دسترسی داشته باشند
رایانش موازی
رایانش موازی یا محاسبات موازی به اجرای همزمان یک برنامه (که به بخشهای کوچکتری تقسیم شدهاست) بر روی چند پردازنده به منظور دستیابی به سرعت بیشتر اطلاق میشود. ایدهٔ اصلی این است که فرایند حل یک مساله را معمولاً میتوان به زیروظایف خردتری تقسیم کرد که با اجرای همزمان این زیروظایف و هماهنگ کردن آنها مساله اصلی در زمان کوتاهتری حل میشود.
تعریف
یک سیستم محاسبات موازی رایانه ایست با بیش از یک پردازنده که برای پردازش موازی استفاده میشود. در گذشته، در یک سیستم چندپردازنده هر پردازنده در یک بستهبندی جداگانه قرار داشت، اما امروزه با معرفی تراشههای چندهستهای، چندین پردازنده در کنار یکدیگر در یک بسته قرار میگیرند. در حال حاضر انواع بسیار گوناگونی از رایانههای موازی وجود دارند که بر اساس نوع اتصالات بین پردازندهها و حافظه از یکدیگر متمایز میشوند. رده بندی Flynn که یکی از پذیرفتهشدهترین ردهبندیها برای رایانههای موازی است، رایانههای موازی را بر این اساس طبقهبندی میکند که آیا شامل پردازندههایی هستند که همگی همزمان یک دستور یکسان را روی دادههای متفاوتی اجرا میکنند (یک دستور چند داده SIMD: Single Instruction Multiple Data) و یا هر پردازنده دستور متفاوتی را روی دادههایی متفاوت اجرا میکند (چند دستور چند داده MIMD: Multiple Instruction Multiple Data).
پرداش موازی
پرداش موازی اجرای یک فرایند به طور هم زمان، عموماً با تقسیم عملیات پردازش بر روی چندین پردازنده به منظور افزایش کارایی و در نهایت سرعت بخشیدن به رسیدن به جواب است. گاهی استفاده از تکنیکهای اشتراک زمان را در یک پردازنده، به اشتباه پردازش موازی به حساب میآورند (چند پروسه به طور موازی روی یک پردازنده اجرا میشوند). ایدهٔ این کار بر این مبنا است که هر مساله به طور معمول قابل تقسیم به چندین مساله با اندازهٔ کوچکتر است که این مسالههای کوچکتر میتوانند به صورت همزمان حل شده و در نهایت ادغام شوند تا نتیجه نهایی سریعتر بدست آید.
کاهش زمان محاسبه، امکان حل مسایل بزرگتر، غلبه بر محدودیتهای حافظه، صرفه اقتصادی و استفاده از فناوریهای روز از جمله برتریهایی است که برای پردازش موازی نسبت به پردازش سریال (روش سنتی تر پردازش اطلاعات) برشمرده میشود.
رایانش ابری
رایانش ابری (به انگلیسی: Cloud Computing) مدل رایانشی بر پایهٔ شبکههای رایانهای مانند اینترنت است که الگویی تازه برای عرضه، مصرف و تحویل خدمات رایانشی (شامل زیرساخت، نرمافزار، بستر، و سایر منابع رایانشی) با به کارگیری شبکه ارائه میکند "رایانش ابری" از ترکیب دو کلمه رایانش و ابر ایجاد شده است. ابر در اینجا استعاره از شبکه یا شبکهای از شبکههای وسیع ماننداینترنت است که کاربر معمولی از پشت صحنه و آنچه در پی آن اتفاق میافتد اطلاع دقیقی ندارد (مانند داخل ابر) در نمودارهای شبکههای رایانهای نیز از شکل ابر برای نشان دادن شبکهٔ اینترنت استفاده میشود. دلیل تشبیه اینترنت به ابر در این است که اینترنت همچون ابر جزئیات فنیاش را از دید کاربران پنهان میسازد و لایهای از انتزاع را بین این جزئیات فنی و کاربران به وجود میآورد. به عنوان مثال آنچه یک ارائهدهندهٔ خدمت نرمافزاری رایانش ابری ارائه میکند، برنامههای کاربردی تجاری برخط است که از طریق مرورگر وب یا نرمافزارهای دیگر به کاربران ارائه میشود. نرمافزارهای کاربردی و اطلاعات، روی سرورها ذخیره میگردند و براساس تقاضا در اختیار کاربران قرار میگیرد. جزئیات از دید کاربر مخفی میمانند و کاربران نیازی به تخصص یا کنترل در مورد فناوری زیرساخت ابری که از آن استفاده میکنند ندارند. . رایانش ترجمه کلمه " Computing" است که در بعضی متون به جای رایانش از محاسبات و پردازش استفاده شده است. البته محاسبات و پردازش معادل کاملی از این کلمه نیست. زیرا بر اساس تعریف واژه نامههای معتبر مانند آکسفورد، لانگمن این واژه به معنای استفاده از رایانه و عملیات رایانهها یا اموری است که یک رایانه انجام میدهد و محاسبه و پردازش تنها یکی از این امور است. به طور نمونه یک رایانه همانطور که برای اجرای فرامین به محاسبه و پردازش میپردازد، به همین ترتیب مدارک و فایلها را در هارد دیسک یا صفحه سخت خود ذخیره میکند، امکان ایجاد ارتباط میان افراد را فرآهم میآورد که این امور چیزی بیش از یک محاسبه و پردازش صرف است. به علاوه در معنای علوم رایانه معادلهای دیگری برای کلمات “محاسبه” و “پردازش”وجود دارند، مانند” calculation” و” processing ”، که عدم تمایز این کلمات با یکدیگر میتواند منشاء اشتباه در درک این مفاهیم شود.. رایانش ابری راهکارهایی برای ارائهٔ خدمات فناوری اطلاعات به شیوههای مشابه با صنایع همگانی (آب، برق، تلفن و ...) پیشنهاد میکند. این بدین معنی است که دسترسی به منابع فناوری اطلاعات در زمان تقاضا و بر اساس میزان تقاضای کاربر به گونهای انعطافپذیر و مقیاسپذیر از راه اینترنت به کاربر تحویل داده میشود. همانطور که کاربر تنها هزینه برق یا آب مصرفی خود را میپردازد. در صورت استفاده از رایانش ابری نیز کاربر تنها هزینه خدمات رایانشی مورد استفاده خود (اگر هزینه از کاربر دریافت شود) را پرداخت خواهد کرد.
رایانش ابری را گروهی تغییر الگووارهای میدانند که دنبالهروی تغییری است که در اوایل دهه ۱۹۸۰ از مدل رایانه بزرگ به مدل کارخواه-کارساز صورت گرفت.
تعریف
با پیشرفت فناوری اطلاعات نیاز به انجام کارهای محاسباتی در همه جا و همه زمان به وجود آمده است. همچنین نیاز به این هست که افراد بتوانند کارهای محاسباتی سنگین خود را بدون داشتن سختافزارها و نرمافزارهای گران، از طریق خدماتی انجام دهند. رایانش ابری آخرین پاسخ فناوری به این نیازها بوده است. از آنجا که اکنون این فناوری دوران طفولیت خود را میگذراند، هنوز تعریف استاندارد علمی که مورد قبول عام باشد برای آن ارائه نشده است اما بیشتر صاحبنظران بر روی قسمتهایی از تعریف این پدیده هم رای هستند. موسسه ملی فناوری و استانداردها (NIST) رایانش ابری را اینگونه تعریف میکند:
«رایانش ابری مدلی است برای فراهم کردن دسترسی آسان بر اساس تقاضای کاربر از طریق شبکه به مجموعهای از منابع رایانشی قابل تغییر و پیکربندی (مثل: شبکهها، سرورها، فضای ذخیرهسازی، برنامههای کاربردی و سرویسها) که این دسترسی بتواند با کمترین نیاز به مدیریت منابع و یا نیاز به دخالت مستقیم فراهمکننده سرویس به سرعت فراهم شده یا آزاد (رها) گردد.»
عموماً مصرف کنندههای رایانش ابری مالک زیر ساخت فیزیکی ابر نیستند، بلکه برای اجتناب از هزینه سرمایهای آن را از عرضه کنندگان شخص ثالث اجاره میکنند. آنها منابع را در قالب سرویس مصرف میکنند و تنها بهای منابعی که به کار میبرند را میپردازند. بسیاری از سرویسهای رایانش ابری ارائه شده، با به کار گیری مدل رایانش همگانی امکان مصرف این سرویسها را به گونهای مشابه با صنایع همگانی (مانند برق) فراهم میسازند. این در حالی است که سایر گونههای عرضه کنندگان بر مبنای اشتراک سرویسهای خود را عرضه میکنند. به اشتراک گذاردن قدرت رایانشی «مصرف شدنی و ناملموس» میان چند مستاجر میتواند باعث بهبود نرخ بهرهوری شود؛ زیرا با این شیوه دیگر کارساز (سرور)ها بدون دلیل بیکار نمیمانند (که سبب میشود هزینهها به میزان قابل توجهی کاهش یابند در عین حال که سرعت تولید و توسعه برنامههای کاربردی افزایش مییابد). یک اثر جانبی این شیوه این است که رایانهها به میزان بیشتری مورد استفاده قرار میگیرند زیرا مشتریان رایانش ابری نیازی به محاسبه و تعیین حداکثری برای بار حداکثر (Peak Load) خود ندارند.
مقایسه با مدلهای دیگر رایانش
رایانش ابری اگرچه برخی از ویژگیهایش را از مدلهای رایانشی دیگر به ارث میبرد؛ اما خود متفاوت از آنهاست. برخی از این مدلها عبارتند از:
رایانش شبکهای -«شکلی از رایانش توزیع شده و رایانش موازی که در آن یک رایانه مجازی بزرگ از رایانههایی تشکیل شدهاست که با جفتگری ضعیف به هم شبکه شدهاند و با هماهنگی با یکدیگر کار میکنند تا وظایف سنگین را به انجام برسانند».
رایانش خودمختار - «سامانههای رایانهای با قابلیت خود-مدیریت».
مدل مشتری/سرور - رایانش مشتری/سرور به صورت گسترده به هر برنامه کاربردی توزیع یافته ای گفته میشود که بین ارائه دهنده سرویس (سرور) و درخواست کننده سرویس (مشتری) تمایز قایل میشود.
رایانه بزرگ - رایانههای قدرتمند توسط سازمانهای بزرگ برای کاربردهای بحرانی بکار برده میشوند. این کاربردها نوعاً شامل پردازش حجم زیاد داده میباشد. به طور نمونه میتوان از سرشماری، آمار مصرف کننده و صنعت، برنامهریزی منابع سازمانی(ERP) و پردازش تراکنشهای مالی نام برد.
رایانش همگانی - «عبارت است از بسته بندی منابع رایانشی مانند منابع محاسباتی و دخیره سازی، در قالب سرویسهای قابل اندازهگیری، به گونهای مشابه با صنایع همگانی (آب، برق، تلفن و ...)؛
نظیر به نظیر - گونهای از معماری توزیع شده بدون هماهنگی مرکزی است که در آن شرکت کنندگان میتوانند در آن واحد عرضه کننده و نیز مصرف کننده منابع باشند. (بر خلاف مدل کارخواه-کارساز سنتی)
تاریخچه
پیدایش مفاهیم اساسی رایانش ابری به دهه ۱۹۶۰ بازمی گردد. زمانی که جان مک کارتی اظهار داشت که «رایانش ممکن است روزی به عنوان یکی از صنایع همگانی سازماندهی شود». تقریباً تمام ویژگیهای امروز رایانش ابری (تدارک الاستیک، ارائه به صورت یک صنعت همگانی، برخط بودن و توهم دسترسی به عرضه نامحدود) به همراه مقایسه با صنعت برق و شکلهای مصرف عمومی وخصوصی و دولتی وانجمنی را پارک هیل داگلاس در کتابی که با عنوان «مشکل صنعت همگانی رایانه» در سال ۱۹۶۶ مورد بررسی قرار داد. واژهٔ ابر در واقع بر گرفته از صنعت تلفن است به این گونه که کمپانیهای ارتباطات راه دور که تا دهه ۱۹۹۰ تنها خطوط نقطه به نقطهٔ اختصاصی ارائه میکردند، شروع به ارائه شبکههای خصوصی مجازی با کیفیتی مشابه و قیمتهای کمتر نمودند. نماد ابر برای نمایش نقطه مرزی بین بخشهایی که در حیطه مسئولیت کاربرند و آنهایی که در حیطه مسئولیت عرضه کننده بکار گرفته میشد. رایانش ابری مفهوم ابر را به گونهای گسترش میدهد که سرورها را نیز علاوه برزیر ساختهای شبکه در بر گیرد.
سایت آمازون با مدرن سازی مرکز داده خود نقش مهمی در گسترش رایانش ابری ایفا کرد. بعد از حباب دات-کام آنها دریافتند که با تغییر مرکز دادههای خود - که ماننداغلب شبکههای رایانهای در بیشتر اوقات تنها از ۱۰٪ ظرفیت آن استفاده میشدو مابقی ظرفیت برای دورههای کوتاه اوج مصرف در نظر گرفته شده بود - به معماری ابر میتوانند بازده داخلی خود را بهبود بخشند. آمازون از سال ۲۰۰۶ امکان دسترسی به سامانه خود از طریق وب سرویسهای آمازون را بر پایه رایانش همگانی ارائه کرد. در سال ۲۰۰۷، گوگل و آی بی ام به همراه چند دانشگاه پروژهای تحقیقاتی در مقیاسی بزرگ را در زمینه رایانش ابری آغاز نمودند.
در اواسط سال ۲۰۰۸ شرکت گارتنر متوجه وجود موقعیتی در رایانش ابری شد که برای «شکل دهی ارتباط بین مصرف کنندگان خدمات فناوری اطلاعات، بین آنهایی که این سرویسها را مصرف میکنند و آنها که این سرویسها را میفروشند» بوجود میآید.
اقتصاد رایانش ابری
کاربران رایانش ابری میتوانند از هزینه سرمایهای لازم برای خرید سختافزار و نرمافزار و خدمات دوری کنند، زیرا آنها تنها برای آنچه که استفاده میکنند به عرضه کنندگان پرداخت میکنند و هزینه اولیهای برای خرید تجهیزات به آنها تحمیل نمیشود. سایر مزایای اقتصادی این شیوه اشتراک زمانی در ارائه منابع رایانشی عبارتند از: موانع ورود به بازار کمتر، هزینه و زیر ساخت اشتراکی، سربار مدیریتی کمتر و دسترسی سریع به طیف وسیعی از برنامههای کاربردی.
عموماً کاربران میتوانند در هر زمانی قراردادشان را پایان دهند (و به این وسیله از ریسک و عدم قطعیت در نرخ بازگشت سرمایه بکاهند) و غالباً سرویسها زیر پوشش یک قرارداد سطح سرویس با جریمههای مالی قرار میگیرند.
بنا به گفته نیکلاس کار، اهمیت راهبردی (استراتژیک) فناوری اطلاعات با استاندارد شدن و ارزان تر شدن آن کاهش مییابد. او استدلال میکند که تغییرالگووارهٔ رایانش ابری شبیه به جایگزینی ژنراتورهای مولد برق با شبکههای توزیع برق است که در اوایل قرن بیستم رخ داد. اگر چه کمپانیها ممکن است بتوانند هزینههای پیش پرداختی سرمایهای را حذف کنند اما در مورد هزینههای عملیاتی کاهش چندانی صورت نمیگیرد و ممکن است در عمل هزینههای عملیاتی افزایش یابند. در مواردی که هزینههای سرمایهای نسبتاً کوچک باشند یا سازمان انعطافپذیری بیشتری در مورد هزینههای سرمایهای نسبت به هزینههای عملیاتی داشته باشد، از دیدگاه مالی رایانش ابری انتخاب مناسبی نخواهد بود. سایر عواملی که بر میزان کاهش هزینه بالقوه استفاده از رایانش ابری تاثیر میگذارند عبارتند ازمیزان بازدهی مرکز دادهها ی کمپانی در مقایسه با فروشندگان رایانش ابری، هزینههای عملیاتی فعلی کمپانی، میزان پذیرش و استفاده از رایانش ابری و نوع کاربردی که باید در ابر میزبانی شود.
ساختار مدل
معماری
معماری سامانههای نرمافزاری دست اندر کار در ارائهٔ رایانش ابری عموماً شامل اجزایی است که با یکدیگر از طریق رابط برنامهنویسی نرمافزار و معمولاً وبسرویس ارتباط برقرار میکنند.
این طراحی شباهتی با فلسفه یونیکس دارد که در آن چند برنامهٔ مختلف که هر یک کاری را به خوبی انجام میدهند، با یکدیگر از طریق واسطهای جهانی کار میکنند. پیچیدگی کنترل میشود و سامانههای حاصل مدیریت پذیرتر از همتاهای یکپارچهنبوی
لایهها
کاربر
کاربر رایانش ابری متشکل از سختافزار و نرمافزاری است که برای تحویل برنامههای کاربردی از ابر استفاده میکند و یا آنکه به طورویژه تنها برای تحویل سرویسهای ابر طراحی شدهاست که در هر دوی موارد بدون وجود ابر بی استفاده باشد. مثال: رایانهها، تلفنها و سایر دستگاهها، سیستمعاملها و مرورگرهای وب.
برنامههای کاربردی
سرویسهای برنامه کاربردی ابری یا «نرمافزار به عنوان سرویس»(SaaS)، نرمافزار را به صورت سرویس روی اینترنت تحویل میدهند و بدین وسیله نیاز به نصب نرمافزار روی رایانههای مشتریان را ازبین میبرند و نگهداری و پشتیبانی را ساده تر میسازد. ویژگیهای اصلی این سرویسها عبارتند از:
دسترسی و مدیریت نرمافزار تجاری از طریق شبکه
فعالیتها از سرور مرکزی اداره میشوند و نه در مکان هریک از مشتریان و در نتیجه مشتریان میتوانند از راه دور و از طریق وب به برنامهها دسترسی داشته باشند.
مدل تحویل نرمافزار به مدل یک-به-چند (یک نسخه در حال اجرا از برنامه - مدل چند مستاجری) نزدیک تر است تا مدل یک-به-یک.
به روز رسانی و ارتقای نرمافزار به صورت مرکزی اداره میشود و نیاز به بارگیری (دانلود) وصلهه یا ارتقا دهندهها را برطرف میسازد.
بستر
سرویسهای بستر ابری یا «بستر به عنوان سرویس»(PaaS) بستر رایانشی ویا پشتهٔ راهکار -که اغلب روی زیرساخت ابری اجرا شده و برنامه کاربردی ابری را تغذیه میکند- را به صورت سرویس ارایه میدهد. سرویس بستر ابری استقرار برنامههای کاربردی را بدون هزینه و پیچیدگی خرید و مدیریت لایههای نرمافزاری و سختافزاری زیرین آسان میسازد.
زیرساخت
سرویسهای زیرساخت ابری یا «زیرساخت به عنوان سرویس»(IaaS) زیرساخت رایانهای را که عموماً یک بستر مجازی است را به صورت سرویس ارائه میدهند. کاربران به جای خرید سختافزار و نرمافزار و فضای مرکز داده (دیتا سنتر) ویا تجهیزات شبکه، همهٔ این زیر ساختها را به صورت یک سرویس کاملاً برونسپاری(Outsource) شده میخرند. صورتحساب سرویس معمولاً بر اساس مدل رایانش همگانی (Utility Computing) و میزان منابع مصرف شده صادر میشود و بنابر این هزینه منعکس کننده میزان فعالیت است. این شیوه در واقع تکامل یافته مدل عرضه سرورهای خصوصی مجازی است.
وبمستر
وبمستر به طراحان وب، توسعه دهندگان وب، وبلاگ نویسان، مدیران وبسایت و تمامی افرادی که در مدیریت یک وبگاه نقش دارند گفته میشود.
وب جهانگستر
جهان وب٬
وب جهانگستر٬ تار گیتیگستر٬ یا به طور ساده وب (به انگلیسی: World Wide Web) یک سامانهٔ اطلاعاتی از پروندههای ابرمتنی متصلبههم است که از طریق شبکهٔ جهانی اینترنت قابل دسترسی هستند. بهکمک یک مرورگر وب میتوان صفحات وب (که شامل متن، تصویر، ویدیو و سایر محتویات چندرسانهای هستند) را مشاهده و بهکمک ابرپیوندها در میان آنها حرکتکرد. تیم برنرز لی، یک پژوهشگر علوم رایانه و کارمند موسسهٔ سرن
در نزدیکی ژنو، در ماه مارچ سال ۱۹۸۹ میلادی پیشنهاد اولیهٔ وب امروزی را مطرح کرد.پیشنهاد ارائهشده در ۱۹۸۹ قرار بود که یک سیستم ارتباطی برای موسسه سرن شود، اما برنرز لی بهزودی متوجهشد که این ایده قابلیت جهانیشدن را دارد.برنرز لی به همراه رابرت کایلیائو در سال ۱۹۹۰ میلادی این پیشنهاد را بهعنوان «پیوند و دسترسی به اطلاعات مختلف بهصورت تارنمایی از گرههایی که کاربران به دلخواه در میان آنها حرکت میکنند» ارائه دادند.برنرز لی در ماه و در ۷ اوت سال ۱۹۹۱ میلادی آنرا بهعنوان یک پروژه بر روی گروه خبری alt.hypertext منتشر کرد.
واژهٔ وب
واژهٔ وب (به معنی تار) در بسیاری از ترکیبات «اینترنتی» میآید. کم کم «وب» بهعنوان واژهٔ بینالمللی جا افتاده و به منظورهای مختلفی به کار میرود. این واژه معمولاً به صورت اشتباه به جای اینترنت به کار میرود اما وب در حقیقت یکی از خدماتی است که روی اینترنت ارایه میشود (مانند پست الکترونیکی).
همچنین، وب مخفف کلمه وبسایت (website) است. سایت یعنی مکان و منظور از وبسایت صفحات مرتبط است. در پارسی واژهٔ تارنما جایگزین وبسایت شده است.
تاریخچه
ایده اولیه در مورد تارِ گیتیگستر به سال ۱۹۸۰ (میلادی) برمیگردد. زمانی که در شهر سرن سوئیس، تیم برنرز لی شبکه ENQUIRE را ساخت (که به "Enquire Within Upon Everqthing CSS" اشاره داشت و همنام کتابی بود که وی از جوانی خود به یاد داشت. اگرچه آنچه وی ساخت با وب امروزی تفاوتهای زیادی دارد اما ایده اصلی در آن گنجانده شده است (و حتی برخی از این ایدهها در پروژه بعدی برنرزلی پس از WWW یعنی وب معنایی به کار گرفته شد).
در مارس 1989، برنرزلی یک پیشنهاد را نوشت که به ENQUIRE اشاره داشت و یک سیستم اطلاعاتی پیشرفته را توصیف میکرد. وی با کمک رابرت کایلا، پیشنهاد طراحی تور جهان گستر را در 12 نوامبر 1990 ارائه کرد. اولین مرور وب جهان توسط برنرزلی با عنوانNEXTcube مورد استفاده قرار گرفت و وی اولین مرورگر وب و تور جهان گستر را در سال 1990 طراحی کرد.
در کریسمس 1990، برنرز لی همه ابزارهای لازم برای کار با وب را فراهم کرد
در 6 آگوست 1991 وی خلاصهای از پروژه تور جهان گستر را در گروه خبری alt.hypertext پست کرد. در همین روز وب به عنوان یک خدمات عمومی روی اینترنت ارائه شد. مفهوم مهم ابر متن در پروژههای قدیمیتر مربوط به دهه 1960 مانند Project Xanadu مربوط به تد نلسون و NLS (سیستم آنلاین) مربوط به داگلاس انگلبارت مطرح شد.
موفقیت برنرزلی در ایجاد ارتباط بین ابر متن و اینترنت بود. در کتاب "بافتن تور" وی اذعان میکند که بارها از امکان برقراری ارتباط میان دو تکنولوژی صحبت کرده بود اما چون کسی به حرفهایش توجه نکرد وی خودش دست به کار شد و پروژه را به سرانجام رساند. وی در سیستم خود شاخصهای منحصر به فرد جهانی برای شناسایی منابع موجود روی وب و دیگر مکانها در نظر گرفت و آنها را شناسه منبع یکپارچه نامید.
تور جهان گستر با بقیه سیستمهای ابر متنی موجود تفاوتهایی داشت:
WWW به لینکهای یک طرفه نیاز داشت و نه دوطرفه بنابراین فرد میتوانست بدون آن که از جانب مالک منبع واکنشی صورت گیرد به منبع دسترسی پیدا کند. همچنین ابر متن مشکل پیادهسازی سرورهای وب و مرورگرها (در مقایسه با سیستمها قبلی) را برطرف کرد اما در مقابل مشکل زمان در لینکهای قطع شده را ایجاد کرد.
تور جهان گستر بر خلاف سیستمهای قبلی مانند ابر کارت غیر انحصاری بود و این امکان را فراهم میکرد که سرورها و مرورگرهای مستقلی را ایجاد کرده و بدون هیچ محدودیتی آنها را به شبکه وصل کرد.
در 30 آوریل سال ۱۹۹۳ (میلادی)، CERN اعلام کرد که تور جهان گستر به صورت رایگان برای همه افراد قابل دسترسی است. این موضوع دو ماه پس از اعلام رایگان نبودن پروتکل گوفر مطرح میشد و در نتیجه تمایل به وب به شدت افزایش یافت. قبل از آن مرورگر وب معروفی به نامViolaWWW وجود داشت که بر اساس ابر کارت کار میکرد. نسخه گرافیکی تور جهان گستر با نام مرورگر وب موزائیک در سال 1993 توسط مرکز ملی برنامههای سوپرکامپیوتر که توسط مارک اندرسن راه اندازی شده بود مورد انتقاد شدید قرار گرفت. قبل از عرضه موزائیک، گرافیک و متن در صفحات وب از یکدیگر جدا بودند و در پروتکلهای اینترنتی قبلی مانند پروتکل گوفر و مرور اطلاعات ناحیه وسیع گرافیک کاربرد زیادی نداشت. واسط کاربر گرافیکی موزائیک وب را به مشهورترین پروتکل اینترنتی تبدیل کرد.
اجزاء وب
تار گیتیگستر ترکیبی از چهار عنصر اصلی است:
hypertext یا بسامتن: فرمتی از اطلاعات که به افراد اجازه می دهد تا در محیط کامپیوتر با استفاده از ارتباط داخلی موجود میان دو متن از بخشی از سند به بخش دیگری از آن یا حتی سند دیگری مراجعه کنند و به اطلاعات جدیدی دسترسی پیدا کند.
URL: شناسههای منحصر به فردی که برای مشخص کردن محل حضور اطلاعات موجود روی شبکه (فایل کامپیوتری، سند یا منابع دیگر) به کار می روند.
مدل Client-Server یا مشتری-خدمتگزار: سیستمی که در آن نرمافزار یا کامپیوتر مشتری از نرمافزار یا کامپیوتر خدمتگزار تقاضای دریافت منابع اطلاعاتی مانند داده یا فایل می کند.
markup language یازبان علامتگذاری: کاراکترها یا کدهای موجود در متن که ساختار متن وب معنایی را مشخص می کنند.
معماری سیستم وب
کلاً از دیدگاه فنی سیستم وب در دو بخش سازماندهی می شود:
برنامه سمت سرویس دهنده ی وب و برنامه سمت مشتری وب
پایگاه اطلاعاتی توزیع شده از صفحات ابرمتن، فایل های داده مثل صدا، تصویر و بطور کل هر منبع
صفحه وب چیزی نیست مگر یک فایل متنی بسیار ساده که با یکی از زبان های نشانه گذاری ابرمتنی مثل HTML، XHTML ، DHTML یا XML تدوین می شود. کاری که مرورگر به عنوان مشتری وب انجام می دهد آن است که تقاضای دریافت یکی از صفحات یا فایل ها را در قالب قراردادی استاندارد (به نام پروتکل HTTP) به سمت سرویس دهنده ارسال کند. در سمت مقابل سرویس دهنده ی وب این تقاضا را پردازش کرده و در صورت امکان، فایل مورد نظر را برای مرورگر ارسال می کند. مرورگر پپس از دریافت فایل ابرمتنی ، آن را تفسیر کرده و به صورت صفحه آرایی شده روی خروجی نشان می دهد. اگر فایل ابرمتنی در جایی به فایل صدا یا تصویر پیوند خورده باشد آن ها نیز توسط مرورگر تقاضا شده و پس از دریافت در جای خود قرار می گیرند.
وب چگونه عمل میکند
برای مشاهده یک صفحه وب یا دیگر منابع اطلاعاتی روی تور جهان گستر معمولاً URL صفحه را در یک مرورگر وب وارد میکنیم و یا لینک ابر متن مربوط با آن صفحه یا منبع را انتخاب میکنیم. اولین گام که در پشت پرده انجام میشود اختصاص یک آدرس IP به بخش سرور URL است که توسط پایگاه داده توزیع شده اینترنت صورت میگیرد که به آن DNS میگویند.
در مرحله بعد یک درخواست HTTP به مرور وب در آن آدرس IP ارسال میشود و درخواست مشاهده صفحه ارائه میگردد. در صورتی که یک صفحه معمولی در خواست شده باشد متن HTML، تصاویر گرافیکی یا هر فایل دیگری که مربوط به آن صفحه است در اختیار مشتری (مرورگر وب) قرار میگیرد. سپس مرورگر وب صفحه HTML، و دیگر فایلهای دریافت شده را ترجمه میکند. در نهایت "صفحه" مورد نظر مشتری در اختیار وی قرار میگیرد.
در تور جهان گستر، یک برنامه مشتری که عامل کاربر نام دارد منابع اطلاعاتی مانند صفحات وب یا فایلهای کامپیوتری را با استفاده از URL از وب در خواست میکند. اگر عامل کاربر نوعی مرورگر وب باشد، اطلاعات را روی مانیتور نشان میدهد. کاربر میتواند با دنبال کردن لینکهای موجود در صفحه وب به بقیه منابع موجود روی تور جهان گستر دسترسی پیدا کند. همچنین میتوان با پرکردن فرمهای HTML و تحویل این فرمهای وب میتوان اطلاعات را بر اساس پروتکل انتقال ابرمتن به سرور وب برگرداند تا از آن ذخیره شده یا پردازش شوند. صفحات وب در کنار هم قرار گرفته و وبسایتها را می سازند. عمل دنبال کردن ابرلینک از یک وب سایت به وب سایت دیگر را "مرور وب" یا " گشت و گذار" وب مینامند.
اصطلاح "گشت و گذار در اینترنت" اولین بار توسط جین آرمور پولی که یک کتابدار بود در مقاله یا به نام "Surfing the INTERNET" مطرح شد که ژوئن سال 1992 در "بولتن کتابخانه ویلسن" در دانشگاه مینوستا چاپ شد. اگر چه پولی مستقلاً از این کلمه استفاده کرد اما در یوزنتهای مربوط به سالهای 1991 و 1992 این کلمه دیده میشود و حتی عدهای میگویند که این کلمه در مجمع هکرها در دو سال قبل از آن به صورت شفاهی عنوان شده بود. پولی در تاریخ اینترنت به مادر اینترنت معروف است.
اغلب صفحات وب شامل ابر لینکهایی هستند که به صفحات و منابع اطلاعاتی مرتبط با آنها مانند صفحات دانلود، اسناد منابع، تعاریف و غیره منتهی میشوند. چنین مجموعهای از منابع مفید و مرتبط با هم توسط لینکهای ابر متن به یکدیگر متصل شدهاند را "وب" اطلاعات مینامند. قرار دادن این مجموعه منابع روی اینترنت شبکهای را تولید کرد که در اوایل دهه 1990 توسط تیم برنرز لی، " تور جهان گستر" نامیده شد.
عملکرد برنامه ی سرویس دهنده و مشتری وب
در سمت سرویس دهنده ی وب، پروسه ای وجود دارد که دائماً به پورت شماره 80 گوش می دهد و منتظر تقاضای برقراری اتصال توسط مشتریان می ماند. دقت کنید که برنامه ی سرویس دهنده از سوکت های نوع استریم استفاده می کند و اتصال از نوع TCP است. فرامین و داده هایی که بین سرویس دهنده و مرورگر وب مبادله می شوند تماماً متنی هستند.(همانند سیستم پست الکترونیکی) پس از آنکه ،ژ\ بین برنامه ی سویس دهنده و مشتری برقرار شد برنامه ی مشتری حق دارد یک یا چندین تقاضا بفرستد و این تقاضا ها باید در قالب استاندارد HTTP باشد. سرویس دهنده، یکایک تقاضا ها را دریافت و پردازش و در صورت امکان آن ها را اجرا می کند.
کش (cache)
اگر کاربر پس از مدت زمان اندکی به سرعت به صفحه وب برگردد احتمال دارد که اطلاعات از سرور وب اصلی بازیابی نشوند. به طور پیش فرض، مرورگرهای همه منابع وب را روی هارد کامپیوتر مشتری، مخفی (کش) میکنند. مرورگر درخواست HTML را تنها در صورتی که نیاز به روزآوری دادههای قبلی وجود داشته باشد ارسال میکند. در غیر این صورت از دادههای کش استفاده میشود.
این عمل باعث کاهش ترافیک شبکه اینترنت میشود. تصمیمگیری در مورد انقضای زمان استفاده از منبع تصویر، CSS، فایل جاوا اسکریپت و همچنین HTML به صورت مستقل انجام میگیرد. بنابراین حتی در برخی از سایتهای با محتوای پویا، بسیاری از منابع اطلاعاتی اصلی فقط در هر بار مراجعه عرضه میشوند. بهتر است طراحان وب سایت همه فایلهای جاوا اسکریپت و CSS را درون تعدادی فایل سایت جمعآوری کنند تا کش های کاربران بتوانند از آنها استفاده کنند و بدین ترتیب زمان دانلود شدن صفحه و تعداد مراجعات به سرور کاهش یابد.
همچنین بخشهای دیگری از اینترنت میتوانند محتوای وب را کش (مخفی) کنند. یکی از بهترین این اجزاء دیوارهای آتش است که در شرکتها و محیطهای دانشگاهی کاربرد دارد و منابع وب درخواست شده توسط یک کاربر را برای همه کاربران کش میکند. با وجود آن که این قابلیتها در اغلب مرورگرهای وب دیده میشود طراحان صفحات وب میتوانند عناوین HTTP که توسط کاربر درخواست شده را کنترل کنند تا صفحات در مواردی که لازم نیست در کش ذخیره نشوند؛ مثلاً صفحات خبری و بانکها.
بدین ترتیب میتوانیم بین اعمال "دریافت" و "ارسال" HTTP تفاوت قائل شویم. در صورتی که همه شرایط محقق شود، دادههایی که توسط فرمان دریافت (GET) درخواست شدهاند میتوانند در کش ذخیره شوند در حالی که دادههای به دست آمده پس از ارسال (posting) اطلاعات به سرور در کش ذخیره نمیشوند.
وبمستر به طراحان وب، توسعه دهندگان وب، وبلاگ نویسان، مدیران وبسایت و تمامی افرادی که در مدیریت یک وبگاه نقش دارند گفته میشود.
وب جهانگستر
جهان وب٬
وب جهانگستر٬ تار گیتیگستر٬ یا به طور ساده وب (به انگلیسی: World Wide Web) یک سامانهٔ اطلاعاتی از پروندههای ابرمتنی متصلبههم است که از طریق شبکهٔ جهانی اینترنت قابل دسترسی هستند. بهکمک یک مرورگر وب میتوان صفحات وب (که شامل متن، تصویر، ویدیو و سایر محتویات چندرسانهای هستند) را مشاهده و بهکمک ابرپیوندها در میان آنها حرکتکرد. تیم برنرز لی، یک پژوهشگر علوم رایانه و کارمند موسسهٔ سرن
در نزدیکی ژنو، در ماه مارچ سال ۱۹۸۹ میلادی پیشنهاد اولیهٔ وب امروزی را مطرح کرد.پیشنهاد ارائهشده در ۱۹۸۹ قرار بود که یک سیستم ارتباطی برای موسسه سرن شود، اما برنرز لی بهزودی متوجهشد که این ایده قابلیت جهانیشدن را دارد.برنرز لی به همراه رابرت کایلیائو در سال ۱۹۹۰ میلادی این پیشنهاد را بهعنوان «پیوند و دسترسی به اطلاعات مختلف بهصورت تارنمایی از گرههایی که کاربران به دلخواه در میان آنها حرکت میکنند» ارائه دادند.برنرز لی در ماه و در ۷ اوت سال ۱۹۹۱ میلادی آنرا بهعنوان یک پروژه بر روی گروه خبری alt.hypertext منتشر کرد.
واژهٔ وب
واژهٔ وب (به معنی تار) در بسیاری از ترکیبات «اینترنتی» میآید. کم کم «وب» بهعنوان واژهٔ بینالمللی جا افتاده و به منظورهای مختلفی به کار میرود. این واژه معمولاً به صورت اشتباه به جای اینترنت به کار میرود اما وب در حقیقت یکی از خدماتی است که روی اینترنت ارایه میشود (مانند پست الکترونیکی).
همچنین، وب مخفف کلمه وبسایت (website) است. سایت یعنی مکان و منظور از وبسایت صفحات مرتبط است. در پارسی واژهٔ تارنما جایگزین وبسایت شده است.
تاریخچه
ایده اولیه در مورد تارِ گیتیگستر به سال ۱۹۸۰ (میلادی) برمیگردد. زمانی که در شهر سرن سوئیس، تیم برنرز لی شبکه ENQUIRE را ساخت (که به "Enquire Within Upon Everqthing CSS" اشاره داشت و همنام کتابی بود که وی از جوانی خود به یاد داشت. اگرچه آنچه وی ساخت با وب امروزی تفاوتهای زیادی دارد اما ایده اصلی در آن گنجانده شده است (و حتی برخی از این ایدهها در پروژه بعدی برنرزلی پس از WWW یعنی وب معنایی به کار گرفته شد).
در مارس 1989، برنرزلی یک پیشنهاد را نوشت که به ENQUIRE اشاره داشت و یک سیستم اطلاعاتی پیشرفته را توصیف میکرد. وی با کمک رابرت کایلا، پیشنهاد طراحی تور جهان گستر را در 12 نوامبر 1990 ارائه کرد. اولین مرور وب جهان توسط برنرزلی با عنوانNEXTcube مورد استفاده قرار گرفت و وی اولین مرورگر وب و تور جهان گستر را در سال 1990 طراحی کرد.
در کریسمس 1990، برنرز لی همه ابزارهای لازم برای کار با وب را فراهم کرد
در 6 آگوست 1991 وی خلاصهای از پروژه تور جهان گستر را در گروه خبری alt.hypertext پست کرد. در همین روز وب به عنوان یک خدمات عمومی روی اینترنت ارائه شد. مفهوم مهم ابر متن در پروژههای قدیمیتر مربوط به دهه 1960 مانند Project Xanadu مربوط به تد نلسون و NLS (سیستم آنلاین) مربوط به داگلاس انگلبارت مطرح شد.
موفقیت برنرزلی در ایجاد ارتباط بین ابر متن و اینترنت بود. در کتاب "بافتن تور" وی اذعان میکند که بارها از امکان برقراری ارتباط میان دو تکنولوژی صحبت کرده بود اما چون کسی به حرفهایش توجه نکرد وی خودش دست به کار شد و پروژه را به سرانجام رساند. وی در سیستم خود شاخصهای منحصر به فرد جهانی برای شناسایی منابع موجود روی وب و دیگر مکانها در نظر گرفت و آنها را شناسه منبع یکپارچه نامید.
تور جهان گستر با بقیه سیستمهای ابر متنی موجود تفاوتهایی داشت:
WWW به لینکهای یک طرفه نیاز داشت و نه دوطرفه بنابراین فرد میتوانست بدون آن که از جانب مالک منبع واکنشی صورت گیرد به منبع دسترسی پیدا کند. همچنین ابر متن مشکل پیادهسازی سرورهای وب و مرورگرها (در مقایسه با سیستمها قبلی) را برطرف کرد اما در مقابل مشکل زمان در لینکهای قطع شده را ایجاد کرد.
تور جهان گستر بر خلاف سیستمهای قبلی مانند ابر کارت غیر انحصاری بود و این امکان را فراهم میکرد که سرورها و مرورگرهای مستقلی را ایجاد کرده و بدون هیچ محدودیتی آنها را به شبکه وصل کرد.
در 30 آوریل سال ۱۹۹۳ (میلادی)، CERN اعلام کرد که تور جهان گستر به صورت رایگان برای همه افراد قابل دسترسی است. این موضوع دو ماه پس از اعلام رایگان نبودن پروتکل گوفر مطرح میشد و در نتیجه تمایل به وب به شدت افزایش یافت. قبل از آن مرورگر وب معروفی به نامViolaWWW وجود داشت که بر اساس ابر کارت کار میکرد. نسخه گرافیکی تور جهان گستر با نام مرورگر وب موزائیک در سال 1993 توسط مرکز ملی برنامههای سوپرکامپیوتر که توسط مارک اندرسن راه اندازی شده بود مورد انتقاد شدید قرار گرفت. قبل از عرضه موزائیک، گرافیک و متن در صفحات وب از یکدیگر جدا بودند و در پروتکلهای اینترنتی قبلی مانند پروتکل گوفر و مرور اطلاعات ناحیه وسیع گرافیک کاربرد زیادی نداشت. واسط کاربر گرافیکی موزائیک وب را به مشهورترین پروتکل اینترنتی تبدیل کرد.
اجزاء وب
تار گیتیگستر ترکیبی از چهار عنصر اصلی است:
hypertext یا بسامتن: فرمتی از اطلاعات که به افراد اجازه می دهد تا در محیط کامپیوتر با استفاده از ارتباط داخلی موجود میان دو متن از بخشی از سند به بخش دیگری از آن یا حتی سند دیگری مراجعه کنند و به اطلاعات جدیدی دسترسی پیدا کند.
URL: شناسههای منحصر به فردی که برای مشخص کردن محل حضور اطلاعات موجود روی شبکه (فایل کامپیوتری، سند یا منابع دیگر) به کار می روند.
مدل Client-Server یا مشتری-خدمتگزار: سیستمی که در آن نرمافزار یا کامپیوتر مشتری از نرمافزار یا کامپیوتر خدمتگزار تقاضای دریافت منابع اطلاعاتی مانند داده یا فایل می کند.
markup language یازبان علامتگذاری: کاراکترها یا کدهای موجود در متن که ساختار متن وب معنایی را مشخص می کنند.
معماری سیستم وب
کلاً از دیدگاه فنی سیستم وب در دو بخش سازماندهی می شود:
برنامه سمت سرویس دهنده ی وب و برنامه سمت مشتری وب
پایگاه اطلاعاتی توزیع شده از صفحات ابرمتن، فایل های داده مثل صدا، تصویر و بطور کل هر منبع
صفحه وب چیزی نیست مگر یک فایل متنی بسیار ساده که با یکی از زبان های نشانه گذاری ابرمتنی مثل HTML، XHTML ، DHTML یا XML تدوین می شود. کاری که مرورگر به عنوان مشتری وب انجام می دهد آن است که تقاضای دریافت یکی از صفحات یا فایل ها را در قالب قراردادی استاندارد (به نام پروتکل HTTP) به سمت سرویس دهنده ارسال کند. در سمت مقابل سرویس دهنده ی وب این تقاضا را پردازش کرده و در صورت امکان، فایل مورد نظر را برای مرورگر ارسال می کند. مرورگر پپس از دریافت فایل ابرمتنی ، آن را تفسیر کرده و به صورت صفحه آرایی شده روی خروجی نشان می دهد. اگر فایل ابرمتنی در جایی به فایل صدا یا تصویر پیوند خورده باشد آن ها نیز توسط مرورگر تقاضا شده و پس از دریافت در جای خود قرار می گیرند.
وب چگونه عمل میکند
برای مشاهده یک صفحه وب یا دیگر منابع اطلاعاتی روی تور جهان گستر معمولاً URL صفحه را در یک مرورگر وب وارد میکنیم و یا لینک ابر متن مربوط با آن صفحه یا منبع را انتخاب میکنیم. اولین گام که در پشت پرده انجام میشود اختصاص یک آدرس IP به بخش سرور URL است که توسط پایگاه داده توزیع شده اینترنت صورت میگیرد که به آن DNS میگویند.
در مرحله بعد یک درخواست HTTP به مرور وب در آن آدرس IP ارسال میشود و درخواست مشاهده صفحه ارائه میگردد. در صورتی که یک صفحه معمولی در خواست شده باشد متن HTML، تصاویر گرافیکی یا هر فایل دیگری که مربوط به آن صفحه است در اختیار مشتری (مرورگر وب) قرار میگیرد. سپس مرورگر وب صفحه HTML، و دیگر فایلهای دریافت شده را ترجمه میکند. در نهایت "صفحه" مورد نظر مشتری در اختیار وی قرار میگیرد.
در تور جهان گستر، یک برنامه مشتری که عامل کاربر نام دارد منابع اطلاعاتی مانند صفحات وب یا فایلهای کامپیوتری را با استفاده از URL از وب در خواست میکند. اگر عامل کاربر نوعی مرورگر وب باشد، اطلاعات را روی مانیتور نشان میدهد. کاربر میتواند با دنبال کردن لینکهای موجود در صفحه وب به بقیه منابع موجود روی تور جهان گستر دسترسی پیدا کند. همچنین میتوان با پرکردن فرمهای HTML و تحویل این فرمهای وب میتوان اطلاعات را بر اساس پروتکل انتقال ابرمتن به سرور وب برگرداند تا از آن ذخیره شده یا پردازش شوند. صفحات وب در کنار هم قرار گرفته و وبسایتها را می سازند. عمل دنبال کردن ابرلینک از یک وب سایت به وب سایت دیگر را "مرور وب" یا " گشت و گذار" وب مینامند.
اصطلاح "گشت و گذار در اینترنت" اولین بار توسط جین آرمور پولی که یک کتابدار بود در مقاله یا به نام "Surfing the INTERNET" مطرح شد که ژوئن سال 1992 در "بولتن کتابخانه ویلسن" در دانشگاه مینوستا چاپ شد. اگر چه پولی مستقلاً از این کلمه استفاده کرد اما در یوزنتهای مربوط به سالهای 1991 و 1992 این کلمه دیده میشود و حتی عدهای میگویند که این کلمه در مجمع هکرها در دو سال قبل از آن به صورت شفاهی عنوان شده بود. پولی در تاریخ اینترنت به مادر اینترنت معروف است.
اغلب صفحات وب شامل ابر لینکهایی هستند که به صفحات و منابع اطلاعاتی مرتبط با آنها مانند صفحات دانلود، اسناد منابع، تعاریف و غیره منتهی میشوند. چنین مجموعهای از منابع مفید و مرتبط با هم توسط لینکهای ابر متن به یکدیگر متصل شدهاند را "وب" اطلاعات مینامند. قرار دادن این مجموعه منابع روی اینترنت شبکهای را تولید کرد که در اوایل دهه 1990 توسط تیم برنرز لی، " تور جهان گستر" نامیده شد.
عملکرد برنامه ی سرویس دهنده و مشتری وب
در سمت سرویس دهنده ی وب، پروسه ای وجود دارد که دائماً به پورت شماره 80 گوش می دهد و منتظر تقاضای برقراری اتصال توسط مشتریان می ماند. دقت کنید که برنامه ی سرویس دهنده از سوکت های نوع استریم استفاده می کند و اتصال از نوع TCP است. فرامین و داده هایی که بین سرویس دهنده و مرورگر وب مبادله می شوند تماماً متنی هستند.(همانند سیستم پست الکترونیکی) پس از آنکه ،ژ\ بین برنامه ی سویس دهنده و مشتری برقرار شد برنامه ی مشتری حق دارد یک یا چندین تقاضا بفرستد و این تقاضا ها باید در قالب استاندارد HTTP باشد. سرویس دهنده، یکایک تقاضا ها را دریافت و پردازش و در صورت امکان آن ها را اجرا می کند.
کش (cache)
اگر کاربر پس از مدت زمان اندکی به سرعت به صفحه وب برگردد احتمال دارد که اطلاعات از سرور وب اصلی بازیابی نشوند. به طور پیش فرض، مرورگرهای همه منابع وب را روی هارد کامپیوتر مشتری، مخفی (کش) میکنند. مرورگر درخواست HTML را تنها در صورتی که نیاز به روزآوری دادههای قبلی وجود داشته باشد ارسال میکند. در غیر این صورت از دادههای کش استفاده میشود.
این عمل باعث کاهش ترافیک شبکه اینترنت میشود. تصمیمگیری در مورد انقضای زمان استفاده از منبع تصویر، CSS، فایل جاوا اسکریپت و همچنین HTML به صورت مستقل انجام میگیرد. بنابراین حتی در برخی از سایتهای با محتوای پویا، بسیاری از منابع اطلاعاتی اصلی فقط در هر بار مراجعه عرضه میشوند. بهتر است طراحان وب سایت همه فایلهای جاوا اسکریپت و CSS را درون تعدادی فایل سایت جمعآوری کنند تا کش های کاربران بتوانند از آنها استفاده کنند و بدین ترتیب زمان دانلود شدن صفحه و تعداد مراجعات به سرور کاهش یابد.
همچنین بخشهای دیگری از اینترنت میتوانند محتوای وب را کش (مخفی) کنند. یکی از بهترین این اجزاء دیوارهای آتش است که در شرکتها و محیطهای دانشگاهی کاربرد دارد و منابع وب درخواست شده توسط یک کاربر را برای همه کاربران کش میکند. با وجود آن که این قابلیتها در اغلب مرورگرهای وب دیده میشود طراحان صفحات وب میتوانند عناوین HTTP که توسط کاربر درخواست شده را کنترل کنند تا صفحات در مواردی که لازم نیست در کش ذخیره نشوند؛ مثلاً صفحات خبری و بانکها.
بدین ترتیب میتوانیم بین اعمال "دریافت" و "ارسال" HTTP تفاوت قائل شویم. در صورتی که همه شرایط محقق شود، دادههایی که توسط فرمان دریافت (GET) درخواست شدهاند میتوانند در کش ذخیره شوند در حالی که دادههای به دست آمده پس از ارسال (posting) اطلاعات به سرور در کش ذخیره نمیشوند.
ساعت : 5:45 pm | نویسنده : admin
|
مطلب بعدی