ویروس
اولین ویروس

یکی از بر نامه نویسان مارک۱ یک زن بود به نام گریس هاپر . این زن اولین ویروس کامپیوتر به نام باگ را پیدا کرد . یک حشره مرده که در دستگاه افتاده بود و بال‌هایش مانع خواندن روزنه‌ها می‌شد .
باگ برای نشان دادن نقصی در سیستم بکار می‌رود از آن زمان این کلمه سال ۱۹۵۳ گریس هاپر اولین زبان پیشرفته به نام فلو ماتیک را اختراع کرد، شناخته شد .





زبان‌های سطح بالا به منظور راحت تر فهمیدن انسان‌ها ساخته شد . چنان که زبان باینری برای کامپیوتر قابل فهم تر بود که بعدها به نام کوبول اما یک زبان برنامه نویسی پیشرفته بدون یک برنامهٔ مترجم ارزشی نداشت . تا زبان سطح بالا را به زبان باینری (یا زبان ماشین ) ترجمه کند که هاپر اولین مترجم یا کامپایلر را هم ساخت . این زن تا سن ۷۹ سالگی در زمینه کامپیوتر و برنامه نویسی فعال بود .






رایانه‌های نسل اول
در سال ۱۹۳۸٬ جان وینسنت آتاناسف استاد فیزیک و ریاضیات دانشگاه ایالتی آیووا در آمریکا به فکر ساختن اولین رایانه الکترونیکی یک منظوره افتاد. او با همکاری دستیارش و دانشجوی فارغ‌التحصیلش کلیفرد بری، با استفاده از لامپ خلاء شروع به ساختن رایانهٔ مزبور کرد و آن را کامپیوتر آتاناسف‌بری یا ABC نامید که می‌توانست ۲۹ معادلهٔ چند مجهولی را با ۲۹ مجهول حل کند . این اولین ماشینی بود که توانست داده‌ها را به عنوان بار الکتریکی در خازن ذخیره کند . کاری که امروزه کامپیوترها برای ذخیره اطلاعاتشان در حافظه اصلی می‌کنند . اما این دستگاه قابل برنامه ریزی نبود وطراحی انها تنها مناسب برای یک نوع از مشکلات ریاضی (معادلات چند مجهولی ) بود . ولی به خاطر درگیری ارتش آمریکا در جنگ جهانی دوم و لزوم پیوستن آناتاسف به ارتش همکاری او با ارتش آمریکا، ساخت این رایانه عملی نشد و ساخت آن ادامه نیافت.متأسفانه مخترعینش هیچ تلاشی برای نگه داری آن نکردند و سرانجام این دستگاه رها شده و به وسیله کسانی که به داخل اتاق آمده بودند غارت شد .

یکی دیگر از کسانی که در زمینهٔ کامپیوترهای مدرن کار کردکلوسوس بود که در طول جنگ جهانی دوم به کمک دولت بریتانیا به هدف شکستن کدهای پنهانی آلمانیان دستگاهی ساخت .

در حقیقت انگلستان جهان را به سوی ساخت و طراحی ماشین‌های الکترونیکی هدایت کرد که برای شکستن رمزها اختصاص یافته بود و معمولاً قادر به خواندن امواج رادیویی کد دار‌المانی‌ها بود .کامپیوتر هاروارد مارک ۱ اتانا سوف بری و کلوساس انگلیسی سهم عمده‌ای در این صنعت دارا بودند ولی پیش گامان آمریکایی و انگلستانی هنوز بر سر اینکه چه کسی اول بود بحث می‌کردند. اما زود تر از ان زیوس رشته کامپیوترهایی برای اهداف عمومی در نازی آلمان ساخته بود در حقیقت زد ۱ اولین بود چرا که در بین سال‌های ۱۹۳۶ و۱۹۳۸ ساخته شده بود.

سومین ماشین زیوس که به زد ۳ معروف است درسال ۱۹۴۱ ساخته شد، که احتمالاً اولین کامپیوتر دیجیتال چند منظوره قابل برنامه ریزی عملی بود . یعنی به وسیله نرم‌افزار کنترل می‌شود .زد ۳ به وسیله هجوم بمباران پیوسته خراب شد . زد ۱ و زد۲ هم به همان سر نوشت دچار شدند و تنها زد ۴ باقی ماند زیرا زیوس ان را داخل واگنی گذاشت و روانه کوهستان کرد.

در سال ۱۹۴۳ فیزیکدانی به نام جان ماکلی با همکاری جی پرسیر اکرت که مهندس برق بود، شروع به ساختن اولین رایانه الکترونیکی همه منظوره نمود. این رایانه که در ساخت آن افزون بر اجزاء الکترومکانیکی، از هجده هزار لامپ خلا استفاده شده بود بنام انیاک نامگذاری شد و در سال ۱۹۴۶ میلادی آماده نصب و راه‌اندازی گردید و در زمان خود پیچیده‌ترین دستگاه الکترونیکی جهان بود. این رایانه قادر به انجام سیصد عمل ضرب در هر ثانیه بود و به مدت ۹ سال مورد استفاده ارتش آمریکا قرار گرفت.

یکی از موفقیت‌های کامپیوتر هاروارد ( مارک ۱ ) بود که به طور شریکی بین هاروارد و ای بی ام در سال ۱۹۴۴ ساخته شد . این اولین کامپیوتر قابل بر نامه ریزی دیجیتال که در آمریکا ساخته شد، بود .ولی آن به طور کامل الکترونیکی نبود . در عوض این دستگاه بدون سوئیج و کلاج و میله و دستگاه تقویت و غیره ساخته شده بود .وزن ماشین ۵ تن بود و در آن ۵۰۰ مایل سیم جا داده شده بود . آن دارای طول ۸ فیت ودرازی ۵۱ فیت بود .مارک ۱ به مدت به مدت ۱۵ سال بدون توقف کار کرد و به شکل یک اتاق بافندگی شبیه بود .

مارک ۱ عملیات را روی اعدادی انجام می‌داد که ۲۳ رقم عرض داشتند . او می‌توانست ۲تا از این اعداد را جمع یا تفریق کند در زمانی برابر سه دهم ثانیه یا انها را ضرب کند در حدود ۴ ثانیه و تقسیم کند در ۱۰ ثانیه ۴۵ سال بعد کامپیوترها می‌توانستند عملیات جمع را در یک بیلیونیم ثانیه انجام دهند.
اگر چه مارک ۱ سه بخش مساوی از میلیون‌ها اجزا داشت ولی تنها می‌توانست ۷۲ عدد را ذخیره کنند . و ۱۰میلیون عدد دیگر را در هارد دیسک. و سرعت نمایش این اطلاعات بسیار بسیار بالا است . برای همین سرعت بالاست که کامپیوترها ی الکترونیکی قاتل دستگاه‌های مکانیکی به حساب می‌ایند .هاروارد ایکن یکی از مدیران طراحی مارک ۱ در نامهٔ فکاهی خود نوشت تا سال ۱۹۴۷شش کامپیوتر الکترونیکی برای انجام محاسبات تمام آمریکا کافی است . برای همین ای بی ام شروع به تحقیق کرد که ایا می‌شود این دستگاه را به یک شکل استا ندارد درآورد چرا که تا آن زمان تنها دولت و ارتش آمریکا توان پرداخت چنین هزینه‌ای را داشتند . البته نظریه ایکن زیاد هم بد نبود جرا که او از انقلاب میکرو کامپیوترها در سال ۱۹۵۹ بی خبر بود .

اپل ۱ که با عنوان «خودتان انجام دهید» بدون ظاهری زیبا فروخته شد . کامپیوترها به صورت شگفت انگیزی گران بودند چرا که در آن نیاز به اسمبلی دستی زیادی بود .

در سال ۱۹۴۵ نابغه ریاضی جان فون نویمان طی مقاله‌ای استفاده از سیستم اعداد دودویی (Binary) در ساختمان رایانه و نظریه انباشت برنامه در حافظه رایانه را مطرح کرد و بر این اساس ساخت رایانه رقمی الکترونیکی همه منظوره‌ای را پیشنهاد نمود و آن را ادواک نامید. این دستگاه رایانه‌ای با توانایی ذخیره داخلی برنامه‌ها و سرعت بالای الکترونیکی بود. فن نویمان را اغلب به‌عنوان بنیانگذار ذخیره‌سازی برنامه‌ها می‌شناسند.

ساخت این رایانه در سال ۱۹۴۶ شروع شده بود و تا اواخر سال ۱۹۵۰ به تاخیر افتاد. با نگرش به اینکه در طراحی و ساخت رایانه‌های مدرن از نظریه‌های نویمان بهره گرفته می‌شود، لذا وی را پدر کامپیوتر می‌خوانند.

در سال ۱۹۴۷ موریس ویلکس استاد دانشگاه کمبریج انگلیس شروع به ساخت اولین رایانه رقمی الکترونیکی حاوی برنامه‌های ذخیره شده نمود و آن را ادساک نامید. ساخت این رایانه در سال ۱۹۴۹ به پایان رسید و آماده نصب و بهره‌برداری گردید.

در سال ۱۹۵۰ اولین رایانه دارای برنامه ذخیره شده ساخت آمریکا به نام سیک در سازمان ملی استانداردها در واشنگتن نصب گردید و بیش از ده سال مورد استفاده قرار گرفت. در فاصله سال‌های ۱۹۵۱ تا ۱۹۵۷ نیز شرکت‌های رایانه‌ای آی بی ام و یونیواک رایانه‌های الکترونیکی گوناگونی ساخته و عرضه کردند.

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






رایانه‌های نسل دوم

در رایانه‌های نسل دوم ترانزیستور جایگزین لامپ خلا گردید. ترانزیستور چند برابر کوچکتر از لامپ خلا بود و تاثیر زیادی بر روی سرعت محاسبات رایانه داشت. ظرفیت حافظه در رایانه‌های نسل دوم در قیاس با رایانه‌های نسل اول دارای ظرفیت حافظه بیشتر و سریعتر، کوچکتر و قابل اطمینان‌تر بودند.
در فاصله زمانی سال‌های ۱۹۵۸ تا ۱۹۶۴ توسط شرکت‌های کامپیوتری ان‌سی‌آر٬ ای‌بی‌ام و سی‌دی‌سی رایانه‌های مختلف الکترونیک ساخته شدند و عرضه شدند و در سال ۱۹۶۳ اولین مینی رایانه بنام پی‌دی‌وی ۸ توسط شرکت دک معرفی گردید.

انقلاب میکروالکترونیک‌ها باعث شد مدارهای مجتمع که به اندازهٔ ناخن انگشت شست شما باشند جای آن سیم کشی‌های دستی را بگیرد.
اولین سود مدارهای مجتمع ترانزیستورها نیستند بلکه کوچکی آنها هست چرا که ترانزیستورها فایدهٔ تعدادی آنها است و بیشتر از میلیون‌ها ترانزیستور می‌تواند تولید شود و به فرایندهای ماشینی دستگاه مرتبط شود تمام عناصر بر روی یک مدار مجتمع ساخته شده‌اند همزمان در طریق شماره کوچک (شاید ۱۲) از پوشانه‌های بصری که هندسهٔ هر لایه را تعریف می‌کند. این‌ها سرعت پردازش و ساختن کامپیوترها را افزایش می‌دهد واز این جهت هزینهٔ آنها هم کاسته شد همان گونه که دستگاه چاپ یوهانس گوتنبرگ ساختن کتاب‌هایش را سرعت داد و بدین وسیله آنها را برای عموم قابل خرید کرد

کامپیوتر ای بی ام استرچ سال ۱۹۵۹ درازای ۳۳ فوتی را برای نگاه داشتن ۱۵۰۰۰۰ ترانزیستور داخلش را لازم داشت . این ترانزیستورها به طور شگفت انگیزی کوچک تر از لامپ‌های خلا هستند . اما آنها عناصر منحصر به فردی بودند که نیاز به اسمبلی منحصر به فردی داشت در اوایل دهه ۱۹۸۰ این ترانزیستورهای زیاد توانست به طور هم زمان بر روی یک مدار مجتمع ساخته شود امروزه کامپیوترهای پنتیوم ۴ شامل ۴۲۰۰۰۰۰۰ ترانزیستور برروی یک مدار مجتمع به اندازهٔ یک ناخن شست است .






رایانه‌های نسل سوم

برای ساختن کامپیوترهای سریعتر و قویتر کوشش‌ها همچنان ادامه داشت تا در اوایل ۱۹۶۰ اولین کامپیوتر نسل سوم (Third Generation) به بازار عرضه شد. این کامپیوتر از سری IBM ۳۶۰ بود که برای ساختن آن ۵ میلیارد دلار سرمایه گذاری شد که بزرگترین پروژه مالی بخش خصوصی تا آن تاریخ به شمار می‌رفت.این کامپیوتر که مدل‌های گوناگونی از نظر ظرفیت و سرعت کار داشت، در هر دو امور تجاری و علمی قابل استفاده بود.

جدیدترین تحول در تکامل کامپیوترها، ساختن وسایل ضبط اطلاعات با قابلیت دسترسی مستقیم (Direct Access Device) در این نسل بود.به این ترتیب کاربران توانستند به هر یک از اجزا اطلاعات ذخیره شده در یک مجموعه عظیم اطلاعاتی، در کسری از ثانیه دسترسی پیدا کنند.علاوه بر آن در این نسل از کامپیوترها، سعی شده که قطعات مدارها را هرچه کوچکتر و با حجم کمتر بسازند و بدین ترتیب مدارهای مجتمع (Integrated Circuits(IC)) به وجود آمدند.ویژگی دیگر رایانه‌های نسل سوم امکان استفاده همزمان چندین کاربر از یک رایانه بود. این رایانه‌ها بر خلاف نسل قبلی که فقط در یکی از دو حیط علمی و غیرعلمی توانایی کار داشتند، توانایی کار در هر دو محیط را دارا بودند.
سرعت عملیان در رایانه‌های نسل سوم بسیار افزایش یافت. عملیات حسابی و منطقی در این رایانه‌ها در مایکرو ثانیه(یک میلیونیم ثانیه) و حتی نانو ثانیه (یک بیلیونیم ثانیه) انجام می‌شد. در ایران، از زمان ارایه کامپیوترهای نسل سوم کاربرد کامپیوتر به سرعت توسعه یافت و مؤسسات مختلف تعدادی از آنها را نصب کردند.

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

در فاصله زمانی سال‌های ۱۹۶۴ تا ۱۹۷۱ شرکت‌های از قبیل آی‌بی‌ام٬ جنرال الکتریک٬ باروز٬ یونیواک٬ آرسی‌ای، ان‌سی‌آر، سی‌دی‌سی٬ هانیول و تعداد زیادی از شرکت‌های کوچکتر ارائه گردید. بویژه شرکت دک با تولید مینی رایانه‌های پی‌دی‌پی ۱۰ و پی‌دی‌پی ۱۱ راه را برای پیشرفت سریع پدیده مینی رایانه‌ها باز کرد و هزاران مینی رایانه به بازار عرضه کرد.






رایانه‌های نسل چهارم

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

با معرفی اولین ریزپردازنده به نام ۴۰۰۴ در سال ۱۹۷۱ توسط شرکت اینتل و عرضه ریزوردازنده ۸ بیتی ۸۰۸ در اواخر همان سال و ریزپردازنده ۸۰۸۰ در سال ۱۹۷۴ توسط همان شرکت، زمینه کاری جهت ساختن رایانه‌های شخصی (PC) فراهم گردید. با معرفی ریز رایانه سلب ۸-اینچ در سال ۱۹۷۲ توسط شرکت سلبی و ریز رایانه التایر ۸۸۰ در سال ۱۹۷۵ توسط شرکت میتس و ساخت ریزپردازنده‌های مختلف توسط شرکت‌های اینتل٬ زیلاک٬ موتورولا و ام‌اُ‌اس تکنالوژی، فرایند ساخت و معرفی ریزرایانه‌ها روز به روز گسترش یافت و توسط شرکت‌های مختلف از آن جمله اپل(Apple)٬ آتاری(Atari)٬ کامودر(commodore) و آی‌بی‌ام(IBM) ریز رایانه‌های گوناگونی عرضه گردید.

در دهه ۸۰ میلادی در زمینه رایانه‌های بزرگ و مینی رایانه‌ها شرکت‌های مختلف از آن جمله آی‌بی‌ام ٬سی‌دی‌سی ٬دک و باروز رایانه‌های بسیار پیشرفته‌ای ساختند و به بازار عرضه نمودند.
در همین دهه ابر رایانه‌های پیشرفته‌ای توسط شرکت‌های مختلف از جمله کری آی‌بی‌ام، سی‌دی‌سی٬ فوجیتسو ٬ هیتاچی و نک ساخته شدند.






رایانه‌های نسل پنجم

در رایانه‌های نسل پنجم که از سال ۱۹۹۰ به بعد هستند اندازهٔ تراشه‌ها خیلی کوچکتر شده و از پردازنده‌های با تراکم خیلی زیاد در آنها استفاده می‌شود. در این نسل از رایانه بجای معماری ترتیبی از معماری موازی بهره گرفته شده. کشورهای پیشرفتهٔ زیادی مانند آمریکا و ژاپن پژوهشهای زیادی برای ساخت رایانه‌های بسیار پیشرفته در گذشته و حال انجام داده‌اند.
ابر رایانههای در دست ساخت به نام سی ام ۵ که از ۳۲ تا ۱۶۰۰۰ پردازنده بصورت موازی بهره خواهند گرفت سرعت رایانه را تا دو برابر ترافلاپس (تریلیون عملیات اعشاری در ثانیه) خواهند رساند.

نسل پنجم رایانه‌ها که ایده آن اولین بار توسط ژاپنی‌ها در سال ۱۹۸۰ مطرح شد، ساختن کامپیوترهایی را پیشنهاد می‌کند که بتوانند بیاموزند، استنباط کنند و تصمیم بگیرند و بطور کلی رفتاری داشته باشند که معمولاً در حوزه منطق و استدلال خاص انسان قرار دارد و به عبارت ساده تر هوشمند باشند. در این نسل از مدارهای مجتمع با تراکم فوق العاده بالا استفاده می‌شود.

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

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







مشخصات کلی

پیشرفت‌های سخت‌افزاری

الف)مینیاتوری کردن(تقلیل حجم دستگاه‌ها و اجزای آنها)
ب)افزایش ظرفیت حافظه به چندین برابر قبل
ج)استفاده از دستگاه‌های واسطه(Media)، با قابلیت دسترسی مستقیم
د)قدرت ارتباط با نقاط دور و متعدد







پیشرفت‌های نرم‌افزاری

الف)هماهنگی بیشتر با سخت‌افزار
ب)هماهنگی بیشتر با سیستم‌عامل
ج)پیشرفت در زبانهای برنامه نویسی و به کارگیری زبان‌های سطح بال







عملیات و بهره برداری

الف)استفاده از روش‌های پردازش مستقیم(on-line) و بازده فوری(real time)
ب)اجرای همزمان چند برنامه با یکدیگر

تقسیم‌بندی و تفکیک نسل‌های کامپیوتری تا قبل از نسل چهارم(Forth Generation)، به لحاظ تغییرات عمده در پیشرفت و تکامل کامپیوتر در هر نسل، به سهولت صورت گرفت. دراوایل سال ۱۹۷۰ تکنیکهای جدیدتری در ساخت و بهره گیری از کامپیوترها به کار برده شدکه بسیاری از دست اندرکاران آن را نسل چهارم نامیدند. مهمترین تغییرات در سخت‌افزار کامپیوترهای نسل چهارم، به کارگرفتن مدارهای مجتمع با تراکم زیاد و تراکم خیلی زیاد است.

در نسل سوم از تراکم SSI(Small Scale Integration) و (Scale Integration Medium)MSI یعنی تراکم کم و تراکم متوسط بهره گرفتند. ولی درنسل چهارم از تراکم (Scale Integration Large) LSI،( Scale Integration Very Large) VLSI و (Ultra Large Scale Integration)ULSI یعنی تراکم بالا، خیلی بالا وفوق العاده بالا بهره می‌گیرند. نسل چهارم همچنین از حافظه نیمه هادی (Semiconductor) ومیکرو پروسسور (Microprocessor)، سیستم‌های محاوره‌ای (Interactive System)، پردازش مستقیم و شبکه‌های کامپیوتری (Computer Network) بهره جسته‌است.

توسعه و پیشرفت سخت‌افزار کامپیوترهای فعلی، در مقایسه با نسلهای قبلی با بررسی چند عامل نظیر سرعت، اندازه، هزینه و ظرفیت حافظه روشن می‌گردد. در کامپیوترهای اولیه از لامپ خلا استفاده می‌شد و به همین جهت حجم و وزن زیادی داشتند (کامپیوتر انیاک ۳۰ تن وزن داشت) به کار بردن ترانزیستور در نسل دوم به طور قابل ملاحظه‌ای، اندازه کامپیوترها را کاهش داد. در یک فوت مربع از کامپیوترهای نسل اول ۶۰۰۰ مؤلفه وجود داشت که با بکاربردن ترانزیستور۱۰۰۰۰۰ مدار درهمان حجم کار می‌کرد. در کامپیوترهای فعلی که در آنها میکروالکترونیک و مدارهای مجتمع با تراکم زیاد به کار می‌رود بیش از ۱۰ میلیون مدار در یک فوت مربع کار می‌کند.







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







نرم‌افزار

نرم‌افزار (به انگلیسی: Software) یا برنامه، مجموعه‌ای از دستورالعمل‌های دقیق و مرحله به مرحله است که هدف خاصی را دنبال می‌کنند.

ظاهراً، اولین بار جان توکی در سال ۱۹۵۸ این واژه را به‌این معنا به‌کار برده‌است. احتمالاً این واژه در مقابل سخت‌افزار (به انگلیسی: Hardware) به کار برده‌اند که بسیار پیش از پیدایش رایانه (به معنای اسباب و اشیاء) به‌کار می‌رفته‌است.
دو گروه کلی نرم‌افزارها

نرم‌افزارهای رایانه را می‌توان به دو دسته بزرگ تقسیم کرد:

نرم‌افزار سیستم (به انگلیسی: System software)
نرم‌افزار کاربردی (به انگلیسی: Application software)

می‌توان گفت نرم‌افزارهای کاربردی، برنامه‌های مورد استفاده کاربرند و نرم‌افزارهای سیستمی، مدیریت رایانه را برعهده دارند. مهم‌ترین نرم‌افزار سیستم، سیستم‌عامل است.






سیستم عامل

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

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






سیستم عامل شامل 4 بخش مهم است
1- مدیریت پردازش و پردازشگر
2- مدیریت حافظه
3- مدیریت دستگاههای ورودی و خروجی (I/O)
4- مدیریت فایل
سه گروه کلی نرم‌افزارهای معماری

از دیدگاه ساختاری (معماری) (architecture)، نرم‌افزارها به دسته‌های زیر تقسیم می‌شوند:

کاربر-بنیان یا Client Base
کارگزار-بنیان یا Server Base
کاربر کارگزار بنیان یا Client-Server Base

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






رقابت نرم‌افزاری

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







نرم‌افزار سیستم

نرم‌افزار سیستم به نرم‌افزاری در رایانه گفته می‌شود که به کارکرد سیستم رایانه یا کاربردهای سطح پایین (یا Low Level) رایانه مربوط باشد. این نرم‌افزارها به ساختار فیزیکی سخت‌افزار رایانه وابسته هستند و در نوشتن آن‌ها از زبان‌های سطح پائین مانند زبان اسمبلی استفاده می‌شود. سیستم‌عامل و درایورها از نرم‌افزارهای سیستم هستند. از جمله زبان هایی که برای نگارش نرم‌افزارهای سیستمی استفاده می‌شود، زبان برنامه نویسی C می‌باشد. کار کردن با سی برای برنامه نویسان راحت تر است و آنان این زبان را به اسمبلی ترجیح می‌دهند. اگر برای نگارش نرم‌افزار سیستمی مشکل محدودیت فضای سخت‌افزاری داشته باشیم بهتر است با زبان اسمبلی کار کنیم که حجم آن پایین تر است. نرم‌افزارهای سیستمی به سخت‌افزار وابسته اند.

در برابر نرم‌افزار سیستم، نرم‌افزار کاربردی قرار دارد که برای کاربردهای سطح بالا و غیرسیستمی رایانه است و معمولاً به زبان‌های سطح بالا نوشته می‌شود که از جزئیات سخت‌افزاری سیستم مستقل است.






نرم‌افزار کاربردی

نرم‌افزار کاربردی (به انگلیسی: Application software) عبارت است از نرم‌افزاری که با استفادهٔ مستقیم از منابع و قابلیت‌های رایانه کاری را مستقیماً برای کاربر انجام می‌دهد. باید توجه داشت که این عبارت در مقابل عبارت نرم‌افزار سیستمی معنی پیدا می‌کند.

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

در عمل بیشتر نرم‌افزارهایی که کاربران با آن‌ها سر و کار دارند از این دسته محسوب می‌شوند. برای مثال می‌توان به نرم‌افزارهای رومیزی یعنی واژه‌پردازها، صفحه گسترده‌ها، نرم‌افزارهای طراحی گرافیکی، بازی‌های رایانه‌ای و امثال آن‌ها اشاره کرد.

بسیاری نرم‌افزارهای کاربردی، برای توسعه‌دهندگان ابزار رابط برنامه‌نویسی کاربردی هم فراهم می‌کنند تا بتوان از قابلیت‌های نرم‌افزار در نرم‌افزارهای جدید استفاده کرد. برای مثال نرم‌افزار ادوبی آکروبات هنگام نصب ای‌پی‌آی فراهم می‌کند که برنامه‌نویس می‌تواند با استفاده از آن توانایی‌های آکروبات را در برنامهٔ خود به کار گیرد.

برای عنوان نمونه‌های دیگر می‌توان به نرم‌افزارهای پردازش متن، برگه‌های گسترده (صفحات گسترده) و نرم‌افزارهای پخش نوا و نما اشاره کرد.







مهندسی نرم‌افزار

مهندسی نرم‌افزار (به انگلیسی: Software engineering) یعنی استفاده از اصول مهندسی بجا و مناسب برای تولید و ارائه محصول نرم‌افزاری با کیفیت که قابل اطمینان و با صرفه بوده و برروی ماشین‌های واقعی به طور کارآمدی عمل کند.

مهندسی نرم‌افزار یک روش سیستماتیک، منظم و دقیق برای ساخت و ارائه محصولی نرم‌افزاری با کیفیت است.

مهندسی نرم‌افزار اغلب شامل فرایند خطی تحلیل، طراحی، پیاده‌سازی و آزمون است؛ که با به کارگیری روش‌های فنی و علمی از علوم مهندسی موجب تولید نرم‌افزاری با کیفیت مطلوب در طول یک فرایند انتخابی مناسب پروژه می‌شود.

کاربردهای مهندسی نرم‌افزار دارای ارزش‌های اجتماعی و اقتصادی هستند، زیرا بهره‌وری مردم را بالا برده، چند و چون زندگی آنان را بهتر می‌کنند. مردم با بهره‌گیری از نرم‌افزار، توانایی انجام کارهایی را دارند که قبل از آن برای‌شان شدنی نبود. نمونه‌هایی از این دست نرم‌افزارها عبارت‌اند از: سامانه‌های توکار، نرم‌افزار اداری، بازی‌های رایانه‌ای و اینترنت.

فناوری‌ها و خدمات مهندسی نرم‌افزار به کاربران برای بهبود بهره‌وری و کیفیت یاری می‌رساند. نمونه‌هایی از زمینه‌های بهبود: پایگاه داده‌ها، زبان‌ها، کتابخانه‌ها، الگوها، فرایندها و ابزار.






مهم ترین شاخص مهندسی نرم‌افزار

مهم ترین شاخص در مهندسی نرم‌افزار تولید نرم‌افزار با کیفیت مناسب در جهت «نیازهای مشتری» است.






پیشینه مهندسی نرم‌افزار

اصطلاح مهندسی نرم‌افزار پس از سال ۱۹۶۸ میلادی شناخته شد. این اصطلاح طی نشست «مهندسی نرم‌افزار ناتو ۱۹۶۸» (که در گارمیش-پارتنکیرشن، آلمان برگزار شد) توسط ریاست نشست فریدریش ال باوئر معرفی شد و از آن پس به‌طور گسترده مورد استفاده قرار گرفت.

اصطلاح مهندسی‌نرم‌افزار عموماً به معانی مختلفی به‌کار می‌رود:

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






مهندسی نرم‌افزار عبارتست از:

کاربرد یک رویکرد سامانه‌شناسی، انتظام‌یافته، قابل سنجش نسبت به توسعه، عملکرد و نگهداری نرم‌افزار، که کاربرد مهندسی در نرم‌افزار است.
مطالعه روش‌های موجود در استاندارد IEEE







محدوده مهندسی نرم‌افزار و تمرکز آن

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

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

مهندسی نرم‌افزار همچنین با خصوصیات پروسه توسعه نرم‌افزاری در ارتباط است. در این رابطه، با خصوصیاتی مانند هزینه توسعه نرم‌افزار، طول مدت توسعه نرم‌افزار و ریسک‌های توسعه نرم‌افزار درگیر است.






نیاز به مهندسی نرم‌افزار

نرم‌افزار عموماً از محصولات و موقعیت‌هایی شناخته می‌شود که قابلیت اطمینان زیادی از آن انتظار می‌رود، حتی در شرایط طاقت فرسا، مانند نظارت و کنترل نیروگاه‌های انرژی هسته‌ای، یا هدایت یک هواپیمای مسافربری در هوا، چنین برنامه‌هایی شامل هزاران خط کد هستند، که از نظر پیچیدگی با پیچیده‌ترین ماشین‌های نوین قابل مقایسه هستند. به‌عنوان مثال، یک هواپیمای مسافربری چند میلیون قطعه فیزیکی دارد (و یک شاتل فضایی حدود ده میلیون بخش دارد)، در حالی که نرم‌افزارِ هدایت چنین هواپیمایی می‌تواند تا ۴ میلیون خط کد داشته باشد.

با توجه به گسترش روزافزون دنیای رایانه امروزه بیش از هر زمان دیگری نیاز به متخصصان رایانه احساس می‌شود. متاسفانه این رشته در ایران بازار کار خوبی ندارد طبق آمارها ۶۳٫۲۷ درصد از فارغ‌التحصیلان در سال ۹۰ مشغول به کار در سایر مشاغل هستند. اما برای مهندسان سخت‌افزار هم امکان کار در شرکت‌های تولیدکننده قطعات و دستگاه‌ها و مراکز صنعتی – تولیدی بسیار فراهم است و از نظر سطح درآمدی هم با توجه به دانش و پشتکار شخصی در حد متوسط قرار دارند. به طور کلی این رشته در ایران با استقبال چندانی رو به رو نیست؛ این نیز حاکی از نبود برخی از زیرساخت‌ها در ایران هست.






تکنولوژی‌ها و روش‌های عملی

مهندسان نرم‌افزار طرفدار تکنولوژی‌ها و روشهای عملی بسیار متفاوت و مختلفی هستند، که با هم ناسازگار هستند. این بحث در سال‌های دهه ۶۰ میلادی شروع شد و ممکن است برای همیشه ادامه پیدا کند. مهندسان نرم‌افزار از تکنولوژی‌ها و روش‌های عملی بسیار متنوعی استفاده می‌کنند. کسانی که کار عملی می‌کنند از تکنولوژی‌های متنوعی استفاده می‌کنند: کامپایلرها، منابع کد، پردازشگرهای متن. کسانی که کار عملی می‌کنند از روش‌های عملی بسیار متنوعی استفاده می‌کنند تا تلاش‌هایشان را اجرا و هماهنگ کنند: برنامه‌نویسی در دسته‌های دونفری، بازبینی کد، و جلسات روزانه. هدف هر مهندس نرم‌افزار بایستی رسیدن به ایده‌های جدید خارج از الگوهای طراحی شده قبلی باشد، که باید شفاف بوده و به‌خوبی مستند شده باشد.

با وجود رشد فزاینده اقتصادی و قابلیت تولید فزاینده‌ای که توسط نرم‌افزار ایجاد شده، هنوز هم بحث و جدل‌های ماندگار درباره کیفیت نرم‌افزار ادامه دارند.






ماهیت مهندسی نرم‌افزار

دیوید پارناس گفته‌است که مهندسی نرم‌افزار یک شکل از مهندسی است. استیو مک‌کانل گفته‌است که هنوز اینطور نیست، ولی مهندسی نرم‌افزار باید یک شکل از مهندسی شود. دونالد کنوت گفته‌است که برنامه‌نویسی یک هنر است.

دیوان فعالیت‌های آماری آمریکا مهندسان نرم‌افزار را به عنوان زیرگروهی از «متخصصان رایانه»، با فرصت‌های شغلی‌ای مانند «دانشمند رایانه»، «برنامه نویس» و «مدیر شبکه» دسته بندی کرده‌است. BLS تمام مهندسان دیگر این شاخه علمی، که شامل مهندسان سخت‌افزار رایانه نیز هست، را به‌عنوان «مهندسان» دسته بندی می‌کند.







نرم‌افزار آزاد

نرم‌افزار آزاد (به انگلیسی: Free software) نرم‌افزاری است که به‌همراه کد منبع توزیع شده و با قوانینی منتشر می‌شود که آزادی استفاده، مطالعه، ویرایش و انتشار مجددِ کاربران را تضمین می‌کند. نرم‌افزارهای آزاد معمولاً با همکاری برنامه‌نویس‌های داوطلب به‌عنوان یک پروژه به‌وجود می‌آیند.

نرم‌افزارهای آزاد با نرم‌افزارهای مالکیتی (مانند مایکروسافت ویندوز) که آزادی کاربر در استفاده، مطالعه، ویرایش یا انتشار مجدد را در درجه‌های مختلف محدود می‌کنند، متفاوت است. این محدودیت‌ها با در نظر گرفتن مجازات‌هایی قانونی برای کاربرانی که قوانین آن‌ها را نقض می‌کنند، به‌وجود می‌آیند. نرم‌افزارهای مالکیتی عموماً به صورت بسته‌های اجراپذیر باینری و بدون دسترسی به کد منبع فروخته می‌شوند که جلوی ویرایش و وصله‌کردن نرم‌افزار توسط کاربر را می‌گیرد و او را برای به‌روزرسانی و پشتیبانی به شرکت نرم‌افزاری تولید کننده وابسته می‌کنند. نرم‌افزارهای آزاد از نرم‌افزاری‌های رایگان که برای استفاده، از کاربر پولی دریافت نمی‌کنند، نیز متفاوت‌اند. این نوع نرم‌افزارها نیز معمولاً تمامی حقوق نرم‌افزار را برای تولیدکنندهٔ آن محفوظ داشته و جلوی مهندسی معکوس، ویرایش و یا توزیع مجدد توسط کاربر را می‌گیرند. بنابراین موضوع اصلی نرم‌افزار آزاد، موضوع آزادی است و نه قیمت آن: کاربران آزادند که هر چه می‌خواهند با نرم‌افزار انجام دهند. این آزادی شامل انتشار مجدد نرم‌افزار به‌صورت رایگان و یا با سود نیز می‌شود. یعنی نرم‌افزار آزاد می‌تواند به صورت رایگان و یا در ازای دریافت مبلغی پول در اختیار کاربر قرار بگیرد.

ریچارد استالمن در سال ۱۹۸۵ در زمانی که در حال آغاز پروژهٔ گنو و به‌وجود آوردن بنیاد نرم‌افزارهای آزاد بود، برای اولین بار از عبارت «نرم‌افزار آزاد» استفاده کرد. براساس تعریف بنیاد نرم‌افزارهای آزاد کاربران یک نرم‌افزارِ آزاد، آزاد هستند؛ چون به اجازه گرفتن نیازی ندارند؛ آن‌ها در انجام کارهای دل‌خواهشان (مانند حق نشر و کپی‌برداری) محدود نیستند؛ نیازی به موافقت با هیچ توافق‌نامه‌ای ندارند؛ و در همان ابتدا نیز با نداشتن کد منبع محدود نبوده‌اند.






تعریف

طبق تعریف نرم‌افزار آزاد توسط بنیاد نرم‌افزارهای آزاد، هر نرم‌افزاری که آزادی‌های زیر را برای کاربرانش فراهم کند به عنوان یک نرم‌افزار آزاد شناخته می‌شود:

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

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

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







تاریخچه

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

رفته‌رفته که صنعت رایانه پیشرفت کرد و سخت‌افزارها بیشتر استاندارد شدند و همینطور کامپایلرها و مفسرها پیشرفت کردند، زمینه برای رشد نرم‌افزارهای انحصاری فراهم شد. با چنین پیشرفت‌هایی، برنامه‌ها راحت‌تر از سخت‌افزار یک شرکت به سخت‌افزار شرکت رقیب پورت می‌شدند و راحت می‌شد یک نرم‌افزار را بر روی سخت‌افزارهای مختلفی از شرکت‌های مختلف اجرا کرد. بدین ترتیب یک نفر می‌توانست نرم‌افزاری بنویسد که مستقل از سخت‌افزار خاصی عمل کند و بر روی طیف وسیعی از آنها اجرا شود. علاوه بر آن، با استاندارد شدن سخت‌افزارها، تفاوت‌های ناچیزی که آنها در کارایی داشتند رفته رفته ناپدید شد. تولید کنندگان به این نتیجه رسیده بودند که باید به نرم‌افزار هم به چشم یک وسیله فروشی نگاه کنند. شرکتها شروع به فروش نرم‌افزارهای خود کردند و دست کاربران خود را برای تغییر در نرم‌افزارها و انتشار مجدد آنها بستند. به گونه ای که در سال ۱۹۶۸ شرکتی به نام ای‌دی‌آر (به انگلیسی: ADR) اولین نرم‌افزار دارای مجوز را عرضه کرد. در سال ۱۹۶۹، شرکت آی‌بی‌ام به خاطر اینکه به همراه سخت‌افزارهای خود، نرم‌افزارهای آزاد ارائه می‌کرد، توسط وزارت دادگستری ایالات متحده آمریکا به از بین بردن کسب و کار و ایجاد یک شرایط ضدرقابتی برای دیگر متهم شد. آی‌بی‌ام دیگر به همراه سخت‌افزارهای خود نرم‌افزار ارائه نکرد و بدین ترتیب نرم‌افزارها و سخت‌افزارها از یکدیگر جدا شدند و فاصله گرفتند.

در سال ۱۹۸۳، ریچارد استالمن از آزمایشگاه هوش مصنوعی و علوم رایانه ام‌آی‌تی، پروژه گنو را بنیان نهاد. او که از تغییر فرهنگ در صنعت رایانه و کاربرانش ناامید شده بود، قصد داشت سیستم‌عاملی به نام گنو را به صورت یک نرم‌افزار آزاد توسعه دهد. در ژانویه ۱۹۸۴ توسعه سیستم‌عامل گنو آغاز گشت و بنیاد نرم‌افزارهای آزاد در اکتبر ۱۹۸۵ بنیان نهاده شد. در سال ۱۹۸۹، اولین نسخه از اجازه‌نامه همگانی گنو منشتر شد. البته جی‌پی‌ال اولین پروانه نرم‌افزار آزاد نبود و قبل از آن پروانه‌های نرم‌افزار آزاد دیگری مانند پروانه بی‌اس‌دی در سال ۱۹۸۸ عرضه شده بودند. تا کنون پروانه‌های نرم‌افزار آزاد زیادی توسط افراد و شرکت‌های مختلف منتشر شده است که آز این میان می‌توان به پروانه ام‌آی‌تی، پروانه آپاچی، پروانه آی‌اس‌سی، پروانه همگانی موزیلا و ... اشاره کرد.

در سال ۱۹۹۷، اریک ریموند مقاله‌ای با نام کلیسای جامع و بازار را منتشر کرد و در آن به بررسی اصول نرم‌افزارهای آزاد و مزایای آنها پرداخت. این مقاله به شدت مورد توجه قرار گرفت و یکی از دلایلی بود که شرکت ارتباطات نت‌اسکیپ، کد منبع مرورگر اینترنتی خود را به صورت نرم‌افزار آزاد منتشر کرد. این کار باعث شد تا شرکت‌های دیگری هم به نرم‌افزارهای آزاد توجه نشان دهند. کدهای منبع نت‌اسکیپ، بعدها اساس توسعه مرورگر فایرفاکس و برنامه تاندربیرد قرار گرفت.






مسئله نام‌گذاری

در زبان انگلیسی، کلمه Free معانی متفاوتی همچون آزادی، رایگان بودن و ... دارد. عده‌ای بر این عقیده بودند که ممکن است این کلمه باعث کژفهمی شده و باعث شود مردم به نرم‌افزارهای آزاد، به چشم نرم‌افزارهای رایگان نگاه کنند. این در حالی است که یک نرم‌افزار آزاد، لزوماً رایگان نیست. آنها در سال ۱۹۹۸ کمپین دیگری به نام «نرم‌افزارهای متن‌باز» (به انگلیسی: Open Source) را تشکیل دادند تا با تاکید بیشتر بر روی مدل توسعه و مسائل تکنیکی، به جای مسائل فلسفی و اخلاقی، مردم و شرکت‌ها را هر چه بیشتر به استفاده از نرم‌افزار آزاد تشویق کنند. تقریباً هر دو مفهوم، اشاره به یک چیز دارند و یک نرم‌افزار متن‌باز، نرم‌افزار آزاد هم هست (و برعکس)، اما طرفداران ایده نرم‌افزارهای متن‌باز، آن را روشی برای توسعه نرم‌افزارهای بهتر معرفی می‌کنند و تاکید کمتری بر جنبش اجتماعی و فلسفه پشت این گونه نرم‌افزارها دارند. طبق گفته موسسه پیشگامان متن‌باز (که توسط طرفداران ایده نرم‌افزار متن‌باز بوجود آمده)، عبارت «نرم‌افزار آزاد» واژه ای قدیمی‌تر است و به گونه‌ای منعکس کننده نام بنیاد نرم‌افزارهای آزاد است، سازمانی که در سال ۱۹۸۵ برای محافظت و ترویج نرم‌افزارهای آزاد بوجود آمد؛ با اینکه بنیان‌گذاران ایده متن‌باز هم از توسعه و ترویج نرم‌افزارهای آزاد حمایت می‌کنند، اما در مورد چگونگی ترویج آنها با بنیاد نرم‌افزارهای آزاد موافق نیستند و اعتقاد دارند که آزادی نرم‌افزار در درجه اول یک امر عملی است تا ایدئولوژیکی.






پروانه‌های نرم‌افزار آزاد

نرم‌افزارهای آزاد به همراه اجازه‌نامه‌ای عرضه می‌شوند که این اجازه‌نامه آزادی‌های نام برده شده را برای کاربران تضمین می‌کند. از جمله پروانه‌های نرم‌افزار آزاد می‌توان به پروانه نرم‌افزار جی‌پی‌ال، بی‌اس‌دی، پروانه ام‌آی‌تی، پروانه آی‌اس‌سی و ... نام برد. این اجازه نامه‌ها تفاوتهایی با یکدیگر دارند و هر کدام توسط افراد و شرکت‌های خاصی برای اهداف خاصی منتشر شده‌اند. یک دسته‌بندی کلی برای پروانه‌های نرم‌افزار آزاد این است که آیا آنها به صورت کپی‌لفت هستند یا نه. پروانه‌هایی که کپی‌لفت هستند، مانند پروانه جی‌پی‌ال، تاکید دارند که نسخه‌های مشتق شده از نرم‌افزار هم باید به صورت نرم‌افزار آزاد منتشر شوند. مجوزهای غیر کپی‌لفت تاکیدی بر روی این مساله ندارند و نسخه‌های مشتق شده از این گونه نرم‌افزارها را می‌توان آزادانه به هر شکل دلخواهی، چه به صورت نرم‌افزار آزاد و چه به صورت نرم‌افزار انحصاری منتشر کرد. چنین مجوزهایی را اصطلاحاً «سهل‌گیرانه» (به انگلیسی: permissive) می‌نامند. از جمله رایج‌ترین پروانه‌های کپی‌لفت، پروانه جی‌پی‌ال و از جمله رایج‌ترین پروانه‌های غیر کپی‌لفت، پروانه بی‌اس‌دی و پروانه ام‌آی‌تی است. امروزه هر دو دسته از این پروانه‌ها به صورت گسترده توسط پروژه‌های مختلف مورد استفاده قرار می‌گیرند. برای مثال، هسته لینوکس از پروانه جی‌پی‌ال و پروژه فری‌بی‌اس‌دی از پروانه بی‌اس‌دی استفاده می‌کنند.

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






مدل تجاری

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

برخی از توسعه‌دهندگان مستقل نرم‌افزار آزاد، کمک‌های مالی از طرف افراد داوطلب قبول می‌کنند. به عنوان مثال، سورس‌فورج امکاناتی دارد که یک کاربر داوطلب می‌تواند مبلغی پول را به یک پروژه نرم‌افزار آزاد اهدا کند.






مثالهایی از نرم‌افزارهای آزاد کاربردی

هستهٔ سیستم‌عامل گنو/لینوکس، داروین.
تعدادی از سیستم‌عامل‌های خانواده بی‌اس‌دی مانند فری‌بی‌اس‌دی, اپن‌بی‌اس‌دی, نت‌بی‌اس‌دی, دراگون‌فلی‌بی‌اس‌دی.
کامپایلر جی‌سی‌سی، کتابخانهٔ زبان برنامه‌نویسی سی
کامپایلر کلنگ
پایگاه‌داده‌های رابطه‌ای مانند: mysql، پست‌گر اس‌کیوال، برکلی دی‌بی
زبان‌های برنامه‌نویسی مانند تی‌سی‌ال، روبی، پایتون، پرل و پی‌اچ‌پی.
مرورگر وب فایرفاکس (Firefox)
اُپن آفیس (Open Office)
میزکار کی‌دی‌ای (KDE)
میز کار ال‌اکس‌دی‌ئی (LXDE)
میزکار اکس‌اف‌سی‌ئی (XFCE)
میزکار گنوم (Gnome)
برنامه‌های حروف چینی مانند تک، لاتک و فارسی تک
نرم‌افزارهای مدیریت محتوا مانند جوملا (!Joomla)، پی‌اچ‌پی-نیوک (PHP-Nuke)، پست نیوک (postnuke) و مامبو (mambo) ,وردپرس (wordpress), دروپال (drupal) , ....
نرم‌افزارهای ساخت انجمن (Forum) مانند پی‌اچ‌پی‌بی‌بی (phpbb)، اس‌ام‌اف (smf)، یاب (YaBB) و فروم (phorum)
ویرایشگرهای متن ویم و ایمکس
مجموعه اداری لیبره‌آفیس
page1 - page2 - page3 - page4 - page5 - page7 - page8 - | 3:14 am
نیمباز
نیمباز (Nimbuzz) نرم‌افزاری اختصاصی، چندسکویی و پیام‌رسان فوری برای تلفن‌های همراه، لوح‌رایانه‌ها (تبلت‌ها) و رایانه‌های شخصی است که ۱۵۰ میلیون کاربر در ۲۰۰ کشور دارد.


گفتگوی اینترنتی
گپیا چت در فارسی اصطلاحی به معنای گفتگوی اینترنتی است. اگرچه فرهنگستان زبان فارسی واژه گپ را معادل این واژه قرار داده‌است اما این واژه چندان مورد استقبال عمومی قرار نگرفته‌است. این واژه خلاصه شده Online chat از زبان انگلیسی است.






فن آوری
در ابتدا برای چت اینترنتی از پروتوکل آی آر سی استفاده می‌شد. اما اکنون از طریق سایر پروتکل‌ها نیز این کار امکان پذیر می باشد.


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



اینترنت

اینترنت (به انگلیسی: Internet) ( مخفف interconnected networks شبکه‌های به هم پیوسته ) را باید بزرگ‌ترین سامانه‌ای دانست که تاکنون به دست انسان طرّاحی، مهندسی و اجرا گردیده‌است. ریشهٔ این شبکهٔ عظیم جهانی به دههٔ ۱۹۶۰باز می گردد که سازمان‌های نظامی ایالات متّحدهٔ آمریکا برای انجام پروژه‌های تحقیقاتی برای ساخت شبکه‌ای مستحکم، توزیع شده و باتحمل خطا سرمایه گذاری نمودند. این پژوهش به همراه دوره‌ای از سرمایه گذاری شخصی بنیاد ملی علوم آمریکا برای ایجاد یک ستون فقرات جدید، سبب شد تا مشارکت‌های جهانی آغاز گردد و از اواسط دههٔ ۱۹۹۰، اینترنت به صورت یک شبکهٔ همگانی و جهان‌شمول در بیاید. وابسته شدن تمامی فعّالیت‌های بشر به اینترنت در مقیاسی بسیار عظیم و در زمانی چنین کوتاه، حکایت از آغاز یک دوران تاریخیِ نوین در عرصه‌های گوناگون علوم، فن‌ّآوری، و به خصوص در نحوه تفکّر انسان دارد. شواهد زیادی در دست است که از آنچه اینترنت برای بشر خواهد ساخت و خواهد کرد، تنها مقدار بسیار اندکی به واقعیت درآمده‌است.

اینترنت سامانه‌ای جهانی از شبکه‌های رایانه‌ای بهم پیوسته‌است که از پروتکلِ «مجموعه پروتکل اینترنت» برای ارتباط با یکدیگر استفاده می‌نمایند. به عبارت دیگر اینترنت، شبکه‌ی شبکه هاست که از میلیون‌ها شبکه خصوصی، عمومی، دانشگاهی، تجاری و دولتی در اندازه‌های محلی و کوچک تا جهانی و بسیار بزرگ تشکیل شده‌است که با آرایه وسیعی از فناوریهای الکترونیکی و نوری به هم متصل گشته‌اند. اینترنت در برگیرنده منابع اطلاعاتی و خدمات گسترده ایست که برجسته‌ترین آنها وب جهان‌گستر و رایانامه می‌باشند. سازمان‌ها، مراکز علمی و تحقیقاتی و موسسات متعدد، نیازمند دستیابی به شبکه اینترنت برای ایجاد یک وب‌گاه، دستیابی از راه دور وی‌پی‌ان، انجام تحقیقات و یا استفاده از سیستم رایانامه، می‌باشند. بسیاری از رسانه‌های ارتباطی سنتی مانند تلفن و تلویزیون نیز با استفاده از اینترنت تغییر شکل داده‌اند ویا مجدداً تعریف شده اند و خدماتی جدید همچون صدا روی پروتکل اینترنت و تلویزیون پروتکل اینترنت ظهور کردند. انتشار روزنامه نیز به صورت وب‌گاه، خوراک وب و وب‌نوشت تغییر شکل داده‌است. اینترنت اشکال جدیدی از تعامل بین انسانها را از طریق پیام‌رسانی فوری، تالار گفتگو و شبکه‌های اجتماعی بوجود آورده‌است.

در اینترنت هیچ نظارت مرکزی چه بر امور فنّی و چه بر سیاست‌های دسترسی و استفاده وجود ندارد. هر شبکه تشکیل دهنده اینترنت، استانداردهای خود را تدوین می‌کند. تنها استثنا در این مورد دو فضای نام اصلی اینترنت، نشانی پروتکل اینترنت و سامانه نام دامنه است که توسط سازمانی به نام آیکان مدیریت می‌شوند. وظیفه پی بندی و استاندارد سازی پروتکل‌های هسته‌ای اینترنت، IPv4 و IPv6 بر عهده گروه ویژه مهندسی اینترنت است که سازمانی بین‌المللی و غیرانتفاعی است و هر فردی می‌تواند در وظایفشان با آن مشارکت نماید.




واژه‌شناسی
در زبان انگلیسی واژه ی Intrnet هنگامی که به شبکه جهانی مبتنی بر پروتکل IP اطلاق می گردد، با حرف بزرگ در اول کلمه، نوشته می شود.
در رسانه ها فرهنگ عامه، گاه با اینترنت به صورت یک مقوله عمومی و مرسوم برخورد کرده و آن را با حرف تعریف و به صورت حروف کوچک می نگارند(the internet)
در برخی منابع بزرگ نوشتن حرف اول را به دلیل اسم بودن آن جایز می دانند نه برای صفت بودن این واژه.
واژهٔ لاتین the Internet چنانچه به شبکهٔ جهانی اینترنت اشاره کند، اسم خاص است و حرف اوّلش با حروف بزرگ آغاز می‌شود(I). اگر حرف اوّل آن کوچک باشد می‌تواند به عنوان شکل کوچک شده کلمه Internetwork برداشت شود که به معنی میان شبکه است. واژه "ابر" نیز به صورت استعاری، به ویژه در ادبیات رایانش ابری و نرم‌افزار به عنوان سرویس، برای اشاره به اینترنت به کار می‌رود.



اینترنت در برابر وب
غالباً در گفتگوهای روزمره از دو واژهٔ "وب" و "اینترنت"، به اشتباه، بدون تمایز زیادی استفاده می‌شود، امااین دو واژه معانی متفاوتی دارند. اینترنت یک سامانه ارتباطی جهانی برای داده هاست، زیرساخت‌های نرم‌افزاری و سخت‌افزاری است که رایانه‌ها در سراسر جهان به یک‌دیگر متصل می‌سازد. در مقابل، وب یکی از خدماتی (سرویس)است که بر روی اینترنت ارائه می‌شود و برای ارتباط از شبکه اینترنت بهره می‌جوید. وب مجموعه ای از نوشته های به هم پیوسته(web page) است که به کمک ابرپیوندها و آدرس جهانی(URL) به یکدیگر پیوند خورده‌اند.
وب شامل سرویس های دیگر مانند رایانامه، انتقال فایل(پروتکل اف‌تی‌پی)، گروه خبری و بازی آنلاین است.
خدمات(سرویس) های یاد شده بر روی شبکه های مستقل و جدا از اینترنت نیز در دسترس هستند. وب به عنوان لایه ای در بالای اینترنت قرار گرفته و سطح بالاتری نسبت به آن قرار دارد.



تاریخچه
افتتاح پروژه اسپوتنیک توسط اتحاد جماهیر شوروی سوسیالیستی زنگ خطر را برای ایالات متحده به صدا درآورد تا با تأسیس آرپا یا موسسه پروژه‌های تحقیقاتی پیشرفته در سال ۱۹۵۸ (میلادی) پیشروی در زمینه فناوری را بازیابد.

آرپا اداره فناوری پردازش اطلاعات (IPTO) را تاسیس نمود تا پروژه SAGE راکه برای اولین بار سامانه‌های رادار سراسر کشور را با هم شبکه کرده بود پیشتر برد. هدف IPTO دست یافتن به راههایی برای پاسخ به نگرانی ارتش امریکا در باره قابلیت مقاومت شیکه‌های ارتباطیشان را پاسخ دهد، و به عنوان اولین اقدام رایانه هایشان را در پنتاگون، کوه چاین و دفتر مرکزی فرماندهی راهبردی هوایی (SAC) را به یکدیگر متصل سازد.جی.سی.آر لیکلایدر که از ترویج کنندگان شبکه جهانی بود به مدیریت IPTO رسید.لیکلایدر در سال ۱۹۵۰ (میلادی) پس از علاقه‌مند شدن به فناوری اطلاعات از آزمایشگاه روانشناسی صدا در دانشگاه هاروارد به ام آی تی رفت. در ام آی تی او در کمیته‌ای مشغول به خدمت شد که آزمایشگاه لینکلن را تاسیس کرد و بر روی پروژه SAGE کار می‌کرد. در سال ۱۹۵۷ (میلادی) او نایب رئیس شرکت بی بی ان (BBN) شد. در آنجا بود که اولین محصول PDP-۱ را خرید و نخستین نمایش عمومی اشتراک زمانی را هدایت نمود.
پروفسورلئونارد کلینراک در کنار یکی از اولین پردازشگرهای پیغام واسط (به انگلیسی: Interface Message Processor) در دانشگاه کالیفرنیا، لس‌آنجلس

در IPTO جانشین لیکلایدر ایوان ساترلند، در سال ۱۹۶۵ (میلادی)، لارنس رابرتس را بر آن گماشت که پروژه‌ای را برای ایجاد یک شبکه آغاز نماید و رابرتس پایه این فناوری را کار پل باران نهاد
.

پل باران مطالعه جامعی را برای نیروی هوایی ایالات متحده آمریکا منتشر کرده بود که در آن پیشنهاد داده بود که برای دستیابی به استحکام و مقاومت در برابر حوادث از راه‌گزینی بسته کوچک استفاده شود. رابرتس در آزمایشگاه لینکلن ام آی تی کار کرده بود که هدف اولیه از تاسیس آن، پروژه SAGE بود. لئونارد کلینراک استاد دانشگاه کالیفرنیا تئوریهای زیربنایی شبکه‌های بسته را در سال ۱۹۶۲ (میلادی) و مسیریابی سلسله مراتبی را در سال ۱۹۶۷ (میلادی) ارائه کرده بود، مفاهیمی که زمینه ساز گسترش اینترنت به شکل امروزی آن شدند.

جانشین ساترلند، رابرت تیلور، رابرتس را قانع نمود که موفقیت‌های اولیه‌اش در زمینه راه‌گزینی بسته کوچک را گسترش دهد و بیاید و دانشمند ارشد IPTO شود.در آنجا رابرتس گزارشی با نام "شبکه‌های رایانه‌ای منابع مشترک" به تیلور داد، که در ژوئیه ۱۹۶۸ (میلادی) م.رد تایید او قرار گرفت و زمینه ساز آغاز کار آرپانت در سال بعد شد. پس از کار فراوان، سرانجام در ۲۹ اکتبر ۱۹۶۹ دو گره اول آنچه که بعدها آرپانت شد به هم متصل شدند.این اتصال بین مرکز سنجش شبکه کلینراک در دانشکده مهندسی و علوم کاربردی UCLA و سامانه NLS داگلاس انگلبرت در موسسه تحقیقاتی SRI International در پارک منلو در کالیفرنیا برقرار شد. سومین مکان در آرپانت مرکز ریاضیات تعاملی Culler-Fried در دانشگاه کالیفرنیا، سانتا باربارا بود و چهارمی دپارتمان گرافیک دانشگاه یوتا بود. تا پایان سال ۱۹۷۹ (میلادی) پانزده مکان مختلف به آرپانت جوان پیوسته بودند که پیام آور رشدی سریع بود. آرپانت تنها یکی از اجداد اینترنت امروزی بود. در تلاشی جداگانه، دونالد دیویز نیز، در آزمایشگاه ملی فیزیک انگلیس مفهوم راه‌گزینی بسته کوچک را کشف کرده بود. اونخستین بار آن را در ۱۹۶۵ (میلادی) مطرح نمود. کلمات بسته و راهگزینی بسته در واقع توسط او ابداع شدند و بعدها توسط استانداردها پذیرفته و به کار گرفته شدند. دیویز همچنین یک شبکه راهگزینی بسته به نام Mark I در سال ۱۹۷۰ (میلادی) درانگلستان ساخته بود
.به دنبال نمایش موفق راهگزینی بسته در آرپانت(ARPANET)؛ در سال ۱۹۷۸، اداره پست بریتانیا، Telenet، DATAPACوTRANSPAC با یکدیگر همکاری را برای بوجود آوردن نخستین سرویس شبکه راهگزینی بسته خود آغاز نمودند. در بریتانیا این شبکه به نام سرویس بین‌المللی راهگزینی بسته (به انگلیسی: International Packet Switched Service) خوانده می‌شد. مجموعه شبکه‌های X.۲۵ از اروپا و آمریکا گسترش یافت و تا سال ۱۹۸۱ کانادا، هنگ کنگ و استرالیا ر در بر گرفته بود.استانداردهای راهگزینی بسته X.۲۵ را "کمیته مشاوره بین‌المللی تلگراف و تلفن(CCITT)" - که امروزه به نام ITU-T خوانده می‌شود- حول و حوش سال ۱۹۷۶ تدوین نمود. X.۲۵ از پروتکلهای TCP/IP مستقل بود. این پروتکلها حاصل کار تجربی DARPA در آرپانت، شبکه رادیویی بسته و شبکه ماهواره‌ای بسته بودند.

آرپانت اولیه بر روی برنامه کنترل شبکه(NCP) (به انگلیسی: Network Control Program) کارمی کرد، استانداردی که در دسامبر ۱۹۷۰ توسط تیمی به نام "گروه کاری شبکه(NWG)" به مدیریت استیو کراکر (به انگلیسی: Steve Crocker) طراحی و پیاده سازی شد. برای پاسخگویی به رشد سریع شبکه که مرتباً مکانهای بیشتری بدان متصل می‌شد، وینتون سرف (به انگلیسی: Vinton Cerf) و باب کان (به انگلیسی: Bob Kahn) اولین توصیف پروتکلهای TCP را که امروزه به گستردگی استفاده می‌شوند در خلال سال ۱۹۷۳ ارائه دادند و در مه ۱۹۷۴ مقاله‌ای در این باب منتشر نمودند. به کاربردن واژه اینترنت برای توصیف یک شبکه TCP/IP یکتای جهانی از دسامبر ۱۹۷۴ با انتشار RFC ۶۷۵ آغاز شد.این RFC اولین توصیف کامل مشخصات TCP بود که توسط وینتون سرف، یوگن دالال و کارل سانشاین در آن زمان در دانشکاه استانفورد نوشته شد. در خلال نه سال یعدی کار تا آنجا پیش رفت که پروتکلها تصحیح شدندو بر روی بسیاری از سیستم‌های عامل پیاده سازی شدند.اولین شبکه برپایه بسته پروتکل اینترنت(TCP/IP) از اول ژانویه ۱۹۸۳ وقتی که همه ایستگاههای متصل به آرپا پروتکلهای قدیمی NCP را با TCP/IP جایگزین کردند، شروع به کار نمود. در سال ۱۹۸۵ بنیاد ملی علوم آمریکا(NFS) ماموریت ساخت NFSNET- یک ستون فقرات (Network Backbone) دانشگاهی با سرعت ۵۶ کیلوبیت بر ثانیه(Kbps) - با استفاده از رایانه‌های "مسیریاب فازبال" (به انگلیسی: Fuzzball router) را به مخترع این رایانه‌ها، دیوید ال. میلز (به انگلیسی: David L. Mills) سپرد. یک سال بعد NFS تبدیل به شبکه پرسرعت تر ۱٫۵ مگابیت بر ثانیه ( Mbps) را نیز پشتیبانی می‌کرد. دنیس جنینگ، مسئول برنامه ابرکامپیدتردرNFS تصمیمی کلیدی در مورد استفاده از پروتکلهای TCP/IP ارائه شده توسط DARPA گرفت. گشایش شبکه به دنیای تجاری در سال ۱۹۸۸ آغاز شد.شورای شبکه بندی فدرال ایالات متحده در آن سال با اتصال NFSNET به سامانه تجاری پست MCI موافقت نمودو این اتصال در تابستان ۱۹۸۹ برقرارشد. سایر خدمات پست الکترونیکی تجاری(مانند OnTyme,Compuserve,Telemail ) نیز به زودی متصل شدند. در آن سال سه ارائه دهنده سرویس اینترنت(ISP) بوجود آمدند : UUNET, PSINet, CERFNET . شبکه‌های جدای مهمی که دروازه‌هایی به سوی اینترنت (که خود بعداً جزئی از آن شدند)می گشودند عبارت بودند از : یوزنت, بیت‌نت بسیاری از شبکه‌های متنوع تجاری و آموزشی دیگر همچون Telenet, Tymnet, Compuserve و JANET نیز به اینترنت در حال رشد پیوستند. Telenet - که بعدها Sprintnet نامیده شد - یک شبکه رایانه‌ای ملی خصوصی بود که از ۱۹۷۰ کار خود را آغاز کرده بود و امکان دسترسی با شماره‌گیری (به انگلیسی: Dial-up Access) را به صورت رایگان در شهرهایی در سراسر امریکا فراهم ساخته بود.این شبکه سرانجام در دهه ۱۹۸۰، با محبوبیت روزافزون TCP/IP به سایرین متصل شد. فابلیت TCP/IP برای کار با هر نوع شبکه ارتباطی از پیش موجود، سبب رشد آسانتر آن می‌گشت؛ اگر چه که رشد سریع اینترنت در وهله اول ناشی از در دسترس بودن مسبریابهای استاندارد تجاری از طرف بسیاری از شرکتها، در دسترس بودن تجهیزات تجاری اترنت(به انگلیسی: Ethernet) برای ساخت شبکه‌های محلی و پیاده سازیهای گسترده و استانداردسازی TCP/IP در یونیکس]](به انگلیسی: Unix) و بسیاری سیستم عاملهای دیگر بود.
این رایانه نکست توسط تیم برنرز لی در سرن به عنوان اولین وب سرور دنیا استفاده شد.

اگرچه بسیاری از کاربردها و رهنمودهایی که اینترنت را ممکن ساخت به مدت تقریباً دو دهه وجو داشتند، امااین شبکه تا دهه ۱۹۹۰ هنوز چهره‌ای همگانی نداشت. در ششم آگوست ۱۹۹۱، سرن - سازمان اروپایی پژوهش در باره ذرات - پروژه وب جهان گستر(World Wide Web) را به اطلاع عموم رساند. وب توسط دانشمندی انگلیسی به نام تیم برنرز لی(به انگلیسی: Sir Tim Berners-Lee) در سال ۱۹۸۹ اختراع شد.یکی از مرورگرهای وب محبوب اولیه ViolaWWW بود که از روی هایپرکارت الگوبرداری شده بود و از سامانه پنجره ایکس(به انگلیسی: X Window System) استفاده می‌کرد. سرانجام این مرورگر جای خود را در محبوبیت به مرورگرموزاییک (به انگلیسی: Mosaic) داد. در سال ۱۹۹۳ مرکزملی کاربردهای ابررایانش امریکا (به انگلیسی: National Center for Supercomputing Applications) دردانشگاه ایلینوی اولین نسخه از موزاییک را منتشر کرد و تا اواخر سال ۱۹۹۴ علاقه عمومی به اینترنتی که پیش از این آموزشی و تخصصی بود، گسترش فراوانی یافته بود. در سال ۱۹۹۶ استفاده از واژه اینترنت معمول شد و مجازا برای اشاره به وب هم استفاده شد. در همین هنگام، در گذر این دهه، اینترنت بسیاری از شبکه‌های رایانه‌ای عمومی از پیش موجود را در خود جا داد(اگر چه برخی مثل FidoNet همپنان جداماندند). آنچنانکه تخمین زده شده‌است، در دهه ۹۰ در هرسال اینترنت رشدی صددرصدی نسبت به سال قبل خود داشته‌است و در سالهای ۱۹۹۶و۱۹۹۷ نیز دوره‌های کوتاهی از رشد انفجاری داشته‌است
.این میزان رشد به خصوصیت عدم کنترل مرکزی اینترنت که امکان رشد اندامی شبکه را فراهم می‌سازد نسبت داده‌اند و همچنین به ماهیت بازوغیراختصاصی پروتکلهای اینترنت که امکان برقراری سازگاری و همکاری میان فروشندگان مختلف و عدم توانایی یک شرکت برای اعمال کنترل بیش از حد بر روی شبکه را سبب می‌شود.جمعیت تخمینی کاربران اینترنت مطابق آمار سی ام ژوئیه ۲۰۰۹ ، ۱٫۶۷ میلیارد نفراست.


حاکمیت
اینترنت یک شبکه جهانی توزیع شده‌است که شبکه‌های خودمختار به انتخاب خود به آن پیوسته‌اند و بدون هیچ بدنهٔ مرکزی فرماندهی کار می‌کند. اما برای حفظ هم‌کنش‌پذیری آن جنبه‌های فنی و سیاستهای زیر ساخت پایهٔ آن و همچنین فضاهای نام اصلی آن توسط بنگاه اینترنتی نامها و شماره‌های تخصیص داده شده(به انگلیسی: Internet Corporation for Assigned Names and Numbers) (ICANN) اداره می‌شوند که مقر اصلی آن درمارینا دل ری، کالیفرنیا قرار دارد. ICANN مرجعی است که به هماهنگ سازی تخصیص شناسه‌های یکتا برای استفاده در اینترنت می‌پردازد.این شناسه‌ها شامل نامهای دامنه، نشانی‌های IP، شماره پورت‌های برنامه‌ها در لایه انتقال و بسیاری از پارامترهای دیگر می‌شود. فضاهای نام یکتای جهانی که در آن نام‌ها و شماره‌ها به صورتی تخصیص داده می‌شوند که مقادیر یکتا باشند، برای دسترسی جهانی به اینترنت ضروری هستند. ICANN توسط یک هیات مدیره بین‌المللی که از بین انجمنهای فنی، آکادمیک و سایر انجمنهای غبر تجاری دیگراینترنت انتخاب می‌شود.دولت امریکا همچنان نقش اولیه را در تایید تغییرات در حوزه ریشه سامانه نام دامنه (به انگلیسی: DNS root zone) که قلب سامانه نام دامنه(DNS) را تشکیل می‌دهد. نقش ICANN در هماهنگی تخصیص شناسه‌های یکتا، آن را به عنوان تنها پیکره هماهنگ سازی در شبکه جهانی اینترنت متمایز می‌سازد.در ۱۶ نوامبر ۲۰۰۵ نشست جهانی در باره جامعه اطلاعاتی که در تونس بر‌گزار شد انجمن حاکمیت اینترنت(IGF) را تاسیس کردند تا به مسایل مرتبط با اینترنت بپردازد.
ساعت : 3:14 am | نویسنده : admin | مطلب بعدی
مای نیمباز | next page | next page