تالار گفتگو
تالار گفتگو

تالار گفتگو یا فروم (به انگلیسی: forum) به برنامه‌های مبتنی بر وب گفته می‌شود که برای نگهداری بحث‌ها و نوشته‌های کاربرهای یک وبگاه به کار می‌روند. در تالار گفتگو معمولاً افراد سؤالات خود را مطرح می‌کنند و سایر کاربران به این سؤالات پاسخ می‌دهند.

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





اتاق گفتگو

اتاق گفتگو یا چت روم (به انگلیسی: Chat room) به فضای مجازی ای گفته می‌شود که افراد در آن با هم ارتباط برقرار می‌کنند. نرم افزار یاهو مسنجر یکی از نرم‌افزارهای پرطرفدار برای چت در چت روم‌ها بود که توسط شرکت یاهو طراحی شده بود. یاهو از تاریخ ۱۴ دسامبر ۲۰۱۲ چت روم های خود را تعطیل کرده است و دیگر چنین چیزی در یاهو مسنجر دیده نمیشود.






تاریخچه

اولین چت برخط با نام تاکوماتیک (به انگلیسی: Talkomatic) توسط دوج برون و داوید آ ولی در سال ۱۹۷۴ بر روی سیستم پلاتو (به انگلیسی: PLATO System) در دانشگاه ایلینوی در اربانا شمپین طراحی شد.

این سیستم تا اواسط دهه ۱۹۸۰ میلادی در میان کاربرهای پلاتو بسیار استفاده می‌شد و تا ۵ کاربر به صورت همزمان می‌توانستند بر روی آن فعالیت کنند.




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






فن آوری

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






نرم‌افزارهای چت

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





اینترنت

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

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

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






واژه‌شناسی

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






اینترنت در برابر وب

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






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

در 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 همپنان جداماندند). آنچنانکه تخمین زده شده‌است، در دهه ۹۰ در هرسال اینترنت رشدی صددرصدی نسبت به سال قبل خود داشته‌است و در سالهای ۱۹۹۶و۱۹۹۷ نیز دوره‌های کوتاهی از رشد انفجاری داشته‌است. این میزان رشد به خصوصیت عدم کنترل مرکزی اینترنت که امکان رشد اندامی شبکه را فراهم می‌سازد نسبت داده‌اند و همچنین به ماهیت بازوغیراختصاصی پروتکلهای اینترنت که امکان برقراری سازگاری و همکاری میان فروشندگان مختلف و عدم توانایی یک شرکت برای اعمال کنترل بیش از حد بر روی شبکه را سبب می‌شود. جمعیت تخمینی کاربران اینترنت مطابق آمار سی ام ژوئیه ۲۰۰۹، ۱٫۶۷ میلیارد نفراست.






فناوری
پروتکل‌ها

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

استانداردهای اینترنت چارچوبی را مشخص می‌کنند که به نام بسته پروتکل اینترنت شناخته می‌شود. این بسته یک مدل معماری است که روشهارا به سامانه لایه بندی شده‌ای از پروتکلها تقسیم می‌کند.(RFC 1122, RFC 1123) هرلایه با محیطی متناظر است که سرویسهایی که ارائه می‌دهد در آن محیط یا حوزه عمل می‌کنند. بالاترین لایه، لایه کاربرد (به انگلیسی: Application Layer)، فضایی است برای شیوه‌های شبکه بندی مخصوص برنامه‌های کاربردی که مورد استفاده نرم‌افزارهای کاربردی قرار می‌گیرد، به عنوان مثال یک مرورگروب. در زیر این لایه لایه انتقال (به انگلیسی: Transport Layer) قرار دارد که برنامه‌های کاربردی را در " میزبان‌های متفاوت" از طریق شبکه با شیوه‌های مناسب مبادله داده به یکدیگر مرتبط می‌سازد (به عنوان مثال مدل کارخواه-کارساز). در زیر این لایه‌ها فناوریهای شبکه بندی اساسی در قالب دو لایه قراردارند. لایه اینترنت از طریق نشانی پروتکل اینترنت(آدرس IP) این قابلیت را به رایانه‌ها می‌دهد که یکدیگر را شناسایی کنند و مکان یکدیگر را بیایند و به آنها اجازه می‌دهد که از طریق شبکه‌های ترانزیت میانی به هم متصل شوند. درآخر زیر همه لایه‌ها یک لایه نرم‌افزاری به نام لایه پیوند قرارمی گیرد که اتصال بین میزبانهایی که در یک شبکه محلی قرار دارند ویا از طریق اتصال شماره گیری(Dial-up Connection) را بوجود می‌آورد. این مدل که به نام مجموعه پروتکل اینترنت خوانده می‌شود به گونه‌ای طراحی شده‌است که از سخت‌افزاری که بر روی آن کار می‌کند مستقل باشد و به جزئیات سخت‌افزاری نمی‌پردازد. مدل‌های دیگری نیز علاوه بر این مدل بوجود آمدند (مثل مدل مرجع OSI) که اگرچه شباهتهای زیادی با هم دارند، اما نه از لحاظ جزئیات توصیفی و نه از نظر پیاده‌سازی با هم سازگار نیستند.

برجسته‌ترین جزء مدل اینترنت پروتکل اینترنت(IP) است که یک سیستم آدرس دهی (آدرس‌های IP) برای رایانه‌های متصل به اینترنت را فراهم می‌آورد. IP نسخه ۴، نسخه ابتدایی آن بود که در نسل اول اینترنت امروزی بکار گرفته شد و هنوز هم کاربرد عمده دارد. این نسخه به گونه‌ای طراحی شده بود که ۴٫۳~ میلیارد (۱۰۹) میزبان اینترنت را آدرس دهی کند. اما رشد انفجاری ایترنت منجر به اتمام آدرسهای IP شد و گمان می‌رود که تقریباً در ۲۰۱۱ به مرحله پایانی اش برسد. در اواسط دهه ۹۰ نسخه جدید این پروتکل، ipv6 با قابلیت آدرس دهی بسیار بیشتر و مسیر یابی کارآمد تر ترافیک اینترنت بوجود آمد. این نسخه هم اکنون در مرحله بکارگیری تجاری در سراسر دنیا به سر می‌برد و دفاتر ثبت منطقه‌ای اینترنت (RIR) (به انگلیسی: Regional Internet Registry) به تمام مدیران منابع اصرار می‌کنند که برای پذیرش نسخه جدید و تغییر، برنامه ریزی کنند.

IPv۶ با IPv۴ هم‌کنش‌پذیر (Interoperable) نیست و در واقع نسخه‌ای موازی از اینترنت ایجاد می‌کند که در دسترس نرم‌افزارهای سازگار با IPv۴ نمی‌باشد. این بدین معنی است که ارتقای نرم‌افزار و یا استفاده از امکانات ترجمه برای همه دستگاه‌های شبکه که بخواهند بر روی اینترنت IPv۶ ارتباط برقرار کنند، امری ضروری است. اکثر سیستم عامل‌های مدرن امروزی به گونه‌ای تغییر داده شده‌اند که از هر دو نسخه IP پشتیبانی کنند، اما زیرساختهای شبکه هنوز از این قافله عقب هستند.






ساختار

ساختار اینترنت و خصوصیات کاربرد آن به گستردگی مورد مطالعه قرارگرفته‌است. این مشخص شده‌است که ساختار مسیردهی پروتکل اینترنت(IP) و پیوندهای ابرمتن وب جهان گستر، هردو شبکه‌های مقیاس-آزاد هستند. شبیه به شیوه ارائه دهندگان تجاری اینترنت(ISP) که از طریق نقاط تبادل اینترنت(IXP) (به انگلیسی: Internet Exchange Point) به هم وصل می‌شوند، شبکه‌های پژوهشی نیز تمایل دارند که در شکل زیرشبکه‌های بزرگی مانند GEANT، گلوریاد، Internet۲ و JANET (شبکه آکادمی علوم و تحقیقات بریتانیا)، به هم متصل شوند. این زیر شبکه‌ها به نوبه خود پیرامون شبکه‌های کوچکتری پدید آمده‌اند.

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






حاکمیت

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






کاربردهای امروزی

اینترنت انعطاف‌پذیری بیشتری را در مورد ساعتهای کاری و موقعیت جغرافیایی فراهم می‌سازد بویژه با گسترش اتصالهای پرسرعت و نرم‌افزارهای کاربردی وب. امروزه اینترنت تقریباً از همه جا و به طرق مختلفی قابل دسترسی است، بویژه از طریق دستگاههای متحرک اینترنتی (Mobile Internet Device)، تلفن همراه، جعبه‌های بازی دستی(Handheld Game Console) و مسیریابهای سلولی(Cellular Routers) که به کاربران اجازه می‌دهد که هرکجا شبکه‌های بی سیم وجود دارد به اینترنت متصل شوند. با وجود محدودیت اندازه صفحه کوچک دستگاههای جیبی، خدمات اینترنت مانند وب و پست الکترونیک قابل استفاده‌اند. اینترنت همچنین بازار بزرگی برای شرکتها شده‌است. برخی از بزرگترین شرکتهای دنیا با بهره‌گیری از ماهیت کم هزینه تبلیغات و دادوستد اینترنتی (که به دادوستدالکترونیک(E-Commerce) مشهور است) بزرگ شده‌اند. این سریعترین راه برای انتشار همزمان اطلاعات بین افراد متعدد است. اینترنت متعاقباً راه و رسم خریدکردن را نیز متحول ساخته‌است. به عنوان مثال یک فرد می‌توانند کالایی مانند یک لوح فشرده(CD) را به صورت برخط(Online) سفارش داده و ظرف چند روز آن را از طریق پست دریافت کند و یا مستقیماً آن را در رایانه‌اش بارگیری(Download) نماید. اینترنت همچنین امکانات بزرگی برای بازاریابی شخصی (Personalized Marketing) به ارمغان می‌آورد و بیشتر از هر رسانه تبلیغاتی دیگری به یک شرکت امکان تبلیغ خصوصی محصول برای یک فرد و یا گروهی از افراد را می‌دهد. از نمونه‌های بازایابی شخصی می‌توان به اجتماعات برخطی چون Facebook، Orkut، ،Twitter، Friendster، Myspace و مشابه آنها اشاره کرد که هزاران کاربر به عضویت آنها در می‌آیند تا خود را تبلیغ کنند و به صورت برخط دوست بیابند. بسیاری از آنها نوجوانان و جوانان بین ۱۳ تا ۲۵ سال هستند. وقتی که آنها خود را تبلیغ می‌کنند، علایق و سرگرمی‌های خود را نیز تبلیغ می‌نمایند و شرکتهای بازاریابی برخط(Online Marketing) نیز از آن سود می‌جویند تا به اطلاعاتی در مورد اینکه هریک از این کاربران معمولاً جه کالاهایی را به صورت بر خط می‌خرند، دست یابند و محصولات شرکت خود را برای کاربران مورد نظرشان تبلیغ کنند.

به اشتراک گذاری آنی و کم هزینه ایده‌ها، دانش و مهارت‌ها، با کمک نرم‌افزارهای تشریک مساعی (Collaborative Software) کارهای مشارکتی را بسیار آسانتر نموده‌است. گروهها نه تنها می‌توانند به ارزانی ارتباط برقرار کنند و ایده‌ها را به اشتراک بگذارند، بلکه در وهله اول به دلیل دسترسی بسیار گسترده اینترنت تشکیل گروهها آسانتر می‌شود. مثالی از این موضوع، جنبش نرم‌افزار آزاد است که محصولاتی چون لینوکس، فایرفاکس موزیلا و اپن‌آفیس بوجود آورد. "گپ" اینترنتی چه به شکل اتاقهای گپ IRC و چه به شکل پیام رسانی فوری (Instant Messaging) به همکاران اجازه می‌دهد که به راحتی ضمن کارکردن پشت رایانه هایشان با یکدیگر در تماس باشند. پیام‌ها حتی راحت تر و سریعتر از سیستم پست الکترونیکی مبادله می‌شوند. این سیستم‌ها می‌توانند به گونه‌ای توسعه یابند که امکان مبادله فایل و یا تماس تصویری را نیز به کاربران ارائه دهند.(مانند Yahoo Messenger)

سیستمهای کنترل نسخه (Version Control) به گروه‌های همکاری کننده اجازه می‌دهد که بر روی اسناد اشتراکی کار کنند، بدون اینکه تصادفاً کار یکدیگر را رونویسی کنند و یا منتظر رسیدن اسناد به دستشان باشند تا بتوانند کار خود را بر روی اسناد انجام دهند. تیم‌های تجاری و پرژه‌ای می‌توانند تقویم‌ها را نیز در کنار اسناد و اطلاعات به اشتراک بگدارند. چنین هماهنگی‌هایی در طیف وسیعی از موضوعات مانند پژوهشهای علمی، تولید نرم‌افزار، برنامه ریزی کنفرانس وفعالیتهای سیاسی صورت می‌گیرد. همکاریهای سیاسی و اجتماعی با گسترش دسترسی به اینترنت و افزایش سوادرایانه‌ای افزایش می‌یابد. از رویدادهای فلش ماب در اوایل ۲۰۰۰ تا استفاده از شبکه‌های اجتماعی در اعتراضات به انتخابات ۲۰۰۹ در ایران. اینترنت به افراد این امکان را می‌دهد که به طرز بسیار موثر تری از هرروش دیگری با هم کار کنند.

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






خدمات
اطلاعات

بسیاری از افراد واژه‌های "اینترنت" و "وب جهان گستر"(یابه صورت کوتاه "وب") را به جای هم بکار می‌برند، حال آنکه این دو واژه معناهای متفاوتی دارند. وب جهان گستر مجموعه‌ای جهانی از اسناد و تصاویر و سایر منابعی است که به وسیله ابرپیوندها با یکدیگر ارتباط منطقی دارند و با استفاده از شناسه‌های منبع یکنواخت (به انگلیسی: Uniform Resource Identifier) ویا به اختصار URI مورد مراجعه قرار می‌گیرند. URIها به ارائه دهندگان اجازه می‌دهد که سرویسها و مشتریان را به صورت سمبولیک مشخص نمایند. تا مکان یابی و آدرس دهی وب سرورها، سرورهای پرونده و سایر پایگاه داده‌هایی که اسناد را ذخیره می‌کنند و همچنین عرضه دسترسی به منابع از طریق پروتکل HTTP، اصلی‌ترین پروتکل حامل وب، را ممکن سازند.HTTP تنها یک از صدها پروتکلی است که روی وب استفاده می‌شود. وب سرویسها نیز می‌توانند از این پروتکل برای ارتباط استفاده کنند.

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

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






ارتباط

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

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

کیفیت صدا از یک تماس تا تماس دیگر تغییر می‌کند، اما غالباً کیفیت برابر یا بهتر از تلفن معمولی است. مشکلاتی که برای VoIP باقی می‌مانند، گرفتن شماره تلفن‌های اظطراری و قابلیت اطمینان است. در حال حاضر تعدادی از ازائه دهندگان VoIP سرویس شماره‌های اظطراری را ارائه می‌دهند اما هنوز به صورت جهانی در دسترس نیست. تلفن‌های سنتی انرژی را از خط تلفن می‌گیرند و در صورت قطع برق می‌توانند همچنان عمل کنند. برای VoIP این امکان بدون استفاده از منبع تغذیه پشتیبان برای تغذیه تجهیزات تلفن و دسترسی به اینترنت، وجود ندارد. VoIP همچنین محبوبیت روزافزونی بین علاقه‌مندان بازیهای کامپیوتری به عنوان شکلی از ارتباط بین بازیکنان می‌یابد. محبوبترین برنامه‌های VoIP برای بازیها عبارتند از: Ventrilo و TeamSpeak. Wii، پلی‌استیشن ۳ و ایکس‌باکس ۳۶۰ نیز ویژگی گفتگو با VoIP را عرضه می‌کنند.
page1 - page2 - page3 - page4 - page5 - page7 - page8 - | 4:30 am
خط مشی جاوا

یکی از ویژگی‌های جاوا قابل حمل بودن آن است. یعنی برنامهٔ نوشته شده به زبان جاوا باید به طور مشابهی در کامپیوترهای مختلف با سخت‌افزارهای متفاوت اجرا شود. و باید این توانایی را داشته باشد که برنامه یک بار نوشته شود، یک بار کامپایل شود و در همه کامپیوترها اجرا گردد. به این صورت که کد کامپایل شدهٔ جاوا را ذخیره می‌کند، اما نه به‌صورت کد ماشین بلکه به‌صورت بایت‌کد جاوا. دستورالعمل‌ها شبیه کد ماشین هستند، اما با ماشین‌های مجازی که به طور خاص برای سخت‌افزارهای مختلف نوشته شده‌اند، اجرا می‌شوند. در نهایت کاربر از سکوی جاوا نصب شده روی ماشین خود یا مرورگر وب استفاده می‌کند. کتابخانه‌های استاندارد یک راه عمومی برای دسترسی به ویژگی‌های خاص فراهم می‌کنند. مانند گرافیک، نخ‌کشی و شبکه. در بعضی از نسخه‌های ماشین مجازی جاوا، بایت‌کدها می‌توانند قبل و در زمان اجرای برنامه به کدهای محلی کامپایل شوند. فایدهٔ اصلی استفاده از بایت‌کد، قسمت کردن است. اما ترجمهٔ کلی یعنی برنامه‌های ترجمه شده تقریباً همیشه کندتر از برنامه‌های کامپایل شدهٔ محلی اجرا می‌شوند. این شکاف می‌تواند با چند تکنیک خوش‌بینانه که در کاربردهای JVM قبلی معرفی شد، کم شود. یکی از این تکنیک‌ها JIT است که بایت‌کد جاوا را به کد محلی ترجمه کرده و سپس آن را پنهان می‌کند. در نتیجه برنامه خیلی سریع‌تر نسبت به کدهای ترجمه شدهٔ خالص شروع و اجرا می‌شود. بیشتر VMهای پیشرفته، به‌صورت کامپایل مجدد پویا، در آنالیز VM، رفتار برنامهٔ اجرا شده و کامپایل مجدد انتخاب شده و بهینه‌سازی قسمت‌های برنامه، استفاده می‌شوند. کامپایل مجدد پویا می‌تواند کامپایل ایستا را بهینه‌سازی کند. زیرا می‌تواند قسمت hot spot برنامه و گاهی حلقه‌های داخلی که ممکن است زمان اجرای برنامه را افزایش دهند را تشخیص دهد. کامپایل JIT و کامپایل مجدد پویا به برنامه‌های جاوا اجازه می‌دهد که سرعت اجرای کدهای محلی بدون از دست دادن قابلیت انتقال افزایش پیدا کند.





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

کارایی جاوا نسبت به نسخه‌های اولیه بیشتر شد. در تعدادی از تست‌ها نشان داده شد که کارایی کامپایلرJIT کاملاًَ مشابه کامپایلر محلی شد. عملکرد کامپایلرها لزوماً کارایی کدهای کامپایل شده را نشان نمی‌دهند. یکی از پیشرفت‌های بی نظیر در در زمان اجرای ماشین این بود که خطاها ماشین را دچار اشکال نمی‌کردند. علاوه بر این در زمان اجرای ماشینی مانند جاوا وسایلی وجود دارد که به زمان اجرای ماشین متصل شده و هر زمانی که یک استثنا رخ می‌دهد، اطلاعات اشکال زدایی که در حافظه وجود دارد، ثبت می‌کنند.


پیاده‌سازی
شرکت سان میکروسیستم مجوز رسمی برای پلت فرم استاندارد جاوا را به مایکروسافت ویندوز, لینوکس، و سولاریس (سیستم‌عامل). داده‌است. همچنین محیط‌های دیگری برای دیگر پلت فرم‌ها فراهم آورده‌است. علامت تجاری مجوز شرکت سان میکروسیستم طوری بود که با همهٔ پیاده‌سازی‌ها سازگار باشد. به علت اختلاف قانونی که با ماکروسافت پیدا کرد، زمانی که شرکت سان ادعا کرد که پیاده‌سازی ماکروسافت از RMI یا JNI پشتیبانی نکرده و ویژگی‌های خاصی را برای خودش اضافه کرده‌است. شرکت سان در سال ۱۹۹۷ پیگیری قانونی کرد و در سال ۲۰۰۱ در توافقی ۲۰ میلیون دلاری برنده شد. در نتیجه کمی بعدماکروسافت جاوا را به ویندوز فرستاد. در نسخهٔ اخیر ویندوز، مرورگر اینترنت نمی‌تواند از جاوا پلت فرم پشتیبانی کند. شرکت سان و دیگران یک سیستم اجرای جاوای رایگان برای آنها و نسخه‌های دیگر ویندوز فراهم آوردند.
اداره خودکار حافظه

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

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

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

گرامر
گرامر جاوا وسیع‌تر از ++C است و برخلاف ++C که ترکیبی است از ساختارها و شی‌گرایی، زبان جاوا یک زبان شی‌گرای خالص می‌باشد. فقط نوع دادة اصلی از این قاعده مستثنی است. جاوا بسیاری از ویژگی‌ها را پشتیبانی می‌کند و از کلاس‌ها برای ساده‌تر کردن برنامه‌نویسی و کاهش خطا استفاده می‌کند.



بر طبق قرارداد فایل هل بعد از کلاس‌های عمومی نام گذاری می‌شوند. سپس باید پسوند java را به این صورت اضافه کرد: Hello world.java. این فایل اول باید با استفاده از کامپایلر جاوا به بایت کد کامپایل شود. در نتیجه فایل Hello world.class ایجاد می‌شود. این فایل قابل اجرا است. فایل جاوا ممکن است فقط یک کلاس عمومی داشته باشد. اما می‌تواند شامل چندین کلاس با دستیابی عمومی کمتر باشد.

کلاسی که به صورت خصوصی تعریف می‌شود ممکن است در فایل.java ذخیره شود. کامپایلر برای هر کلاسی که در فایل اصلی تعریف می‌شود یک کلاس فایل تولید می‌کند. که نام این کلاس فایل همنام کلاس است با پسوند.class

کلمه کلیدی public (عمومی) برای قسمت‌هایی که می‌توانند از کدهای کلاس‌های دیگر صدا زده بشوند، به کار برده می‌شود. کلمهٔ کلیدی static (ایستا) در جلوی یک تابع، یک تابع ایستا را که فقط وابسته به کلاس است و نه قابل استفاده برای نمونه‌هایی از کلاس، نشان می‌دهد. فقط تابع‌های ایستا می‌توانند توسط اشیا بدون مرجع صدا زده شوند. داده‌های ایستا به متغیرهایی که ایستا نیستند، نمی‌توانند دسترسی داشته باشند.

کلمهٔ کلیدی void (تهی) نشان می‌دهد که تابع main هیچ مقداری را بر نمی‌گرداند. اگر برنامهٔ جاوا بخواهد با خطا از برنامه خارج شود، باید system.exit() صدا زده شود. کلمهٔ main یک کلمهٔ کلیدی در زبان جاوا نیست. این نام واقعی تابعی است که جاوا برای فرستادن کنترل به برنامه، صدا می‌زند. برنامه جاوا ممکن است شامل چندین کلاس باشد که هر کدام دارای تابع main هستند.

تابع main باید آرایه‌ای از اشیا رشته‌ای را بپذیرد. تابع main می‌تواند از آرگومان‌های متغیر به شکل public static void main(string…args) استفاده کند که به تابع main اجازه می‌دهد اعدادی دلخواه از اشیا رشته‌ای را فراخوانی کند. پارامترstring[]args آرایه‌ای از اشیا رشته ایست که شامل تمام آرگومان‌هایی که به کلاس فرستاده می‌شود، است.

چاپ کردن، قسمتی از کتابخانهٔ استاندارد جاوا است. کلاس سیستم یک فیلد استاتیک عمومی به نام out تعریف کرده‌است. شی out یک نمونه از کلاس printstream است و شامل تعداد زیادی تابع برای چاپ کردن اطلاعات در خروجی استاندارد است. همچنین شامل println(string) برای اضافه کردن یک خط جدید برای رشتهٔ فرستاده شده اضافه می‌کند.
توزیع‌های جاوا

منظور از توزیع جاوا پیاده‌سازی‌های مختلفی است که برای کامپایلر جاوا و همچنین مجموعه کتابخانه‌های استاندارد زبان جاوا (JDK) وجود دارد. در حال حاضر چهار توزیع‌کنندهٔ عمده جاوا وجود دارند:

سان میکروسیستمز: توزیع کننده اصلی جاوا و مبدع آن می‌باشد. در اکثر موارد هنگامی که گفته می‌شود جاوا منظور توزیع سان می‌باشد.
GNU Classpath: این توزیع از سوی موسسه نرم‌افزارهای آزاد منتشر شده و تقریباً تمامی کتابخانه استاندارد زبان جاوا در آن بدون بهره‌گیری از توزیع شرکت سان از اول پیاده‌سازی شده‌است. یک کامپایلر به نام GNU Compiler for Java نیز برای کامپایل کردن کدهای جاوا توسط این موسسه ایجاد شده‌است. فلسفه انتخاب نام Classpath برای این پروژه رها کردن تکنولوژی جاوا از وابستگی به علامت تجاری جاوا است بطوریکه هیچ وابستگی یا محدودیتی برای استفاده آن از لحاظ قوانین حقوقی ایجاد نشود و از طرفی به خاطر وجود متغیر محیطی classpath در تمامی محیط‌های احرایی برنامه‌های جاوا، این نام به نوعی تکنولوژی جاوا را برای خواننده القا می‌کند. کامپایلر GNU توانایی ایجاد کد اجرایی (در مقابل بایت کد توزیع سان) را داراست. لازم به ذکر است که در حال حاضر شرکت سان تقریباً تمامی کدهای JDK را تحت مجوز نرم‌افزارهای آزاد به صورت متن باز منتشر کرده‌است و قول انتشار قسمت بسیار کوچکی از این مجموعه را که به‌دلیل استفاده از کدهای شرکت‌های ثانویه نتوانسته به صورت متن باز منتشر نماید در آینده نزدیک با بازنویسی این کدها داده‌است.
مایکروسافت #J: این در حقیقت یک توزیع جاوا نیست. بلکه زبانی مشابه می‌باشد که توسط مایکروسافت و در چارچوب.net ارائه شده‌است. انتظار اینکه در سیستم‌عاملی غیر از ویندوز هم اجرا شود را نداشته باشید.
AspectJ: این نیز یک زبان مجزا نیست. بلکه یک برنامه الحاقی می‌باشد که امکان برنامه نویسی Aspect Oriented را به جاوا می‌افزاید. این برنامه توسط بنیاد برنامه‌نویسی جلوه‌گرا و به صورت کدباز ارائه شده‌است.



کلاس‌های خاص

برنامک (برنامه‌های کاربردی کوچک)

اپلت جاواها برنامه‌هایی هستند که برای کاربردهایی نظیر نمایش در صفحات وب، ایجاد شده‌اند. واژهٔ import باعث می‌شود کامپایلر جاوا کلاس‌های javaapplet.Applet وjava.awt.Graphics را به کامپایل برنامه اضافه کند. کلاس Hello کلاس Applet را توسعه می‌دهد. کلاس اپلت چارچوبی برای کاربردهای گروهی برای نمایش و کنترل چرخهٔ زندگی اپلت، درست می‌کند. کلاس اپلت یک تابع پنجره‌ای مجرد است که برنامه‌های کوچکی با قابلیت نشان دادن واسط گرافیکی برای کاربر را فراهم می‌کند. کلاس Hello تابع موروثی print(Graphics) را از سوپر کلاس container باطل می‌کند، برای اینکه کدی که اپلت را نمایش می‌دهد، فراهم کند. تابع paint شی‌های گرافیکی را که شامل زمینه‌های گرافیکی هستند را می‌فرستد تا برای نمایش اپلت‌ها استفاده شوند. تابع paint برای نمایش "Hello world!" تابع drawstring(string,int,int) را صدا می‌زند.

جاوا سرولت
تکنولوژی servlet جاوا گسترس وب را به آسانی فراهم می‌کند. و شامل مکانیزم‌هایی برای توسعهٔ تابعی سرور وب و برایدسترسی به سیستم‌های تجاری موجود است.servlet قسمتی از javaEE است که به درخواست‌های مشتری پاسخ می‌دهد.

واژهٔ import کامپایلر جاوا را هدایت می‌کند که تمام کلاس‌های عمومی و واسط‌ها را از بسته‌های java.io وjava.servlet را در کامپایل وارد کند.

کلاس Hello کلاس Genericservlet را توسعه می‌دهد. کلاس Genericservlet واسطی برای سرور فراهم می‌کند تا درخواست را به servlet بفرستد و چرخهٔ زندگی servlet را کنترل کند.
JSP
صفحهٔ سرور جاوا قسمتی از سرور javaEE است که پاسخ تولید می‌کند. نوعاً صفحات HTML به درخواست‌های HTTP از مشتری.JSPها کد جاوا در صفحهٔ HTML را با استفاده از حائل <%and%> اضافه می‌کنند.JSP به javaservlet کامپایل می‌شود.

سوینگ
Swing کتابخانهٔ واسط گرافیکی کاربر است برای پلت فرم javaSE. ابزاری مشابه پنجره، GTK و motif توسط شرکت sun فراهم شده‌اند. این مثال کاربرد swing یک پنجرهٔ واحد همراه با Hello world را ایجاد می‌کند.

اولین جملهٔ import کامپایلر جاوا را هدایت می‌کندتا کلاس Borderlayout را از بستهٔ java.awt در جاوا به کامپایل اضافه کند. و import دوم همهٔ کلاس‌های عمومی و واسط آن‌ها را از بستهٔ javax.swing اضافه می‌کند. کلاس Hello کلاس Jframe را توسعه می‌دهد. کلاس Jframe یک پنجره با میلهٔ عنوان و کنترل بستن است.

زمانی که برنامه آغاز می‌شود، تابع main با JVM صدا زده می‌شود. این یک نمونهٔ جدید از کلاس Hello را ایجاد کرده و با صدا زدن تابع setvisible(boolean) با مقدار true نمایش داده می‌شود.
 
ساعت : 4:30 am | نویسنده : admin | مطلب قبلی | مطلب بعدی
جاوا | next page | next page