پیرامون سیستم عامل IOS

در اواسط سال 2007 بود که اولین نسخه از سیستم عامل iOS منتشر شد. آن زمان این سسیتم عامل نوپا از رقیبان خود چند قدم عقب تر بود. ویندوز موبایل، پالم، سیمبین و حتی بلک بری همگی سیستم عامل هایی بودند که در سال 2007 جای خود را در دنیای سیستم عامل های موبایل تثبیت کرده بودند. iOS 1.0 در آن زمان از 3G، سازوکار چند وظیفه ای ( Multitasking ) و نرم افزار های فرعی پشتیبانی نمی کرد، قابلیت کپی/پیست و الصاق انواع فایل ها به ایمیل در آن وجود نداشت، MMS و حتی تغییر عکس پس زمینه هم در آن یافت نمی شد و در واقع هم برای کاربران و هم برای توسعه دهندگان بسیار محدود بود.

اپل در آن زمان به جای تمرکز روی قابلیت های جدبد برای سیستم عامل های موبایل در آن زمان، به دنبال بیشترین سرعت و دقت برخی از قابلیت های رایج در سال 2007 بود. با این که ویژگی هایی در iOS 1.0 وجود داشت، اما سه ویژگی از بقیه مهم تر بودند:

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

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

تجربه موسیقی و فیلم به سبکی جدید : iOS 1.0 با نرم افزار های محدود خود، شما را وارد دنیای دیگری از موسیقی و فیلم می کرد. به لطف سخت افزار آیفون، این سیستم عامل، ذخیره تعداد زیادی از آهنگ و فیلم را برای کاربران ممکن ساخته بود. علاوه بر آن کاربران می توانستند در هر زمان و مکان، به موسیقی ها و فیلم های ذخیره شده خود دسترسی داشته باشند و با استفاده از رابط کاربری جذاب iOS، از گوش دادن به آهنگ ها یا تماشای فیلم ها لذت بیشتری ببرند.

iOS 1.0 علاوه بر ویژگی هایی که ذکر شد، قابلیت های دیگری هم داشت که به اختصار به آنها می پردازیم:

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

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

همگام سازی یا Sync با iTunes : یکی دیگر از ویژگی های مفیدی بود که باعث فراهم کردن راحتی هر چه بیشتر کاربران آیفون می شد. با این ویژگی کاربر می توانست اطلاعات خود را وارد گوشی خود کند. البته آن زمان این ویژگی به اندازه امروز پیشرفته و در عین حال ساده نبود.

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

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

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

به روز رسانی های iOS 1 :

iOS 1.1.1 :

تاریخ انتشار : 2007 / 9

دستگاه های تحت پشتیبانی : آیفون 2G – آیپاد تاچ نسل اول

ویژگی ها : فروشگاه موسیقی اینترنتی iTunes – پشتیبانی از آیپاد تاچ نسل اول

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

مهم ترین ویژگی جدید در iOS 1.1.1 اضافه شدن فروشگاه موسیقی اینترنتی iTunes بود. این ویژگی باعث می شد تا کاربران آهنگ های مورد علاقه خود را مستقیما از روی آیفون خود و فقط از طریق شبکه Wi-Fi خریداری کنند. این به روز رسانی همچنین پشتیبانی از خروجی تلویزیون را اضافه نمود. کاربر همچنین می توانست تعیین کند با دوبار فشار دادن دکمه خانه، دستگاه چه دستوری را اجرا کند. می توان گفت این نقطه آغازین دستور دهی از طریق دکمه ها در iOS بود.

iOS 1.1.3 :

تاریخ انتشار : 2008 / 1

دستگاه های تحت پشتیبانی : آیفون 2G – آیپاد تاچ نسل اول

ویژگی ها : بهبود قابلیت تشخیص موقعیت – اضافه شدن وب گیره ها ( Web Clips ) به صفحه های خانگی – امکان باز چینش آیکون های صفحه خانگی – صفحه کلید چند لمسی

iOS 1.1.3 هم امکان باز چینش آیکون های صفحه خانگی را فراهم کرد و هم اضافه کردن صفحات وب به صفحات خانگی را ممکن ساخت. اپل صفحات وب اضافه شده به صفحات خانگی به عنوان میانبر را وب گیره یا همان Web Clip نامید. از سوی دیگر قابلیت تشخیص موقعیت تا حد زیادی بهبود یافت و در نرم افزار Maps، موقعیت کاربر با دقت و سرعت بیشتری تشخیص داده می شد. اضافه شدن قابلیت تایپ چند لمسی به صفحه کلید هم باعث شد تا سرعت تایپ کردن تا حد زیادی بالاتر رود.

iOS 2.0 : نرم افزار ها

تاریخ انتشار : 2008 / 7

دستگاه های تحت پشتیبانی : آیفون 3G – آیفون 2G – آیپاد تاچ نسل اول

ویژگی ها : نرم افزار های فرعی – اپ استور – پشتیبانی از Microsoft Exchange – MobileMe – قابلیت جست و جو در میان لیست ارتباطات ( Contacts )

بالاخره در جولای سال 2008 انتظارها به پایان رسید و اپل اپ استور را معرفی نمود. اضافه شدن نرم افزار های فرعی چیزی فراتر از آن بود که انتظار می رفت:

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

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

پشتیبانی از Microsoft Exchange : اپل در iOS 2.0 بالاخره برخی از ویژگی های رایج در دیگر سیستم عامل ها را وارد سیستم عامل iOS کرد. یکی از مهم ترین آنها پشتیبانی از Microsoft Exchange برای ارسال ( Push ) ایمیل ها، رخداد های تقویم و ارتباطات ( Contacts ) بود. یکی دیگر از ویژگی های مفیدی که در این iOS اضافه شده بود، امکان جست و جو در میان ارتباطات بود ( قبل از آن باید حتما صفحه را بالا یا پایین می بردید تا به شخص مورد نظر خود در لیست ارتباطات دست می یافتید و امکان جست و جو میان اسامی موجود در این لیست وجود نداشت. با اضافه شده این امکان، کاربر می توانست نام فرد مورد نظر خود را تایپ کند تا به اطلاعات آن شخص دسترسی پیدا کند. )

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


iOS 2.0 همزمان با انتشار آیفون 3G منتشر گردید و طبعا از این آیفون نیز پشتیبانی می کرد و دارای ویژگی هایی هم بود که در آیفون 3G وجود داشت، مثل پشتیبانی از شبکه 3G.

به روز رسانی های iOS 2 :

iOS 2.1 :

تاریخ انتشار : 2008 / 9

دستگاه های تحت پشتیبانی : آیفون 3G – آیفون 2G – آیپاد تاچ نسل دوم – آیپاد تاچ نسل اول

ویژگی ها : بهبود طول عمر باطری و سرعت سیستم عامل – iTunes Genius playlists – رفع مشکل قطع ارتباط ( Dropped Call )

iOS 2.0 سیستم عامل کاملی نبود و مشکلات فراوانی داشت. iOS 2.1 که در سپتامبر سال 2008 معرفی شد، تقریبا تمام این مشکلات را رفع نمود. به عنوان مثال طول عمر باطری در iOS 2.0 بسیار پایین بود، سرعت سیستم عامل تقریبا کند بود و مشکل بزرگتر این که پیش از آن که کاربر بخواهد تماس تلفنی خود را قطع کند، ارتباط خود به خود قطع می شد. این مشکل، قطع ارتباط یا Dropped Call نام دارد. اما خوشبختانه iOS 2.1 تمامی این مشکلات را از بین برد و از سوی دیگر، سرعت همگام سازی با iTunes را هم افزایش داد. یکی از ویژگی های جدیدی که همزمان با ورود iOS 2.1 و همین طور iTunes 8 به iTunes اضافه شد، قابلیت iTunes Genius playlists بود. این قابلیت بدین منظور بود که نرم افزار iTunes با توجه به آهنگ هایی که کاربر در دستگاه خود دارد، آهنگ هایی را به کاربر پیشنهاد می داد که شبیه آهنگ های مورد علاقه کاربر بودند. در واقع با این روش، کاربر می توانست با گروه ها و آهنگ هایی آشنا شود که شبیه گروه ها و آهنگ های مورد علاقه اش بودند.

iOS 2.2 :

تاریخ انتشار : 2008 / 11

دستگاه های تحت پشتیبانی : آیفون 3G – آیفون 2G – آیپاد تاچ نسل دوم – آیپاد تاچ نسل اول

ویژگی های : نمای خیابان در سرویس نقشه گوگل – دانلود پادکست ها

در iOS 2.2 که در نوامبر سال 2008 منتشر شد، مهم ترین به روز رسانی در قسمت سرویس نقشه های گوگل یا همان Maps بود. در این نسخه از iOS امکان مشاهده نقشه ها تا نمای خیابان ها ( Street view )، مسیر پیاده و مسیر وسایل نقلیه عمومی برای طی کردن مسیر بین مبدا تا مقصد به سرویس نقشه ها اضافه گردید. دیگر ویژگی قابل توجه، امکان دانلود پادکست ها بود. ( پادکست یا پادپخش انتشار مجموعه ای از پرونده های رسانه دیجیتال است که توسط کاربران معمولا بر روی یک پخش کننده موسیقی دیجیتال قابل دریافت و پخش است. ) از iOS 2.2 به بعد کاربر می توانست بدون نیاز به اتصال دستگاه قابل حمل خود ( آیفون یا آیپاد تاچ ) به کامپیوتر یا مک، پادکست مورد نظر خود را روی خود دستگاه ( آیدیوایس ) دانلود کند.

iOS 3.0 : ویژگی ها

تاریخ انتشار : 2009 / 6

دستگاه های تحت پشتیبانی : آیفون 3GS – آیفون 3G – آیفون 2G – آیپاد تاچ نسل دوم – آیپاد تاچ نسل اول

ویژگی ها : کات، کپی و پیست – سیستم Voice Control – MMS – سیستم Spotlight Search – ارسال اطلاعیه ها ( Push Notifications ) – اشتراک گذاری اینترنت از طریق بلوتوث و USB – افزودن حالت افقی به صفحه کلید مجازی – سیستم Find My iPhone

iOS 3.0 در سال 2009 و همزمان با آیفون 3GS منتشر شد. این نسخه از سیستم عامل iOS شامل به روز رسانی ها و ویژگی های جدید کوچک و بزرگ زیادی می شد که در ادامه به آنها می پردازیم:

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

سیستم Spotlight Search : پیدا کردن یک محتوای خاص در میان دیگر محتوای موجود در آیفون یا آیپاد تاچ، برای برخی ها تبدیل به یک مشکل بزرگ شده بود. این جا بود که سیستم Spotlight Search در iOS 3.0 به کمک این افراد آمد. کاربر می توانست با یکبار کشیدن صفحه خانه اصلی ( Homescreen (Mainاز سمت چپ به راست به صفحه Spotlight Search منتقل شود. در این صفحه کافی بود نام کامل یا حتی بخشی از نام محتوای مورد نظر در قسمت جست و جو تایپ شود تا با یک جست و جوی فوق العاده سریع در میان ایمیل ها، رخداد های تقویم، یادداشت ها ارتباطات ( Contacts ) و همین طور آهنگ ها، لیست کاملی از پرونده های با همان نام یا کلمه به کاربر نشان داده شود( البته جست و جو در میان دیگر بخش های آیدیوایس به وسیله Spotlight Search در نسخه های بعدی iOS اضافه گردید. ). اپل بالاخره ویژگی جست و جو در میان محتوای دستگاه را که در میان سیستم عامل های دیگر به یک ویژگی معمولی تبدیل شده بود را به دستگاه های خود اضافه نمود.

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

MMS : یکی دیگر از قابلیت هایی که iOS 3.0 به دنیای iOS افزود، MMS بود که در آن زمان به یک امکان متداول در میان گوشی ها تبدیل شده بود. دیگر ویژگی های iOS 3.0 را می توان چاشنی های این سیستم عامل دانست، ویژگی هایی مثل ضبط ویدیویی، صفحه کلید لمسی در حالت افقی، نرم افزار ضبط صوت ( Voice Memo ) و اشتراک گذاری اینترنت از طریق بلوتوث یا USB.

Voice Control: این ویژگی هم با این iOS پا به عرصه وجود نهاد. Voice Control در واقع سرویسی بود که کاربر می توانست به وسیله آن دستورات صوتی محدودی را به دستگاه خود بدهد، دستوراتی از قبیل پخش یا توقف یک آهنگ خاص یا تماس با یکی از افراد موجود در لیست ارتباطات ( Contacts ) به وسیله صدا زدن نام او در آیفون ( Voice Dialing ). یکی از نکات مثبت Voice Control این بود که از بیشتر زبان های دنیا پشتیبانی می کرد.


البته ویژگی های iOS 3.0 به اینجا ختم نمی شود و ذکر موارد زیر هم خالی از لطف نیست:

• قابلیت لمس صفحه برای افزایش تمرکز دوربین به نقطه ای خاص در نزم افزار دوربین ( Tap-to-Focus ).
• قابلیت خرید و دانلود نمایش های تلویزیونی، فیلم ها و کتاب ها از فروشگاه iTunes به طور مستقیم از طریق آیدیوایس ( آیفون، آیپاد تاچ و… ).
• قابلیت کنترل والدین ( Parental Controls ) برای محدود سازی ویژگی های آیدیواس.
• قابلیت Find My iPhone برای پیدا کردن آیدیوایس بر روی نقشه هنگامی که آیدیوایس گم می شود.
• گسترش ساز و کار کسب درآمد از طریق افزودن شیوه های خرید درون نرم افزاری ( in-app purchases ) و خرید اشتراک ها ( Subscriptions ).
• پشتیبانی از بلوتوث و لوازم جانبی متصل شونده به درگاه داک، و همچنین پشتیبانی از اتصال به شبکه های نظیر به نظیر ( Peer-to-Peer Connections ) (شبکه نظیر به نظیر نام گونه ای از معماری شبکه های رایانه ای است. در این نوع شبکه، رایانه های خادم و مشتری هر دو در یک سطح کار می کنند، به این مفهوم که هر رایانه می تواند از اطلاعات رایانه دیگر استفاده کرده یا به رایانه دیگر اطلاعات بفرستد. این نوع شبکه ساده ترین و سریعترین روش شبکه سازی می باشد که ابزار خاصی لازم ندارد. ).
• پشتیبانی از پخش موسیقی های ذخیره شده در آیدیوایس همزمان با اجرای نرم افزار های فرعی.
• نرم افزار قطب نما ( برای آیفون 3GS ).
• قابلیت پر کردن اتوماتیک فرم ها در Safari.
• افزودن تعداد زیادی رابط برنامه نویسی نرم افزار ( API ) به کیت توسعه نرم افزار ( SDK ) برای ارتقای قابلیت های آیفون

بعد از iOS 1 که پایه و اساس سیستم عامل iOS را به وجود آورد و iOS 2 که نرم افزار ها را به iOS افزود، iOS 3 ویژگی ها و توانایی های این سیستم عامل را افزایش داد. اپل مسیر مناسبی در ارتقا و پیشرفته تر کردن سیستم عامل iOS پیش گرفته بود و روز به روز موفق تر از پیش می شد. iOS دیگر توجه خیلی ها را به خود جلب کرده بود و چیزی به موفق شدنش باقی نمانده بود.

به روز رسانی های iOS 3 :

iOS 3.1 :

تاریخ انتشار : 2009 / 9

دستگاه های تحت پشتیبانی : آیفون 3GS – آیفون 3G – آیفون 2G – آیپاد تاچ نسل سوم – آیپاد تاچ نسل دوم – آیپاد تاچ نسل اول

ویژگی ها : افزودن قابلیت میکس هوشمند برای آهنگ ها ( Genius Mix ) – دانلود زنگ ( Ringtone ) های بیشتر – امکان قفل آیدیوایس از راه دور – امکان استفاده از Voice Control از طریق بلوتوث

سه ماه پس از iOS 3.0 اپل iOS 3.1 را منتشر کرد که شامل برخی ویژگی های جدید می شد:

Genius Mix : افزودن قابلیت سیستم میکس هوشمند آهنگ ها ( Genius mix ) به نرم افزار iTunes از ورژن 9 به بالا که این قابلیت با استفاده از سبک آهنگ های در دسترس کاربر، به صورت هوشمند و خودکار مجموعه هایی جداگانه می سازد و آهنگ هایی که بیشتر به هم مربوط هستند را پشت سر هم و بدون توقف پخش می کند.

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

امکان قفل آیدیوایس از راه دور : امکان جدیدی که به MobileMe در این نسخه از iOS اضافه شد، امکان قفل آیدیوایس از راه دور بود. از این پس اگر کسی گوشی خود را گم می کرد می توانست با این ویژگی، رمز قفل موجود بر روی آیدیوایس خود را عوض کند یا اگر رمزی بر روی دستگاه خود نگذاشته بود حالا می توانست از این راه رمز دلخواه خود را بر روی آیدیواس خود بگذارد تا از فاش شدن اطلاعات درون دستگاه جلوگیری کند.

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

iOS 3.1.3 که در فوریه سال 2010 منتشر شد، آخرین نسخه از سیستم عامل iOS بود که دستگاه های آیفون 2G و آیپاد تاچ نسل اول را تحت پوشش قرار می داد و برای این دو دستگاه از آن پس هیچ نسخه جدیدی از iOS منتشر نشد.

iOS 3.2 : آیپد وارد می شود

تاریخ انتشار : 2010 / 4

دستگاه های تحت پشتیبانی : آیپد

ویژگی ها : پشتیبانی از صفحه نمایش آیپد – نمای جدید نرم افزار ها برای آیپد – موقعیت یابی بر اساس اطلاعات شرکت اپل – پشتیبانی از صفحه کلید بلوتوث – نرم افزار iBooks

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

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

از سوی دیگر نرم افزار ها دچار تغییرات ظاهری هم شدند. به عنوان مثال نرم افزار Contacts یا لیست ارتباطات به شکل یک دفتزچه تلفن چرمی نمایش داده شد:

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

پشتیبانی از صفحه کلید بلوتوث : در این iOS آیپد به وسیله بلوتوث از صفحه کلید های دارای این شبکه پشتیبانی می کرد. کاربر می توانست به وسیله یک صفحه کلید جداگانه که دارای شبکه بلوتوث بود، کار تایپ کردن بر روی آیپد را به وسیله این صفحه کلید انجام دهد.

نرم افزار iBooks : نرم افزاری برای خرید و دانلود کتاب های الکترونیکی با فرمت epub و خواندن آنها. کاربران همچنین می توانستند کتاب هایی با فرمت PDF را به این نرم افزار اضافه کنند و آنها را نیز با iBooks مطالعه کنند.

iOS 4.0 : چند وظیفه ای ( Multitasking )

تاریخ انتشار : 2010 / 6

دستگاه های تحت پشتیبانی : آیفون 4 – آیفون 3GS – آیفون 3G – آیپاد تاچ نسل سوم – آیپاد تاچ نسل دوم

ویژگی ها : چند وظیفه ای – ایجاد پوشه در صفحه خانه – ارتباط ویدیویی به وسیله فیس تایم ( Face Time ) – متحد سازی صندوق های ایمیل – موضوع بندی ایمیل ها – پشتیبانی از صفحه نمایش رتینا

iOS 4.0 که در ژوئن سال 2010 همزمان با آیفون 4 منتشر شد فقط یک هدف را دنبال می کرد و آن هم افزودن قدرت به سیستم عامل iOS بود. توانایی چند وظیفه ای، پوشه سازی برای نرم افزار ها، اشتراک گذاری اینترنت بی سیم ( Wi-Fi ) ، تصحیح املای کلمات، سفارشی کردن Spotlight Search، متحد سازی صندوق های ایمیل و همچنین پشتیبانی از چندین حساب کاربری  Microsoft Exchange Server ( یکی از بزرگترین پروژه های مایکروسافت و بخشی از خط تولید Microsoft Server است که امکان دریافت، ارسال و مدیریت ایمیل ها، تماس ها و تقویم ها را فراهم می کند )، تمامی این امکانات در این نسخه به iOS اضافه شدند تا قدرت را به این سیستم عامل بیافزایند و آن را تبدیل به یک رقیب جدی و سرسخت برای دیگر سیستم عامل ها کنند.

سازوکار چند وظیفه ای : به طور قطع، مهم ترین ویژگی جدید در iOS 4.0 همان ویژگی چند وظیفه ای یا Multitasking بود، در حالی که iOS 4 ( و همچنین iOS 5 ) در واقع حالت چند وظیفه ای ” واقعی ” را ارائه نمی داد و هر برنامه ای نمی توانست در پس زمینه اجرا شود. در عوض، iOS 4 چند سرویس چند وظیفه ای را در اختیار برخی از انواع نرم افزار ها قرار داد که توسعه دهندگان می توانستند از آنها برای اجرا در پس زمینه استفاده کنند:

• نرم افزار های مجاز به استفاده از اطلاع رسانی محلی ( Local Notifications ) برای نمایش اخطار ها و هشدار ها در زمانی معین.
• نرم افزار های مجاز به استفاده از سازوکار تکمیل وظیفه برای تکمیل عملیات آپلود و چند وظیفه محدود دیگر در زمانی که کاربر از محیط نرم افزار خارج می شود.
• نرم افزار های مجاز به استفاده از سازوکار تثبیبت وضعیت برای ثابت نگه داشتن وضعیت نرم افزار پس از بازگشت مجدد کاربر به نرم افزار ( بعد از مراجعه مجدد به نرم افزار، کاربر با همان وضعیتی از نرم افزار رو به رو شود که قبلا با همان وضعیت از آن نرم افزار خارج شده بود. ).
• نرم افزار های پخش موسیقی برای پخش موسیقی در پس زمینه.
• نرم افزار های دارای سازوکار موقعیت یاب برای پیدا کردن موقعیت آیدیوایس حتی در زمانی که کاربر در محیط آن نرم افزار نیست.
• نرم افزار های مجاز به استفاده از سازوکار VoIP ( نوعی شبکه برای ارسال صدا از طریق شبکه های مبتنی بر IP مثل اینترنت ) برای برقرار نگه داشتن تماس در زمانی که کاربر از محیط نرم افزار خارج می شود.

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

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

تماس تصویری یا Face Time : این نسخه از iOS همزمان با آیفون 4 منتشر شد و طبق رسم اپل باید از تمام ویژگی های سخت افزاری این آیفون نیز پشتیبانی می کرد. یکی از این ویژگی ها وجود یک دوربین در جلوی دستگاه بود که باعث شد اپل Face Time را خلق و با iOS 4.0 منتشر نماید. نرم افزار Face Time امکان برقراری تماس های تصویری را برقرار می ساخت. مثل بسیاری از دیگر ویژگی های iOS، برقراری تماس تصویری هم برای اولین بار نبود که در گوشی ها از آن استفاده می شد و قبل از اپل شرکت های دیگری هم بودند که این فناوری را وارد محصولات خود کرده بودند. اما فیس تایم به دلیل رابط کاربری جذاب و ساده خود بیشتر از نرم افزار های مشابه موجود در دستگاه های دیگر مورد توجه قرار گرفت. فیس تایم در ابتدا فقط بین آیفون ها ( آیفون 4 ) قابل استفاده بود اما بعد ها بین کامپیوتر های مک، آیپاد تاچ های نسل چهارم، آیفون 4S و هینطور آیپد های نسل دوم و سوم نیز ممکن شد.

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

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

ویژگی های سودمند : این نسخه شامل ویژگی های سودند دیگری هم می شد. از این ویژگی ها می توان به : پشتیبانی از چند حساب کاربری Exchange، متحد سازی صندوق های ایمیل،  ساز و کار نظارت و تصحیح املای لغات، قابلیت جست و جو در میان پیامک ها و پشتیبانی از شبکه تبلیغاتی مخصوص شرکت اپل با نام iAd اشاره کرد.

به روز رسانی های iOS 4 : توسعه اکوسیستم

آنتن دهی : 

متاسفانه iOS 4.0 و همین طور آیفون 4 در ابتدا برای اپل چندان خوشایند نبودند. شرکت اپل هر روز گزارش های متعددی از کاربران خود دریافت می نمود مبنی بر این که آیفون آنها آنتن دهی خوبی ندارد. این کاربران مدعی بودند که آیکون آنتن دهی در بالای صفحه نمایش آیفون آنها خطوطی کمتر از حد معمول نشان می دهد.

iOS 4.0.1 ( و iOS 3.2.1 برای آیپد ) برای حل مشکل خطوط آنتن منتشر شد. با این به روز رسانی مشکل کاربران برطرف شد.

iOS 4.1 :

تاریخ انتشار : 2010 / 9

دستگاه های تحت پشتیبانی : آیفون 4 – آیفون 3GS – آیفون 3G – آیپاد تاچ نسل چهارم – آیپاد تاچ نسل سوم – آیپاد تاچ نسل دوم

ویژگی ها : Game Center – امکان اجاره نمایش های تلویزیونی ( TV Rental ) – شبکه اجتماعی iTunes Ping – عکس برداری HDR

در این نسخه Game Center معرفی شد که یک شبکه اجتماعی برای بازی های iOS بود. در Game Center کاربر می توانست دوستان خود را دعوت کند تا به صورت مجازی با آنها سرگرم یک بازی شود، امتیازات خود در بازی ها را ثبت کند و به مقامی برسد و با دیگر بازیباز ها که دارای امتیازات زیاد هستند به رقابت بپردازد. اپل یک شبکه اجتماعی دیگر را هم در این نسخه معرفی نمود که آن را Ping نامید. در این شبکه کاربر می توانست از گروه موسیقی مورد علاقه خود طرفداری کند، گروه های مورد علاقه دوستان خود را پیدا کند و درباره موسیقی با دیگران به بحث و تبادل نظر بپردازد. امکان اجاره نمایش های تلویزیونی و عکس برداری HDR ( عکس برداری با دامنه دینامیک بالا ) نیز از دیگر ویژگی های این نسخه بودند.

iOS 4.2.1 : 

تاریخ انتشار : 2010 / 11

دستگاه های تحت پشتیبانی : آیفون 4 – آیفون 3GS – آیفون 3G – آیپد – آیپاد تاچ نسل چهارم – آیپاد تاچ نسل سوم – آیپاد تاچ نسل دوم

ویژگی ها : افزودن ساز و کار چند وظیقه ای به آیپد – افزودن پوشه ها به آیپد – AirPlay – AirPrint

این نسخه قابلیت های چند وظیفه ای و پوشه ها را وارد آیپد کرد. با انتشار این نسخه شماره آخرین نسخه iOS عرضه شده برای تمام آیدیوایس ها یکسان شد ( تا پبش از شماره نسخه های آیپد متفاوت بود ) و تقریبا همه آیدیوایس ها از تمام امکانات iOS به طور یکسان بهره می بردند و دیگر یک ویژگی خاص برای یک آیدیوایس خاص وجود نداشت. اپل در این نسخه AirPlay و AirPrint را نیز معرفی نمود. AirPaly سرویسی بود که کاربر به وسیله آن آهنگ ها و ویدیوهای آیدیوایس خود را می توانست به وسیله دستگاهی به نام AppleTV از طریق شبکه بی سیم با کامپیوتر ها، تلویزیون های HD و بلندگو ها به اشتراک بگذارد. AirPrint هم این امکان را به کاربر می داد که به وسیله برخی از پرینتر ها محتوای دلخواه خود را به صورت مستقیم از آیدیواس پرینت بگیرد.

iOS 4.2.5 :

تاریخ انتشار : 2011 / 2

دستگاه های تحت پشتیبانی : آیفون 4 Verizon

ویژگی ها : پشتیبانی از اپراتور Verizon – کانون شخصی ( Personal Hotspot ) ( فقط برای مدل CDMA )

iOS 4.3 :

تاریخ انتشار : 2011 / 3

دستگاه های تحت پشتیبانی : آیفون 4 ( GSM ) – آیفون 3GS – آیپد – آیپد 2 – آیپاد تاچ نسل چهارم – آیپاد تاچ نسل سوم

ویژگی ها : کانون شخصی ( برای مدل GSM ) – افزودن AirPlay برای نرم افزار های فرعی – سرویس iTunes Home Sharing

iOS 4.2.5 برای پشتیبانی از اپراتور Verizon در آمریکا منتشر شد ( Verizon یک اپراتور پر قدرت در آمریکا است. ). اپل یک ماه بعد iOS 4.3 را منتشر کرد که کانون شخصی برای مدل GSM را نیز فعال می نمود ( Hotspot مسیر هدایت و دسترسی به اینترنت بی سیم است ) ( GSM یک شبکه سلولی برای برقرار ارتباط بین تلفن های همراه است. ). AirPlay برای نرم افزار های فرعی نیز در این نسخه فعال گردید. سرویس iTunes Home Sharing برای اشتراک گذاری محتوا بین کامپیوتر های خانگی نیز در این نسخه ارائه گردید.

iOS  5.0 : افزودن Siri و قابلیت های فراوان دیگر

تاریخ انتشار : 2011 / 10

دستگاه های تحت پشتیبانی : آیفون 4S – آیفون 4 – آیفون 3GS – آیپد – آیپد 2 – آیپاد تاچ نسل چهارم – آیپاد تاچ نسل سوم

ویژگی ها : Siri – مرکز اطلاعیه ها ( Notification Center ) – سرویس PC-free – همگام سازی بی سیم با iTunes ( یا iTunes Wi-Fi Sync ) – نرم افزار iMessage – سرویس iCloud

iOS 5.0 یکی از بزرگترین و با عظمت ترین به روز رسانی ها در تاریخ iOS به شمار می رود. این نسخه که هم زمان با آیفون 4S منتشر شد، امکانات فراوانی را به این سیستم عامل افزود. با این نسخه، iOS وارد مرحله جدیدی از رقابت با دیگر سیستم عامل های موبایل شد، به گونه ای که باعث شد iOS به راحتی گوی سبقت را از رقبا برباید. با این که اشاره به تمام قابلیت اضافه شده در این نسخه آن هم به طور خلاصه کاری است بس دشوار، اما تلاش می شود نیم نگاهی داشته باشیم بر مهم ترین ویژگی های این نسخه :

Siri : یک منشی مجازی فوق العاده هوشمند برای آیفون 4S که توانایی های iOS را به رخ رقبا می کشید. Siri چیزی فراتر از یک نزم افزار تشخیص صدا بود. به وسیله این منشی مجازی کاربر می توانست هر سوالی که دارد به طور صوتی از او بپرسد و هر بار جواب هایی متفاوت و کاملا منطقی از او دریافت نماید. البته توضیح کامل توانایی های Siri از حوصله این بحث خارج است، فقط همین قدر توضیح بس است که با وجود این منشی کاربر احساس می کرد با یک انسان واقعی صحبت می کند. Siri در نسخه بتا به سر می برد و هنوز نسخه کامل آن عرضه نشده بود، اما با این حال توجه همه را به خود جلب نموده بود.

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

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

سرویس PC-free : یک قدم به جلو برای بی نیاز کردن آیدیوایس ها به کامپیوتر ها. از این پس برای فعال کردن آیدیوایس هیچ نیازی به کامپیوتر نبود. هر کاربر می توانست با اجرای چندین مرحله ساده بر روی آیدیوایس خود، آن را فعال نموده و از آن استفاده کند.

همگام سازی بی سیم با iTunes : باز هم یک قدم دیگر برای بی نیاز کردن آیدیوایس ها به کامپیوتر ها. با انجام چند مرحله ساده، کاربر می توانست به نرم افزار آیتونز بر روی کامپیوتر خود دستور دهد که بدون نیاز به اتصال آیدیوایس به کامپیوتر به وسیله سیم، آیتونز عملیات همگام سازی ( Sync ) را به صورت بی سیم و از طریق شبکه Wi-Fi انجام دهد.

به روز رسانی سیستم عامل با آیدیوایس : این ویژگی هم یک قدم دیگر به سمت بی نیاز کردن آیدیوایس ها به کامپیوتر ها بود. از این پس به روز رسانی سیستم عامل به صورت مستقیم از روی آیدیوایس صورت می گرفت و دیگر نیازی به اتصال آیدیوایس به کامپیوتر نبود.

سرویس iCloud : یک سرویس ابری که با استقبال بسیار خوبی رو به رو شد. این سرویس تمام محتوای موجود در آیدیوایس را بدون نیاز به هیچ کامپیوتری ذخیره می کرد و تغییرات ذخیره شده را به آیدیوایس ها و کامپیوتر های دیگر منتقل می نمود. در این صورت همه تغییرات ایجاد شده توسط کاربر به طور خودکار وارد دستگاه های دیگر او می شد. این سرویس جایگزین سرویس MobileMe شد.

ویژگی های دیگری هم وجود داشت که از میان آنها می توان به ادغام کامل iOS با تو*ییتر، امکان گرفتن عکس با دکمه های سخت افزاری تنظیم صدا، نرم افزار های Reminders ( برای یادآوری رخداد ها ) و Newsstand ( برای گرفتن اشتراک مجله ها و روزنامه ها و مطالعه الکترونیک آنها ) و اضافه شدن قابلیت Reader به Safari ( که باعث می شد صفحات وب ذخیره شوند یا به صورتی نمایش داده شوند که راحت تر خوانده شوند ) اشاره نمود. اضافه شدن صفحه کلید دو تکه ( برای تایپ راحت تر ) و نوار ها ( Tabs ) به Safari هم جزو تغییراتی بود که برای آیپد صورت گرفت.

مشکل بزرگ در iOS 5.0 کاهش طول عمر باطری بود که اپل با انتشار iOS 5.0.1 توانست تقریبا این مشکل را حل کند، با این که برخی از کاربران همچنان معتقد بودند طول عمر باطری آیدیوایس آنها کم است. از سوی دیگر Siri همچنان در نسخه بتا مانده بود و به نسخه اصلی نرسیده بود. اما با همه این تفاسیر iOS در حال پیش رفتن در مسیر بی نیاز کردن آیدیوایس ها به کامپیوتر ها بود. آیدیوایس ها دیگر در حال تبدیل شدن به یک کامپیوتر پیشرفته بودند.

iOS 6.0 : خداحافظی با سرویس نقشه گوگل

تاریخ انتشار : پاییز 2012

دستگاه های تحت پشتیبانی : آیفون 4S – آیفون 4 – آیفون 3GS – آیپد جدید ( نسل سوم ) – آیپد 2 – آیپاد تاچ نسل چهارم

ویژگی ها : سیستم نقشه اختصاصی اپل – پیشرفت Siri – ادغام کامل با Facebook – نرم افزار Passbook – افزودن نوار ها ( Tabs ) به iCloud – پیشرفت نرم افزار Mail – امکان برقراری تماس Face Time تحت شبکه سلولی

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

نرم افزار Maps : از اولین نسخه iOS تا به امروز، اپل از سرویس نقشه گوگل برای نرم افزار Maps استفاده می کرد و این سرویس دیگر به یک سرویس بی رقیب تبدیل شده بود. اما با وجود رقابت شدید شرکت اپل با گوگل، اپل تصمیم گرفت با سرویس نقشه گوگل خداحافظی کند، برای همین شروع به ساخت سرویس نقشه اخصاصی خود نمود و حتی چند شرکت را در این راستا خریداری نمود ( مثل شرکت C3 Technologies در سال 2011 ). بالاخره اپل در iOS 6 از سرویس نقشه خود پرده برداری نمود. این سرویس دارای امکانات فوق العاده ای بود که در این میان می توان به ” آدرس دهی لحظه به لحظه ” ( turn-by-turn navigation) ( سیستم سخنگوی راهنمایی لحظه به لحظه برای رساندن شما به مقصد )، ” حالت پرواز سه بعدی ” ( 3D Flyover ) ( برای مشاهده مناطق از نمای بالا به صورت سه بعدی ) و از همه مهم تر ادغام کامل سرویس نقشه با Siri ( پرسیدن آدرس ها از Siri ) اشاره نمود.

پیشرفت Siri : اپل در این نسخه چند جنبه جدید به Siri اضافه نمود. از این پس Siri می توانست به سوالات مربوط به ورزش و نتیجه مسابقات پاسخ دهد و نتایج را اعلام کند، به نقد رستوران ها بپردازد، نرم افزار ها را فقط با دریافت نام آنها باز نماید، Status فیس*بوک یا تو*ییتر کاربر را به روز کند و… . اپل پا را از این هم فراتر گذاشته و با چند شرکت خودرو سازی وارد بحث شده است تا بتواند خودروهایی کاملا منطبق با سرویس Siri را تولید نماید. با این کار دیگر نیازی به در دست گرفتن گوشی در هنگام رانندگی نیست.

مرکز اطلاعیه ها : البته این ویژگی در iOS  معرفی گردید اما در این نسخه دچار تغییراتی شد. مهم تر از همه اضافه شدن امکان ” مزاحم نشوید ” ( Do Not Disturb ) بود که به کاربر این امکان را می دهد زنگ هشدار ها و اخطار ها را قطع نماید. یکی دیگر از امکانات اضافه شده آیکون های فیس*بوک و تو*ییتر به مرکز اطلاعیه ها بود که کاربر به وسیله آنها می توانست مستقیما از مرکز اطلاعیه ها Status های خود را به روز رسانی کند.

ادغام کامل با Face*book : همانطور که در  5 iOS  تو*ییتر با این سیستم عامل ادغام شد، در این نسخه هم نوبت به Face*book رسید. وجود فیس*بوک و تو*ییتر در مرکز اطلاعیه ها و همچنین همخوانی آنها با Siri، استفاده از این شبکه های اجتماعی را بیش از پیش جذاب تر نمود.

نرم افزار Passbook : نرم افزاری برای نگه داری کارت ها، کپن ها، قبض ها، بلیط ها و… . با این نرم افزار دیگر گم کردن کارت ها و بلیط ها کاری سختی می باشد.

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

پیشرفت iCloud با ذخیره نوار ها ( Tabs ) و لیست خواندنی ها ( Reading List ) : یک گام دیگر برای رقابت با گوگل. از این پس iCloud تمامی نوار های باز شده در Safari بر روی یکی از دستگاه ها را ذخیره می کرد و به دیگر دستگاه ها منتقل می نمود. این کار با لیست خواندنی ها هم انجام شد. بنابراین کاربر با باز کردن Safari روی یک دستگاه دیگر می توانست کار خود را از جایی که روی دستگاه قبلی رها کرده ادامه دهد. اپل با این کار در واقع با مرورگر گوگل کروم رقابت نمود.

Facetime از طریق شبکه سلولی : تا پیش از این فیس تایم فقط از طریق شبکه Wi-Fi انجام می شد، اما از این پس کاربران می توانستند به وسیله سیم کارت و از طریق شبکه سلولی در جایی که به اینترنت بی سیم دسترسی نداشتند هم تماس تصویری برقرار کنند.

آینده iOS چگونه رقم خواهد خورد ؟

از ابتدای این مقاله تا به این جا تمام نسخه های iOS را از اولین نسخه تا آخرین آن را مورد بررسی قرار دادیم. خواندیم که اپل چه طور توانست پله به پله این سیستم عامل را پیشرفته تر سازد. در زمان انتشار iOS 1 همه از خود می پرسیدند که آیا این سیستم عامل واقعا می تواند جزو سیستم عامل های گوشی های هوشمند به حساب بیاید یا خیر ؟ اما در زمان انتشار iOS 6 همگی این سوال در ذهنشان نقش بست که آیا این سیستم عامل می تواند آیدیوایس ها را تبدیل به یک کامپیوتر کامل نماید ؟

تغییر در ظاهر و هسته کلی iOS ، تغییر در مرکز اطلاعیه ها ، تغییر در قابلیت های Siri و هزاران هزار تغییر دیگر. همه این تغییرات ممکن است در iOS های بعدی صورت بگیرند. نظر شما چیست؟ به نظر شما iOS بعدی چه ویژگی هایی خواهد داشت؟

منبع : applestan.com

همه چیز درباره سیستم عامل Android

دوران اندروید به طور رسمی از 22 اکتبر 2008 میلادی، زمانی که گوشی T-Mobile G1 در ایالات متحده عرضه شد، آغاز گردید. در ابتدای امر، بسیاری از قابلیت‌هایی که نمی‌توان اندروید را بدون آنها متصور بود در این گوشی وجود نداشت. برای نمونه می‌توان به فقدان صفحه کلید مجازی (لمسی)، قابلیت چند لمسی، برنامه‌های کاربردی حرفه‌ای و... اشاره کرد، اما همین گوشی سنگ‌بنایی شد تا امروزه با اندرویدی چنین پیشرفته سروکار داشته باشیم.

android-history-2

ویژگی‌های اولیه این نسخه از اندروید عبارتند از:

پنجره‌ی اعلانات:

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

ویجت‌های صفحه خانه:

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

یکپارچه‌سازی با سرویس پست الکترونیکی جیمیل:

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

فروشگاهی به نام اندروید مارکت:

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

جالب است بدانید که رابط‌ کاربری توسعه‌یافته‌ی گوگل برای اندروید 1.0 ماحصل همکاری آنها با شرکت‌ سوئدی Astonishing Tribe بوده است. شرکت مزبور در زمینه‌ی ارائه‌ی طراحی‌های چشمگیر نرم‌افزاری مشغول به فعالیت بود و سال‌های سال رابط‌های کاربری قابل توجهی را تهیه و ارائه کرد. اگر با دقت بیشتری نگاه کنید، می‌توانید نشان TAT را به خوبی در این پلتفرم ملاحظه نمایید؛ به خصوص در ساعت آنالوگ که از اندروید 1.0 تا 2.2 با نشان کوچک Malmo قابل رویت بود. گفتنی است Malmo نام شهری است که این شرکت سوئدی در آن قرار داشت. بعدها این شرکت توسط کمپانی RIM خریداری شد و تمرکز اصلی‌اش بر توسعه‌ی گوشی‌های بلک‌بری و پلتفرم BBX قرار گرفت.


 

اندروید 1.1

android-history-3

نخستین بروزرسانی اندروید سه ماه پس از عرضه گوشی G1 در فوریه 2009 میلادی صورت پذیرفت. نسخه 1.1 را نمی‌توان به هیچ وجه محصولی نوآورانه دانست؛ بلکه بیشتر به مثابه وصله‌های نرم‌افزاری برای بهینه‌سازی سیستم و رفع باگ‌های آن بود. از طرف دیگر این نسخه توانایی اندروید را برای بروزرسانی بی دردسر به خوبی نشان داد. همین قابلیت پیش‌پا افتاده در زمان عرضه نسخه‌ی 1.1 یکی از نقاط قوت اندروید به حساب می‌آمد که تا به امروز نیز همچنان ادامه دارد، چرا که سایر سیستم‌عامل‌های موبایل فاقد قابلیت مشابهی بودند.

وقت دسر فرارسید: نسخه 1.5 یا «کیک یزدی»

android-history-4     android-history-5

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

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

android-history-6-mo-15

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

تغییرات صورت گرفته در نسخه جدید اندروید آنچنان نامحسوس بودند که اگر کاربر یک دستگاه مجهز به اندروید 1.1 را به 1.5 ارتقا می‌داد، هیچ تغییر چشمگیر خاصی را احساس نمی‌کرد. در حالی که همه چیز از چینش متون گرفته تا سایه‌های نوار وضعیت همه دستخوش تغییر و دگرگونی اساسی شده بودند. و اغلب کاربران گوشی G1 بدون آنکه این تغییرات را متوجه شوند، از آنها گذشتند. البته موارد مهم ذیل غیر قابل انکار می‌نمود:

صفحه‌کلید مجازی:

شاید به نظر شما عجیب و غیرممکن برسد که گوگل اندروید خود را بدون هیچ صفحه‌کلید مجازی عرضه کرده باشد، اما واقعیت همین است! شاید به همین خاطر بود که آنها نخستین میزبان سخت‌افزاری خود را گوشی G1 انتخاب کردند، چرا که این گوشی دارای یک صفحه‌کلید از نوع QWERTY بود که به صورت کشویی باز می‌شد و کاربر را قادر می‌ساخت تا به تایپ متون بپردازد. این وضعیت تا عرضه‌ی نسخه‌ی کیک یزدی در آوریل 2009 میلادی (یعنی بیش از 6 ماه پس از عرضه‌ی G1) همچنان ادامه داشت. از آن پس بود که گوگل از قابلیت‌های سخت‌افزاری گوشی HTC Magic بهره‌ برد و نخستین گوشی را به بازار عرضه کرد که تنها دارای صفحه کلید مجازی بود.

android-history-8

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

ویجت‌های قابل توسعه:

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

بهبود کلیپ‌بورد (Clipboard):

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

ضبط و بازپخش ویدئویی:

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

و قابلیت‌های بیشتر:

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


 

نسخه 1.6 یا «پیراشکی»

گرچه اندروید 1.6 پیراشکی یا Donut به اندازه‌ی کیک یزدی متفاوت نبود، با این حال می‌توان پیراشکی را نیز نسخه‌ای متفاوت دانست که خیلی بیشتر از آن عدد  0.1 ارتقا با کیک یزدی تفاوت داشت! در این نسخه شاهد بروز بهبودهای جزئی دیگری در کل پلتفرم هستیم که قابلیت‌های جدیدی را برای کاربران به ارمغان آورد. البته بخش بزرگی از این تغییرات مربوط به مواردی بود که در پشت‌پرده اتفاق می‌افتاد. برای نمونه نخستین بار در تاریخ اندروید پشتیبانی از CDMA از این نسخه میسر گردید و بدین ترتیب شرکت‌هایی همچون Verizon توانستند به بازار امریکا و آسیا دست یافته و سود سرشاری را نصیب خود و گوگل کنند.

android-history-9-mo-16     android-history-10

می‌توان پیراشکی را نیز نسخه‌ای متفاوت دانست که خیلی بیشتر از آن عدد  0.1 ارتقا با کیک یزدی تفاوت داشت!

از سوی دیگر یکی از مهمترین اصلاحات در این نسخه را می‌توان بهیه و مستقل شدن وضوح صفحه نمایش دانست. پیراشکی برای نخستین بار موفق شد اندروید را قادر سازد تا در انواع صفحات با وضوح و نسبت نمایش گوناگون ظاهر شود، بدین ترتیب درهای بسته به روی اندروید گشوده شد تا نه تنها در گوشی هایی با صفحه نمایش 480×320 پیکسلی ظاهر شود بلکه انواع صفحات نمایش از QVGA ،HVGA و WVGA گرفته تا FWVGA ،qHD و حتی 720p را به زیر سیطره خویش کشد.

در اندروید پیراشکی قابلیت کادر جستجوی سریع نیز ارائه گردیده است، مفهومی که در دنیای رایانه از آن با عنوان «جستجوی کلی» نیز یاد می‌شود. پیش از پیراشکی اگر کاربر در صفحه آغازین بود، با فشردن دکمه جستجو گوشی به کادر جستجوی گوگل هدایت می‌شد و می‌توانست از آنجا اینترنت را بکاود به گونه‌ای که همه‌ی جستجوها به سایت google.com هدایت می‌شد. از نسخه 1.6 (پیراشکی) به بعد، کاربر می‌توانست بجز اینترنت حتی بخش‌هایی از گوشی خود را نیز به طور محلی جستجو نماید که شامل برنامه‌ها، اطلاعات تماس‌ها و موارد دیگری از این دست می‌شد. از این گذشته در پیراشکی قابلیتی تعریف شده بود که به کمک آن برنامه‌نویسان می‌توانستند برنامه‌ی خود را جزء موارد جستجو شونده‌ی محلی قرار دهند.

پیراشکی برای نخستین بار موفق شد اندروید را قادر سازد تا در انواع صفحات با وضوح و نسبت نمایش گوناگون ظاهر شود

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


 

نسخه 2.0 یا «نان خامه‌ای»

در اوایل نوامبر 2009 میلادی، تقریباً یک سال پس از عرضه گوشی G1، اندروید 2.0 عرضه شد. «بزرگ» صفت خوبی برای توصیف نان خامه‌ای یا Eclair گوگل بود چرا که این نسخه از سیستم‌عامل اندروید دستاوردی بزرگ با وعده‌هایی بزرگ بود که بر روی گوشی‌های بزرگ کمپانی‌های بزرگ عرضه می‌شد!

android-history-11     android-history-12

«بزرگ» صفت خوبی برای توصیف نان خامه‌ای یا Eclair گوگل بود چرا که این نسخه از سیستم‌عامل اندروید دستاوردی بزرگ با وعده‌هایی بزرگ بود که بر روی گوشی‌های بزرگ کمپانی‌های بزرگ عرضه می‌شد!

در ابتدا نان خامه‌ای به صورت اختصاصی بر روی گوشی‌های Verizon عرضه شد و یکی از بهترین تجربه‌های همکاری در این زمینه را رقم زد. اما چه عواملی موجب شد تا نان خامه‌ای این چنین موفق باشد؟ در این نسخه بیشترین تغییرات بر روی سیستم‌عامل گوگل هم از نظر بصری و هم معماری داخلی صورت گرفت.

android-history-13

در ذیل برخی از مهمترین این تغییرات را برشمرده‌ایم:

پشتیبانی از حساب‌های چندگانه:

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

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

برنامه‌ی رایگان ناوبری به همراه اندروید 2.0 عرضه شد که از اطلاعات نقشه گوگل برای راهنمایی و هدایت کاربر استفاده می‌کرد.

قابلیت ناوبری نقشه گوگل:

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

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

دسترسی سریع به اطلاعات تماس:

از اندروید کیک یزدی به بعد دسترسی اطلاعات تماس سرویس Google Talk در تمامی گوشی‌ها میسر شد و در نسخه نان خامه‌ای نیز قابلیت تازه‌ی افزودن نوار دسترسی سریع به اطلاعات تماس ارائه گردید. بدین ترتیب کاربر قادر بود تا برای رفع نیاز‌های مختلفی از قبیل ایمیل، پیامک، تماس تلفنی و غیره به این موارد دسترسی داشته باشد.

ارتقای صفحه کلید مجازی:

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

بازسازی برنامه مرورگر:

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


 

نسخه 2.1 با همان نام «نان خامه‌ای»

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

کاغذ دیواری‌های زنده (Live Wallpapers):

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

قابلیت تبدیل گفتار به متن:

گوگل از توانایی‌های قابلیت تبدیل گفتار به متن (TTS) در سیستم عامل تلفن‌همراه خود نیز بهره گرفته است و از اندروید پیراشکی، فریم‌ورک توسعه‌ای ویژه‌ای برای این منظور در نظر گرفته شده بود و از این نسخه به بعد کاربران می‌توانستند با گوشی خود صحبت کنند و متون به جای تایپ با صفحه کلید، به این صورت وارد می‌شوند. برای تسهیل این قابلیت، از اندروید 2.1 به بعد دکمه کاما در صفحه‌کلید مجازی با دکمه مخصوص میکروفون عوض شد، و کاربر می‌توانست به سرعت با زدن بر روی این دکمه و صحبت با گوشی، متون دلخواه خویش را وارد نماید. جالب است بدانید از iOS 5 به بعد تازه این قابلیت به صفحه‌کلید سیستم‌عامل اپل اضافه شده است.

قفل جدید صفحه‌:

android-history-14

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

android-history-15اگر چه به روزرسانی‌های اندروید 2.1 چندان چشمگیر نبود، ولی برای گوگل یک تغییر استراتژیک به حساب می‌آمد. شاید این موضوع ارتباط مستقیمی با دستکاری ظاهر اصلی اندروید و عرضه نسخه‌های سفارشی برای شرکای تجاری این شرکت در محصولات‌شان داشته است.

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

اگر چه به روزرسانی‌های اندروید 2.1 چندان چشمگیر نبود، ولی برای گوگل یک تغییر استراتژیک به حساب می‌آمد

بدین ترتیب بود که گوشی Nexus One متولد شد، ابزاری نازک و بدون صفحه‌کلید فیزیکی که به نخستین پردازنده‌های یک گیگاهرتزی کوآلکام (Qualcomm Snapdragon) تجهیز شده بود و دارای صفحه نمایش AMOLED با وضوح WVGA بود. این گوشی که در دوره خود یک ابزار پیشرو به حساب می‌آمد، توانست به یکی از گوشی‌های خوش ساخت اندرویدی بدل شود.

گوگل این رویکرد خود را با گوشی Motorola Droid نیز ادامه داد. بدین ترتیب گوگل و موتورولا همکاری نزدیکی را با یکدیگر آغاز کردند گرچه این گوشی به سیستم عامل نان خامه‌ای مجهز شده بود، اما به اندازه‌ی Nexus One اصیل نبود.

در این گوشی تغییراتی لحاظ شده بود که در نسخه‌ی اصلی اندروید بازار موجود نبود. از این گذشته گوگل هرگز این گوشی را به صورت مستقیم به فروش نرساند در حالی که عرضه Nexus One را شخصاً بر عهده گرفته بود.


 

نسخه 2.2 یا «ماست بستنی»

اندروید 2.2 معروف به ماست بستنی یا همان Froyo در اواسط سال 2010 میلادی عرضه شد. از این پس بود که مزایای پروژه Nexus خود را نشان می‌داد و Nexus One نخستین گوشی بود که به این سیستم عامل به روزرسانی شد.

android-history-17-mo-22

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

android-history-16

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

از دیگر ویژگی‌های متمایز این نسخه سیستم‌عامل، می‌توان به پشتیبانی از نقاط دسترسی (Hotspot) و قابلیت پیشرفته‌ی کپی/چسباندن آن اشاره کرد. گوگل همچنین صفحه سنتی قفل PIN را در این نسخه ارائه نمود و بدین ترتیب کاربرانی که شیوه قفل الگویی اندروید (Pattern lock) را دوست نداشتند یا بنا به مقتضیات سیاست‌های کاری شرکت متبوعشان لازم بود تا از شیوه‌ای ایمن‌تر استفاده کنند، می‌توانستند از این شیوه‌ی سنتی بهره ببرند. از نظر کلی از نسخه 2.2 به بعد گوگل کوشید تا گوشی‌های مجهز به اندروید را به گونه‌ای آماده سازی نماید که بتوان از آن در محیط‌های شرکتی به عنوان ابزار کار بهره بُرد، تا بدین ترتیب با گوشی‌های بلک‌بری به رقابت بپردازد.


 

نسخه 2.3 یا «نان زنجبیلی»

حدوداً شش ماه پس از عرضه ماست یخ‌زده بر بستر گوشی Nexus One، گوگل وارد فاز بعدی از برنامه Nexus خود شد و کوشید تا نسخه 2.3 این سیستم عامل را با نام نان زنجبیلی یا Gingerbread عرضه نماید. این مرتبه، نوبت سامسونگ بود تا با گوگل همکاری نماید. در همین راستا شرکت سامسونگ گوشی Nexus S را در خط تولید گوشی موفق Galaxy S به تولید انبوه رسانید. گر چه این گوشی از نظر فنی چندان از گوشی پیشین Nexus One سرتر نبود، اما از نظر ظاهری تفاوت زیادی با نخستین عضو خانواده نکسوس داشت و با بهره از صفحه نمایش لبه گرد و بدنه شفاف و تیره رنگ ویژه‌اش، طرفداران بسیاری پیدا کرد.

android-history-19-mo-23

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

نان زنجبیلی را می‌توان حائز بیشترین تغییرات ظاهری از نسخه نان خامه‌ای به حساب آورد

اندروید 2.3 شامل ترکیبی خوب از قابلیت‌های جدید ذیل بود:

کنترل بیشتر بر قابلیت کپی/چسباندن:

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

صفحه‌کلید پیشرفته:

android-history-20     android-history-21

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

ابزارهای بهتر برای مدیریت دستگاه و کارایی بالاتر باتری:

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

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

گرچه تا اواسط سال 2010 میلادی طول کشید تا سرویس Google Talk از قابلیت چت ویدئویی بهره‌مند شود، اما نان زنجبیلی زیرساخت لازم برای پشتیبانی از این امکان را دارا می‌باشد و می‌تواند به خوبی از دوربین‌های چندگانه در یک دستگاه پشتیبانی کند. گوگل نیز با هوشمندی و دور‌اندیشی سخت‌افزار این دوربین‌ها را از قبل در گوشی Nexus S جای داده بود گرچه تا مدت‌ها کاربران نمی‌توانستند از آن استفاده کنند!

گوگل از عرضه نان زنجبیلی به عنوان فرصتی برای سفت کردن جای پای خود در بازار بازی‌های ویدئویی بر بستر تلفن‌های همراه بهره‌برداری کرد

از دیگر قابلیت‌های تازه‌ی نان زنجبیلی می‌توان به این موضوع اشاره کرد که در این نسخه گوگل توجه خود را بیشتر به توسعه دهندگان معطوف ساخته بود تا کاربران نهایی. برای اثبات این ادعا می‌توان به پشتیبانی از NFC اشاره کرد که در گوشی‌ Nexus S وجود داشت. البته تا ماه‌ها، این قابلیت کارایی چندانی نداشت و تنها در برخی مراکز می‌شد از آن استفاده کرد. اما بعدتر گوگل از نسخه‌ی Sprint گوشی Nexus S برای راه‌اندازی کیف پول خود بهره برد، سیستم پرداخت ویژه‌ی موبایل که بسیاری از شرکت‌ها معتقدند آینده‌ی فناوری NFC در گروی آن خواهد بود و نان زنجبیلی زیرساخت لازم برای نیل به این مهم را دارا می باشد.

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


 

نسخه 3.0 یا «شانه‌ عسل»

android-history-22

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

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

برخی از قابلیت‌های شانه عسل یا Honeycomb عبارتند از:

جایگزینی تم رنگی آبی به جای سبز:

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

بازطراحی صفحه خانگی و محل قرارگیری ابزارک‌ها:

android-history-23     android-history-25

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

مرگ دکمه‌های فیزیکی:

android-history-24

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

بهینه‌سازی قابلیت چندوظیفه‌ای:

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

نمونه‌ای تازه از چینش برنامه‌ها:

شانه عسل با معرفی مفهوم تازه‌ای با عنوان «نوار فرمان» (Action Bar) همراه بود. بدین ترتیب یک نوار برای همیشه در بالای صفحه‌ی هر یک از برنامه‌ها جای می‌گرفت و توسعه دهندگان قادر بودند با استفاده از آن مواردی که بیشترین استفاده از آنها صورت گرفته را به مخاطب خود نشان دهند؛ که شامل گزینه‌ها، منوها و مواردی از این دست می‌شود به گونه‌ای که می‌توان آن را نوعی نوار وضعیت برای برنامه‌ها در نظر بگیریم. از این گذشته، شانه عسل با معرفی پشتیبانی از برنامه‌های چند ستونه چشم‌انداز بهتری را برای آینده‌ی سیستم عامل تبلت‌ها پیش‌روی ما قرار داد.

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


 

نسخه 4.0 یا «ساندویچ بستنی»

این نسخه از اندروید را اولین بار در گوشی Galaxy Nexus مشاهده کردیم، که رجعتی به برنامه نکسوس گوگل و همکاری مجدد این شرکت با سامسونگ کره جنوبی است. کمتر از یک سال قبل از آن این دو شرکت، گوشی Nexus S را همراه با اندروید نان زنجبیلی ارائه کرده بودند.

android-history-32ساندویچ بستنی یا Ice Cream Sandwich را می‌توان بی شک بزرگترین تغییر اندروید در حوزه گوشی‌های هوشمند به شمار آورد

ساندویچ بستنی یا Ice Cream Sandwich را می‌توان بی شک بزرگترین تغییر اندروید در حوزه گوشی‌های هوشمند به شمار آورد.

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

کاربران همیشگی اندروید با فونت‌های بکار گرفته شده در این سیستم‌عامل به خوبی آشنایی دارند. گوگل برای ارائه حس بهتر به کاربرانش در این نسخه از فونت تازه‌ای با نام Roboto استفاده کرده است که قرار است به خوبی با صفحات نمایش با کیفیت امروزی همراه شد و به قول ماتیاس دوآرت (Matias Duarte)، مدیر طراحی پروژه‌ اندروید، «حس بهتر آزادی و حجم بالای اطلاعات موجود را به کاربران ساندویچ بستنی ببخشد».

android-history-26-mo-40

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

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

android-history-27

برخی دیگر از قابلیت‌های تازه‌ی این نسخه از سیستم عامل اندروید عبارتند از:

ارتقای صفحه خانگی:

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

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

قابلیت Android Beam:

پشتیبانی از فناوری NFC پس از عرضه نسخه‌ی نان زنجبیلی و گوشی Nexus S بسیار چشمگیر شد اما به جز برنامه Google Wallet مورد کاربردی و عملی دیگری را نمی‌توان در این بین برشمرد که بتواند از چنین قابلیت‌هایی بهره ببرد. در این بین ICS نظر به تغییر این رویه دارد و به همین منظور قابلیت Android Beam را اضافه کرده است که به دو گوشی دارای چنین برنامه‌ای اجازه می‌دهد تا انتقال داده‌ها را به سادگی انجام دهند.

قفل تشخیص چهره:

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

تحلیل میزان استفاده از پهنای باند:

android-history-28

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

برنامه‌ی جدید تقویم و مدیریت ایمیل:

برنامه‌ جیمیل در اندروید 4.0 با بازطراحی مواجه شده و تجربه‌ی تازه‌ای را به کاربر خود اهدا می‌کند، از این پس این برنامه‌ از قابلیت Action Bar پشتیبانی خواهد کرد. برنامه تقویم (Calendar) نیز برای نخستین بار رویکردی یکپارچه را در پیش خواهد گرفت که برای افرادی که به دنبال استفاده از چندین حساب کاربری در یک برنامه هستند گزینه‌ی خوب و قابل قبولی است.


 

نسخه 4.1 یا «آبنبات پاستیلی»

گوگل در نشست I/O سال 2012 از نسخه 4.1 سیستم عامل اندروید خود پرده برداری کرد. قابلیت‌های این نسخه نیز بسیار فراتر از آن عدد 0.1 است و می‌توان به نسبت نسخه ساندویچ بستنی ویژگی‌های بسیار بیشتری را در آن یافت. آبنبات پاستیلی یا Jelly Bean را می‌توان بازتعریف استراتژی گوگل در بازار تبلت‌ها دانست چرا که این نسخه از اندروید بر روی تبلت Nexus 7 ایسوس نصب شده است. از سوی دیگر با طراحی مجدد اجزای گوناگون، این آبنبات پاستیلی خوشمزه می‌تواند ارائه‌گر تجربه‌ی جدیدی به کاربران باشد.

android-history-30-mo-41

آبنبات پاستیلی یا Jelly Bean را می‌توان بازتعریف استراتژی گوگل در بازار تبلت‌ها دانست چرا که این نسخه از اندروید بر روی تبلت Nexus 7 ایسوس نصب شده است

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

android-history-29

Google Now ویژگی بسیار مهمی است در نسخه ۴.۱ اندروید معرفی شد

بی‌شک Google Now یکی از بزرگ‌ترین و مهم‌ترین بلندپروازی‌های گوگل است. اندروید هم‌اکنون به عنوان یک پلتفرم کامل محسوب می‌شود که قادر به پردازش انواع داده‌ها، زمانبدی امور، مکان، زمان و... است.

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

از دیگر قابلیت‌های اندروید 4.1 (آبناب پاستیلی) می‌توان به این موارد اشاره کرد:

بازطراحی فونت Roboto:

فونت خاص و زیبای اندروید که نخستین بار در اندروید 4.0 به کار گرفته شد دوباره دست‌خوش تغییر شده است. طراحی جدید آن در کل این رابط گرافیکی به کار گرفته شده است و برای نمونه در بخش Google Now از فونت ایتالیک آن استفاده می‌شود که حس تازه‌ای را به کاربر هدیه می‌کند.

توسعه و دستورپذیری بخش اعلانات:

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

انعطاف‌پذیری ویجت‌ها:

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

پیش‌بینی متون:

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


 

اندروید 4.2 با همان نام آبنبات پاستیلی

گوگل به همراه تلفن نکسوس ۴ و تبلت نکسوس ۱۰ از سیستم‌عامل اندروید 4.2 نیز پرده برداری کرد. گوکل اندروید 4.2 را «طعم تازه‌ای از آبنبات پاستیلی» می‌نامد و دلیل آن هم شباهت زیاد این نسخه نسبت به اندروید 4.1 است. اما این بدین معنی نیست که اندروید 4.2 فاقد قابلیت‌های اساسی و تازه است. در ادامه لیستی از قابلیت‌های جدید اندروید 4.2 را مشاهده می کنید:

اتصال بی‌سیم به تلویزیون از طریق Miracast

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

ژست‌های تازه کی‌برد

اندروید ۴.۲ از ژست‌های تایپی تازه‌ای در کی‌برد بهره می‌برد. شما تنها کافی‌ است تا انگشت خود را برروی حروف کلمه مورد نظر خود بکشید، تا سیستم‌ کلمه مورد نظر شما را تشخیص دهد. همانطور که حتما حدس زده‌اید این قابلیت کاملا شبیه به آن چیزی است که پیش‌تر در کی‌برد Swype مشاهده کرده بودیم. علاوه بر این صفحه‌کلید اندروید ۴.۲ بصورت خودکار کلمات مکمل را نیز پیشنهاد می‌دهند. به عنوان مثال شما وقتی با کشیدن انگشتان خود برروی حروف، کلمه Good را تایپ می‌کنید کلمه Morning نیز پیش‌بینی شده و به شما پیشنهاد می‌شود.

n10-pdp10-chrome super wide

عکاسی پاناروما

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

n4-pdp05-camera verge super wide

استفاده چندکاربر از یک تبلت

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

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

از دیگر بهبود‌های قابل ذکر در اندروید ۴.۲ می‌توان به حالت Daydream که شبیه اسکرین‌سیور عمل می‌کند یا قابلیت انجام دستورات، مستقیما در قسمت اطلاع‌رسانی‌ها، امکان بزرگنمایی در هر قسمت از صفحه، اضافه کردن ویجت‌ها در صفحه قفل گوشی و دسترسی سریع به دوربین از طریق صفحه قفل اشاره کرد.

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


 

اندروید 4.3 آبنبات پاستیلی

android-43-1

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

android-43-2اندروید 4.3 آبنبات پاستیلی در روز ۲۴ جولای ۲۰۱۳ بر روی نکسوس 7 دوم معرفی گردید. این بروزرسانی فقط شامل برخی ویژگی های جزئی نسبت به نسخه قبلی اندروید است. پشتیبانی از چند کاربر با پروفایل‌های کاملا مجزا یکی از اصلی‌ترین ویژگی‌های اندروید 4.3 است.

گوگل مدت‌ها بود که سعی می‌کرد، تجربه بازی بر روی تبلت‌ها را بهبود بخشد و نسخه 4.3 آبنبات پاستیلی گامی مهم در این راستا محسوب می‌گشت، چرا که این سیستم عامل توان پشتیبانی از استاندارد گرافیکی OpenGL ES 3.0 (یک موتور نرم‌افزاری پیشرفته برای بازی) را با خود به همراه داشت. پس از این بود که اپل نیز پس از مدت کوتاهی با بروزرسانی سیستم عامل iOS، پشتیبانی از این موتور نرم‌افزاری را به دستگاه‌های خود اضافه کرد تا همچنان در صنعت بازی همراه، یکه‌تاز میدان باشد.

سایر قابلیت‌های اندروید 4.3 عبارتند از پشتیبانی از TRIM برای بهبود مدیریت منابع حافظه، بلوتوث هوشمند برای استفاده بهینه‌تر از لوازم جانبی کم مصرف، سیستم صوتی Virtual Sorround، شماره‌گیر هوشمندتر که شماره مدنظر کاربر را پیش‌بینی می کند و سرویس مکان‌یابی مبتنی بر Wi-Fi بهینه‌تر.

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


 

اندروید 4.4 کیت‌کت

android-44-1

اکتبر ۲۰۱۳ زمان معرفی نسخه کاملا جدید و متفاوتی از سیستم عامل خوشمزه اندروید بود. کیت‌کت به همراه گوشی فوق‌العاده قدرتمند نکسوس ۵ معرفی گردید و این اولین باری بود که با همکاری یک برند دیگر، اندروید جدید خود را نام‌گذاری می‌نمود.

android-44-2نستله، تولیدکننده بیسکوئیت‌های کاکائویی مشهور کیت‌کت به همکاری با گوگل پرداخت و این دو شرکت کمپین‌های تبلیغاتی مشترک بسیاری را نیز برپا نمودند.

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

فونت Roboto به کار رفته در اندروید کیت‌کت بازطراحی شده و ظاهری مدرن‌تر را پیدا کرده بود. منوی اپلیکیشن‌ها دچار تغییرات بنیادین شده بود و از همه مهم‌تر Google Now با صفحه خانه اندروید یکپارچه شده بود.

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

گوگل می‌گوید که «با اندروید کیت‌کت به دنبال ارائه تجربه کاربری عالی برای همه» است.

android-44-3قابلیت‌های اندروید 4.4 کیت‌کت در استفاده بهینه و حداقلی از منابع سخت‌افزاری منجر به تشویق بیشتر تولیدکنندگان دستگاه‌های اندرویدی برای بروزرسانی دستگاه‌های قدیمی به اندروید کیت‌کت می‌شود. این مهم‌ترین اقدام گوگل برای حل مشکل بروزرسانی در دستگاه‌های اندرویدی است و انعطاف‌پذیری بالای اندروید کیت‌کت می‌تواند سرآغازی بر پایان مشکل بروزرسانی در اندروید باشد.

اندروید کیت‌کت مجهز به بک ویرایشگر تصویر قدرتمند است که دارای چندین فیلتر پیش‌فرض بوده و امکانات کاربردی زیادی را ارائه می نماید. همچنین تنظیمات حریم خصوصی که از زمان معرفی نسخه 4.3 به اندروید اضافه شده بود در نسخه 4.4 حذف شده است.

مهم‌ترین ویژگی‌های اختصاصی اندروید 4.4 کیت‌کت عبارتند از: یکپارچه شدن Google Now با صفحه خانه، شماره‌گیر هوشمند کاملا جدید که بر اساس نیازهای کاربر تنظیم می‌شود، اپلیکیشن‌های تمام صفحه به لطف نوار اطلاع‌رسانی و نوار کنترل شفاف، اپلیکیشن یکپارچه هنگ‌اوت برای تمام پیام‌رسانی‌ها، اپلیکیششن‌های «ساعت» و «دانلودها»ی بازطراحی شده، کیبورد جدید و پشتیبانی از Emoji ها و شکلک‌ها، بهینه‌سازی‌هایی در امکانات و بهره‌وری دستگاه‌های اندرویدی (مثل اضافه شدن اپلیکیشن Quicoffice و قابلیت‌های جدید Play Books و Play Newsstand) و پشتیبانی از عکاسی +HDR.


 

اندروید 5 آبنبات چوبی

نوامبر ۲۰۱۴ نسخه نهایی اندروید آبنبات چوبی معرفی شد و کمتر از یک ماه بعد، یعنی دسامبر اولین تلفن‌ها، یعنی سری نکسوس و موتورولا به نسخه جدید اندروید بروزرسانی شدند. همزمان با معرفی اندروید 5، تلفن نکسوس 6 ساخت موتورولا و تبلت نکسوس 9 ساخت اچ‌تی‌سی نیز معرفی شدند.

تغییرات ظاهری انقلابی

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

گذری بر پیدایش کنسول های بازی

بازی های خانگی راه درازی را از آغار تا به کنون از بازی  پونگ Pong تا بازی پک من  Pac- man طی نموده اند. امروزه ما می توانیم ازبازی هایی ارزان قیمت با کیفیت های بالای گرافیکی سه بعدی  و در تعاملی جذاب در آسایش درون خانه هایمان استفاده نماییم که این امر بطور مسلم بخاطر پیشرفت هایی اندک اندک و دقیق برای هر یک  و همه کنسول های بازی قبل از رسیدن به دست ما می باشد. در این مسیر رقابت شدید میان شرکت های سازنده بازی های ویدئویی کنسول٬ منجر به تولیدات هر چه سریع تر بازی های ویدئویی با ویژگی هایی برتر شده است که امروزه با کیفیت های عالی بدست ما رسیده است.

همانطور که در زیر مشاهده خواهد شد٬ سیر تکاملی کنسول های بازی ویدئویی  به راستی جالب توجه است. آیا می دانستید تا به امروز هفتاد نوع کنسول های بازی متفاوت وجود داشته است؟ و آیا می دانستید  زمان اوج بازی های ویدئویی آرکیدArcade   هنگامی بود که میان شرکت های نینتندو Nintendo و سگا Sega ضدیت شدیدی علیه یکدیگر در سیر تکاملی کنسول های بازی آنها وجود داشته است؟ اگر شما با این واقعیات شگفت زده می شوید٬ من تضمین میکنم با دانستن این مطالب حتی گوشه ها یی از این حقایق جذاب تاریخی در جدول زمانی تحولات کنسول های بازی ویدئویی بسیار هیجان زده خواهید شد.
چه شما یک بازی کننده باشیذ یا نه٬ این یک قرصت بسیار خوبی برای شما برای به پشت صحنه رفتن و کشف نحوه ساخت کنسول های امروزی می باشد.

1967
اولین کنسول بازی ویدئویی(نمونه های اولیه بکار رفته) بصورت جعبه های چوبی قهوه ای مستطیلی بزرگ با دو  دسته بازی متصل آغار به کار کرد که به این ترتیب به نام “جعبه قهوه ای” “Brown Box”. نامگذاری شدند. ابزاراختراع شده توسط رالف ه. بائر Ralph H. Baer  متولد 1924 ٬ که به عنوان “پدر بازی های ویدئویی” شناخته می شود٬ باعث تکامل کنسول های بازی ویدئویی قهوه ای با توانایی اتصاال آنها و استفاده از آنها به همراه هر نوع تلویزیون معمولی شد. تنها شش بازی ساده برای کنسول ها وجود داشت شامل: پینگ پنگ٬ تنیس٬ هندبال٬ والیبال٬ بازی ها تعقیب و گریز و بازی های تفنگ نوری.

“Brown Box” (1967)

1972

نمایش ” جعبه قهوه ای” رهیافتی برای حضور فناوری هایی بوسیله شرکت مگناوکس Magnavox در سال 1972 ٬ با انتشار اولین کنسول بازی ویدئویی خانگی با نام اودیسه مگناوکس Magnavox Odyssey شد. از آنجا که نخستین فیلم ها دارای ویژگی ضبط صدا نبودند بنابر این نخستین کنسول های بازی ویئویی نیز صامت بودند با گرافیک های تصویری که با استاندارد امروزی بسیار ابتدایی هستند.

Magnavox Odyssey (1972)

ماشین های از نوع پونگ آرکید PONG arcade شرکت آتاری Atari در سال 1975 بسیار مشهور شد بطوری که آتاری  Atari تصمیم به عرصه کنسول های خانگی در دو سال بعد یعنی  سال1975 شد. در همین سال شرکت مگناوکس  Magnavox تصمیم به ارتقا سیستم اودیسه Odyssey خود گرفت که نه تنها یکی بلکه دو نسخه متفاوت کنسول های اصل با عناوین ادیسه 100 و 200 مگناوکس انتشار داد.

از سال 1976-1977 ٬ یک سری از کنسول های اودیسه تولید شد بصورتی که هر کنسول جدید تنها کمی نسبت به مدل قبلی بهتر بود. کنسول ها اساسأ دارای بازی های یکسان بودند اما با مقداری اصلاحات در گرافیک٬ دسته های بازی و امتیازدهی نمایشگر دیجیتالی.

همانطور که انتظار میرفت شرکت آتاری برای رقابت  با مگناوکس با کنسول جدیدش وارد عرصه شد با محصولاتی بسیار تحسین برانگیزی نظیر  آتاری 2006 Atari 2600 ٬ پین بال ویدئویی Video Pinball و  استانت سایکل Stunt Cycle. شرکت های جدید نظیر فیرچیلد  Fairchild٬ آر سی ای RCA و کولکو Coleco برای کسب منفعت به این عرصه پیوستند و کنسول های جدیدی برای قاپیدن سهم خود از این بازار ساختند. کنسول واندر ویزارد Wonder Wizard شرکت تولیدی جنرال General Home Products حتی گفته می شد از اودیسه 300  Odyssey 300 شرکت مگناوکس به غیر داشتن دسته های بازی پدالی مناسب تر اودیسه٬ بسیار بهتر بودند.

شرکت های فیرچیلد   Fairchildو آر سی ای RCA با اولین کنسول هایشان به موفقیت نرسیدند و تنها کنسول باری ویدیوی شرکت کولکو Colecoبا عنوان تل استار Telstarبه خاطر قابلیت های ارائه باری های با صقحه رنگی و با داشتن مراحل متنوع سخت توانست موفقیت هایی کسب کند. در نتیجه این کسب شهرت ٬ تعدادی از کنسول های تازه شرکت کولکو به زودی در بین سال های 1977 تا 1978 در بازار بصورت ناگهانی توسعه و وسعت یافتند.

1975 – 1977

Atari Sears Tele-Games Pong System (1975)

Magnavox Odyssey 100 (1975)

Magnavox Odyssey 200 (1975)

Coleco Telstar (1976)

Fairchild Channel F (1976)

Magnavox Odyssey 300 (1976)

Magnavox Odyssey 400 (1976)

Magnavox Odyssey 500 (1976)

The Wonder Wizard Model 7702 (1976)

RCA Studio II (1977)

Magnavox Odyssey 2000 (1977)

Atari 2600 (1977)

Atari Video Pinball (1977)

Atari Stunt Cycle (1977)

Coleco Telstar Ranger (1977)

Coleco Telstar Alpha (1977)

Coleco Telstar Colormatic (1977)

Coleco Telstar Combat (1977)

Magnavox Odyssey 3000 (1977)

Magnavox Odyssey 4000 (1977)


نینتندو Nintendo ، شرکتی که در نهایت به یک بازیگراصلی در صنعت بازی های ویدئویی برای سه دهه آینده تبدیل شد، اولین سری از کنسول بازی ویدئویی خود را از سال 1977 تا  1977 به بازارتحویل داد. سری های بازی رنگی تلویزیونی فقط در ژاپن به فروش رسید. این کنسول ها در اصل درادامه مسیرشرکت آتاری و بازی های برجسته به سبک پونگ پای نهادند
.
یکبار دیگر ، چند شرکت تازه وارد به بازار آمد اما آنها با موفقیت چندانی مواجه نشدند. شرکت بالی آستروکاده Bally Astrocade در سال 1977 تشکیل شد و بخاطر قابلیت های برتر گرافیکی خود مشهور شد. اما به دلایلی ، این امر چندان دوام نیافت. شرکت ماتل  Mattel کنسول خود با نام اینتلویسون Intellivision   در سال1979 معرفی کرد، که در واقع آتاری 2600 را با قابلیت های استثنایی خود  مرعوب ساخت.

شرکت کولکو Coleco مسیر خود با انواع مختلف کنسول ها ، در تلاش برای در برابر قرار گرفتن آتاری   2600 ادامه داد.  شرکت کولکو کنسول های بازی تیراندازی ، مسابقه اتومبیل رانی و پین بال داشت. به طور مشابهی ،شرکت مگناوکس Magnavox با کمی بیشتر به روز رسانی کنسول های خود را همچنان ادامه داد ، اما آنها ذاتا کنسول های پنگ   Pong بودند که تنها  کنسول بازی های مبتنی بر پونگ داشتند.شرکت فیلیپس Philips ،که شرکت مگناوکس  Magnavox را در سال 1974 خریداری کرد، با برخی تغییرات در مدل اودیسه مگناوکس آنرا توسعه داد. آتاری 2600 بخاطر کنسول مبتنی بر کارتریج متعلق به خود و با گرافیک و بازی مجهز همچنان در برتر باقی ماند.

1978 – 1980

Nintendo Color TV Game Series (1977 – 1979)

Coleco Telstar Sportsman (1978)

Coleco Telstar Colortron (1978)

Coleco Telstar Marksman (1978)

Coleco Telstar Gemini (1978)

Coleco Telstar Arcade (1978)

Bally Astrocade (1978)

Magnavox Odyssey 2 (1978)

Philips Odyssey 2001 (1978)

Philips Odyssey 2100 (1978)

Mattel’s Intellivison (1979)

1981 – 1985

عصر طلایی بازی های ویدئویی فرا رسید. با استفاده بطور پیشرونده از فناوری های پیشرفته ،دهه 1980s دوره ای از سبک نوآوری در زمانی که صنعت شروع به تجربه بازی های غیر پنگ non-Pong games  مانند بازی های مبارزه ای fighting ، پلت فرم platform ، ماجراجویانه adventure و آرپی جی RPG بود. همچنین در این دوره است که ما شاهد انتشار تمام وقت بازی های کلاسیک پک من Pac-man (1980)، ماریو باروس Mario Bros  (1983)، افسانه موبایل و کامپیوتر Legend of Zelda (1986)، فاینال فانتزی Final Fantasy  (1987)، تبر طلایی Golden Axe (1988)  و غیره می باشیم . همچنین تغییر عمده ای در کنسول های اختصاصی (با ساخته شدن بازی ها) به سیستم های بازی ویدئویی مبتنی کارتریج وجود داشت.

هر دو شرکت  سگا Sega و نینتندو Nintendo صحنه بازی های ویدئویی در آن دهه را تحت سلطه.خود داشتند. اولین کنسول که تا آن زمان توسط سگا منتشر شد اس جی  SG-1000  1000 در سال 1983 بود .  ار آنجا که دقیقا شناخته نمی شدند عمدتا در آسیا پخش شد و در بازار شمال امریکا هرگز جای نیفتاد. با این حال ، آن ماشین  دچار تغییرات اساسی با جانشین درجه یک برای خود در سال 1985 ، با نام سگا مستر سیستم the Sega Master System شد . با این حال ، سیستم سرگرمی نینتندو (NES) Nintendo Entertainment System در سال 1983 به صورت یک پدیده به عنوان پرفروش ترین کنسول آن نسل پیروزی خود را نشان داد. حتی این منصفانه است که بگوییم NES به تنهایی نینتندو  Nintendo را آنچنان بزرگ کرد به طوری که به عنوان یک شرکت بازی به راحتی  مطرح شد.

شرکت های قروشنده کنسول بازی ویدیویی مانند آتاری، ماتل و کولکو کنسول ها ی جدید خود با اسامی  آتاری5200  ، اینتل لیویسیون دو Intellivision II و کولکو ویسیون ColecoVision منتشر کردند، اما این ها قابل مقایسه با محبوبیت سگا و نینتندو  نبودند . در واقع، کولکو ویسیون ColecoVision بود آخرین کنسول بازی ویدیویی خانگی Colecoبود که منتشر شد. در همین حال ، چند کنسول های جدید و بی سابقه بود توسط شرکت های امیدوار به بازار٬ آورده شد، اما متاسفانه در رقابت مغلوب شدند.

Epoch Cassette Vision (1981)

Vectrex (1982)

Emersion Arcadia (1982)

ColecoVision (1982)

Atari 5200 (1982)

Mattel Intellivision II (1982)

Casio PV-1000 (1983)

Sega SG-1000 (1983)

Nintendo Entertainment System (NES) (1983)

Epoch Super Cassette Vision (1984)

Sega Master System (1985)

سال های 1986 تا 1990
همانطور که مبارزه برای سلطه بین نینتندو و سگا ادامه می یافت ، هر یک از آنها با کنسول های جدید با نام تجاری برای به چالش کشیدن موقعیت همدیگر را بیرون می دادند.  سگا با یک عدد کنسول رتبه اول خود در تمام دوران ، با نام  درایو مگا/جنسیس   Mega Drive/Genesis در سال 1988 وارد عرصه شد.. برای مقابله با تهدید،شرکت  نینتندو٬ کنسول سوپر نینتندو سیستم سرگرمی (SNES) Super Nintendo Entertainment System دو سال بعد ارائه داد ، کنسول بعدی درسیر بعد از NES  بود. سگا مستر سیستم دو  Sega released the Master System II در همان سال پس از رسیدن به موفقیت قابل توجهی با مگا درایو / دیجنسیس Mega Drive/Genesis منتشر شد. این اصلی ترین جنگ کنسول ها رخ داده در دهه 80s بود.

آتاری کم کم داشت از بازار کنسول علی رغم تلاش های خود در آخرین سیستم خود با نام آتاری   7800  خارج می شد. طرح اینگونه بود که آن را با سازگاری با نسخه های قبلی٬ آتاری فوق العاده 2600 ارائه گردد ، تا به بازیکنان اجازه دهد تا از بازی های کلاسیک از گذشته لذت ببرند.   کنسول تازه وارد توربو گرافکس16 TurboGrafx – 16 توسط شرکت NEC سعی برای هدف قرار دادن هر دو کنسول سگا جنسیس Sega Genesis و اس ان ای اس SNES و ان ای اس NES نینتندو داشت  و اما در سال 1991نهایت توسط آنها پیشی گرقته شد  و در بازار بازی ویدیویی رتبه ای بهتر ازچهارمی دست پیدا نکرد. نسخه ارتقا یافته سوپر گرافکس در سال 1989  ، SuperGrafx ، نیز به جایگاه خوبی نرسید.

اس ان کی نئو چئو SNK Neo Geo ، در حالی که برای بازی های تولید ماشین های آرکید arcade معروف بود ، برای آوردن تجربه بازی آرکید  arcade کنسول های بازی ویدئوی خانگی در سال 1990.اقدام نمود. نئو چئو AES (سیستم سرگرمی پیشرفته) مجهز به گرافیک فوق العاده شدند که در نتیجه  به اندازه بزرگتربودن اندازه بازی ها ، با برچسب گران قیمت همراه شدند(قیمت کنسول بیش از 800 دلارشد ، در حالی که هر قطعه بازی بیش از 200 دلار قیمت داشت) . به همین دلیل است که استقبال عمومی از اولین کنسول نئو جئو کمتر از حد انتظار بود

Atari 7800 (1986)

NEC TurboGrafx-16 (1987)

Sega Mega Drive/Genesis (1988)

NEC SuperGrafx (1989)

Sega Master System II (1990)

SNK NeoGeo AES (Advanced Entertainment System) (1990)

Super Nintendo Entertainment System (1990)


1991 تا 1993
در چند سال اول دهه  1990s، تغییر قابل توجهی در ابزار مورد استفاده برای ذخیره سازی بازی ها از کارتریج به لوح های فشرده به وجود آمد. این بدین معنا بود بود که افزایش ظرفیت برای بازی ویدیو وجود داشت   که همچنین باعث انتقال کارت های گرافیکی 2D به 3D  شد. اولین کنسول بشورت لوح فیلیپس  با سی دی آی the CD-i عنوان در سال 1991 ارائه شد . متاسفانه،این کنسول معمولا به عنوان یک شکست به علت بازی های زیر استاندارد و دسته های بازی ناامید کننده به شناخته شد.

در سال 1992 ،کنسول توربو گرافکس 16 شرکت ان ای سی 16-TurboGrafx  NEC  به کنسول توربو گرافکس سی دی TurboGrafx-CD  در راستای برآورده نمودن خواسته های مبتنی بر کنسول ها با مبنا لوح ارتقا یافت. اما باز هم ، جایگاه خود به خاطر حضور سگا جنسیس /مگا درایو Sega Genesis/MegaDrive از دست داد که همراه با آخرین افزودنی با  سی دی سگا Sega CDبود. آتاری آخرین کنسول خود را با ظاهر مبتنی بر لوح با نام آتاری جگوار Atari Jaguar در سال 1993 ارائه داد که در برابر کنسول های دیگر 16 – بیتی مانند سگاجنسیس Sega Genesis و اس ان ای اسSNES به رقابت پرداخت. سپس در نبرد با کنسول های پیشرفته تر نسل بعدی مانند کنسول های سگا ساتورن Sega Saturn  و سونی پلی استیشن Sony Playstation   دریک سال بعد شکست خورد.

کومودور Commodore ، سازنده کامپیوتر های خانگی  مستقر در ایالات متحده ،با کنسول بسیار اختصاصی خود به نام آمیگا سی دی 32 Amiga CD32  در سال 1993به بازار وارد شد. متاسفانه، فقط برای چند ماه کوتاه بود که کومودور در سال اعلام ورشکستگی کرد، بنابراین علیرغم پتانسیل بالقوه قبل از موعد فروش کنسول بازی ویدیویی آن به پایان رسید.

Philips CD-i (1991)

NEC TurboDuo (1992)

Panasonic 3DO Interactive Multiplayer (1993)

Atari Jaguar (1993)

Commodore Amiga CD32 (1993)

در سال 1994، سونی نهایت با پلی استیشن Playstation وارد عرصه شد. سگا نیز در همان زمان، با موفقیت بسیار زیاد خود با سیستم جنسیس/مگادرایو MegaDrive/Genesis ، در ادامه دنبال یک سری تغییرات با ارائه جنسیس2   Genesis 2 در سال 1994  و جنسیس3   Genesis 3 در سال 1997 رو به گسترش گذاشت. همچنین به طور کامل با کنسول جدیدش به نام ساتورن Saturn در مقابل کنسول های رقیب بقیه مبتنی برلوح  پای پیش نهاد. از سوی دیگر نینتندو Nintendo ، گرفتار سیستم  مبتنی بر کارتریج در کنسول جدیدش به نام جدید نینتندو64 Nintendo 64  شد.

اس ان کی نئو جئو  SNK Neo Geo در سلا 1994 به کنسول های مبنی بر لوح تغییر یافت . همچنین پس از عبرت گرفتن از قرار دادن برچسب گران قیمت برای کنسول ها و بازی های خود که منجر به افت سریع فروش محصول قبلی خود یعنی ای ای اس AES شد، کنسول های لوحی  جدید نئو جئو با قیمت 300 دلار و بازی هایش با قیمت 50 دلار ارائه داد. شرکت ان ای سی  NEC اینک به نمایش محصول جدید خود یعنی پی سی –اف ایکس پرداخت که بیشتر شبیه به پردازنده دسکتاپ بود تا کنسول.  تکنولوژی استفاده شده در آنها در مقایسه با ساتورن سگا و پلی استیشن سونی منسوخ شده حساب می آمد، از این رو این کنسول از بازار خارج شد و NEC دیگر تولیدش نکرد.

در طول این زمان، بسیاری دیگر از کنسول ها  ساخته شدند که اکثر ما چیزی از آن نمی دانیم. بادانی Bandai، کاسیو Casio و حتی اپل Apple با کنسول خودوارد عرصه شدند. کنسول پسر مجازی   The Virtual Boy توسط شرکت نینتندو، در سال 1995 عرضه شد، در بردارنده : سربند هایی با صفحه نمایش گرافیکی 3Dبود

Sega Genesis 2 (1994)

Sega Saturn (1994)

Playstation (1994)

SNK Neo Geo CD (1994)

NEC PC-FX (1994)

Bandai Playdia (1994)

Apple Bandai Pippin (1995)

Casio Loopy (1995)

Nintendo’s Virtual Boy (1995)

Nintendo 64 (1996)

Sega Genesis 3 (1997)

سال های 1998 تا 2004
سگا ساتورن موفقیت بزرگ نبود ، بنابراین سگا به  فکر ساختن کنسول جدید نسل بعدی خود  با نام سگا دریمکست Sega Dreamcast در سال 1998 افتاد.  از لحاظ پشتیبانی از طریق اینترنت بوسیله  مودم ساحته شده توسط خودش قابلیت بازی های  آنلاین را فراهم ساخت که در عرصه  بازیها در سال 1998 پیشگام شد. دو سال بعد ، شرکت سونی پلی استیشن بعدی پیشرفته ترخود به نام پلی استیشن 2 ارائه کرد. در سال 2001،شرکت نینتندو سیستم های مبتنی بر نینتندو   64  را با سیستم مبتنی بر دی وی دی رام گیمکیوب DVD-ROM GameCube جایگزین ساخت.  در همان سال ،شاهد آن بودیم که شزکت مایکروسافت Microsoft وارد عرصه صنعت کنسول های بازی ویدیویی در سال 2001 با سیستم ایکس باکس Xbox  شد که به خوبی مورد پذیرش قرار گرفت، که شامل سرویس های بازی آنلاین با عنوان ایکس باکس زنده the Xbox Liveبود .

حالا که این صنعت بعد از سه دهه تجربه اندوزی با انواع کنسول ها تثبیت شده است٬ به ندرت شاهد هرگونه تلاش تازه ورود شرکت های در آن می باشیم. البته بصورت جالب توجهی، یک کنسول ژاویکس پورت XaviXPORT در سال نسبتا بی حضور پیدا کرد که این. کنسول از سیستم کارتریج ودسته هایی شبیه به تجهیزات ورزشی استفاده می کند که با بازی بر روی صفحه نمایش مرتبط است.. این اساسا برای تمرینات بدنی و حفظ تناسب اندام استفاده شد نوعی از کنسول ها که حضور نینتندو وی Nintendo Wii  را به یاد  ما می آورد.

Sega Dreamcast (1998)

Playstation 2 (2000)

Nintendo Gamecube (2001)

Xbox (2001)

XaviXPORT (2004)

سال های 2005 تا 20011(تا به امروز)
در نهایت، نسل فعلی کنسول بازی ویدیویی تنها به سه رقبای عمده تعلق دارد : ایکس باکس 360، سونی پلی استیشن 3 و نینتندو وی . Nintendo Wii با کارت های گرافیکی 1080p HD برای هر دو ایکس باکس 360 و پلی استیشن 3 و  همچنین کنترل از راه دور نوآورانه برای حسگر حرکات سه بعدی  3Dکنسول نینتندو وی  ، به نظر می رسد که بازی های ویدئویی در واقع به راه طولانی را پیموده اند. علاوه بر این، هر سه کنسول با اضافه کردن افزودنی هایی مانند موشن پلاس MotionPlus برای نینتندو وی  درسال2009، کینکت Kinect  برای ایکس باکس 360 در سال 2010 و موو Move برای پلی استیشن در سال 2010  ارتقا و توسعه یافتند . این سه افزودنیها شامل قابلیت های حسگر حرکات فیزیکی  با دقت بالا و افزایش تجربه بازی های تعاملی برای بازیکنان خواهد بود.
بسیاری از شرکت ها در حال حاضر ار عرصه خارج شده اند نظیر آتاری، کولکو، NEC، سگا و غیره . اما در حال حاضر هنوز دو شرکت پرماجرا وجود دارند که جرات رقابت با سه aشرکت بزرگ دارند. شرکت ماتل Mattel پس از سه دهه ناپدید شدن از صنعت با کنسول Hyperscan بازگشته است. که تنها توانست به بازارکودکان پسران از سن پنج تا نه ساله راه پیدا کند ،که این امر حتی بعد از یکسال ماندن در قفسه های مغازه ها قبل از از گردونه خارج کردن آنها در سال 2007 بود . مجله جهانی رایانه The PC World Magazine در رتبه بندی خود آن را در رتبه 7 بدترین سیستم بازی تمام دوران قرار داد .

از سوی دیگر، کنسول اوو هوشمند (2008) EVO Smart Console به نظر می رسد که با گرافیک HD، دسترسی به اینترنت، 120GB هارد درایو و 2GB رم بیشتر امیدوار کننده. باشد. همچنین کنسول مدیا پی سی Media PC به عنوان اولین کنسول از شرکت با بازی هایی با  منبع باز  Source game console .  ارائه شد. با این حال به دلایلی عجیبی  وب سایت رسمی کنسول دیگر در دسترس نیست وحتی  در وب سایت  انویژیون  Envisions ‘ نشان داده نمی شود.

Xbox360 (2005)

Playstation 3 (2006)

Wii (2006)

Mattel’s Hyperscan (2006)

Envizions EVO Smart Console (2008)

Wii MotionPlus (2009)

Kinect for Xbox 360 (2010)

PlayStation Move (2010)



منبع : gooyait.com

 منبع : gooyait.comgooyait.com

تاریخچه شرکت SONY

پیرامون شرکت SONY :

مقر سونی

درباره سونی

در ۷ می ۱۹۴۶، پس از پایان جنگ جهانی دوم، ماسارو ایبوکا یک تعمیرگاه رادیو در ساختمان آسیب دیده ای متعلق به شرکت Shirokiya واقع در منطقه نیهونباشی در توکیا دایر کرد. سال بعد با همکارش آکیو موریتا، شرکتی با نام Tokyo Tsushin Kogyo (شرکت مهندسی ارتباطات توکیو) را تاسیس کردند. این شرکت تا ۱۹۵۸ که به Sony تغییر نام داد، با همان نام به کار می پرداخت.

موسسین شرکت آقایان ماسارو ایبوکا و آکیو موریتا، نام شرکت را از کلمات sonus (لاتین sound؛ صدا) و اصطلاح عامیانه sonny (پسر جان) به دست آوردند. کلمه sonny از قدیم وارد زبان ژاپنی شده بود و در دهه ۱۹۵۰ به افراد جوان و باهوش گفته می شد، تعریفی که آن دو بر خودشان منطبق می دیدند.

شرکت آنها اولین ضبط کننده صدا روی نوار را با نام Type-G به دنیا عرضه کرد. در اوایل دهه ۱۹۵۰ آقای ایبوکا به ایالات متحده رفت و در جریان سفرش با اختراع جدید آزمایشگاه های بل، یعنی ترانزیستور آشنا شد. او بل را قانع کرد که گواهی استفاده از تکنولوژی ترانزیستور را به این شرکت ژاپنی واگذار کند. سپس در وضعی که بیشتر شرکت های امریکایی مشغول بررسی کاربردهای ترانزیستور در صنایع نظامی بودند، ایبوکا و موریتا روی کاربردهای ارتباطی آن تمرکز کردند.

با اینکه شرکت های امریکایی Regancy Electronics و Texas Instruments اولین رادیوی ترانزیستوری را در قالب یک مشارکت ساختند، اما این شرکت آقای ایبوکا بود که برای اولین بار از آن استفاده موفق تجاری کرد. محصولی با نام Sony MK-55 که در سال ۱۹۵۵ رونمایی شد. شرکت ایبوکا و موریتا -که آن موقع هنوز به سونی تغییر نام نیافته بود- در ماه ها و سال های بعدی مدل های بعدی رادیوی خود را عرضه کرد که هم در ژاپن، و هم در کشورهای خارجی مثل کانادا، استرالیا، هلند و آلمان به موفقیت دست یافتند. در این بین، مدل TR-63 که در آن زمان کوچکترین رادیوی ترانزیستوری (با ابعاد ۱۱۲ در ۷۱ در ۳۲ میلیمتر) بود به موفقیت بزرگ جهانی رسید.

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

آقای هوارد استرینگر که از سال ۱۹۹۷ رییس شاخه سونی در امریکا بود، در ژوئن ۲۰۰۵ به عنوان رئیس هیئت مدیره و مدیرعامل سونی انتخاب شد تا تمام کسب و کارهای این شرکت را زیر نظر بگیرد. علت این انتخاب، مشکلات همه جانبه سونی در درآمدزایی و سودآوری بود که بخشی بزرگ از آن به رقابت شدید در بازار جهانی بر می گشت. سامسونگ، شارپ، اپل و پاناسونیک در شاخه های مختلف سونی را با چالش روبرو کرده بودند.

پس از آقای استرینگر، سونی در ۱ فوریه ۲۰۱۲ آقای کازو هیرایی را به عنوان رییس و مدیرعامل برگزید که رییس هیئت مدیره سرگرمی های کامپیوتری سونی (یک از زیرشاخه های شرکت مادر) بود. در ژوئن ۲۰۱۳ نیز آقای استرینگر از ریاست هیئت مدیره سونی بازنشسته شد.

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

هم اکنون سونی زیر نظر کازو هیرایی و در ۷ شاخه زیر فعالیت می کند:

الکترونیک

سونی در حوزه الکترونیک با نام رسمی Sony Corporation فعالیت می کند که استراتژی های تحقیق و توسعه، برنامه ریزی، دیزاین و بازاریابی سونی گروپ در حوزه الکترونیک را تعیین می کند. زیرشاخه های آن نظیر Sony EMCS Corporation با ۶ کارخانه در ژاپن، Sony Semiconductor Corporation با ۷ کارخانه در ژاپن و شاخه هایی در سایر کشورها کار می کنند. در سال ۲۰۱۲ سونی اکثر خدمات محتوایی خود از جمله موسیقی، ویدیو و بازی را در زیرشاخه Sony Entertainment Network جمع کرد.

صوتی

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

کامپیوتر

سونی در دهه ۱۹۸۰ میلادی به تولید کامپیوتر (خانگی و کاری) روی آورد که ابتدا تنها در ژاپن فروخته می شدند. در حوالی ۱۹۹۰ میلادی سونی از این کسب و کار بیرون رفت ولی دوباره در سال ۱۹۹۶ با برند VAIO (مخفف Video Audio Integrated Operation) به میدان برگشت. انفجار و آتش گرفتن باتری برخی لپتاپ های این شرکت در سال ۲۰۰۶ باعث اعلام بزرگترین فراخوان جهانی مرتبط با کامپیوتر تا آن تاریخ شد. در ۴ فوریه ۲۰۱۴ سونی اعلام کرد که کسب و کار VAIO خود را به دلیل فروش ناامیدکننده، به کمپانی ژاپنی JIP خواهد فروخت، معامله ای که در اواخر مارس ۲۰۱۴ نهایی شد.

عکاسی

سونی دوربین های دیجیتال مختلفی را در بازار عرضه می کند. از برند Cyber-shot که دوربین های ببین-و-بگیر هستند و از سال ۱۹۹۶ پای شان به بازار باز شده تا دوربین های دیجیتال تک-لنز انعکاسی که با برند Alpha مشخص می شوند و پس از تصاحب کسب و کار دوربین Konica Minolta در سال ۲۰۰۶، سونی به عرضه شان مشغول شده. سهم سونی در بازار دوربین های دیجیتال از اوج خود که ۲۰ درصد بود به ۹ درصد در سال ۲۰۰۵ نزول کرد.

نمایشگرها

در ۱ آوریل ۲۰۱۲ سونی و INCJ و هیتاچی و توشیبا با ادغام بخش های LCD خود اقدام به تاسیس یک شرکت تولیدی به نام Japan Display برای تولید صفحات نمایش در ابعاد مختلف پیشرفته کرد. JDI که در سال ۲۰۱۴ سهام آن در بورس توکیو عرضه شد، یکی از تامین کننده های اصلی صفحه نمایش برای آیفون اپل است.

قطعات و نیمه رساناها

سونی انواع قطعات الکترونیکی و نیمه رساناها رو تولید می کند، از سنسورهای CCD و CMOS برای دوربین ها گرفته تا دیودهای لیزری، صفحات OLED و غیره.

موبایل

سونی بعد از الحاق سال ۲۰۰۱ و سپس جدایی سال ۲۰۱۲ (با خرید کلیه سهام این کسب و کار مشترک) از شرکت اریکسون، اکنون با شاخه Sony Mobile که مقر آن در توکیو است و تمام سهام آن به سونی کورپ تعلق دارد به فعالیت در عرصه موبایل مشغول است و در واقع، پس از فروش بخش VAIO تمام قوای خود را بر کسب درآمد از صنعت موبایل ( تبلت و مخصوصا تلفن های هوشمند) معطوف کرده.

بازی و سرگرمی کامپیوتری

از شاخه های سونی کورپ می توان به Sony Computer Entertainment اشاره کرد که بیش از همه به خاطر کنسول های بازی پرطرفدارش، PlayStation معروفیت دارد. این شاخه که از دل یک شراکت ناموفق با نینتندو بیرون آمد. اولین پلی استیشن که در سال ۱۹۹۴ معرفی شد، ۶۱٪ از سهم بازار جهانی را به خود اختصاص داد و نینتندو را از جایگاه اول به زیر کشید. با عرضه پلی استیشن ۲ در سال ۲۰۰۰ سونی به موفقیتی حتی بزرگتر رسید. فروش ۱۵۰ میلیون عدد از این کنسول آن را به موفق ترین عرضه تبدیل کرد. پلی استیشن ۳ در سال ۲۰۰۶ آمد و اولین کنسول بازی با پشتیبانی از فرمت بلو-ری شد. اما قیمت بسیار گران در مقایسه با اکس باکس ۳۶۰ و Wii، و نواقص فنی باعث شد عموما موفقیت کمتری کسب کند.

سونی در سال ۲۰۰۵ با معرفی PlayStation Portable یا PSP به دنیای کنسول های موبایل هم وارد شد ولی تنها در جایگاه دوم بعد از Nintendo DS قرار گرفت. عرضه بزرگ بعدی، پلی استیشن ۴ بود که در ۱۵ نوامبر ۲۰۱۳ به بازار عرضه شد و در همان ماه های نخست شکست سنگینی را به رقیب جدیدش یعنی اکس باکس وان تحمیل کرد، به طوری که در ۳.۵ ماه فروش پلی استیشن ۴ به ۶ میلیون کنسول و ۱۳.۷ میلیون بازی رسید. در حالی که آمار فروش ایکس باکس وان در مدت مشابه زیر ۴ میلیون کنسول گزارش شده.

شوهی یوشیدا، رییس استودیوهای جهانی سرگرمی کامپیوتری سونی، در ۱۸ مارس ۲۰۱۴ در GDC یک هدست واقعیت مجازی به نام Morpheus (مرفیوس) را برای پلی استیشن ۴ معرفی کرد که هر چند در مرحله نمونه اولیه است ولی سونی می خواهد با آن بازی های واقعیت افزوده را به کنسول جدید خود بیاورد.

فیلم

سونی پیکچرز شاخه ای از سونی کورپ است که به تولید مجموعه های تلویزیونی/کابلی و فیلم های سینمایی می پردازد. طبق سهم ۱۲.۵ درصدی از باکس آفیس در سال ۲۰۱۱ سومین استودیوی بزرگ فیلمسازی در دنیا بوده و در سال ۲۰۱۲ با ۴.۴ میلیارد دلار فروش جهانی فیلم های اش به رتبه اول ارتقا یافته.

سونی پیکچرز در تولید فیلم Skyfall با بیش از ۱ میلیارد فروش در باکس آفیس و مجموعه تلویزیون Beaking Bad شرکت داشته و فیلم زندگی استیو جابز بر اساس فیلمنامه آئرون سورکین را نیز در دست تهیه دارد.

موسیقی

سونی میوزیک انترتینمنت که زیر مجموعه سونی کورپوریش در امریکا است، دومین شرکت ضبط موسیقی بزرگ و عضو باشگاه چهاربزرگ این صنعت به شمار می آید. این شرکت صاحب حقوق بخشی یا تمام آلبوم های موسیقی مایکل جکسون، بیتلز، یوشر، امینم، آکون و هنرمندان دیگر است. سونی در یکی از بزرگترین تصاحب های خود CBS Record Group را با ۲ میلیارد دلار در ۱۹۸۷ خرید و صاحب آثار مایکل جکسون شد. این تصاحب و تصاحب های دیگری نظیر Famous Music با ۳۷۰ میلیون دلار در سال ۲۰۰۷، پایه گذار سونی میوزیک شد که از سال ۲۰۰۸ با این نام به فعالیت می پردازد.

سایر

سونی دارای بخش های دیگری از جمله کسب و کار شبکه سرگرمی و بخش خدمات مالی، بیمه و بانکداری نیز هست.

جمع بندی

مقر سونی در اواخر ۲۰۰۶ از شینگاوای توکیو به مینوتای توکیو تغییر یافت. سونی در سال ۲۰۱۳ به ترتیب درآمد ۷۲ میلیارد دلاری و سود خالص ۴۵۸ میلیون دلاری را ثبت کرد. میزان دارایی های آن بیش از ۱۵۰ میلیارد دلار (۲۸ میلیارد دلار نقد) تخمین زده می شود و ۱۴۶ هزار کارمند را در استخدام خود دارد.



تاریخچه شرکت SAMSUNG

از سامسونگ چه میدانید ؟ 

سامسونگ

درباره سامسونگ

Samsung Group یک شرکت چند ملیتی و بین المللی است که تاسیس آن به سال ۱۹۳۸ در کره جنوبی بر می گردد. سامسونگ گروپ دارای خوشه های صنعتی مختلفی است که محصولات متنوعی را در شاخه های زیر تولید می کنند:

  • پوشاک
  • مواد شیمیایی
  • محصولات الکترونیکی مصرفی
  • قطعات الکترونیکی
  • تجهیزات پزشکی
  • نیمه رساناها
  • کشتی
  • تجهیزات مخابراتی

سامسونگ گروپ همچنین خدمات مختلفی را نیز در سطح دنیا ارائه می کند:

  • تبلیغات
  • ساختمان سازی
  • سرگرمی
  • خدمات مالی
  • خدمات مرتبط با تکنولوژی اطلاعات و ارتباطات
  • خدمات دارویی
  • خدمات خرده فروشی

مقر اصلی سامسونگ که در سئول تاسیس شد، اکنون در شهر سامسونگ واقع شده. موسس اولیه آن آقای لی بیونگ-چول است.

تاریخچه مختصر

سامسونگ در سال ۱۹۳۸ توسط لی بیونگ-چول به عنوان یک شرکت تجاری تاسیس شد. در طول سه دهه ای که در ادامه آمد، این گروه تجاری به بخش های مختلفی از جمله فرآوری غذا، پارچه، خدمات بیمه و خرده فروشی تقسیم شد. در اواخر دهه ۱۹۶۰ سامسونگ وارد صنایع الکترونیک و ساختمان سازی و کشتی سازی شد و این فعالیت های جدید زمینه رشد خیره کننده اش را فراهم آورد.

به دنبال مرگ آقای چول در سال ۱۹۸۷ سامسونگ به ۴ کسب و کار مجزا تقسیم شد: گروه سامسونگ، گروه Shinsegae، گروه CJ، گروه Hansol. از دهه ۱۹۹۰ به این طرف سامسونگ فعالیت های خود را به چهار گوشه دنیا گسترش داده و به خصوص تولیداتش در زمینه تلفن های همراه و نیمه رسانا ها به منبع عمده درآمد آن تبدیل شده. از بزرگترین زیر شاخه های سامسونگ گروپ، می توان به سامسونگ الکترونیکس اشاره کرد که پردرآمدترین شرکت تکنولوژی دنیا و از نظر سود در بین ۴ شرکت برتر است.

سامسونگ گروپ تاثیر غیر قابل انکاری بر رشد و توسعه اقتصاد، سیاست، فرهنگ و رسانه های کره جنوبی گذاشته و شرکت های تابعه آن حدود یک پنجم کل صادرات کره جنوبی را رقم می زنند. درآمد سامسونگ در حدود ۱۷٪ از تولید ناخالص داخلی کره جنوبی که بیش از ۱۰۸۲ میلیارد دلار است را تشکیل داده. درآمد سامسونگ گروپ در سال ۲۰۱۲ بیش از ۲۶۵ میلیارد دلار بود و سود آن در سال ۲۰۱۳ حدود ۳۰ میلیارد دلار. این شرکت با دارایی ۵۹۰ میلیارد دلار (۲۵۶ میلیارد دلار نقد)، بیش از ۴۲۷ هزار کارمند در سرتاسر دنیا دارد.

زیرشاخه های سامسونگ عبارت هستند از:

  • Samsung Electronics
  • Samsung Life Insurance
  • Samsung Fire & Marine Insurance
  • Samsung Heavy Industries
  • Samsung C&T
  • Samsung SDS
  • Samsung Techwin

سامسونگ الکترونیکس

سال های اولیه (۱۹۶۹ تا ۱۹۸۷). در ابتدا محصولات الکترونیکی سامسونگ عبارت بودند از تلویزیون، ماشین حساب، یخچال، تهویه مطبوع، و ماشین های شوینده. سپس سامسونگ گروپ در سال ۱۹۷۰ با شراکت NEC، شاخه Samsung-NEC را برای تولید وسایل خانگی و صوتی و تصویری تاسیس کرد که در سال ۱۹۷۴ کار آن به تولید نیمه رساناها گسترش یافت.

تا ۱۹۸۱ صنایع الکتریکی سامسونگ ۱۰ میلیون تلویزیون سیاه-و-سفید تولید کرده بود. در فوریه ۱۹۸۳ موسس سامسونگ آقای لی بیونگ-چول اعلام کرد که سامسونگ شروع به تولید DRAM خواهد کرد. در سال ۱۹۸۸ صنایع الکتریکی سامسونگ با بخش های نیمه رسانا و ارتباطات تلفیق شدند تا سامسونگ الکتریک شکل بگیرد.

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

تولید قطعات (۱۹۵۵ تا ۲۰۰۸). لی کان-هی فرزند و جانشین آقای چول، تصمیم به تغییر استراتژی سامسونگ گرفت. شرکت با کنار گذاشتن تولید محصولات کم-فروش و ضعیف، رو به تولید و دیزاین قطعات و سرمایه گذاری در ساخت تکنولوژی های جدید برای شرکت های دیگر آورد. علاوه بر این، سامسونگ با تعیین یک هدف ۱۰ ساله، تصمیم گرفت گذشته خود به عنوان “برندی ارزان” را کنار بگذارد و سونی را به عنوان برترین تولیدکننده محصولات الکترونیکی مصرفی کنار بزند.

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

به عنوان مثال، سامسونگ اولین DRAM با ظرفیت ۶۴ مگابایت، اولین DRAM با ظرفیت ۲۵۶ مگابایت، اولین DRAM با ظرفیت ۱ گیگابایت را در سال های ۹۲ و ۹۴ و ۹۶ به دنیا معرفی کرد. در سال ۲۰۰۴ سامسونگ اولین حافظه ۸ گیگابایتی از نوع NAND را ساخت و در سال ۲۰۰۵ قرارداد تامین آن برای اپل را بست و تا همین سال ۲۰۱۴ همچنان از تامین کنندگان اصلی قطعات مورد نیاز اپل است.

محصولات مصرفی (۲۰۰۸ تا امروز). سامسونگ برای ۴ سال پیاپی، از ۲۰۰۰ تا ۲۰۰۳ سود خالصی بالاتر از ۵٪ را ثبت کرد، آن هم در دورانی که ۱۶ شرکت از بین ۳۰ شرکت کره جنوبی به خاطر بحران های بی سابقه به تعطیلی کشیده شدند. در سال ۲۰۰۵ بود که سامسونگ الکترونیکس برای اولین بار از رقیب خود سونی پیشی گرفت و شرکت شماره ۲۰ در بین برندهای محبوب دنیا شد. در سال ۲۰۰۷ سامسونگ تبدیل به دومین شرکت بزرگ سازنده تلفن های همراه در دنیا شد و برای اولین بار از موتورولا جلو زد. در سال ۲۰۰۹ سامسونگ به درآمد کلی ۱۱۷.۴ میلیارد دلار رسید و از نظر میزان فروش، بالاتر از HP در صدر بزرگترین شرکت های تکنولوژی دنیا نشست.

با وجود رشد قوی، سامسونگ و رییس هیئت مدیره اش آقای لی کان-هی، به خاطر عدم اعتماد به ثبات درآمدی و توجه ویژه به بحران های آینده، شهرت زیادی کسب کردند. آقای کان-هی که بعد از یک بازنشستگی موقت به سامسونگ برگشت، در جایی گفت: “آینده سامسونگ الکترونیکس تضمین شده نیست زیرا محصولات پرچمدار ما تا ۱۰ سال دیگر منسوخ خواهند شد” و از این رو شرکت را به نوآوری و اختراع محصولات جدید ترغیب کرد.

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

فروش کسب و کار تولید هارد دیسک به شرکت SEAGATE در سال ۲۰۱۱ به مبلغ ۱.۴ میلیارد دلار (۹.۶ درصد سهام سیگیت و بقیه نقد) بخشی از استراتژی تمرکز شرکت است. در فصل اول ۲۰۱۲ سامسونگ با جلو زدن از نوکیا تبدیل به بزرگترین فروشنده تلفن های همراه در دنیا شد و البته در کنار آن، تبدیل به بزرگ ترین فروشنده تلفن های هوشمند با دو برند گلکسی اس و گلکسی نوت. سامسونگ با تولید تلفن های هوشمند و تبلت های متنوع با قیمت های مختلف، سعی در جلب انواع سلیقه ها در گوشه و کنار دنیا دارد و به بازارهای مهمی مانند ایالات متحده و چین نیز نگاه ویژه دارد.

محصولات

صفحات نمایش LCD و LED

سامسونگ از سال ۲۰۰۴ تبدیل به بزرگترین تولید کننده صفحات OLED شد، آن موقع سهمی ۴۰ درصدی از بازار جهانی داشت و تا سال ۲۰۱۰ سهمش در بازار AMOLED ها به ۹۸ درصد رسید. سامسونگ در حال حاضر از برند Super AMOLED در تلفن های هوشمند پرچمدار خود استفاده می کند. این شرکت که در تولید مانیتورها و تلویزیون های LCD و LED نیز سابقه ای طولانی دارد در جریان CES 2013 (ژانویه ۲۰۱۳) اولین تلویزیون OLED خمیده دنیا را معرفی کرد.

تلفن های هوشمند

سامسونگ با دو برند Galaxy S و Galaxy Note خود را در کنار iPhone اپل به خوبی جا انداخته و هر سال میلیون ها محصول اندرویدی را به فروش می رساند. بازاریابی بسیار قوی در سرتاسر دنیا، استفاده از رابط کاربری اختصاصی با امکانات بیشتر نسبت به اندروید گوگل، استفاده از نمایشگرهای با کیفیت Super AMOLED، استفاده از چیپ های پردازشی قدرتمند، و همکاری نزدیک با شرکت های مخابراتی دنیا، دلایل اصلی رسیدن به این جایگاه هستند.

در سال ۲۰۱۳ سامسونگ تنها دو سیستم عامل اندروید و ویندوزفون را در چرخه نگه داشت و سایر سیستم عامل ها (مثلا Bada و Symbian) را از رده خارج کرد. در این سال ۴۳ تلفن و تبلت اندرویدی به همراه ۲ تلفن ویندوزفونی عرضه کرد و همچنان کار بر روی سیستم عامل تایزن را ادامه داد که انتظار می رود در سال ۲۰۱۴ اولین محصول مصرفی مجهز به آن را به فروش بگذارد. سامسونگ با بازاریابی و عرضه قوی در بازارهای در حال توسعه ای مثل چین و هند و خاورمیانه، توانست در سال ۲۰۱۳ پذیرش چشمگیری را در بین مصرف کنندگان رقم بزند.

نیمه رساناها

سامسونگ از سال ۱۹۹۳ به این سو، بزرگترین تولیدکننده چیپ های حافظه است. این شرکت تولید حافظه های NAND Flash کلاس ۳۰ نانومتر را در سال ۲۰۰۹ شروع کرد، و آن را در سال ۲۰۱۰ با تولید انبوه DRAM کلاس ۳۰ نانومتری و NAND Flash کلاس ۲۰ نانومتری (هر دو، اولین نمونه ها در دنیا) ادامه داد. سامسونگ به تولید چیپ های پردازشی برای تلفن ها و تبلت های خود و سایر شرکت ها نیز می پردازد به طوری که یکی از تامین کنندگان اصلی تراشه های A6 و A7 آیفون و آیپد برای اپل است.

انتظار می رود سامسونگ که از سال ۱۹۹۹ تا ۲۰۰۹ هر سال رشد ۱۳.۵ درصدی را -در مقایسه با رشد ۳.۴ درصدی اینتل- به دست آورده، در سال ۲۰۱۴ تبدیل به بزرگترین تولیدکننده چیپ های نیمه رسانا شود.

تلویزیون

سامسونگ سال ها است در این صنعت حضور دارد. از سال ۲۰۰۶ تا ۲۰۰۹ چهار سال پیاپی بیشترین سهم را در بازار تلویزیون داشته و در سال ۲۰۱۰ اولین تلویزیون تمام اچ.دی سه بعدی از نوع ال.ای.دی را معرفی کرد که در ۶ ماه اول به فروش ۱ میلیونی رسید. سامسونگ از سال ۲۰۰۷ تلویزیون های اینترنتی به فروش می رساند که تماشاگر را قادر به دریافت اطلاعات از اینترنت -در حین مشاهده تلویزیون- می کنند. با استفاده از تلویزیون های هوشمند سامسونگ که در سال های بعدی معرفی شدند نیز امکان نصب اپلیکیشن بر روی برخی تلویزیون های سامسونگ میسر شد.

سایر محصولات

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

مدیریت سامسونگ

در دسامبر ۲۰۱۰ سامسونگ از سیستم مدیریتی با یک مدیرعامل (به نام چوی جی-سانگ) به مدیریتی با دو مدیر عامل تغییر وضعیت داد که در آن آقای جی-سانگ مدیرعامل و نائب رییس هیئت مدیره شد و لی جائه-یونگ مدیر ارشد عملیات ها و رییس اجرایی. در سال ۲۰۱۲ نیز کوون او-هیان، به نائب رئیسی هیئت مدیره و مدیرعاملی سامسونگ الکترونیکس منصوب شد.

این مدیران ارشد، جوانی را به راس هرم مدیریتی سامسونگ آوردند. البته برخی مدیران نیز با رنگ کردن موهای خود، سعی در داشتن ظاهری جوان دارند. در سال ۲۰۱۲ بود که سامسونگ مدیر محصولات موبایل، آقای جِی کِی شین را به سمت رییس و مدیرعامل سامسونگ الکترونیکس برای محصولات مصرفی موبایل منصوب کرد تا شرکت با ۳ مدیرعامل به کار ادامه دهد.

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

  • لی کان-هی، رئیس هیئت مدیره سامسونگ الکترونیکس
  • لی جائه یونگ، نائب رئیس هیئت مدیره سامسونگ الکترونیکس
  • کوون او-هیان، نائب رئیس هیئت مدیره و مدیرعامل سامسونگ الکترونیکس
  • جِی کِی شین، رئیس سامسونگ الکترونیکس
  • بی کِی یون، رئیس و مدیر عامل سامسونگ الکترونیکس

لوگوهای تاریخ سامسونگ

لوگوی سامسونگ

لوگوی سامسونگ

لوگوی سامسونگ

لوگوی سامسونگ

لوگوی سامسونگ

 



مختصری بر زندگی استیو جابز

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


DSC05683.jpg

در مورد بیوگرافی و داستان زندگی استیو جابز چه می‌دانید؟ مرد ۵۲ ساله‌ای که هنوز علاقه دارد جین به پا کند، بلوز یقه‌ اسکی مشکی بر تن کند و با کفش ورزشی در جلسات و کنفرانس‌های مهم ظاهر شود.

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

پدر او یک مهاجر اهل سوریه به نام «ابوالفتاح جان جندلی» بود که بعدها استاد علوم سیاسی شد. ابوالفتاح در سال ۱۹۵۵ به سان فرانسیسکو رفت و رابطه‌اش با یک دانشجو به نام «جوآن کارول شیبل»، منجر به تولد استیو شد.

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

ابتدا یک وکیل و همسرش خواستند او را به فرزندی بپذیرند، ولی این زوج منصرف شدند و تصمیم گرفتند یک نوزاد دختر را فرزندخوانده خود کنند. نیمه‌های شب، مادر استیو تماسی با «پل و کلارا جابز» گرفت و به آنها گفت: «ما یک فرزند ناخواسته داریم، آیا او را می خواهید؟» این زوج بی‌درنگ قبول کردند.

در حالی که مادر استیو تصور می‌کرد، زوج پذیرنده نوزاد از دانشگاه فارغ‌التحصیل شده‌اند، بعدها دریافت که کلارا از کالج فارغ‌التحصیل نشده و پل -فرزند یک کشاورز-  دبیرستان را تمام نکرده است. پل جابز مکانیک یک شرکت تولید لیزر بود و کلارا جابز یک حسابدار بود.

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

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


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

dsfhdfh.jpg

یکی از علایق جابز در دوره نوجوانی شرکت در سخنرانی‌های شرکت hp بود، در همین جلسات بود که با جوان ۱۸ ساله‌ای آشنا شد، این شخص کسی نبود جز «استیو وزنیاک»، کسی که بعدها بهترین دوست و شریک و همکارش شد.

استیو، دوره دبیرستان در «کوپرتینو»ی کالیفرنیا به اتمام رساند و سپس همراه دوستش «استیو وزنیاک»، به عنوان کارمندان تابستانی، در شرکت Hewlett-Packard استخدام شد.

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

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

استیو در سال ۱۹۷۴ به کالیفرنیا برگشت و در شرکت آتاری، سازنده ویدئو گیم‌های محبوب آن زمان مشغول به کار شد، هدف او پس‌انداز پول برای تأمین مخارج یک سفری روحانی به هند بود!

در همان زمان با شخصی به نام «جان دراپر» آشنا شد، دراپر راهی برای هک کردن خطوط مخابراتی شرکت مخابراتی AT&T با تولید اصواتی با فرکانس خاص پیدا کرده بود. استیو و دراپر تصمیم گرفتند که وسیله‌ای به نام جعبه آبی blue boxes بسازند که خریدارانش می‌توانستند با استفاده از آن تماس‌های قاچاقی رایگان از راه دور برقرار کنند. آنها چندین ماه قبل از اینکه این وسیله غیرقانونی شود، آن را با قیمتی بین ۱۵۰ تا ۳۰۰ دلار می‌فروختند.

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

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

بعد از همه این حوادث او کار سابقش را در آتاری از سر گرفت و مسئول ساختن یک مدار الکترونیکی برای بازی Breakout شد.

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

در کمال تعجب وزنیاک موفق شود، چیپ‌ها را به تعداد ۵۰ عدد کم کند، آن زمان استیو به وزنیاک گفت که آتاری به جای ۵ هزار دلار به او ۷۰۰ دلار داده است و سهم وزنیاک ۳۵۰ دلار می‌شود!

شروع ساخت کامپیوترهای اپل
استیو وقتی ۲۱ ساله بود، کامپیوتری که وزنیاک برای استفاده شخصی خودش ساخته بود، دید و توانست او را متقاعد کند که شرکتی برای ساخت و بازاریابی کامپیوتر تأسیس کنند.

logo apple.jpg

لوگوی اولیه اپل

در اول آوریل سال ۱۹۷۶ شرکت اپل آغاز به کار کرد، نام «اپل» یا سیب خیلی ساده انتخاب شد. آنها نام مناسب دیگری پیدا نکردند و از آنجا که جابز بیشتر گیاهخوار است و به میوه سیب علاقه زیادی دارد و آن را میوه کاملی می‌داند، این نام برای شرکت انتخاب شد. استیو جابز با فروش ون فولکس واگن و وزنیاک با فروختن ماشین حساب hp، هر کدام مبلغ ۵۰۰ دلار برای سرمایه اولیه شرکت جور کردند هدف اولیه آنها در این شرکت این بود که فروش مدارهای الکترونیک بود، اما بعدا استیو و وزنیاک شروع به سر هم کردن کامپیوترهای شخصی و فروش آنها شدند.

اپل I نخسین کامپیوتر شخصی بود که این دو ساختند، وزنیاک قیمت این کامپیوتر را ۶۶۶٫۶۶ دلار تعیین کرد ، چون علاقه زیادی به عددهای با ارقام تکراری داشت.

1976.jpg

Apple1.jpg

اما اپل II که این دو سال بعد ساختند موفقیت بسیاری بیشتری برای انها به ارمغان آورد و اپل را به یک باره مبدل به شرکت شاخص در بازار رایانه‌های شخصی کرد.

Apple2.jpg

در دسامبر ۱۹۸۰، اپل سهامش را به صورت عام عرضه کرد و این شرکت سهامی عمومی شد، چیزی که استیو جابز را  میلیونر کرد.

Time1982.jpg

با توسعه تدریجی شرکت اپل، این شرکت احتیاج به یک مدیر کارا داشت به همین خاطر جابز John Sculley را از پپسی کولا به طمع انداخت به اپل بیاید و به عنوان مدیر اجرایی مشغول به کار شود. او به جان شولی گفت که دوست دارد در باقی عمرش آب شکر بفروشد یا دوست دارد در تحولات آتی دنیا مؤثر باشد؟!

تبلیغ تلویزیونی ۱۹۸۴ و معرفی مکینتاش
در ۲۲ ژانویه سال ۱۹۸۴، در زمان مسابقه سوپر باول Super Bowl (مسابقه‌ای که هر سال بین قهرمان کنفرانس آمریکایی و ملی فوتبال آمریکایی برگزار می‌شود)، در زمان استراحت کوارتر سوم، یک تبلیغ تلویزیونی جالب برای تبلیغ کامپیوترهای اپل پخش شد که شاید بتوان آن را یکی از جالب‌ترین تبلیغ‌های تلویزیونی تاریخ دانست.

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

در این تبلیغ یک زن ورزشکار که کفش‌های و لباس ورزشی قرمز به تن دارد نشان داده می‌شود که وارد جهان تخیلی که جورج اورول در اثر جاودانه ۱۹۸۴ خلق کرده، می‌شود، به سمت صفحه‌ای که در آن «برادر بزرگ» در حال صحبت است، می‌دود و چکشی به سمت او پرتاب می‌کند. برادر بزرگ در این تبلیغ به صورت تلویحی به شرکت IBM اشاره دارد!!

Ad_apple_1984_2.jpg

به دنیال محو شدن تصویر برادر بزرگ، پیامی به روی صفحه می‌آید:

در ژانویه ۱۹۸۴، اپل، مکینتاش را معرفی خواهد کرد، و شما مشاهده خواهید کرد که ۱۹۸۴ مثل ۱۹۸۴ نخواهد شد. 

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

این تبلیغ را در اینجا ببنید.

در ۲۲ ژانویه، در نشست سالانه سهامداران، جابز سیستم عامل مکینتاش را به حضار هیجان‌زده معرفی کرد، این سرآغاز شوهای معروف جابز بود! چنان غوغایی در نشست بلند شد که صحنه را حاضران در آن جلسه، به بودن در مرکز جهنم تشبیه می‌کنند.

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

اخراج از اپل!
جابز با اینکه رهبر کاریزماتیک و موفقی برای اپل بود، ولی کارکنان اپل در آن زمان او را یک مدیر نامنظم و مستبد می‌دانستند. این موضع در کنار کسادی بازار در اواخر سال ۱۹۸۴ باعث شد که رابطه جابز با «شولی» به هم بخورد و سرانجام در پی یک کشمکش قدرت، شولی جابز را از شغلش در اپل به عنوان رئیس قسمت مکینتاش برکنار کرد.

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

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

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

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

در همین شرکت و در همین بازه زمانی بود که او ایده «کامپیوترهای بین شخصی» را در مقابل کامپیوترهای شخصی مطرح کرد، کامپیوترهایی که به کاربرانش امکان ارتباط با هم را می دادند،

در سال ۱۹۸۸، شرکت نکست کامپیوتر NeXTcube را به بازار فرستاد، یک کامپیوتر مکعبی شکل که هر ضلعش ۳۰ سانتیمتر اندازه داشت و ۶۵۰۰ دلار قیمت داشت.

800px-Premier_serveur_Web.jpg

کامپیوتر NeXTcube از آن جهت مشهور شد و نامش در تاریخ کامپیوترماندگار شد که «تیم برنرز لی»، نخستین سرور کامپیوتری جهان را با استفاده از همین کامپیوتر برپا کرد و با همین کامپیوتر بود که برنرز لی نخستین مرورگر جهان را نوشت، شهرت دیگر این
کامپیوترها این سایت که از آنها برای نوشتن بازی Doom استفاده شده است!

جابز توانست تا سال ۱۹۹۳، ۵۰ هزار عدد از این کامپیوترها را به فروش برساند، کامپیوترهایی که نمای منیزیمی و ظاهر آنها نشاندهنده علایق زیبایی‌شناسانه جابز بودند.

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

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

در سال ۱۹۹۶، اپل شرکت نکست را به مبلغ ۴۲۹ میلیون دلار خرید. این موضع سبب شد که جابز به اپل برگردد. به زودی جابز رئیس موقتی اپل شد. او در سال ۱۹۹۸ برای بازگشت شرکت به سوددهی تعدادی از پروژه‌ها را متوقف کرد.

مک ورلد ۱۹۹۷ را ببینید.

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

با خرید نکست به وسیله اپل، سیستم عامل NeXTSTEP این شرکت تکامل پیدا کرد و به سیستم عامل مکینتاش تبدیل شد. تحت راهنمایی جابز و با معرفی محصولات تازه‌ای همچون iMac فروش شرکت به میزان زیادی افزایش یافت. سرانجام در مک ورلد سال ۲۰۰۰، ریاست موقت جابز بر اپل، تبدیل به ریاست دائمی شد، عنوان و مسئولیتی که جابز تا به حال دارد.

544px-IMac_Bondi_Blue.jpg

نخستین مدل iMac به نام iMac G3 که در سال ۱۹۹۸ عرضه شد

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

سال قبل اپل با گوشی موبایل آی‌فون، وارد دنیای پرسود گوشی‌های موبایل شد.


حقوق و مزایای استیو جابز!
جالب است بدانید که حقوق سالانه جابز به صورت نمادین در اپل تنها و تنها یک دلار در سال است. نام جابز در کتاب رکوردهای گینس به عنوان مدیری که کمترین عایدی سالانه را دارد ثبت شده است.

البته در نظر داشته باشید که جابز هدایای ویژه‌ای از هیئت مدیره می‌گیرد که جبران حقوق نمادین ناچیزش را می‌کند، مثلا او در سال ۱۹۹ یک جت ۴۶ میلیون دلاری هدیه گرفت و بین سال‌های ۲۰۰۰ تا ۲۰۰۲، ۳۰ میلیون سهم با کارکرد محدود دریافت کرد.

این موضع حقوق نمادین شاید در نگاه اول چیز بی‌هوده‌ای به نظر بیاید، اما شاید دلیل اصلی این حقوق نمادین یک فرار مالیاتی زیرکانه باشد. طبق قوانین مالیاتی آمریکا، حقوق سالانه مشمول ۳۵ درصد مالیات است، در صورتی که به «سود سرمایه‌ای» که جابز آن را از طریق افزایش بهای سهام‌هایش به دست می‌آورد تنها ۱۵ درصد مالیات تعلق می‌گیرد.

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

جابز در سال ۲۰۰۷، تلاش بسیاری کرد که ال گور معاون ریاست جمهوری آمریکا در دوره بیل کلینتون را ترغیب به شرکت در انتخابات کند، ولی موفق نشد.

او سال ۲۰۰۸ را با مک‌ورلد ۲۰۰۸ شروع کرد که شرح کاملش را می‌توانید در همین وبلاگ بخوانید.

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

luxo2.jpg

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

در سال ۲۰۰۳ قرار داد پیکسار با والت دیسنی به پایان رسید، مذاکرات جابز با رئیس آن زمان دیسنی به منظور تجدید قرارداد، به جایی نرسید، تا اینکه در اکتبر سال ۲۰۰۵، باب ایگر جای رئیس قبلی دیسنی را گرفت و او سعی کرد که به سرعت روابط دیسنی را با جابز ترمیم کند.

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

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

در مستند «پیروزی خوره‌ها» افراد مختلفی در واکنش به اخراج جابز به وسیله شولی و اعضای هیئت مدیره اظهار نظرهای جالبی کرده‌اند. «پیروزی خوره‌ها، طلوع امپراطوری‌ها تصادفی» Triumph of the Nerds: The Rise of Accidental Empires، عنوان مستندی است که در سال ۱۹۹۶، به وسیله تلویزیون انگلیس تولید شد و در سه قسمت از شبکه PBS پخش شد. این مستند تاریخچه رایانه‌های شخصی را بررسی می کند و خوشبختانه در گوگل ویدئو قابل دریافت و مشاهده است: 

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

در پایان مک ورلد سال ۲۰۰۷، او سخن قصاری از یکی از بازیکنان مشهور هاگی نقل کرد:
من به سمتی اسکیت می‌کنم که توپ بازی قرار است آنجا باشد، نه جایی که توپ بوده است.

جابز یک جدال لفظی جالب با مایکل دل رئیس شرکت دل Dell دارد. جدال آنها وقتی شروع شد که جابز در اظهار نظری کامپیوترهای دل را «جعبه‌های قهوه‌ای غیرابتکاری» نامید. در واکنش به این گستاخی، مایکل دل در پاسخ به این سوال که اگر شرکت اپل را داشت چه می‌کرد، گفت که اپل را می‌بست و پولش را به سهامداران برمی‌گرداند!

در سال ۲۰۰۶، وقتی که ارزش اپل از دل پیشی گرفت، استیو جابز، ایمیلی به همه کارکنان اپل فرستاد که در آن قدرت پیشبینی مایکل دل به تمسخر گرفته شده بود.

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

زندگی شخصی
جابز در ۱۸ مارس سال ۱۹۹۱ با «لورن پاول» که ۹ سال از او جوان‌تر است، ازدواج کرد. جابز سه فرزند از او دارد. جابز همچنین یک دختر ۳۰ ساله از «کریس ان برنان» دارد، زنی که جابز با او ازدواج نکرده بود. این دختر یک روزنامه‌نگار است.

laurene 2.jpg

لورن پاول

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

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

جابز و مشکلات سلامتی
در نیمه سال ۲۰۰۴، جابز اعلام کرد که تومور بدخیم پانکراس (لوزالمعده) دارد. تومورهای پانکراس بسیار بدخیم هستند و می‌توانند ظرف چند ماه بیمار مبتلا را از پای درآورند، اما از بخت خوش جابز او مبتلا به نوع نادری از سرطان پانکراس به نام «تومور سلول جزیره‌ای» بود که رفتار تهاجمی بسیار کمتری دارد. در جولای ۲۰۰۵ جابز تحت عمل جراحی قرار گرفت و به شیمی‌درمانی و رادیوتراپی بعدی هم نیاز پیدا نکرد.

ظاهر لاغر و نحیف او در مک‌ورلد سال ۲۰۰۶، شایعاتی را در مورد مشکلات سلامتی او مطرح کرد، ولی دست کم تا این زمان جابز سرپاست و نشانی از بیماری را نمی‌توان در چهره او پیدا کرد.

افتخارات
جابز در سال ۱۹۸۵، نشان ملی فناوری را از رونالد ریگان -رئیس جمهور وقت- دریافت کرد و درسال ۱۹۸۷ نشان ملی خدمات عمومی جفرسون را دریافت گرفت.

feb85reagan.jpg

فرماندار ایالت کالیفرنیا -آرنولد شواتزنگر- در ۵ دسامبر سال ۲۰۰۷، نام استیو جابز را در تالار افتخارات کالیفرنیا در موزه تاریخ و هنر کالیفرنیا قرار کرد.

سال ۲۰۰۷، مجله فورچون او را به عنوان قدرتمندترین بازرگان سال انتخاب کرد.

منبع :  onlinemanagers.ir




تاریخچه شرکت APPLE


شرکت Apple در ۱ آوریل ۱۹۷۶ توسط استیو جابز، استیو وازنیاک و رانلد وین با هدف ساخت و فروش کامپیوترهای شخصی تاسیس شد. نام شرکت در ۳ ژانویه ۱۹۷۶ به Apple Computer, Inc تغییر یافت و سسپس در ۶ ژانویه ۲۰۰۷ دوباره دستخوش تغییر شد و از آن زمان تاکنون Apple Inc است. تغییر آخر برای انعکاس تمرکز شرکت بر بازار محصولات مصرفی الکترونیکی -نه فقط کامپیوتر- بود.

اپل اکنون یک شرکت بین المللی امریکایی است که به دیزاین و فروش محصولات مصرفی الکترونیکی، نرم افزارهای کامپیوتری، و کامپیوترهای شخصی می پردازد. این شرکت بیش از همه به خاطر محصولات سخت افزاری اش از جمله کامپیوترهای خانواده Mac، پخش کننده های موسیقی iPod، تلفن های هوشمند iPhone، و تبلت های iPad و iPad Mini مشهور است. از دیگر محصولات آن می توان به Apple TV، سیستم عامل دسکتاپ OS X، سیستم عامل موبایل iOS، مجموعه نرم افزارهای iLife و iWork اشاره کرد.

اپل در کنار محصولات فوق سرویس های اینترنتی نیز ارائه می کند؛ این شرکت در قالب فروشگاه آنلاین iTunes به توزیع انواع محتوا (موسیقی، فیلم، مجموعه های تلویزیونی، کتاب، پادکست و غیره)، و توزیع برنامه های کاربردی برای دو سیستم عامل OS X و iOS می پردازد. فروشگاه آیتونز لقب بزرگترین خرده فروش موسیقی دنیا را یدک می کشد.

اپل که مقر آن در کوپرتینوی کالیفرنیا واقع شده، در حال حاضر بیش از ۴۰۰ خرده فروشی شهری (Apple Store) در بیش از ۴۰ کشور دارد.

تعداد کارمندان آن (تمام وقت و پاره وقت) در سرتاسر دنیا ۸۰ هزار نفر است. در سال ۲۰۱۳ درآمدی بالغ بر ۱۷۰ میلیارد دلار کسب کرده و مجموع دارایی های آن بیش از ۲۰۰ میلیارد دلار (۱۲۳ میلیارد دلار نقد) است. با مجموع ارزشی در حدود ۴۷۰ میلیارد دلار، اپل باارزش ترین شرکت دنیا است و بارها از سوی مراجع مختلف به عنوان ستودنی ترین شرکت حال حاضر دنیا معرفی شده.

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

فرهنگ شرکتی

اپل از ابتدا در مقابل رقبایی نظیر IBM با فرهنگ شرکتی خشک، منظم و مقرراتی شان ایستاد که این را باید مرهون اخلاق غیررسمی موسس آن استیو جابز دانست. او برای فرهنگ رسمی و خشک ارزشی قائل نبود و گاه حتی بدون کفش در شرکت راه می رفت. حتی زمانی که اپل در فهرست ۵۰۰ شرکت برتر Fortune قرار گرفت.

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

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

• در دوران مدیرعاملی تیم کوک، جانی آیو، نایب رییس ارشد دیزاین، و کریگ فدریگی، نایب رییس ارشد مهندسی نرم افزار، تبدیل به قلب تپنده اپل شده اند. در سال ۲۰۱۲ با کنار گذاشته شدن اسکات فورستال که نایب رییس نرم افزار iOS بود، وظایف او در رابطه با طراحی و مهندسی iOS بین این دو مدیر ارشد تقسیم شد. جانی آیو در حال حاضر تمام امور مرتبط با دیزاین سخت افزار و نرم افزار را در اپل بر عهده دارد و کریگ فدریگی نیز تمام امور نرم افزاری مرتبط با OS X و iOS را اداره می کند. در کنار آنها ادی کیو، نایب رییس ارشد نرم افزارهای اینترنتی و خدمات، دن ریچیو، نایب رییس ارشد مهندسی سخت افزار، و فیل شیلر، نایب رییس ارشد بازاریابی جهانی، مهمترین چهره های اپل به شمار می آیند.

کاربران محصولات

فرهنگ مشتری مداری خاص اپل باعث شده در افتتاحیه فروش محصولات جدید، صدها و گاه هزاران نفر در صف هایی بیرون از فروشگاه های اپل به انتظار بنشینند. فروشگاه مکعبی اپل در خیابان پنجم منهتن بارها شاهد صف هایی به بلندای ۱.۵ کیلومتر بوده. در افتتاحیه فروشگاه گینزا در توکیو نیز صف هزاران نفره ای تا ۸ خیابان آن طرف تر شکل گرفت. فروشگاه اپل در استانبول نیز که در سال ۲۰۱۴ افتتاح شد، شاهد تجمع علاقمندان بود. البته این اجتماعات در یکی دو سال پس از فوت استیو جابز کمرنگ تر شده که به نظر می رسد به دلیل گرویدن خریداران به فروشگاه آنلاین محصولات اپل باشد.

تبلیغات

اپل را بنیانگذار تبلیغات مدرن در صنعت محصولات مصرفی الکترونیکی می دانند. از تبلیغ معروف ۱۹۸۴ برای مکینتاش گرفته تا تبلیغات “یک مک بگیر” و “رقص سایه ها با آیپاد” و آگهی های غیرتبلیغاتی “متمایز فکر کن”، همه و همه در نوع خود سبک تبلیغاتی متفاوتی را برای اپل رقم زدند. در سال های اخیر شرکت سامسونگ توانسته با تبلیغات موثر و خلاقانه خود، نبوغ تبلیغاتی اپل را به چالش جدی بکشاند. به نظر می رسد سال ۲۰۱۴ بتواند نقطه عطفی برای اپل باشد تا با معرفی محصولات جدید (آیفون های بزرگ تر و آیواچ) ورق را برگرداند -که البته کار مشکلی خواهد بود. جدیدترین رویکرد تبلیغاتی اپل با عنوان “شعر شما” (Your Verse) کاربردهای گوناگون محصولات این شرکت، به خصوص آیفون و آیپد در زندگی روزمره افرادی با علایق و مشاغل مختلف را نشان می دهد.

در حال حاضر مهمترین محصول اپل به لحاظ درآمد و سود، آیفون است و پس از آن آیپد و مک قرار دارند. آیفون که در سال ۲۰۰۷ معرفی شد، امروزه حدود ۶۵٪ از سود اپل را رقم می زند و نقش آن در درآمدزایی اپل، بسیار بیشتر از آیپد است که از سال ۲۰۱۰ به بازار آمده. به همین خاطر تیم بازاریابی اپل توجه ویژه ای به آیفون دارند و اغلب نیازهای بازار را در محصولات آینده اپل لحاظ می کنند.

لوگوها و شعارها

اولین لوگوی اپل را ران وین (یکی از ۳ موسس) طراحی کرد که در آن سر آیزایک نیوتن در زیر یک درخت سیب دیده می شود:

اولین لوگوی اپل

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

دومین لوگوی اپل

در سال ۱۹۹۸ همزمان با عرضه آیمک جدید که بدنه ای در رنگ های مختلف داشت، اپل تصمیم به حذف رنگین کمان از لوگوی خود گرفت و در محصولات و تبلیغات خود آن را با تک رنگ های سیاه و خاکستری جایگزین کرد.

لوگوی فعلی اپل

 

امروزه لوگوی اپل همچنان طرح سیب گازخورده با پیرنگ ساده است.

آینده

• انتظار می رود اپل در سال ۲۰۱۴ اقدام به معرفی اولین محصول پوشیدنی خود، یعنی یک ساعت هوشمند بنماید. همچنین از شواهد بر می آید که اپل آماده می شود تا کاربردهای پزشکی را با این محصول و در تلفیق با iOS رونمایی کند.

منابع: Slideshare و Wikipedia 1 & digiato.com



آموزش مبانی زبان برنامه نویسی ++C

شاید بهترین راه برای یادگیری یک زبان برنامه نویسی، نوشتن یک برنامه ابتدایی و ساده در محیط یک نرم افزار برای آشنایی با ساختار آن زبان باشد.

در آغاز عکسی از برنامه Borland C++ را نشان می دهیم تا با محیط نرم افزار C++ آشنا شوید . هرچند نرم افزارهای دیگه هم در این خصوص وجود دارند مانند Visual C++ یا Turbo C++ .

برنامه ای را که در بالا می بینید سورس کد اولین برنامه ما و همچنین ابتدایی ترین ساختار برنامه C++ می باشد. قبل از هر چیز به بررسی سطحی و آشنایی اولیه با خطوط برنامه Hello world! می پردازیم :

// my first program in c++
#include <iostream.h>
int main()
{
  cout << "Hello world" ;
  return 0 ;
}

// my first program in c++

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

برای بوجود آوردن توضیحات در برنامه C++ از دو الگو می توان استفاده نمود :

  • اگر بخواهیم توضیحات را در یک خط قرار دهیم از علامت // قبل از توضیحات استفاده می کنیم. در مثال قبل ما از این الگو بهره بردیم.
  • در صورت زیاد بودن توضیحات واشغال چند سطر از برنامه توسط آن از علامت /* */ استفاده کرده و توضیحات را در بین آن قرار می دهیم.
                                     /* my
                                      first program 
                                      in c++ */
                                     

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

#include <iostream.h>

از فایلهای سرآیند بعنوان کتابخانه های C++ یاد می کنند که از قبل نوشته شده اند و ما برای استفاده از برخی از توابع و روالها از آنها استفاده می کنیم . کامپایلر فقط کلمات کلیدی را می شناسد و همانطور که گفته شد برای استفاده از یک سری دستورات و توابع مانند دستورات ورودی و خروجی و ... باید از این فایلهای سرآیند استفاده نماییم و اگر استفاده نکنیم امکان برنامه نویسی بوجود نخواهد آمد که به تفصیل در آینده در مورد این فایلها و مورد استفادشان صحبت خواهیم کرد . این نکته را هم خاطر نشان می کنم که پسوند این فایلها h می باشد. در انتهای این فصل هم توضیحات تکمیلتری در این مورد آورده شده است .

int main()

این خط تعریفی برای تابع اصلی برنامه می باشد. در واقع برنامه با کامپایل از این نقطه شروع و پردازش می شود. هر برنامه C++ باید دارای تابع main()باشد. در این تابع است که بلوکها و خطوط برنامه نوشته میشود. باید گفته شود هرچند خطوطی بالاتر از تابع اصلی نوشته شده اما بخاطر داشته باشید که برنامه از این نقطه شروع خواهد شد. عبارت int به معنی integer یا اعداد یک کلمه کلیدی می باشد و برای تعریف متغیرهای از نوع صحیح بکار می رود که در ادامه آموزش برنامه نویسی بطور مفصل مورد بررسی قرار می گیرد. Main نامی برای تابع اصلی است که تغییر نمی کند و () علامتی است که در ادامه هر تابعی قرار می گیرد که توابع نیز مفصلا در ادامه مورد بحث قرار می گیرند و اطلاعات فوق جنبه آشنایی با آنها را دارد.

}

آکولاد باز در واقع شروع یک بلوک از دستورات را تعریف می کند که در این برنامه بدنه تابع اصلی (main) را در بر می گیرد و با علامت

{

یا آکولاد بسته پایان بلوک را تعیین می کنیم.

cout << "Hello world" ;

تابع cout >> در تابع سرآیند iostream در زبان C++ قرار دارد و موجب ارسال اطلاعات به خروجی و چاپ و نمایش آن بر روی مانیتور کاربر می شود. با نوشتن این دستور عبارت Hello world! برروی صفحه نمایش پس از کامپایل بدون خطای برنامه به نمایش در می آید. از علامت " " برای متغیرهای رشته ای که در اصطلاح string گفته می شوند استفاده می شود. از علامت ; نیز در انتهای هر دستور در C++ استفاده می گردد تا بوسیله آن پایان آن دستور را به پردازشگر اعلام نمود.

return 0 ;

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

namespace

باید بگم که فضاهای نام هم در ساختار C++ نقش اساسی دارند. این فضاها مجموعه دیگری از کتابخانه های C++ می باشند که در استفاده از بعضی عناصر مانند رشته ها و ... کمک شایانی به کاربران می کنند.

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

// using namespace std
#include <iostream>
using namespace std;
int main()
{
   string st = "Hello world!" ;
   cout << st ;
   return 0 ;
}                                     

کد بالا را میشود به شکل دیگری هم نوشت که در اینصورت عبارت <iostream>به <iostream.h>تغییر می کنه و using حذف شده و بجاش از عبارت<string>استفاده می کنیم به صورت زیر :

// using namespace std
#include <iostream.h>
#include <string>
int main()
{
   string st = "Hello world!" ;
   cout << st ;
   return 0 ;
}                                     

آموزش ساختار و کلمات کلیدی و فایل های سرآیند در برنامه نویسی C++ ذکر این مطلب لازم است که متاسفانه فایل سرآیند string در محیط Borland C++ کار نمی کند .

برخی از ویژگیهای زبان C++ :

  • انعطاف پذیری و غنای بالا
  • زبان برنامه نویسی سیستم است و با آن می توان برنامه های سیستمی را نوشت، بدین معنی که مستقیما می تواند با سخت افزار و نرم افزار ارتباط برقرار نماید.
  • زبان شی گراست
  • Case sevsitive است ، یعنی نسبت به کوچکی و بزرگی حروف حساس بوده وبین این دو تمایز قائل است. توصیه می شود که برنامه ها را با حروف کوچک بنویسید. While برابر نیست با WHILE

برخی از ویژگیهای دستورات C++

  • هر دستور باید به ; ختم شود.
  • حداکثر طول یک دستور،255 کاراکتر است.
  • هر دستور می تواند در یک و یا چند سطر نوشته شود.
  • در هر سطر می توان چندین دستور را نوشت.( این کار توصیه نمی شود. )
  • توضیحات می توانند بین */ و /* در چندین سطر و یا بعد از // و در فقط یک سطر نوشته شوند.

کلمات کلیدی در C++

auto        double      int         struct
break       else        long        switch
case        enum        register    typedef
char        extern      return      union
const       float       short       unsigned
continue    for         signed      void
default     goto        sizeof      volatile
do          if          static      while

این کلمات، کلمات کلیدی هستند و کامپایلر فقط این کلمات را می شناسد و هرآنچه غیر از کلمات کلیدی در برنامه C++ نوشته شود باید برای کامپایلر درست تعریف شود. در این بین توابعی برای گرفتن اطلاعات و یا چاپ اطلاعات و چیزهای دیگری وجود دارد که برای استفاده از آنها باید از فایل سرآیند مربوطه استفاده نماییم که از قبل نوشته شده اند مثل توابع cin, cout که توابع ورودی خروجی هستند که در فایل سرآیند iostream وجودارند و همچنین تابع getch که برای زدن یک کلید از صفحه کلید است و در فایل سرآیند conio قرار دارد .

 انواع داده ها در C++ :

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

داده های موجود در C++ عبارتند از :

char, int, float, double, void, bool ,string

نوع char برای ذخیره داده های کاراکتری مانند : ‘a’ , ‘z’ , ‘W’ بکار می رود.

از نوع int برای ذخیره اعداد صحیح مانند 128، 5، 4508 استفاده می شود.

نوع float برای ذخیره اعداد اعشاری مثل 12.5، 7805.11 بکار می رود.

نوع double برای اعداد اعشاری بزرگتر از float استفاده می شود.

از boolean برای ذخیره مقادیر منطقی استفاده می شود ( درستی یا نادرستی ).

نوع void هیچ مقداری را نمی گیرد

نوع دیگری از داده وجود دارد که برای استفاده از رشته ها مورد استفاده قرار میگیرد که string گفته میشود اما در برخی از نسخه های کامپایلر زبان برنامه نویسی C++ پشتیبانی نمی شود، لذا مجبور به استفاده از آرایه ای از کاراکترها برای این منظور خواهیم بود .

آموزش تعریف انواع داده ها، عملگرها،  متغیرها و نوع آنها در برنامه نویسی C++ متغیرها

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

برای استفاده از یک متغیر ابتدا باید آن را در برنامه تعریف نماییم که روش تعریف متغیر بصورت زیر است :

    ;نام متغیر     نوع متغیر

int  count ;

در قطعه کد بالا می بینیم که هر متغیر باید دارای نام منحصر بفردی باشد که برای نامگذاری متغیر ها باید توجه داشته باشیم که :

  • برای نامگذاری متغیرها از ترکیبی از حروف a تا z یا A تا Z ، ارقام و خط ربط ( _ ) استفاده می شود.
  • اولین کاراکتر نام نباید از ارقام باشد.
  • نام می تواند هر طولی داشته باشد اما فقط 31 کاراکتر ابتدایی استفاده می شوند.
اسامی غیر مجاز             اسامی مجاز
-------------------------------------
  count3                   3count
  count                    .count
  co_unt                   co.unt

آموزش تعریف انواع داده ها، عملگرها،  متغیرها و نوع آنها در برنامه نویسی C++ مقدار دادن به متغیر ها

بعد از تعریف یک متغیر باید مقداری را به آن نسبت دهیم که به یکی از چهار روش زیر می توان اینکار را انجام داد :

  • هنگام تعریف متغیر
int  x = 4;     // initial value = 4
char  char1 = 'a' , char2 = char3 = 'y';    // initial values = 'a' and 'y'
bool  b = true;     // initial value = true                                     
  • بعد از تعریف و با عمل انتساب ( = ).
int  y;
y = 12;     // initial value = 12
  • با استفاده از قالب سازنده.
float float_1 (2);     // initial value = 2                
  • دستورات ورودی که در فصل مربوط به ورودی / خروجی گفته خواهد شد.
float a, b;
cin >> a >> b;

آموزش تعریف انواع داده ها، عملگرها،  متغیرها و نوع آنها در برنامه نویسی C++ ثوابت و عملگرها در C++ - (Constants)

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

برای تعریف ثوابت در c++ دو الگو وجود دارد :

  • 1. با استفاده از دستور #define
#define  <name>  <value>

// For example :
#include <iostream>
#define  P  3.14
int main()
{
    cout >> P;
    return  0 ;
}
3.14

به محل استفاده از این دستور دقت کنید که در کجای برنامه مورد استفاده قرار گرفته است (بعد از فایلهای سرآیند) .

نکته ای که باید در اینجا توجه نمود و در مثال بالا هم مشخص بود این است که در پایان دستور #define از ; (سمی کالن) استفاده نمی کنیم.

  • 2. با استفاده از کلمه کلیدی const :
const  <مقدار> = <نام ثابت>  <نوع داده>;

// For example :
#include <iostream>
int main()
{
    const  float  P = 3.14 ;
    cout >> P;
    return  0 ;
}
3.14

می بینیم که محل این دستور درون خود تابع main هست اما دستور #define در بیرون از تابع main و در بالای برنامه.

آموزش تعریف انواع داده ها، عملگرها،  متغیرها و نوع آنها در برنامه نویسی C++ عملگر ها (Operators)

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

  • انتساب ( Assignment ) ( = )

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

#include <iostream>
int main()
{
    int a, b ;          // a:?,  b:?
    a = 10 ;            // a:10, b:?
    b = 4 ;             // a:10, b:4
    a = b ;             // a:4,  b:4
    b = 7 ;             // a:4,  b:7
    cout >> "a:" ;
    cout >> a ;
    cout>> "b:" ;
    cout >> b ;
    return  0 ;
}
a:4  b:7

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

  • عملگرهای محاسباتی ( Arithmetic Operators ) ( + , - , * , / , % )

پنج عملگر محاسباتی موجود در C++ عبارتند از :

+جمع
-تفریق
*ضرب
/تقسیم
%باقیمانده تقسیم

با 4 عملگرد اول آشنا هستید اما آخرین که خوانده می شود ( مـد "با واو تلفظ کنید" ) عملوند سمت چپ را بر عملوند سمت راست تقسیم کرده و باقیمانده آنرا بدست می آورد .

#include <iostream>
int main()
{
   int  a = 11;
   int  b = 3;
   int c = a % b;
   cout >> "c:" ;
   cout >> c ;
   return  0 ;
}
c: 2
  • عملگرهای ترکیبی ( Compund Operators ) ( =+ , =- , =* , =/ )
عبارتبرابر است با
a += ba=a+b
a -= ba=a-b
a *= b+1a=a*(b+1)
a /= ba=a/b

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

عملگرهای ترکیبی دیگری نیز وجود دارند که در ادامه در موردشان بحث می کنیم مثل : => و =<

#include <iostream>
int main()
{
   int  a ,b = 3;     // a=?, b=3
   a = b;             // a=3, b=3
   a += 2;            // a=a+2=3+2=5
   cout >> a;
   return  0 ;
}
5
  • عملگرهای افزایش کاهش ( Increase , Decrease ) ( ++ , -- )

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

#include <iostream>
int main()
{
   int  a = 2, b = 3;        // a=2, b=3
   a += b++;                 // a+=(b+1) ---> a=a+(b+1) ---> a=2+4=6
   cout >> "a:";
   cout >> a;
   return  0;
}
a:6

اگر عملگر سمت راست یا چپ عملوند خود باشه در هر دو صورت یک واحد به عملوند اضافه می شود . اما تفاوت این دوحالت در عبارات محاسباتی خود را نشان می دهد . عبارات محاسباتی ترکیبی از متغیرها، ثوابت و عملگرها هستند مثل 4*5-5/10 و 6-x/y

int  A , B = 3;        // A=?, B=3
A = ++B;               // A=(++B) ---> A=(B+1) , B=B+1 ---> A=4, B=4                     
                                    
A=4   ,B=4

در مثال بالا چون افزایش قبل B قرار دارد ابتدا یک واحد به B اضافه شده، پس در همینجا B می شود 4 و در پایان مقدار فوق در A قرار می گیرد .

int  A , B = 3;        // A=?, B=3
A = B++;               // A=(B++) ---> A=B, B=B+1 ---> A=3, B=4                     
                                    
A=3   ,B=4

اما در مثال بالا چون افزایش بعد از B قرار دارد اول مقدار B که 3 هست در A ریخته میشود و بعد یک واحد به B اضافه میشود .

  • عملگرهای رابطه ای و تساوی (Relational and equality operators) ( = = , =! , > , < , =< , => )

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

int  a = 10 , b = 7;     //a=10, b=7
(a == b) ;               //a=10 and not equal to b so return false
(a >= b) ;               //a=10 greater than b so return false
(a > b) ;                //a=10 greater than b so return true

Basic input/output - I/O - دستورات ورودی خروجی در برنامه نویسی C++

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


1
2
3
4
5
6
7
8
9
10
11
#include <iostream.h>
#include <conio.h>
int main()
{
    int a;            //a=?
    cin >> a;         //a=value of user input
    cout << "a:";     //Prints a: on screen
    cout << a;        //Prints value of a
    getch();    
    return 0;
}
a:120

برای استفاده از کلمات کلیدی cin و cout لازمه که از کتابخانه iostream.h در برنامه خود استفاده کنیم.

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

دستور cin باعث می شود که از کاربر یا برنامه دیگه ای یک مقدار یا متنی را بگیریم . در واقع کامپایلر با رسیدن به این دستور منتظر ورود اطلاعات از طرف کاربر شده تا زمانی که کاربر Enter را فشار بده و مقدار ورودی کاربر را در متغیری که در جلوش اعلان شده بریزه و همونطور که قبلا اشاره شد موجب مقدار دهی به متغیر مربوطه میشود .

آموزش دستورات ورودی خروجی cin,cout,input,output در برنامه نویسی C++ در برنامه بالا تابعی بنام getch() هست که برای استفاده از اون باید از کتابخانه conio.h استفاده کنیم که باعث میشود بعد از اجرای برنامه و رسیدن کامپایلر به این خط، برنامه متوقف شده و منتظر این باشه که کاربر یک کلید از کیبورد را فشار دهد . با این دستور می توانیم خروجی برنامه را ببینیم چون اگر این تابع نباشد در کسری از ثانیه برنامه اجرا و بلافاصله بسته میشود و دیگر ما قادر به دیدن خروجی نخواهیم بود . ( امتحان کنید! )

در مثال بالا فرض بر اینه که کاربر مقدار 120 را وارد کرده است.

گاهی اوقات لازمه که ما چند مقدار را با استفاده از دستور cin به برنامه بدهیم، در اینصورت به ازاء هر مقدار از یک << استفاده می کنیم و همینطور برای دستور cout ازیک >> .

int a, b;            //a=?, b=?
cin >> a >> b;
cout << a << b;                        

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

cout << a << endl;

عبارت endl به کامپایلر پایان خط جاری را نشان می دهد و در صورت وجود خروجی دیگه ای در برنامه، نمایش خروجی را از خط بعدی ادامه میدهد .

cout << a << "\n";

عبارت \n نیز مثل endl خروجی را به خط بعدی هدایت می کند .


1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream.h>
#include <conio.h>
int main()
{
    int a, b;                                    //a=?,b=?
    cout << "Please inter value of a:";
    cin >> a;                                    //a=value of user input
    cout << "Please inter value of b:";
    cin >> b;                                    //b=value of user input
    cout << "a:" << a << "\n";                   //Prints a:(value of a) on screen and go to next line
    cout << "b:" << b;                           //Prints b:(value of a) on screen
    return 0;
}
Please inter value of a:
Please inter value of b:
a:120
b:87

عبارات محاسباتی و تقدم عملگرها در برنامه نویسی C++ (Precedence of operators) :

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

a = b+10*(9%4);
a = b+10*9%4;                                     

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

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

آموزش عبارات محاسباتی و تقدم و اولویت عملگرها در برنامه نویسی C++ جدول زیر تقدم عملگرها را با اولویت از بالا به پایین به ما نمایش میدهد.

1()
2!  ~  ++  --  sizeof
3*  /  %
4+  -
5<<  >>
6<  <=  >  >=
7==  !=
8&
9^
10|
11&&
12||
13?
14=  +=  -=  *=  /=  %=
15,

همینطور که در جدول بالا مشخص شد بالاترین تقدم عملگرها را پرانتز و پایین ترین تقدم را کاما دارا می باشند.

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

عبارات محاسباتی و تقدم و اولویت عملگرها در C++ برای درک مطلب به بررسی مثالی می پردازیم :

a = 20-3*4+19%(3*(2+1));
20-3*4+19%(3*3)

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

20-3*4+19%9

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

20-12+19%9

حالا از بین عملگرهای موجود * و % از تقدم بالاتری برخوردارند. بدلیل یکسان بودن تقدم این دو از چپ شروع کرده و با رسیدن به هر کدام از این دو عملگر مقدار عبارت را محاسبه میکنیم که در این مثال ابتدا * محاسبه می شود.

20-12+1

سپس نوبت به % میرسد.

8+1

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

9

و در پایان عملگر + محاسبه شده که در نهایت به جواب 9 می رسیم.

ساختارهای کنترلی در برنامه نویسی C++ (Control Structures)

بطور کلی، در هر برنامه نویسی اجرای دستورات از اولین سطر شروع شده و به ترتیب تا آخرین سطر ادامه میابد.

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

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

  • ساختارهای کنترل
  • ساختارهای تصمیم

ساختارهای کنترلی و تصمیم و حلقه تکرار تو در تو for,if,else,if else,while,do while در برنامه نویسی C++ ساختارهای کنترل :

  • for
  • while

در برنامه نویسی C++ از ساختار حلقه for برای تکرار یک سری از دستورات استفاده می شود و شکل کلی ایجاد حلقه تکرار بصورت زیر است :

for( مقدار اولیه حلقه ; شرط حلقه ; گام حرکت )
{
    Line Command 1;
    Line Command 2;
    Line Command n;
}
آموزش دستور و ساختار حلقه های تکرار تو در تو for در برنامه نویسی C++

مثال) با استفاده از حلقه تکرار for کدی بنویسید که اعداد 1 تا 10 را چاپ کند.


1
2
3
4
for ( int i = 1; i <= 10; i++ )
{
    cout << i << " ";
}
1 2 3 4 5 6 7 8 9 10                                   

در کد بالا متغیر i از نوع int تعریف شده و شرط خاتمه حلقه for تا زمانی است که i کوچکتر یا مساوی 10 باشد. گام حرکت حلقه یک است و با هر بار تکرار حلقه یک واحد به متغیر اضافه خواهد شد. متغیر i در پایان حلقه و با خروج از آن یک واحد اضافه خواهد شد. زمانیکه i برابر با 11 می شود برنامه با رسیدن به شرط حلقه و عدم برقرار بودن شرط، از حلقه خارج می شود. برای چاپ اعداد باید در درون خود حلقه، دستور خروجی را نوشت.

در برنامه نویسی، برای تست دستورات روشی به نام Trace وجود دارد که در این مورد از دستورات بسیار مفید است:

عملیاتi<=10i
چاپ 1yes1
چاپ 2yes2
چاپ 3yes3
چاپ 4yes4
چاپ 5yes5
چاپ 6yes6
چاپ 7yes7
چاپ 8yes8
چاپ 9yes9
چاپ 10yes10
خروج از حلقهno11

شما با ترسیم چنین جدولی بر روی کاغذ و ردگیری گام به گام حلقه قادر به نوشتن حلقه های پیچیده تر در C++ خواهید بود، با کمی تمرین به راحتی به این مهم خواهید رسید.

آموزش دستور حلقه تکرار و پیچیده و تو در تو for در C++ مثال) با استفاده از حلقه تکرار for کدی بنویسید که در آن کاربر جمله ای را وارد کرده و در انتهای جمله Enter را فشار دهد و برنامه تعداد حروف جمله را نمایش دهد:


1
2
3
4
5
int  count;
cout << "Enter a statement with enter in end:" << endl;
for ( count = 0; cin.get()!='\r' ; count++ );
cout << "Lenght of statement is: " << count;
getch();
Enter a statement with enter in end:
I like C++ programming!
Lenght of statement is: 23                                 

آموزش و مثال کاربردی حلقه تکرار و تو در تو و پیچیده for در برنامه نویسی C++ در برنامه بالا چند نکته مهم وجود دارد که به بررسی آنها می پردازیم:

الف) به شرط حلقه توجه کنید. تابع cin.get() برای تشخیص ورود Enter بکار می رود. تابع دانه دانه حروف ورودی را بررسی می کند و به محض Enter کردن کاربر از حلقه خارج می شود.

شرط حلقه به این معنی است که : تا زمانیکه حرف وارد شده کاربر مخالف Enter (\r) است حلقه را ادامه بده و به count هر بار یک واحد اضافه کن.

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

آموزش دستور و ساختار حلقه های تکرار تو در تو for در برنامه نویسی C++ حلقه های تودرتو

گاهی اوقات لازم است که در یک حلقه، یک یا چند حلقه دیگر هم استفاده نمود.

معروفترین مثال برنامه نویسی در مورد حلقه های تودرتو، نمایش جدول ضرب اعداد است:


1
2
3
4
5
6
7
8
int  i,j;

for ( i = 0; i<=10 ; i++ )
{
    for ( j = 0; j<=10 ; j++ )
        cout <<  i*j  << "\t";
    cout << endl;
}
1   2   3   4   5   6   7   8   9   10                          
2   4   6   8   10  12  14  16  18  20
3   6   9   12  15  18  21  24  27  30
4   8   12  16  20  24  28  32  36  40
5   10  15  20  25  30  35  40  45  50
6   12  18  24  30  36  42  48  54  60
7   14  21  28  35  42  49  56  63  70
8   16  24  32  40  48  56  64  72  80
9   18  27  36  45  54  63  72  81  90
10  20  30  40  50  60  70  80  90  100

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

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

سپس برنامه با اجرای دستور بعدی به خط جدید می رود. از حلقه اول 9 بار تکرار دیگر مانده، پس این رویه تکرار شده تا برنامه کامل گردد. در آخر وقتی i برابر با 11 می شود از حلقه بیرونی خارج شده و برنامه به پایان می رسد.

آموزش دستور حلقه تکرار و پیچیده و تو در تو for در C++ مثال مهم) قصد داریم با استفاده از حلقه های تکرار تودرتو شکل زیر را ایجاد نماییم :

*****
****
***
**
*

روش کلی کار به این صورت است که به ازای تعداد سطرها به یک حلقه تکرار for بیرونی و به ازای تعداد ستونها به یک حلقه for درونی نیاز داریم. چون از ابتدا به انتها از تعداد ستاره ها کم می شود پس باید حلقه های خود را کاهشی بنویسیم :


1
2
3
4
5
6
for ( int i = 5; i>0 ; i-- )
{
    for ( int j = i; j>0 ; j-- )
        cout << "*";
    cout << "\n";
}

با شروع حلقه for اول، برنامه وارد بلوکی می شود که دارای حلقه for دیگری است و دو دستور cout، که اولین دستور مربوط به حلقه درونی است و دومی مربوط به حلقه بیرونی.

متغیر i از 5 شروع شده با هر بار اجرای حلقه یک واحد کاهش میابد. به این دلیل متغیر j را برابر با متغیر i گرفته ایم چون با کاهش i آنهم باید کاهش یابد یعنی در هر بار چرخش حلقه بیرونی (هر سطر ).

در ابتدا i برابر با 5 است و شرط حلقه هم درست است پس وارد دستورات حلقه for بیرونی می شود و به حلقه for درونی برخورد می کند که j برابر با i یعنی 5 است و شرطش هم درست است پس 5 بار ستاره چاپ می کند و با نقیض شدن شرط حلقه (وقتی که j برابر صفر می شود ) از حلقه درونی خارج می شود و ادامه دستورات حلقه for بیرونی را انجام میدهد یعنی یک سطر پایین می رود .

این بار یک واحد از i کم شده و برابر با 4 می شود که باز هم شرط حلقه بیرونی درست است و دستورات آنرا دوباره اجرا می کند. در درون حلقه for درونی j برابر با i یعنی 4 شده و شرطش هم درست است پس اینبار چهار ستاره چاپ می کند و به همان ترتیب قبل دستورات ادامه میابد تا شکل بالا حاصل می شود .

آموزش دستور حلقه تکرار و پیچیده و تو در تو for در C++ مثال) می خواهیم شکل زیر را با استفاده از دستور حلقه تکرار for تودرتو در برنامه نویسی C++ رسم نماییم :

      *
     ***
    *****
   *******
  *********
 ***********
*************
 ***********
  *********
   *******
    *****
     ***
      *

برای رسم این شکل ما ابتدا شکل را به 2 قسمت تقسیم کرده و برای رسم هر قسمت از دستور حلقه تکرار for تودرتو استفاده می کنیم :


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
for ( int i = 6; i>0 ; i-- )
{
    for ( int j = i; j>0 ; j-- )
        cout << " ";

    for ( j = i; j<6 ; j++ )
        cout << "*";

    for ( j = i; j<=6 ; j++ )
        cout << "*";

    for ( int j = i; j>0 ; j-- )
        cout << " ";

    cout << "\n";
}

for ( i = 6; i>=0 ; i-- )
{
    for ( j = i; j<6 ; j++ )
        cout << " ";

    for ( j = i; j>0 ; j-- )
        cout << "*";

    for ( j = i; j>=0 ; j-- )
        cout << "*";

    for ( int j = i; j<6 ; j-- )
        cout << " ";

     cout << "\n";
}


ساختارهای کنترلی - حلقه while - بخش دوم

در این فصل از آموزش برنامه نویسی C++ قصد داریم به بررسی ساختار حلقه while() بپردازیم که وظیفه ای شبیه به حلقه for() را برعهده دارد.

while ( عبارت شرطی )  
{
    Line Command 1;
    Line Command 2;
    Line Command n;
}

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


1
2
3
4
5
6
7
8
9
10
11
int n;

cout << "Enter the starting number that bigger than zero : " ;
cin >> n ;

while ( n > 0 )  
{
    cout << n << ", " ;
}

cout << "Fire! \n" ;
Enter the starting number that bigger than zero : 8
8, 7, 6, 5, 4, 3, 2, 1, Fire!                                   

کد برنامه نویسی بالا، عددی را از کاربر گرفته و با استفاده از حلقه while شمارش معکوس آنرا در خروجی نمایش می دهد.

در برنامه C++ بالا، اگر عدد صفر یا کمتر از آنرا وارد کنیم شرط حلقه while نادرست بوده و دستورات درون حلقه اجرا نخواهد شد و فقط عبارت Fire! چاپ می شود.

شکل دیگری از این دستور وجود دارد که شبیه به while() بوده و به آن حلقه do while گفته می شود، با این تفاوت که اگر شرط درون آن نادرست باشد دستورات درون حلقه حداقل یکبار اجرا می شوند و اگر شرط درست باشد، حلقه تا زمان نادرستی شرط ادامه خواهد یافت و ساختار آن بدینگونه است :

do 
{
    Line Command 1;
    Line Command 2;
    Line Command n;
}
while ( عبارت شرطی )  
{
    Line Command 1;
    Line Command 2;
    Line Command n;
}

در ساختار do while() ابتدا دستورات do اجرا شده و بعد شرط درون while() بررسی می شود و در صورت درستی شرط، اجرای دستورات do ادامه پیدا خواهد کرد.

نکته ) دوستان توجه داشته باشند که اگر دستورات مربوط به for, while, do, … فقط یک دستور باشد نیازی به قرار دادن دستور درون آکولاد نیست و تکرار فقط بر روی تنها سطر دستور ادامه خواهد داشت و تا زمانیکه شرط برقرار باشد فقط و فقط آن سطر تکرار و اجرا می شود و تا زمان پایان به خط بعدی نخواهد رفت اما اگر دستورات بیش از یکی باشد لازم است که آنها را در آکولاد قرار دهیم و این قانون کلی در برنامه نویسی است.


1
2
3
4
5
6
7
8
int n;

do
{
    cout << "Enter number (0 to end): " ;
    cin >> n ;
    cout << "You entered: " << n << "\n" ;
} while ( n != 0 )
Enter number (0 to end): 1298
You entered: 1298                                
Enter number (0 to end): 35
You entered: 35   
Enter number (0 to end): 0
You entered: 0   

اگر عدد ورودی در کد بالا در ابتدا صفر باشد دستورات یکبار اجرا می شود.

ساختارهای تصمیم در برنامه نویسی C++

در برنامه هرگاه بخواهیم در شرایط ویژه ای برخی از دستورات اجرا شوند و برخی دیگر اجرا نشوند از ساختارهای تصمیم استفاده می کنیم.

  • ساختار if :

با استفاده از ساختار if، شرطی را کنترل می کنیم. اگر شرط جلوی if درست باشد دستورات آن اجرا خواهد شد، در غیر اینصورت دستورات درون else اجرا خواهند شد .

توجه کنید که فقط و فقط یا دستورات if اجرا می شود و یا دستورات else و هرگز این دو با هم اجرا نمی شوند.

if ( عبارت شرطی )  
{
    Line Command 1;
    Line Command 2;
    Line Command n;
}

در ادامه به بررسی حالات مختلفی در بکارگیری دستور if در C++ می پردازیم :


1
2
3
4
int num = 5;

if ( num == 10 )  
    cout << "num is equal 10" ;

در کد برنامه نویسی بالا می بینیم که num برابر 5 است، بنابراین شرط if نادرست است و دستور مربوط به آن چاپ نمی شود.


1
2
3
4
5
6
7
int num = 10;

if ( num == 10 ) 
{ 
    cout << "num is :" ;
    cout << num ;
}
num is :10                                  
                                    

در کد برنامه نویسی بالا چون دستورات مربوط به if از یک سطر بیشتر است آنها را در بلوک آکولاد قرار دادیم. می بینیم که این بار مقدار num برابر با شرط است، در نتیجه دستورات مربوط به if اجرا می شوند.

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


1
2
3
4
5
6
7
8
9
10
11
12
int num = 5;

if ( num == 10 ) 
{ 
    cout << "num is :" ;
    cout << num ;
}
else
{
    cout << "num is not 10 % is :" ;
    cout << num ;
}
num is not 10 and is :5                                 

در کد برنامه نویسی بالا چون num برابر با 10 نیست پس دستورات درون else اجرا می شود .

مطالب قبلی دربرگیرنده 2 حالت از بررسی شرط if بودند، اما گاهی اوقات لازم است که ما حالات بیشتری را بررسی نماییم که در اینصورت از else if بهره می گیریم .


1
2
3
4
5
6
if ( num > 0 ) 
    cout << "num is positive ";
else if ( num < 0)
    cout << "num is negative ";
else
    cout << "num is 0 ";


  • ساختار switch :

از این ساختار زمانی استفاده می شود که تعداد حالات تصمیم گیری زیاد باشد و همان عملکرد else if را دارد با این تفاوت که کار با آن راحتتر است، به ساختار زیر توجه کنید :

switch ( عبارت شرطی )  
{
    case  مقدار 1 :
         command block 1;
         break;

    case  مقدار 2 :
         command block 2;
         break;
         .
         .
         .
    default
        command block n

}

به بررسی مثالی در C++ می پردازیم :


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int x = 2 ;

switch ( x )  
{
    case 1:
         cout << X is : "One" ;
         break;

    case 2:
         cout << X is : "Two" ;
         break;
         
    default :
        cout << X is : "is not One or Two" ;
}
X is : Two                              

در کد برنامه نویسی بالا متغیر x از نوع عدد صحیح تعریف شده است و مقدار اولیه 2 گرفته است. می خواهیم اگر 1 یا 2 باشد مقدار حروفی عدد را در خروجی نمایش دهیم و در غیر اینصورت خروجی نشان دهد که x نه 1 است نه 2 .

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

عبارت default مواردی که خارج از موارد مورد انتظار ماست را در بر می گیرد و همان کار else در if را انجام خواهد داد .


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
int garde = 15 ;

switch ( grade )  
{
    case 20:
    case 19:
        cout << "A" ;
    break;

    case 18:
    case 17:
         cout << "B" ;
    break;

    case 16:
    case 15:
    case 14:
         cout << "C" ;
    break;

    case 13:
    case 12:
    case 11:
    case 10:
         cout << "D" ;
    break;

    default :
        cout << "Reprobate " ;
}
 C

کد برنامه نویسی بالا معدل دانش آموزی را گرفته و با توجه به معدل به او رتبه می دهد. توجه کنید که بعضی از case های موجود خالی از دستورند و علت آن اینست که دستورات برای تمامی آنها مشترک است، مثلا اگر معدل 20 یا 19 باشد رتبه دانش آموزش A خواهد بود و به همین ترتیب تا آخر .

با توجه به اینکه معدل دانش آموز در این مثال 15 است پس به او رتبه C نسبت داده شده و در خروجی چاپ می شود .

  • عملگر ؟

در برنامه نویسی C++ ساختار تصمیم دیگری وجود دارد که به صورت زیر نوشته می شود :

variable = ( condition ) ? true : false;

1
2
int X = 10;
int Y = (X < 9) ? 100 : 200;

منظور از دستور بالا اینست که اگر X کوچکتر از 9 است Y را برابر با 100 بگیر، در غیر اینصورت آنرا برابر 200 قرار بده. در واقع ساختار تصمیم عملگر ؟ برابر با ساختار تصمیم if else است .


1
2
3
4
5
6
int X = 10;

if (X < 9)
    int Y = 100;
else
    Y = 200;

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

 Function | توابع در C++

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

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

برای بکارگیری توابع به سه جزء نیازمندیم: تعریف تابع، اعلان تابع، فراخوانی تابع

  • تعریف تابع :
آموزش تعریف تابع و توابع و پارامترهای و ورودی و نوع توابع در برنامه نویسی C++

برای استفاده از یک تابع در برنامه نویسی در مرحله اول باید تابع خود را تعریف نماییم تا مشخص کنیم که چه کاری را باید انجام دهد. در شکل بالا ساختار اصلی تعریف یک تابع در برنامه نویسی C++ را مشاهده می کنید . تعریف تابع در خارج از تابع main صورت می گیرد و هیچ تابعی را نمی توان در درون تابع دیگری تعریف نمود .

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

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

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

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

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

void sample ( int x, int y )  
{
    .
    .
    .
}
  • اعلان یا الگوی تابع :

در برنامه نویسی برای اینکه به کامپایلر وجود تابع یا توابعی را اطلاع دهیم باید آنرا اعلان کنیم که اینکار را قبل از تابع main و بعد از فایلهای سرآیند برنامه انجام خواهیم داد .

#include <iostream.h>
#include <conio.h>

void sample ( int a, int b );  

int main()
{
    .
    .
    .
}

در اعلان (الگو) توابع باید نوع برگشتی، تمامی پارامترها بهمراه نوعشان و نام تابع را بیان نماییم. نام، نوع برگشتی و نوع پارامترها باید کاملا مطابق با موارد متناظر در تعریف تابع باشند، اما لازم نیست که نام پارامترها شبیه به نامهای تعریف تابع باشد .

  • فراخوانی تابع :

در نهایت باید در درون برنامه خود، تابع را صدا بزنیم که به اینکار فراخوانی توابع گفته می شود .

int main()
{
    sample (a, b);
}                              

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

در شکل زیر شمای کلی تابع در برنامه نویسی را می بینید :

توابع در C++

در کد زیر به بررسی یک مثال ساده از توابع می پردازیم :


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream.h>
#include <conio.h>

void print(void);      // اعلان تابع

int main()
{
    print();             // فراخوانی تابع
    getch();
    return 0;
}

void print( void )       // تعریف تابع
{
    cout << "This is my first function!" ;
}

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

کد فوق تابعی را با نام print تعریف می کند که بدون خروجی و ورودی است که در بالای برنامه هم به همین ترتیب اعلان شده است و در فراخوانی آن، چون نوعی ندارد ما آنها را خالی می گذاریم .

کامپایلر اجرای برنامه را از تابع main شروع می کند و در خط بعدی به تابع print برمی خورد که فراخوانی شده است لذا در اینجا از تابع main خارج شده و وارد تابع print می شود. انواع ورودی و خروجی و نامشان را چک کرده و در صورت نبود خطا دستورات را انجام داده تا به انتهای تابع می رسد. در اینجا کامپایلر باز به تابع main برمیگردد و ادامه دستورات را اجرا می کند و در نهایت برنامه خاتمه میابد .

آموزش تعریف تابع و توابع و پارامترهای و ورودی و نوع توابع در برنامه نویسی C++ مثال) کدی به زبان C++ با استفاده از توابع بنویسید که 2 عدد را در درون تابع main دریافت کند و بعنوان آرگومان به تابعی بفرستد، تابع آنها را با هم جمع کند و نتیجه را به تابع main برگرداند و سپس نتیجه چاپ شود .


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream.h>
#include <conio.h>

float sum(float, float);      // = float sum(float num1, float num2);

int main()
{
    float num1, num2 ,numSum;

    cout << "Enter first number :" ;
    cin >> num1;
    cout << "Enter second number :" ;
    cin >> num2;

    numSum = sum(num1, num2);             
    cout << numSum;

    getch();
    return 0;
}

float sum(float f1, float f2)       // float sum(float num1, float num2);
{
    float fSum = f1 + f2;
    return fSum;
}

Comment هایی را که در کد بالا می بینید به این معنی است که می شود اینگونه هم نوشت. همانطور که میبینید در تابع main دو عدد را دریافت می کنیم و در فراخوانی تابع آنها را بعنوان آرگومانهای تابع ذکر می کنیم. چون تابع sum مقداری از نوع float را برمی گرداند لازم است که تابع را برابر با همان مقدار برگشتی قرار دهیم تا حاصل جمع اعداد در numSum ذخیره کنیم . اولین comment به این معنی است که می شود در اعلان یک تابع اسم پارامترها را نوشت یا ننوشت اما ذکر انواع ضروری است و دومین comment به این معنی است که نام پارامترها در اعلان و در تعریف توابع هم می تواند یکسان باشد و هم نباشد، نکته مهم نوع و تعداد و ترتیب یکسان آنها می باشد .

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

  • ارسال از طریق مقدار Arguments passed by value
  • ارسال از طریق آدرس Arguments passed by reference

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

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


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
#include <conio.h>

int sqr(int x);      // ارسال پارامتر از طریق مقدار

int main()
{
    int num = 10;

    cout << "square = " << sqr(num) << "and number = " << num;

    getch();
    return 0;
}

int sqr(int x)       // ارسال پارامتر از طریق مقدار
{
    x = x * x;
    return x;
}
square = 100 and number = 10

همان طور که در برنامه C++ بالا می بینیم پارانتر x از طریق مقدار به تابع sqr ارسال شده، در درون تابع مقدار پارامتر به توان 2 می رسد و به عدد 100 تغییر میابد اما مقدار num در تابع اصلی همان 10 است و تغییری نمی کند .

دقت بکنید که ما فراخوانی تابع خود را در درون تابع cout انجام داده ایم و در اینحالت نیازی به تعریف یک متغیر برای ذخیره مقدار برگشتی تابع فوق نیست .

آموزش تعریف تابع و توابع و پارامترهای و ورودی و نوع توابع inline در برنامه نویسی C++ توابع inline در برنامه نویسی C++ :

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

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

inline type name(parameters) ------>  اعلان و تعریف تابع 
{
    ...
}

برنامه زیر را با هم می بینیم :


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream.h>
#include <conio.h>

inline int max(int a, int b)      // اعلان و تعریف تابع بصورت یکجا
{
    return a > b ? a : b;
}

int main()
{
    clrscr();

    cout << "maximum of 100 & 101 is : " << max(100, 101);

    getch();
    return 0;
}
maximum of 100 & 101 is : 101                    

در مورد تابع inline این نکته را باید دانست که تعریف تابع، در درون اعلان همان تابع انجام می شود .

تابع دیگری را می بینیم با نام clrscr که این تابع یک توابع از پیش ساخته شده زبان C++ هست و در فایل سرآیند conio قرار دارد و وظیفه آن پاک کردن صفحه نمایش است .

آموزش تعریف تابع و توابع و پارامترهای و ورودی و نوع توابع inline وسربارگذاری تواع در برنامه نویسی C++ حوزه (ناحیه) تعریف و کار با متغیر ها در برنامه نویسی C++ :

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

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

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


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream.h>
#include <conio.h>

void scope(int);

void main()
{
    int x = 10;
    cout << "first value of A=" << x << "\n";
    scope(x);
    cout << "third value of A=" << x;
    
    getch();
}
void scope(int a)
{
    a++;
    cout << "second value of A=" << a << "\n";
}
first value of A=10
second value of A=11
third value of A=10

با اجرای برنامه بالا کامپایلر از سطر 6 برنامه را آغاز می کند. در سطر 8 متغیری از نوع int بنام x را تعریف کردیم پس در حافظه محلی بنام x با مقدار اولیه 10 ذخیره می شود. در سطر 9 و با برخورد کامپایلر با متغیر x کپی از آن ایجاد شده و مقدار آن یعنی 10 چاپ می شود. در سطر 11 کامپایلر به فراخوانی تابع scope می رسد پس ادامه برنامه را در سطر 15 ادامه می دهد. تابع scope دارای پارامتری به نام a است که همان متغیر x در تابع main می باشد چون در فراخوانی تابع scop ما x را به تابع ارسال نمودیم و فقط نامش در اینجا تغییر کرده است. تابع scope در اینجا فقط a را می شناسد و اگر از x استفاده کنیم انرا نمی شناسد پس اعلام خطا می کند مگر اینکه متغیر جدیدی را بنام x در این تابع تعریف کنیم که متغیر جدیدی است و هیچ ربطی به x در تابع main ندارد .

در سطر 17 یک واحد به a اضافه می شود و چون a همان x در main است کامپایلر یک کپی از مقدار آن گرفته و یک واحد به آن اضافه می کند و عدد 11 را چاپ می کند و با پایان تابع و برگشت کامپایلر به تابع main کامپایلر آن کپی را دور می ریزد در حالی که کپی را یک واحد افزایش داده بود و برای متغیر a .

کامپایلر اینبار برنامه را از سطر 11 ادامه می دهد ولی دیگر آن مقداری را که در تابع scope یعنی a را دور ریخته یعنی عمرش تمام شده و فقط در آن تابع معنی داشت. پس باز به سراغ محل x در حافظه که مقدارش همان 10 است رفته و آنرا چاپ کرده و با پایان برنامه و خروج از تابع main (حوزه x ) کپی آنرا هم دور میریزد و عمر آن متغیر هم تمام می شود و حافظه اختصاص داده شده به آنها آزاد می شود .

آموزش تعریف تابع و توابع و پارامترهای و ورودی و نوع توابع inline وسربارگذاری تواع در برنامه نویسی C++ سربارگذاری توابع در برنامه نویسی C++ (Overloading functions) :

برای درک سربارگذاری توابع کد زیر را می بینیم :


1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream.h>
#include <conio.h>

void func(int a){cout << a << "endl";};
void func(int a, int b){cout << a+b << "endl";};
void func(int a, int b, int c){cout << a+b+c;};

void main()
{
    func(10);
    func(10,10);
    func(10,10,10);
    getch();
}
10
20
30

در بالا می بینیم که سه تابع با نامهای یکسان func را تعریف و صدا زده ایم. درست است که نامها یکسان است اما تعداد آرگومانهای هر تابع با دیگری متفاوت است .

عمل فوق را سربارگذاری توابع گویند یعنی توابعی که دارای نام مشابه هستند ولی در تعداد آرگمانها و ترتیب ورودی آنها با یکدیگر تفاوت دارند. وقتی در تابع main در سطر 11 تابع func صدا زده می شود، کامپایلر با توجه به آرگومانهای آن متوجه می شود که از کدام یک از سربارگذاری تابع استفاده نماید .

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

آموزش تعریف تابع و توابع و پارامترهای و ورودی و نوع توابع inline و سربارگذاری تواع در برنامه نویسی C++ مقدار دهی اولیه آرگومان های توابع (Initialization functions) :

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


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream.h>
#include <conio.h>

int initializefunction(int num = 50);
// int initializefunction(int=50);

void main()
{
    cout  << "Initialize value is : " << initializefunction();
    cout  << "Passed value is : " << initializefunction(100);
    getch();
}

int initializefunction(int x)
{
    return x;
}
Initialize value is : 50
Passed value is : 100

خوب همانطور که ملاحظه می کنید تابعی را بنام initializefunction که دارای یک آرگومان از نوع int است ومقداری از نوع int را هم برمی گرداند را در سطر 4 از برنامه بالا اعلان کردیم. به آرگومان تابع دقت نمایید که مقدار اولیه 50 را دریافت می کند. این عمل باعث می شود اگر در فراخوانی تابع مقداری به آن ارسال نشود از همین مقدار 50 بعنوان مقدار پیش فرض استفاده نماید مانند سطر 9 واگر هم مقداری برایش ارسال شد، مقدار پیش فرض را در نظر نگرفته و مقدار ارسالی را لحاظ می کند مانند سطر 10 .

در سطر 5 از برنامه هم روش تعریفی دیگری را مشاهده می کنید که بصورت توضیح آمده است. از هر دو صورت می توان 

استفاده نمود .

توابع بازگشتی در C++

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

کدی به زبان C++ با استفاده از تابع بازگشتی بنویسید که حاصلضرب دو عدد را با استفاده از حاصلجمع آنها بدست آورد .(برای حل این مثال لازم است بدانید که :)

            a*b=a          ----->     اگر b=1
            a*b=a*(b-1)+a  ----->     اگر b>1                              

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream.h>
#include <conio.h>

int product(int, int);      

int main()
{
    int a, b;

    cout << "Enter first number :" ;
    cin >> a;
    cout << "Enter second number :" ;
    cin >> b;
            
    cout << product(a, b);

    getch();
    return 0;
}

int product(int a, int b)       
{
    if(b == 1)
        return a;
    return (a + product(a, b-1));
}

         //////////////////////توضیح\\\\\\\\\\\\\\\\\\\\

/*    a=4, b=3

1) if(3==1)
    return 4;
return(4+product(4,3-1))

2) if(2==1)
    return 4;
return(4+product(4,2-1))

3) if(1==1)
    return 4;
return(4+product(4,1-1))    */
Enter first number :4
Enter second number :3
12

در فراخوانی سوم از تابع بازگشتی بالا، شرط درست است پس مقدار 4 به فراخوانی دوم بر میگردد و باز با مقدار 4 فراخوانی دوم جمع شده و عدد حاصل که 8 است به فراخوانی اول بر میگردد و باز با 4 جمع شده و در نهایت مقدار 12 که جواب ماست چاپ می شود. حتما توجه کنید که از فراخوانی سوم به بعد شرط if نقض شده و فراخوانی تابع بازگشتی متوقف می شود .

در مورد توابع بازگشتی باید چندین نکته را رعایت کنید :

الف) غیر از اینکه تابع بازگشتی را در تابع main فراخوانی می کنیم باید در درون تعریف خود تابع بازگشتی هم آنرا فراخوانی کنیم.

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

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

ج) هر تابعی را نمی توان بصورت بازگشتی نوشت مگر اینکه رابطه منطقی و ریاضی در این مورد برای آن پیدا کنیم .

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

مثال سری فیبوناچی را با هم به وسیله توابع بازگشتی در C++ بررسی می کنیم :

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

           5! = 5*4*3*2*1 = 120  
           n! = n*(n-1)*(n-2)*... تا زمانیکه n>1 باشد                            

برنامه سری فیبوناچی با توابع بازگشتی :


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream.h>
#include <conio.h>

long factorial(int);      

int main()
{
    long number;

    cout << "Please type a number :" ;
    cin >> number;
            
    getch();
    return 0;
}

long factorial(int a)       
{
    if(a > 1)
        return ( a*factorial(a-1) );
    else
        return (1);
}
Please type a number :9
9! = 362880           

اشاره گر ها در برنامه نویسی C++ 

تعریف مفاهیم

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

متغیر هایی را که تا کنون با هم تعریف کردیم جدای از نوعشان همگی در خانه های حافظه ذخیره می شوند و هر کدام با توجه به طول نوع تعدادی از خانه ها را در حافظه اشغال می کنند .

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

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

می دانیم که متغیر ها در حافظه ذخیره می شوند اما مقدار حافظه مورد نیازشان با یکدیگر متفاوت است :

  • char : 1 Byte
  • int : 2-4 Byte
  • float : 4 Byte
  • double : 8 Byte

مثلا اگر ما متغیری از نوع int را تعریف کنیم 2 یا 4 بایت را اشغال می کند و به این معنی است که تعداد 4 تا 8 خانه پشت سر هم از حافظه را اشغال می کند که آدرس آن اولین آدرس خانه حافظه در نظر گرفته خواهد شد .

در مورد مزایای استفاده از اشاره گرها در C++ یا زبانهای برنامه نویسی دیگر همین قدر باید بگم که چیز خوبیه و سرعت، کارایی، دسترسی و ... را بالا می برد .

آدرس حافظه را فقط می توان در یک متغیر از نوع اشاره گر تعریف نمود :

Type *Name;

int *P;

چنانچه در بالا می بینیم برای تعریف متغیری از نوع اشاره گر، ابتدا نوع آن و سپس نام که از قانون نامگذاری برای متغیرها تبعیت می کند استفاده خواهیم کرد با این تفاوت که قبل از نام از علامت * برای نشان دادن تعریف اشاره گر بهره می گیریم .

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

  • p متغیر اشاره گری از نوع int است .
  • p آدرس خانه هایی از حافظه را نگهداری می کند که محتویات آن خانه ها، مقادیری از نوع int هستند .
  • p متغیری است که به محل هایی از حافظه که محتویاتی از نوع int دارد اشاره می کند .

دقت کنید که نوع یک اشاره گر به نوع متغیرهایی که به آدرس آنها اشاره می کند بستگی دارد و باید با آن یکسان باشد. یعنی نوع اشاره گری که به آدرسهایی که شامل متغیر هایی از نوع duoble است نمی تواند int یا char یا هر چیز دیگری غیر از همان duoble باشد .

تعریف مفاهیم

آموزش برنامه نویسی، اشاره گرها، آرایه ها، پارامترهای تابع و توابع عملگرهای اشاره گر در C++ :

آموزش برنامه نویسی، اشاره گرها، آرایه ها، پارامترهای تابع و توابع عملگر & : این عملگر دارای یک عملوند است و آدرس عملوند خود که نام یک متغیر است را مشخص می نماید .

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

int *pointer, x, y;  // define three variables whit int type
x = 9;                // equal x to 9
pointer = &x;  // pointer contains Address of x
y = *pointer  // y equal the contains of content address of pointer 

در کد C++ بالا در خط اول 3 متغیر از نوع int که یکی از آنها یک اشاره گر است تعریف شده اند. خط دوم مقدار 9 را در متغیر x قرار می دهد. متغیر x با مقدار 9 در جایی از حافظه ذخیره شده است که خط سوم آدرس آن محل را در متغیر اشاره گر pointer قرار می دهد یعنی pointer به جایی اشاره می کند که متغیری بنام x و از نوع int که مقداری برابر 9 را دارد اشاره می کند. در آخرین خط محتویات جایی که آدرس آن در اشاره گر pointer ذخیره شده است در متغیر y قرار می گیرد یعنی مقدار 9 .

آموزش برنامه نویسی، اشاره گرها، آرایه ها، پارامترهای تابع و توابع

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream.h>
#include <conio.h>

void main()
{
    int firstValue, secondValue;
    int *myPointer;

    myponter = &firstValue;
    *myponter = 10;       // firstValue = *myponter = 10
    myponter = &secondValue;
    *myponter = 20;       // secondValue = *myponter = 20
    cout << "The firstValue is " << firstValue;
    cout << "\nThe secondValue is " << secondValue;

    getch();
}
منبع : bekaran.com

تاریخچه زبان های برنامه نویسی


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

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

دستگاه بافندگی خودکار توسط کارتهای سوراخ شده

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

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


برنامه نویسی با کامپیوتر انیاک

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

  • اولین اصل "تکنیک برنامه مشترک" (Shared-program technique) نام داشت. بر طبق این اصل سخت افزار کامپیوترها باید بسیار ساده باشند و نیازی نیست که برای هر برنامه به صورت دستی سیم کشی و تجهیز شوند. در عوض، دستورات نرم افزاری باید از ترکیب همان دستورات ساده سخت افزاری تشکیل شوند و یک دستور نرم افزار مرکب و پیچیده تر را بسازند. این اصل سخت افزارها را ساده و دستورات نرم افزاری را پیچیده می کرد.
  • وان نیومن اصل دوم خود را "انتقال کنترل به صورت شرطی" (Conditional Control Transfer) نامید. بر طبق این اصل که تاثیر عمیقی بر توسعه برنامه نویسی گذاشته است، برنامه کامپیوتری می تواند شامل بلاک های کوچکتری از دستورات بنام زیرروال (Subroutine) شود که می توانند در هر جای برنامه اصلی جای گیرند. این بلاک ها می توانند هر چندبار که لازم است در هر کجای برنامه اصلی استفاده شوند. بخش مهم دیگری از این اصل، کنترل روند برنامه کامپیوتری توسط دستورات منطقی مانند IF…Then و حلقه هایی مانند FOR را امکانپذیر می کرد.

سال 1948 همزمان بود با ارائه تئوری ریاضی ارتباطات توسط کلود شانن (Claude Shannon, 1916-2001). ارائه تز تئوری ریاضی ارتباطات او اساس تئوری اطلاعات (Information Theory) را شکل داد. این تئوری نحوه استفاده از منطق باینری (اعداد در مبنای دو، همان صفر و یک ها) در محاسبات نرم افزاری در کامپیوترها را بیان می کرد. تز ارائه شده توسط شانن دنیای صفر و یک ها (باینری) که اساس و پایه کامپیوترهای الکترونیکی امروزی هستند را شکل می داد. بعدها اولین کامپیوتر باینری در حین جنگ جهانی دوم توسط یک آلمانی بنام زوس ساخته شد.

در سال 1949، پس از ارائه 2اصل وان نیومن، زبان برنامه نویسی بنام کد کوتاه (Short Code) به وجود آمد. کد کوتاه که دستورات آن به صورت یک سری صفر و یک تشکیل شده بود، اولین زبان برنامه نویسی برای کامپیوترهای الکترونیکی به حساب می آید. ساخت این زبان برنامه نویسی به عنوان اولین قدم در جهت ساخت دنیای برنامه نویسی امروز به حساب می آید. در سال 1951، گریس هاپر اولین کامپایلر دنیای کامپیوتر را به نام A-0 نوشت. کامپایلر به برنامه ای گفته می شود که دستورات برنامه نویسی را به دستورات صفر و یک (در آن زمان دستورات زبان کد کوتاه) تبدیل می کند. از آن پس برنامه نویس نیازی به ورود کدهای صفر و یک نداشت و توسعه دنیای برنامه نویسی سرعتی چند برابر یافت.

پس از آن فورترن (FORTRAN) به عنوان اولین زبان برنامه نویسی به شکل امروزی در سال 1957 توسط شرکت IBM ساخته شد. نام آن مخفف سیستم تبدیل فرمول (FORmula TRANslating system) بود. دستورات آن بسیار ساده بودند و فقط شامل دستورات IF ، DO و GOTO می شدند. هرچند دستورات این زبان امروزه بسیار محدود و ناکارآمد تلقی می شود اما در آن زبان قدم بسیار بزرگی رو به جلو بود. انواع داده ای نیز برای اولین بار در زبان FORTRAN ارائه شدند. داده هایی مانند متغیرهای منطقی، صحیح، حقیقی و اعداد با دقت مضاعف در FORTRAN قابل تعریف و استفاده بودند.

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

زبانهای برنامه نویسی موجود در دنیا بیش از ۶۰۰ زبان می باشد؛ که در زیر برخی از این زبان ها، به ترتیب حروف الفبا مشاهده می کنید.

ای شارپ، A-0 System،آ+، آ++، آباپ، ای‌بی‌سی، ای‌بی‌سی الگول، ای‌بی‌ال‌ای، ای‌سی‌سی (زبان برنامه‌نویسی) ، Accent، Ace DASL، ACT-III، اکشن! ، اکشن‌اسکریپت، ایدا، Adenine، Agda، Agora، AIMMS، Alef، ALF، الگول ۵۸، الگول ۶۰، الگول ۶۸، Alice، Alma-0، AmbientTalk، Amiga E، AMOS، AMPL، ای‌پی‌ال، AppleScript، Arc، Arden Syntax، ARexx، Argus، AspectJ، اسمبلی، ATS، Ateji PX ، AutoHotkey، Autocoder ، AutoIt، Averest، AWK ،Axum، Babbage، بش ، بیسیک، bc، بی‌سی‌پی‌ال، BeanShell، Batch (Windows/Dos) ، Bertrand، BETA، Bigwig، Bistro، BitC، BLISS، Blue، Bon، Boo، Boomerang، Bourne shell ، BREW، BPEL، BUGSYS، BuildProfessional، زبان برنامه‌نویسی سی، سی ماینس ماینس، سی++ ، سی‌شارپ، C/AL، Caché ObjectScript، C Shell، Caml، Candle، CASUAL ، Cayenne، CDuce، Cecil، Cel، Cesil، کلد فیوژن، Cg، Chapel، CHAIN، Charity، Charm، Chef، CHILL، CHIP-8، chomski، Oxygene (formerly Chrome) ، ChucK، CICS، Cilk، CL ، Claire، Clarion، Clean، Clipper، CLIST، کلوژر، سی‌ال‌یو، CMS-2، کوبول، CobolScript، Cobra، CODE، کافی‌اسکریپت، کولا، ColdC، کلد فیوژن، Cool، COMAL، سی‌پی‌ال (CPL) ، زبان میانی مایکروسافت (CIL) ، لیسپ معمولی (also known as CL) ، COMPASS، Component Pascal، COMIT، Chr (CHR) ، Converge، Coral 66، Corn، CorVision، Coq، COWSEL، CPL، csh، CSP، Csound، Curl، Curry، Cyclone، Cython و …


منبع : armanet.ir


حفظ امنیت سیستم

امنیت سیستم

به وجود آمدن خطوط پرسرعت اینترنتی و دسترسی آسان تر به این شاهراه اطلاعاتی توسط خطوط Leased و همچنین ارزان شدن تکنولوژی مبتنی بر ارتباط بی سیم ، شرکت ها و سازمان ها را به تدریج مجبور به رعایت نکات مربوط به ایمنی اطلاعات و نیز نصب انواع FireWall ،IDS و همچنین HoneyPot ساخته استدراین راستا داشتن سیاست امنیتی مؤثر و ایجاد روالهای درست امری اجتناب ناپذیر می نماید.برای داشتن سازمانی با برنامه و ایده آل ، هدفمند کردن این تلاش ها برای رسیدن به حداکثر ایمنی امری است که باید مدنظر قرار گیرد.
استاندارد BS7799 راهکاری است که اطلاعات سازمان و شرکت را دسته بندی و ارزش گذاری کرده و با ایجاد سیاستهای متناسب با سازمان و همچنین پیاده سازی 127 کنترل مختلف، اطلاعات سازمان را ایمن می سازد. این اطلاعات نه تنها داده های کامپیوتری و اطلاعات سرور ها بلکه کلیه موارد حتی نگهبان سازمان یا شرکت رادر نظر خواهد گرفت.


آیا امنیت 100% امکانپذیر است؟
با پیشرفت علوم کامپیوتری و همچنین بوجود آمدن ابزارهای جدید Hack و Crack و همچنین وجود صدها مشکل ناخواسته در طراحی نرم افزارهای مختلف و روالهای امنیتی سازمان ها ، همیشه خطر حمله و دسترسی افراد غیرمجاز وجود دارد. حتی قوی ترین سایتهای موجود در دنیا در معرض خطر افراد غیرمجاز و سودجو قرار دارند. ولی آیا چون نمی توان امنیت 100% داشت باید به نکات امنیتی و ایجاد سیاستهای مختلف امنیتی بی توجه بود؟


فوائد استاندارد BS7799 و لزوم پیاده سازی
استاندارد BS7799 قالبی مطمئن برای داشتن یک سیستم مورد اطمینان امنیتی می باشد. در زیر به تعدادی از فوائد پیاده سازی این استاندارد اشاره شده است:


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



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


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


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


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

مدیریت خطرات :
مستندات مربوط به خطرات و تهدید ها و همچنین نقاط ضعف امنیتی شما را قادر به اتخاذ تصمیم درست و مؤثر برای مقابله با آنها می نماید.


انتخاب کنترل مناسب :
استاندارد BS7799 دارای 10 گروه کنترلی می باشد که هرگروه شامل چندین کنترل زیرمجموعه است بنابراین در کل 127 کنترل برای داشتن سیستم مدیریت امنیت اطلاعات مدنظر قراردارد. با انجام مراحل بالا شرکت یا سازمان شما پتانسیل پیاده سازی کنترل های مذکور را خواهد داشت.
این ده گروه کنترلی عبارتند از :

1- 
سیاستهای امنیتی
2- 
امنیت سازمان
3- 
کنترل و طبقه بندی دارایی ها
4- 
امنیت فردی
5- 
امنیت فیزیکی
6- 
مدیریت ارتباط ها
7- 
کنترل دسترسی ها
8- 
روشها و روالهای نگهداری و بهبود اطلاعات
9- 
مدیریت تداوم کار سازمان
10- 
سازگاری با موارد قانونی

تعیین قابلیت اجرا:
جمع آوری لیست دارایی ها، تعیین تهدیدها ، نقاط ضعف امنیتی و در نهایت ایجاد جدول کنترل ها مارا در به دست آوردن جدولی موسوم به SOA یا Statement Of Applicability یاری می رساند. این جدول لیستی نهایی از کلیهکنترل های مورد نیاز برای پیاده سازی را ارائه می دهد. با مطالعه این جدول و مشخص کردن کنترل های قابل اجرا و اعمال آنها ،سازمان یا شرکت خودرا برای اخذ استاندارد BS7799 آماده خواهید ساخت.

نتیجه آنکه برای رسیدن به یک قالب درست امنیتی ناچار به استفاده از روال های صحیح کاری و همچنین پیاده سازی استاندارد امنیت هستیم و استاندارد BS ISO/IEC 17799:2000 انتخابی درست برای رسیدن به این منظور می باشد.

  روشهای حفاظت از کلمات عبور


حفاظت از کلمات عبور موجود در شبکه از مهمترین اصول حفظ امنیت یک شبکه میباشدشما به عنوان یک مسئول حساس و دقیق شبکه باید با اجرای سیاستهای قوی و محکم از کلمات عبور محافظت نموده و مانع از فاش شدن آن شوید. مانند :
// 
سیستم عامل را طوری پیکربندی نمایید که کلمات عبور کوتاه تر از حد معین را اصلا قبول نکند (مثلا 9 کاراکتر).

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

کاربران مجبور باشند در کلمه عبور خود حداقل از 2 یا 3 کاراکتر غیر الفبایی استفاده نمایند.

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

// 
سیاستهای انتخابی کلمات عبور را بطور آشکار و شفاف در سایت وب خود به همه کاربران اعلام نمایید و حتی کاربران بیرونی سرویس دهنده های شما نیز در صورت وجود مجبور به رعایت این موارد باشند.
آگاهی کاربران:
با توجه به آنکه در محیطهای شلوغ و پرکاربر نمی توان تمام کلمات عبور انتخابی آنان را بررسی نمود و آنها نیز میتوانند به نحوی از قواعد تعیین شده شما به روشهایصوری بگریزند، لذا سعی کنید با هشدارهای امنیتی و توضیح کافی، ذهن کاربر را با خطراتی که آنها را تهدید میکند، آشنا نماییدبعنوان مثال ممکن است یک کاربر برای راحتی خود و همچنین برآورده کردن قواعد امنیتی شما کلمه عبور apple1234 را انتخاب نماید که خطرناک خواهدبود.
استفاده از برنامه های مولد کلمه عبور:
در هنگامی که کاربر میخواهد کلمه عبور انتخاب نماید، برای انتخاب یک کلمه عبور خوب و محکم، مردد خواهد ماند زیرا او به این می اندیشد که یک کلمه عبور سخت را چگونه میتوان به خاطر سپرد به گونه ای که نیاز به نوشتن آنروی کاغذ نباشد! آنها را به نحو مناسب راهنمایی کنید. پیدا کردن چنین کلمات عبوری چندان سخت هم نیست. مثلا آیا به نظر شما کلمه عبور "Jsrb,Ayhat7" بقدر کافی طولانی و مناسب نیست؟ به نظر میرسد که این کلمهعبور به اندازه کافی و محکم است و به خاطر سپردن آن هم چندان دشوار نیست چرا که این کلمه عبور حروف نخست جمله "Just sit right back , And you hear a tale" است. کاربر میتواند یک جمله مانند بالا در ذهن خود در نظر بگیرد و کلمه ای از آن بدست آورده و چند علامت و رقم به آن بیافزاید. فقط کاربران شما نباید از یک جمله نمادین مثلبالا استفاده نمایند بلکه باید از آنها بخواهید تا متنوع فکر کنند!
میتوانید از برنامه هایی استفاده کنید که کلمه های عبور بی معنی به کاربر پیشنهاد میدهد ولی راه به خاطر سپردن آن را نیز آموزش میدهد.
برای فارسی زبانها این امر ساده است زیرا که اولا فرهنگ لغت فارسی که به انگلیسی تایپ شده باشد وجود ندارد (فعلا) ثانیا آنها میتوانند به یک بیت شعر یا ضرب المثل و یا جمله به یاد ماندنی فکر کنند و ابتدای کلمات آنرابه انگلیسی نوشته و کلمه عبور خود قرار دهند.
استفاده از نرم افزارهای غربال کننده کلمات عبور ضعیف:
باید به هر ترتیب مطمئن شوید که کاربران کلمات عبور ضعیف انتخاب نکرده اند. با توجه به اینکه شما قادر نخواهید بود تمام کلمات عبور و تغییراتی که کاربران میتوانند در کلمه عبور خود بدهند بررسی کنید، لذا به یک ابزار خودکار نرم افزاری نیاز خواهید داشت. این ابزار بر روی سرویس دهنده های شما که نیاز به کلمه عبور دارند نصب میشوند. سپس شما قواعد و سیاستهای امنیتی خود را با تنظیم گزینه های آنها تعیین مینمایید. از این به بعدبررسی کلمات عبوری که کاربران انتخاب میکنند به عهده این ابزارها خواهد بود. اینابزارها برای محیط یونیکس و ویندوز به رایگان قابل دسترسی است.

ابزارهای یونیکس :
Npasswd 
که از آدرس ftp://ftp.cc.utexas.edu/pub/npasswd قابل تهیه است.

Passwd 
پلاس که از آدرس ftp://ftp.darthmouth.edu/pub/security قابل تهیه است.

ابزارهای ویندوز:
PassProp 
این برنامه توسط مایکروسافت تهیه شده و در در بسته قابل خریداری Win NT Server Resource Kit Supplement 4 موجود است.

PassFilt.dll 
این برنامه هم متعلق به مایکروسافت و در در دیسک فشرده Service Pack2 ویندوز 2000 موجود است.

 

در صورت امکان از روشهای احراز هویت بدون استفاده از کلمات عبور استفاده کنید
بدلیل اینکه حتی با رعایت نکات ایمنی ممکن است ابزارهای شکننده کلمات عبور بتوانند یک کلمه عبور را کشف کنند، بهتر است در صورت حساسیت زیاد اطلاعات از مکانیسمهای پیچیده احراز هویت مانند Smart Card و سیستم های بیومتریک استفاده کنید.
ابزارهای شکننده کلمات عبور را گاهی علیه خود بکار ببرید:
برای اطمینان نهایی از عدم آسیب پذیری کلمات عبور، هر از چند گاهی ابزارهای شکننده کلمات عبور را اجرا کرده و بر علیه سیستم خود بکار ببریدالبته باید آنرا در محیطی امن و خارج از شبکه و روی یک سیستم مجزا بکاربگیرید تا شبکه شما دچار اختلال نشود.
ابزار John (یک شکننده کلمه عبور) ابزاری رایگان است که کد منبع آن نیز ارائه میشود. اگر به هیچ نرم افزاری از نظر امنیتی اطمینان ندارید میتوانید کدهای منبع آن را دریافت نموده و آنرا کامپایل و اجرا نمایید.
اگر شبکه شما بدلیل سهل انگاری مشتریانتان از کار بیافتد، آنها را از دست خواهید دادو شما هم به عنوان مسئول شبکه کارتان را! لذا به دقت آسیب پذیری کلمات عبور را بررسی نمایید و اگر پس از استفاده از ابزارهای فوق موفق به کشف یک کلمه عبور شدید، دقت کنید که چه چیزی باعث شده تا کاربر شما با نقض سیاستهای امنیتی کلمه عبور ضعیفی برای خود انتخاب نماید.
از فایلهای حاوی کلمات عبور رمز شده بدقت محافظت کنید
آخرین و مهمترین راه حفاظت از کلمات عبور آنست که نگذارید بهیچوجه کسی فایل آنرا در اختیار بگیرد. اگر نفوذگر نتواند فایل محتوی کلمات عبور یا بانک اطلاعاتی SAM را در اختیار بگیرد، کشف کلمات عبور از طریق استراق سمعبسیار مشکل خواهد بود. لذا :
-
وقتی در محیط ویندوز دیسک بازیابی (Recovery Disk) میسازید، آنرا در جای مطمئن نگهداری کنید.
-
وقتی از سرویس دهنده های مهم خود نسخه پشتیبان میگیرید، مطمئن شوید که فقط در جایی ذخیره میشوند که فقط خودتان به آن دسترسی دارید.
-
اگر در محیط یونیکس/لینوکس کار میکنید، مطمئن شوید که گزینه Shadow فعال است.
-
اگر در محیط ویندوز کار میکنید از ابزار Syskey استفاده کنید تا قواعد سخت گیرانه تری را برایسیستم شما وضع کند.
-
اگر مجبور نیستید در محیط ویندوز از workgroup پشتیبانی کنید و فقط از domain استفاده میکنید، روش احراز هویت LM را غیر فعال کنید چرا که روش ضعیفی محسوب میشود.

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

ترفند های ریجستری



ویندوز اکس پی برای طبیعی جلوه دادن نمایش منوها و باز و بسته شدن پنجره ها , این حرکات را به صورت انیمیشن نشان میدهد که این خود بار اضافه ای را برای سیستم تحمیل میکند و از سرعت آن می کاهد. برای غیر فعال کردن این ویژگی , وارد محیط رجیستری شده و به مسیر زیر بروید: HKEY_CURRENT_USER\Control Panel\Desk top\WindowsMetrics حال به مقدار رشته ای Main Animate , مقدار صفر بدهید. سپس دستگاه را Restart کنید. اکنون به نظر می رسد ویندوز سریعتر شده است. 



نصب کردن برنامه های زیاد در کامپیوترتان میتواند رجیستری شما را با برنامه های غیر ضروری که در هنگام بالا آمدن کامپیوتر به اجرا در می آیند به هم بریزدو این باعث کندی کامپیوتر و اشفال بخشی از حافظه سیستم میشود برای از کار انداختن برنامه های غیر ضروری وارد رجیستری شوید و به سراغ این کلید بروید : 
HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Runonce 
در اینجا میتوانید برنامه های غیر ضروری را حذف کنید کامپیوتر سپس کامپیوتر را از نو بوت کنید تا تغییرات را ملاحظه کنید 

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

     برای این کار پس از اجرای  Regedit به مسیر زیر بروید.

HKEY-LOCAL-MACHINE | Software | Microsoft | Windows | Current version | Setup

و مسیر موجود را به مسیر مورد نظر تغییر دهید.




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

 

برای این کار:
ابتدا باید به رجیستری ویندوز بروید؛ برای این کار در پنجره 
Run ویندوز Xp یا پنجره Search ویندوز7، عبارت regedit را تایپ ‌کنید و وارد شوید. همچنین می توانید از کلیدهای ترکیبی Win+R برای ورود به پنجره Run استفاده نمایید.

سپس  از منوی سمت چپ به مسیر زیر بروید:

 

HKEY_CURRENT_USER \Software \Microsoft \Windows \CurrentVersion \ Explorer \FileExts\

 

از زیرکلید‌ها پسوند فایل مورد نظر را انتخاب می‌کنیم. مثلا wmv، در فهرست سمت چپ لیست برنامه‌هایی که می‌توانند فایل wmv را پخش کنند و در منوی Open with مربوط به فایل wmv هستند مشاهده می‌شود.

با حذف هرکدام از کلید‌ها می‌توانیم نام برنامه مورد نظر را از منوی Open With حذف کنیم.

این‌که کدام کلید در سمت راست مربوط به کدام برنامه ‌است را می‌توان از روی مقدار کلیدی که در واقع اسم فایل اجرایی برنامه مورد نظر است فهمید. برای مثال wmplayer.exe مربوط‌بهWindows Media Player است.

برای این‌که متوجه شوید کافیست اسم فایل اجرایی را در درایو C ویندوز جستجو کنید و سپس با اجرا کردن فایل اجرایی آن متوجه شوید کدام فایل اجرایی مربوط به کدام برنامه‌ است! 




Windows Mobility Center ابزار مفیدی است که در لپتاپ‏هایی که بر روی آنها ویندوز ویستا یا 7 نصب شده است وجود دارد و مواردی نظیر بهینه‏سازی باتری، تعدیل و تنظیم کردن صدا و اتصال به سخت‏افزار خارجی از کاربردهای آن است. اما این ابزار برای همه کاربران کاربرد ندارد و علاوه بر آن با توجه به اینکه با کلیدهای ترکیبی Ctrl+X فعال می‏شود ممکن است چندان به مذاق برخی کاربران خوش نیاید. با استفاده از این ترفند می‏توانید Windows Mobility Center را از طریق رجیستری ویندوز غیرفعال کنید.

بدین منظور:
بر روی دکمه Start کلیک کنید.
سپس عبارت regedit را وارد نموده و Enter بزنید تا وارد محیط ویرایشگر رجیستری شوید.
اکنون مسیر زیر را طی کنید:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\MobilityCenter

حال بر روی قسمت سمت راست صفحه، راست کلیک کرده و گزینه New > DWORD (32-bit) Value را انتخاب کنید.
نام آن را نیز NoMobilityCenter قرار دهید.
اکنون بر روی NoMobilityCenter دوبار کلیک کنید  و در قسمت Value عدد 1 را وارد کنید.
سپس بر روی OK کلیک کنید و رجیستری را ببندید.
تغییرات در همان لحظه اعمال شده است.

برای بازگشت به حالت قبل و فعال‏سازی مجدد، کافی است به NoMobilityCenter مقدار 0 بدهید یا آن را Delete کنید.
Control Panel ویندوز یکی از موارد پر کاربرد است که کاربران ویندوز زیاد با آن سروکار دارند. در نتیجه دسترسی سریع به آن از اهمیت زیادی برخوردار است. در ویندوز XP، با فعال کردن یک گزینه در Folder Options به سادگی امکان افزودن Control Panel به My Computer وجود داشت. اما در ویندوزهای ویستا و 7، چنین گزینه‏ای وجود ندارد، در نتیجه جهت افزودن Control Panel به پنجره Computer نیاز به استفاده از ترفندی است که هم اکنون قصد داریم آن را برای شما بازگو نماییم.

برای این کار:
ابتدا بر روی دکمه Start کلیک کرده و عبارت regedit را تایپ نموده و Enter بزنید.
حال  در محیط رجیستری به مسیر زیر بروید:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace

اکنون بر روی فضای خالی از قسمت سمت راست صفحه، راست کلیک کرده و New > Key را انتخاب نمایید.
نام آن را
{26EE0668-A00A-44D7-9371-BEB064C98683}
قرار دهید.
کار تمام است. اکنون در صورتی که پنجره Computer را باز کنید، Control Panel در آن به چشم می‏خورد. 


ممکن است تا به حال برایتان پیش آمده باشد که قصد پاک کردن کلیدی در رجیستری را داشته اید اما به هیچ طریقی موفق به حذف آن نشدید. این موضوع  به ویژه بعد از Uninstall کردن بعضی از برنامه ها پیش میاید که بعد از پاک کردن برنامه کلیدهای رجیستری آن پاک نمیشود. ممکن است حتی برای اینکار دست به دامن نرم افزارهای مخصوص تعمیر رجیستری هم شده اید اما موفقیتی حاصل نشده. این مشکل راه حلی ساده دارد که در این ترفند به معرفی آن خواهیم پرداخت.

 

برای اینکار:

کافی است ابتدا رجیستری را باز کنید. (از منوی Start وارد Run شده و دستور regedit را وارد کرده و Enter بزنید.)

سپس کلید Key مورد نظر را بیابید و بر روی آن راست کلیک نموده و Permisions را انتخاب کنید.

در پنجره باز شده ، از کادر بالایی یعنی Group or user names ، هر یک از گروه های کاربری را انتخاب کنید.

پس از انتخاب ، از کادر پایینی در قسمت Full Control تیک Allow را بزنید.

این کار را برای تمام گروه های موجود در Group or user names انجام دهید.

OK کرده و خارج شوید.

اکنون میتوانید Key مورد نظر را بدون مشکل پاک کنید.


در صورتی که از نسخه 7 یا 8 مرورگر Internet Explorer استفاده می‏کنید حتماً می‏دانید قسمت Search موجود در این مرورگر (در بالای صفحه سمت راست)، به طور پیش فرض از موتور جستجوی Live Search (یا Bing فعلی) بهره می‏برد. ممکن است شما نیز به همانند بسیاری دیگر از کاربران ترجیح دهید برای جستجو از موتور جستجوی دیگری نظیر گوگل یا یاهو استفاده کنید. در این ترفند قصد داریم نحوه تغییر موتور جستجوی پیش فرض در این مرورگر را از طریق رجیستری ویندوز به شما بیاموزیم.

بدین منظور:

ابتدا بر روی منوی Start کلیک کنید.

در صورتی که از ویندوز XP استفاده می‏کنید وارد Run شوید و عبارت regedit را وارد نموده و Enter بزنید.

اگر از ویندوز ویستا یا 7 استفاده می‏کنید، پس از باز شدن منوی Start، عبارت regedit را وارد کرده و Enter بزنید.

حال فرض می‏کنیم قصد داریم موتور جستجوی پیش فرض را به گوگل تغییر دهیم.

در پنجره Registry Editor به مسیر زیر بروید:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main

از قسمت دیگر پنجره، بر روی Search Page دوبار کلیک کنید. Value را به http://www.google.com تغییر دهید و OK کنید. همچنین بر روی Search Bar کلیک نمایید و مقدار Value را به http://www.google.com/ie تغییر دهید و OK کنید.

پس از این کار، در رجیستری به مسیر زیر بروید:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchURL

از قسمت دیگر پنجره بر روی Default دوبار کلیک نمایید. در قسمت Value عبارت http://www.google.com/keyword/%s را وارد نموده و OK کنید.

در آخرین قدم به مسیر زیر بروید:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer

اکنون بر روی Internet Explorer راست کلیک کنید و New > Key را برگزینید. نام Key جدید را Search قرار دهید.

در حالتی که Search در حالت انتخاب است، از قسمت دیگر پنجره  بر روی فضای خالی راست کلیک کنید و New > DWORD Value را انتخاب کنید. نام آن را SearchAssistant قرار دهید.

اکنون بر روی SearchAssistant دوبار کلیک کنید و مقدار Value را برابر با http://www.google.com/ie قرار داده و OK کنید.

کار تمام است. در صورتی که یک بار IE را از نو باز کنید، شاهد تغییرات خواهید بود.

نحوه تغییر موتور جستجوی پیش فرض به سایر موتورهای جستجو نیز به همین ترتیب است.


همانطور که می‌دانید در CPU بخشی به نام Level2 Cache یا به طور خلاصه L2 Cache وجود دارد که وظیفه آن ذخیره اطلاعات فایل اجرا شده در درون خود می‌باشد. به‌طوریکه که وقتی شما نرم افزار، بازی و هر فایل اجرایی دیگر را اجرا می‌کنید، اطلاعات اصلی فایل که برای اجرا لازم است در درون L2 Cache در CPU ذخیره می‌شود و اگر شما همان زمان از برنامه خارج شوید و دوباره آن‌ را اجرا کنید خواهید دید که این‌ بار با سرعتی بیشتر اجرا می‌شود. علت آن این است که اطلاعات اصلی مورد نیاز برای اجرای فایل، در مرتبه اولی که فایل را اجرا کردید در L2 Cache ذخیره شده و در دفعات بعدی به هنگام اجرا با سرعت بیشتری بارگذاری میشود. از این رو هم اکنون قصد داریم ترفندی ساده را به شما معرفی کنیم تا بتوانید از حداکثر توانایی L2 Cache استفاده کنید و در نهایت سرعت ویندوز XP خود را تا چندین برابر افزایش دهید.

در طی عملیات نصب ویندوز XP ، ویندوز CPU را برای پی بردن به مقدار L2 Cache آن را تست میکند تا و مثلأ اگر L2 Cache پردازده شما برابر با 1024 کیلوبایت باشد، برای ویندوز همین مقدار را تعیین کند. اما گاهی اوقات ویندوز در طی عملیات نصب نمی‌تواند مقدار L2 Cache پردازده شما را تشخیص دهد و به همین دلیل، مقدار L2 Cache را پیش‌فرض 0 (یعنی 256 کیلوبایت) قرار میدهد. در این حالت ویندوز فقط از 256 کیلوبایت از L2 Cache شما استفاده میکند. در حالی که ممکن است L2 cache شما بسیار بیشتر از این حد باشد.


برای تعریف کردن L2 Cache پردازده‌تان بصورت دستی برای ویندوز XP، باید ابتدا از مقدار اصلی و حقیقی L2 Cache به علاوه مقداری که در حال حاضر ویندوز تعریف کرده مطلع شوید.

اولین مرحله یافتن مقدار L2 Cache حقیقی CPU شماست.

بدین منظور ساده ترین راه استفاده از نرم افزار کم حجم و رایگان CPU-Z است.

CPU-Z را با حجمی کمتر از 600 کیلوبایت از سایت سازنده به نشانی http://www.cpuid.com/cpuz.php دانلود کنید.

پس از دانلود، فایل را از حالت فشرده خارج کنید. سپس cpuz.exe را اجرا کنید.

پس از چند لحظه صفحه نمایش اطلاعات نمایان میشود.

در جلوی عبارت Level 2 در زیرمجموعه Cache میتوانید به مقدار حقیقی L2 Cache پردازنده دست یابید.


در مرحله دوم بایستی به میزان L2 Cache که ویندوز تعریف کرده است پی ببریم تا ببینیم تا چه اندازه درست است.

بدین منظور ابتدا نرم افزار Notepad ویندوز را باز کنید.

سپس کدهای زیر را عینأ Copy کرده و داخل آن Paste کنید:


Set ProSet = GetObject("winmgmts:").InstancesOf("Win32_Processor")


For each Pro in ProSet

WScript.Echo "www.Tarfandestan.com"

WScript.Echo "Level2 Cache:" & "   " & Pro.L2CacheSize & " KB"

Next


سپس از منوی File، بر روی Save as کلیک کنید. فایل را با فرمت vbs. ذخیره نمایید (به عنوان مثال نام آن را Tarfandestan.vbs بگذارید).

اکنون به محلی که فایل را ذخیره کرده اید رفته و با دوبار کلیک آن را اجرا نمایید. پنجره اول را OK کرده و در پنجره دوم مقدار L2 Cache پردازنده را بر حسب کیلوبایت مشاهده کنید.

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


اگر در حال خواندن ادامه ترفند هستید پس اکنون وقت آن رسیده که مقدار حقیقی L2 Cache را برای ویندوز خود تعریف کنید.

از منوی Start به Run رفته و با عبارت regedit را تایپ کرده و Enter بزنید تا وارد محیط رجیستری ویندوز شوید.

به مسیر زیر بروید:


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management


در سمت راست پنجره گزینه ای با نام SecondLevelDataCache به چشم میخورد.

بر روی آن دوبار کلیک کرده و مقادیر مورد نظر زیر را در قسمت Value وارد کنید.

شما بایستی اندازه دقیق (یا کمتر) L2 Cache پردازنده که به وسیله CPU-Z به دست آمد را توسط روش زیر مورد استفاده قرار دهید.

اگر Level 2 نمایش داده شده در CPU-Z (یا همان L2 Cache حقیقی) 256 یا کمتر باشد، عدد 0 را در این کلید رجیستری وارد کنید.

اگر 512 باشد، عدد 200.

اگر 1024 باشد، عدد 400.

اگر 2048 باشد، عدد 800.

اگر 4096 باشد، عدد 1600.

اگر 8192 باشد، 3200.

و به همین ترتیب برای مقادیر بالاتر.


پس از وارد کردن مقدار OK کرده و از رجیستری خارج شوید.

حال یکبار سیستم را رستارت کنید تا تنظیمات اعمال گردد.

اکنون اگر فایلی که خودتان به شکل دستی با فرمت vbs را ساخته اید اجرا کنید مقدار حقیقی L2 Cache را مشاهده خواهید کرد.


توجه داشته باشید که مقادیر بیشتر از حد واقعی L2 Cache پردازنده خود را در رجیستری وارد نکنید. اینکار ممکن است به سیستم شما آسیب بزند.


دقت کنید در این ترفند به علت تغییرات در رجیستری، پیش از هر کاری از رجیستری خود Backup بگیرید. 


اکثر کاربران ویندوز XP با قابلیت Hidden کردن یا مخفی کردن فایلها از طریق قسمت Folder Option آگاهی دارند. هنگامی که شما فایل یا فولدری را Hidden میکنید کافی است که از طریق View > Folder Option قابلیت دیدن فایلهای Hidden را فعال کنید تا این فایلهای مخفی شده به سادگی مجدد رویت شوند. اما در این ترفند قصد داریم روشی بسیار کارآمد را به شما معرفی کنیم که همواره فایلهایی که Hidden کرده اید را Hidden نگه میدارد! به طوریکه حتی با فعال کردن گزینه Show hidden files and folders هم فایلها همچنان مخفی باقی خواهند ماند.

بدین منظور:

از منوی Start وارد Run شده و عبارت regedit را تایپ نموده و Enter بزنید تا ویرایشگر رجیستری باز شود.

حالا به آدرس زیر بروید:


HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/Current Version/Explorer/Advanced/Folder/Hidden/SHOWALL


اکنون از قسمت دیگر صفحه روی CheckedValue دوبار کلیک کنید. در پنجره باز شده Value را از 1 به 0 تغییر دهید.

حالا OK کرده و خارج شوید.


اکنون اگر در My Computer از منوی View وارد Folder Options شوید و سپس به تب View بروید ، در قسمت Hidden files and folders ، تیک گزینه Show hidden files and folders را بزنید و خارج شوید در صورت بازگشت مجدد خواهید دید که این گزینه لغو خواهد شد و همواره فایلهای شما به حالت Hidden باقی خواهند ماند.



معروف ترین نرم افزار رایت CD و DVD مطمئنأ نرم افزار Nero است. در این نرم افزار قسمتی وجود دارد که میتوان سرعت رایت را تعیین کرد. اما این سرعت، سرعت حقیقی رایت کردن نیست. با استفاده از این ترفند میتوانید به سرعت حقیقی رایت پی ببرید.

بدین منظور:
از منوی Start وارد Run شده و عبارت regedit را تایپ کنید و Enter بزنید تا ویرایشگر رجیستری باز شود.
اکنون  به آدرس زیر بروید:

HKEY_CURRENT_USER/Software/Microsoft/Ahead/Nero-BurningRom/Recorder


حال در قسمت دیگر پنجره راست کلیک کرده و از New روی DWORD کلیک کنید.
نام آن را ShowSingleRecorderSpeed قرار دهید.
روی ShowSingleRecorderSpeed دوبار کلیک کنید و در قسمت Value مقدار 1 بدهید و OK کنید. 


منبع : .p30tarfand.com

آشنایی با پایگاه داده ها

پایگاه داده ها چیست؟

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

معمولا DBMS ها بر اساس مدل هایی که استفاده می‌‌کنند تقسیم بندی می‌‌شوند: ارتباطی،شی گرا، شبکه‌ای و امثال آن. مدل های داده‌ای به تعیین زبانهای دسترسی به پایگاه‌های داده علاقه مند هستند. بخش قابل توجهی از مهندسی DBMS مستقل از مدل های می‌‌باشد و به فاکتور هایی همچون اجرا، همزمانی،جامعیت و بازیافت از خطاهای سخت افزاری وابسطه است.در این سطح تفاوت های بسیاری بین محصولات وجود دارد. 
موارد زیر به صورت خلاصه شرح داده می شود: 
•۱ تاریخچه پایگاه داده 
•۲ انواع دادگان ها 
•۳ مدل های پایگاه داده 
۳.۱ مدل تخت 
۳.۲ مدل شبکه ای(Network) 
۳.۳ مدل رابطه ای 
۳.۴ پایگاه داده‌های چند بعدی 
۳.۵ پایگاه داده‌های شیء 
•۴ ویژگی‌های سیستم مدیریت پایگاه داده‌ها 
•۵ فهرست سیستم‌های متداول مدیریت دادگان 

1- تاریخچه پایگاه داده 
اولین کاربردهای اصطلاح پایگاه داده به June 1963 باز می‌گردد، یعنی زمانی که شرکت System Development Corporation مسئولیت اجرایی یک طرح به نام "توسعه و مدیریت محاسباتی یک پایگاه داده‌ای مرکزی" را بر عهده گرفت. پایگاه داده به عنوان یک واژه واحد در اوایل دهه 70 در اروپا و در اواخر دهه 70 در خبر نامه‌های معتبر آمریکایی به کار رفت.(بانک داده‌ای یا Databank در اوایل سال 1966 در روزنامه واشنگتن کار رفت) 
تصویر:اولین سیستم مدیریت پایگاه داده در دهه 60 گسترش یافت. از پیشگامان این شاخه چارلز باخمن می‌‌باشد. مقالات باخمن این را نشان داد که فرضیات او کاربرد بسیار موثرتری برای دسترسی به وسایل ذخیره سازی را محیا می‌‌کند. در آن زمانها پردازش داده بر پایه کارت های منگنه و نوار های مغناطیسی بود که پردازش سری اطلاعات را مهیا می‌‌کند. دو نوع مدل داده‌ای در آن زمانها ایجاد شد:CODASYL موجب توسعه مدل شبکه‌ای شدکه ریشه در نظریات باخمن داشت و مدل سلسله مراتبی که توسط North American Rockwell ایجاد شد و بعدا با اقباس از آن شرکت IBM محصولIMS را تولید نمود. 
مدل رابطه‌ای توسط E. F. Codd در سال 1970 ارائه شد.او مدل های موجود را مورد انتقاد قرار می‌‌داد. برای مدتی نسبتا طولانی این مدل در مجامع علمی مورد تایید بود. اولین محصول موفق برای میکرو کامپیوتر ها dBASE بودکه برای سیستم عامل هایCP/M و PC-DOS/MS-DOS ساخته شد. در جریان سال 1980 پژوهش بر روی مدل توزیع شده (distributed database) و ماشین های دادگانی (database machines) متمرکز شد، اما تاثیر کمی بر بازار گذاشت. در سال 1990 توجهات به طرف مدل شی گرا(object-oriented databases) جلب شد. این مدل جهت کنترل داده‌های مرکب لازم بود و به سادگی بر روی پایگاه داده‌های خاص، مهندسی داده(شامل مهندسی نرم افزار منابع) و داده‌های چند رسانه‌ای کار می‌‌کرد. 

در سال 2000 نوآوری تازه‌ای رخ داد و دادگان اکس‌ام‌ال (XML) به وجود آمد. هدف این مدل از بین بردن تفاوت بین مستندات و داده ها است و کمک می‌‌کند که منابع اطلاعاتی چه ساخت یافته باشند یا نه در کنار هم قرار گیرند. 


2- انواع دادگان ها 
دادگان‌ها از نظر ساختار مفهومی و شیوه‌ای رفتار با داده‌ها بر دو نوع هستند : 
1.دادگان رابطه‌ای 
2.دادگان شی‌گرا 


3- مدل های پایگاه داده 
شگرد های مختلفی برای مدل های داده‌ای وجود دارد. بیشتر سیستم های پایگاه داده‌ای هر چند که طور معمول بیشتر از یک مدل را مورد حمایت قرار می‌‌دهند، حول یک مدل مشخص ایجاد شده اند. برای هر یک از الگوهای های منطقی (logical model) اجراهای فیزیکی مختلفی قابل پیاده شدن است و سطوح کنترل مختلفی در انطباق فیزیکی برای کاربران محیا می‌‌کند. یک انتخاب مناسب تاثیر موثری بر اجرا دارد. مثالی از موارد الگوی رابطه‌ای (relational model) است: همه رویدادهای مهم در مدل رابطه‌ای امکان ایجاد نمایه‌هایی که دسترسی سریع به سطرها در جدول را می‌‌دهد،فراهم می‌‌شود.

یک مدل داده‌ای تنها شیوه ساختمان بندی داده ها نیست بلکه معمولا به صورت مجموعه‌ای از عملیات ها که می‌‌تواند روی داده ها اجرا شود تعریف می‌‌شوند. برای مثال در مدل رابطه‌ای عملیاتی همچون گزینش (selection)، طرح ریزی (projection) و اتصال (join) تعریف می‌‌گردد. 

۳.۱ مدل تخت 
مدل تخت یا جدولی (flat (or table) model ) تشکیل شده است از یک آرایه دو بعدی با عناصر داده‌ای که همه اجزای یک ستون به صورت داده‌های مشابه فرض می‌‌شود و همه عناصر یک سطر با هم در ارتباط هستند. برای نمونه در ستون هایی که برای نام کاربری و رمز عبور در جزئی از سیستم های پایگاه داده‌ای امنیتی مورد استفاده قرار می‌‌گیرد هر سطر شامل رمز عبوری است که مخصوص یک کاربر خاص است. ستون های جدول که با آن در ارتباط هستند به صورت داده کاراکتری، اطلاعات زمانی، عدد صحیح یا اعداد ممیز شناور تعریف می‌‌شوند. این مدل پایه برنامه‌های محاسباتی(spreadsheet) است. 

پایگاه داده ها با فایل های تخت به سادگی توسط فایل های متنی تعریف می‌‌شوند. هر رکورد یک خط است و فیلد ها به کمک جدا کننده هایی از هم مجزا می‌‌شوند. فرضا به مثال زیر دقت کنید: 
id name team 
1 Amy Blues 
2 Bob Reds 
3 Chuck Blues 
4 Dick Blues 
5 Ethel Reds 
6 Fred Blues 
7 Gilly Blues 
8 Hank Reds 
داده‌های هر ستون مشابه هم است ما به این ستونها فیلد ها (fields) گوییم. و هر خط را غیر از خط اول یک رکورد(record) می‌‌نامیم. خط اول را که برخی پایگاه‌های داده‌ای آنرا ندارند رکورد برچسب(field labels) گوییم. هر مقدار داده‌ای اندازه خاص خود را دارد که اگر به آن اندازه نرسد می‌‌توان از کاراکنر فاصله برای این منظور استفاده کرد اما این مسئله مخصوصا زمانی که بخواهیم اطلاعات را بر روی کارت های منگنه قرار دهیم مشکل ساز خواهد شد. امروزه معمولا از نویسه TAB برای جداسازی فیلد ها و کاراکتر خط بعد برای رکورد بعدی استفاده می‌‌کنیم. البته شیوه‌های دیگری هم وجود دارد مثلا به مثال زیر دقت کنید: 
"1","Amy","Blues" 
"2","Bob","Reds" 
"3","Chuck","Blues" 
"4","Dick","Blues" 
"5","Ethel","Reds" 
"6","Fred","Blues" 
"7","Gilly","Blues" 
"8","Hank","Reds" 
این مثال از جدا کننده کاما استفاده می‌‌کند.در این نوع مدل تنها قابلیت حذف،اضافه،دیدن و ویرایش وجود دارد که ممکن است کافی نباشد.Microsoft Excel این مدل را پیاده سازی می‌کند. 

۳.2 مدل شبکه ای(Network) 
در سال 1969 و در کنفرانس زبانهای سیستم های داده‌ای (CODASYL) توسطCharles Bachman ارائه شد. در سال 1971 مجددا مطرح شد و اساس کار پایگاه داده‌ای قرار گرفت و در اوایل دهه 80 با ثبت آن درسازمان بین المللی استانداردهای جهانی یا ISO به اوج رسید. 

مدل شبکه‌ای (database model) بر پایه دو سازه مهم یعنی مجموعه ها و رکورد ها ساخته می‌‌شود و برخلاف روش سلسله مراتبی که از درخت استفاده می‌‌کند، گراف را به کار می‌‌گیرد. مزیت این روش بر سلسله مراتبی این است که مدل های ارتباطی طبیعی بیشتری را بین موجودیت ها فراهم می‌‌کند. الی رغم این مزیت ها به دو دلیل اساسی این مدل با شکست مواجه شد: اول اینکه شرکت IBM با تولید محصولات IMS و DL/I که بر پایه مدل سلسله مراتبی است این مدل را نادیده گرفت. دوم اینکه سرانجام مدل رابطه‌ای (relational model) جای آن را گرفت چون سطح بالاتر و واضح تر بود. تا اوایل دهه 80 به علت کارایی رابط های سطح پایین مدل سلسله مراتبی و شبکه‌ای پیشنهاد می‌‌شد که بسیاری از نیاز های آن زمان را برطرف می‌‌کرد. اما با سریعتر شدن سخت افزار به علت قابلیت انعطاف و سودمندی بیشتر سیستم های رابطه‌ای به پیروزی رسیدند. 

رکورد ها در این مدل شامل فیلد هایی است( ممکن است همچون زبان کوبول (COBOL) به صورت سلسله مراتب اولویتی باشد). مجموعه ها با ارتباط یک به چند بین رکورد ها تعریف می‌‌شود: یک مالک و چند عضو. عملیات های مدل شبکه‌ای از نوع هدایت کننده است: یک برنامه در موقعیت جاری خود باقی می‌‌ماند و از یک رکورد به رکورد دیگر می‌‌رود هر گاه که ارتباطی بین آنها وجود داشته باشد. معمولا از اشاره‌گرها(pointers) برای آدرس دهی مستقیم به یک رکورد در دیسک استفاده می‌‌شود. با این تکنیک کارایی بازیابی اضافه می‌‌شود هر چند در نمایش ظاهری این مدل ضروری نیست . 

۳.3 مدل رابطه ای 
مدل رابطه ای (relational model) در یک مقاله تحصیلی توسط E. F. Codd در سال 1970 ارائه گشت. این مدل یک مدل ریاضیاتی است که با مفاهیمی چون مستندات منطقی (predicate logic) و تئوری مجموعه ها (set theory) در ارتباط است. محصولاتی همچون اینگرس،اراکل، DB2 وسرور اس‌کیوال (SQL Server) بر این پایه ایجاد شده است. ساختار داده ها در این محصولات به صورت جدول است با این تفاوت که می‌‌تواند چند سطر داشته باشد. به عبارت دیگر دارای جداول چند گانه است که به طور صریح ارتباطات بین آنها بیان نمی‌شود و در عوض کلید هایی به منظور تطبیق سطر ها در جداول مختلف استفاده می‌‌شود. به عنوان مثال جدول کارمندان ممکن است ستونی به نام "موقعیت" داشته باشد که کلید جدول موقعیت را با هم تطبیق می‌‌دهد. 

۳.4 پایگاه داده‌های چند بعدی 
پایگاه داده‌های رابطه‌ای توانست به سرعت بازار را تسخیر کند، هرچند کارهایی نیز وجود داشت که این پایگاه داده‌ها نمی‌توانست به خوبی انجام دهد. به ویژه به کارگیری کلیدها در چند رکورد مرتبط به هم و در چند پایگاه داده مشترک، کندی سیستم را موجب می‌شد. برای نمونه برای یافتن نشانی کاربری با نام دیوید، سیستم رابطه‌ای باید نام وی را در جدول کاربر جستجو کند و کلید اصلی (primary key ) را بیابد و سپس در جدول نشانی‌ها، دنبال آن کلید بگردد. اگر چه این وضعیت از نظر کاربر، فقط یک عملیات محسوب، اما به جستجو درجداول نیازمند است که این کار پیچیده و زمان بر خواهد بود. راه کار این مشکل این است که پایگاه داده‌ها اطلاعات صریح درباره ارتباط بین داده‌ها را ذخیره نماید. می‌توان به جای یافتن نشانی دیوید با جستجو ی کلید در جدول نشانی، اشاره‌گر به داده‌ها را ذخیره نمود. در واقع، اگر رکورد اصلی، مالک داده باشد، در همان مکان فیزیکی ذخیره خواهد شد و از سوی دیگر سرعت دسترسی افزایش خواهد یافت. 
چنین سیستمی را پایگاه داده‌های چند بعدی می‌نامند. این سیستم در هنگامی که از مجموعه داده‌های بزرگ استفاده می‌شود، بسیار سودمند خواهد بود. از آنجاییکه این سیستم برای مجموعه داده‌های بزرگ به کار می‌رود، هیچگاه در بازار به طور مستقیم عمومیت نخواهد یافت. 

۳.5 پایگاه داده‌های شیء 
اگر چه سیستم‌های چند بعدی نتوانستند بازار را تسخیر نمایند، اما به توسعه سیستم‌های شیء منجر شدند. این سیستم‌ها که مبتنی بر ساختار و مفاهیم سیستم‌های چند بعدی هستند، به کاربر امکان می‌دهند تا اشیاء را به طور مستقیم در پایگاه داده‌ها ذخیره نماید. بدین ترتیب ساختار برنامه نویسی شیء گرا (object oriented ) را می‌توان به طور مستقیم و بدون تبدیل نمودن به سایر فرمت‌ها، در پایگاه داده‌ها مورد استفاده قرار داد. این وضعیت به دلیل مفاهیم مالکیت (ownership) در سیستم چند بعدی، رخ می‌دهد. در برنامه شیء گرا (OO)، یک شیء خاص "مالک " سایر اشیاء در حافظه است، مثلا دیوید مالک نشانی خود می‌باشد. در صورتی که مفهوم مالکیت در پایگاه داده‌های رابطه‌ای وجود ندارد. 


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


5- فهرست سیستم‌های متداول مدیریت دادگان 
معروف‌ترین این نرم‌افزارهای مدیریت دادگان‌ها می‌توان به چند نمونه زیر اشاره کرد: 

1.Oracle 
2.Microsoft SQL Server 
3.MySQL 
4.PostregSQL 
5.DB2 
6.Microsoft Access 
واژه دادگان از برابرنهاده‌های فرهنگستان زبان فارسی می‌باشد. 

منبع : fa.wikipedia.org

راههای افزایش سرعت سیستم

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

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

استارت سریع!

اگر عمل Shutdown در کامپیوتر درست انجام نشود، کامپیوتر در استارت بعدی، برای اینکه هارد را از لحاظ داشتن خطا یا اشتباه چک کند، با برنامه Scandisk استارت می شود که مستلزم صرف زمانی طولانی است. برای اینکه از اجرا شدن Scandisk جلوگیری کنید، به ترتیب زیر عمل کنید:
از منوی استارت بر روی Run کلیک کرده و بعد دستور msconfig را اجرا کنید. سپس قسمت system configuration programs را باز کنید و در قسمت Register، general کلیک کنید و سپس فرمان “ Scandisk after error by shutdown disabled “ را فعال کنید. در آخر، همه پنچره ها را با دستور ok ببندید و ویندوز را دوباره استارت کنید.


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

اگر کامپیوتر شما هنگام بالا آمدن سیستم، آهنگ پخش می کند، در صورتی که آن را از کار بیندازید، کامپیوتر سرعت بیشتری خواهد داشت. برای این کار، به ترتیب از Start/Settings/Control Panel، قسمت Sounds and Multimedia را انتخاب کنید. پس از آن، پنچره ای باز می شود. در آنجا مشخص شده است که کدام قسمتها به همراه پخش آهنگ عمل می کنند. قسمتهایی که با پخش آهنگ همراه هستند، علامت بلند گویی را در کنار خود دارند بر روی قسمتهایی که می خواهید پخش آهنگ آنها را غیرفعال کنید، مارک بزنید. سپس از منوی Name که در زیر آن قرار گرفته است، دستور None را انتخاب کنید.

لغو دستور اجرای اتوماتیک برنامه ها

بسیاری از برنامه هاهنگام استارت به طوراتوماتیک اجرامی شوند. آیا شما واقعاً به همه آنها احتیاج دارید؟ برای اینکه از استارت شدن اتوماتیک این برنامه ها جلوگیری کنید، از منوی استارت، Run را انتخاب کرده و سپس دستور msconfig را اجرا کنید. از طریق Register و بعد “ Auto Start “ قادر نخواهید بود که برنامه مورد نیاز خود را به صورت مجزا انتخاب کنید، بلکه فقط می توانید علامت تیک (P) یا ضربدر (×) را از جلوی برنامه هایی که نمی خواهید اجرا شوند، بردارید.

پاک کردن برنامه ها

شما همواره برنامه هایی را از اینترنت Download می کنید. برای پاک کردن آنها از برنامه Uninstall استفاده کنید، که آن را می توانید به ترتیب از Start/Settings/Control Panel تحت نام Add/Remove Programs پیدا کنید.
برنامه ای را که می خواهید پاک کنید، مارک بزنید و بعد بر روی آیکون Add/Remove کلیک کنید. بدین ترتیب، برنامه به طور کامل از کامپیوتر شما پاک می شود


ایمیل های قدیمی را پاک کنید

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

Defragment کردن هارد

با دستور Defragment، هارد کامپیوتر خود را مرتب کنید. خود این کار، زمان می برد، ولی در عوض، سرعت کامپیوتر شما را بالا خواهد برد. برای این کار از منوی استارت Programs/Accessories/System tools/Disk Defragmenter را کلیک کنید.
نکته: پس از شروع عمل Defragment، کامپیوتر را به حال خود بگذارید و هیچ کار دیگری با آن انجام ندهید.

عکس زمینه را غیر فعال کنید.

این عکسها با وجود همه جذابیتی که دارند قدرت و سرعت کامپیوتر را کم می کنند. بنابراین، بهتر است که عکس پیش زمینه را بردارید. برای این کار با کلیک راست ماوس بر روی صفحه Desktop، Properties را انتخاب کنید و در قسمت Background، دستور None را انتخاب کنید.

فایل های موقت و آدرس های اینترنتی موجود در حافظه موقت را پاک کنید

در حالی که در اینترنت مشغول جستجو هستید، Browser مثلاً (Internet Explorer) کپی سایت های بازدید شده را بر روی هارد قرار می دهد. این کار، عمل جستجو را تسریع می کند، اما به تدریج مقدار زیادی اطلاعات جمع می شود که سرعت کامپیوتر را کم می کند. بنابراین، بهتر است که این فایل ها را پاک کنید. در Browser، از منوی بالای صفحه، Tools و سپس Internet Options را انتخاب کنید و آن گاه بر روی Delete Files، Delete Cookies کلیک کنید.

کاهش ظرفیت فایل ها و آدرس های اینترنتی که در کامپیوتر ذخیره می شوند.

پاک کردن هر روز فایل های موقت و آدرس های اینترنتی ، واقعاً اعصاب را خسته می کند. شما می توانید Cashe خود را طوری تنظیم کنید که فقط اطلاعات کمی را بتوانید ذخیره کنید.
برای این کار در Browser، Tools و سپس Internet Option را انتخاب کنید. در پنجره باز شده بر روی قسمت Settings کلیک کنید. در آنجا قسمت Amount of disk space to use را برابر مقدار 1MB تنظیم کنید.

روزآمد کردن ویندوز

شرکت مایکروسافت به طور مرتب نسخه های update ویندوز خود را برای کاربرانش ارائه می دهد. در نتیجه، قادر خواهید بود که درایوها و فایل های جدید را به صورت رایگان Download کنید. از منوی استارت، قسمت Windows update را انتخاب کنید. با این کار، ویندوز نصب شده بر روی کامپیوتر شما update خواهد شد.

آشنایی با مفهوم هک

هک چیست ؟

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

هدف هک چیست هکرها چرا نفوذ می کنند ؟

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

1-     اعلام سواد و تسلط بر فن آوری اطلاعات : 
این نوع نفوذ کمتر با تخریب و تهدید نفوذگر همراه است فراموش نکنید برای نفوذ در سیستم های شبکه ؛ باید فرد دارای سواد پایه ای در حد کافی باشد. برخی از افراد برای به رخ کشیدن سواد و توانمندی خود در شبکه های نفوذ نموده و با به جا گذاشتن یک ردپایی خود برای اثبات نفوذ سعی می کنند که سواد خود را به همه اعلان کنند

2-     اعلان ضعف امنیت شبکه کامپیوتری :
 این نوع نفوذ هم با تخریب و تهدید کم انجام می شود تنها نفوذگر سعی می کند نقاط ضعف امنیت شبکه را به مدیریت اعلان نماید و در برخی موارد هم به مدیریت اعلام می شود که نفوذگر حاضر به همکاری در رفع نقص و تقویت امنیت شبکه است.

3-     انتقام شخصی یا گروهی :
 این نوع نفوذ به طور حتم بسیار خطرناک و دردسرساز است در اینگونه حمله ها نفوذگر سعی می کند سیستم را تا حد امکان نابود و خسارات جبران ناپذیری را انجام دهد ؛ برخورد سخت بارقبا یکی از این انگیزه نفوذگران با نیت انتقام است در برخی موارد هم برخی از وبسایتها و شبکه های منافع ملی ؛ گروهی یا فردی افراد را به مخاطره می اندازد و در مقابل نفوذ گر سعی در نابودی مورد اشاره دارد.

4-     بدون دلیل :
 حتمی نباید هر کاری دلیل داشته باشد ؛ برخی نیز برای خودنمایی یا سرگرمی و گاهی هم از سر بیکاری دست به نفوذ و تخریب شبکه می کنند این نوع نفوذ به دلیل اینکه کور و بدون دلیل است ممکن است خطرآفرین باشد امادر مواردی بیشتر به یک شوخی تمام می شود.

5-     دلایل شخصی :
 کمتر اتفاق می افتد که یک هکر انگیزه شخصی فراتر از انتقام داشته باشد ولی ممکن است این اتفاق بیافتد ماننداسید پاشی روی صورت معشوق و یا موارد دیگر البته این مورد کمتر اتفاق افتاده است 

6-     دستیابی به اموال مجازی افراد یا شرکتها
این امر ممکن است یکی از قویترین دلایل انجام هک باشد البته این نوع از نفوذ بیشتر از روش دزدی هویت یا فیشینگ صورت می گیرد فرد نفوذگر سعی می کنند با دستیابی به ای دی و شناسه کاربری قربانی و رمز عبور و پاسورد وی ؛ مدیریت بخشی از اموال مجازی فرد یا شرکت از قیبیل وبلاگ ؛ صندوق پست الکترونیکی ؛ کارت اعتباری ؛ عضویت باشگاه ؛ عضویت وبسایت و یا هر مورد که می تواند وی را به اموال مجازی شخص قربانی نزدیک کند دست می زند در ایران و در بین هکرهای تازه کار که هدف هایی مانند انتقام ؛ اعلام سواد ؛ اعلان ضعف شبکه کمتر وجود دارد هکر سعی می کند تنها به دست دستیابی به مدیریت یک وبلاگ یا صندوق پست الکترونیکی نفوذ را انجام دهد این گونه نفوذهای ساده و با بهره گیری از ضعفهای امنیتی کاربران در ایران رایج است .

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

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

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

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

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

1 ـ هکرهای کلاه سفید Hacker
که به آنها سامورایی یا هکرهای واقعی گفته می شود . هکرهای کلاه سفید متخصصان کامپیوتر و آشنا به فناوری اطلاعات می باشند و هدفشان از نفوذ به سیستم های کامپیوتری کشف عیوب امنیتی در سیستم و بر طرف نمودن آنها است ، نه سوء استفاده . به عبارت ساده تر ، کلاه سفید ها برای این کار باید مانند هکرهای کلاه سیاه عمل کنند تا بتوانند ضعف های سیستم را کشف کنند .

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

2 ـ هکرهای کلاه سیاه – واکر Wacker 
به آنها واکر هم گفته می شود و از نظر کاری هکرهای کلاه سیاه دقیقاً برعکس هکر کلاه سفید عمل می نماید . به این معنی که هدف آن ها نفوذ به سیستم ها و سوء استفاده از اطلاعات می باشد .

این گروه از هکرها بیشترین صدمات را به سیستم های کامپیوتری وارد می نمایند که بی سابقه ترین و بزرگترین حمله توسط این گروه از هکرها در تاریخ 21 اکتبر سال 2002 ساعت 4 بعد از ظهر به وقت آمریکا رخ داد . این حمله که از نوع ( DDOS ) بود بر روی 13 سرور اصلی اینترنت صورت گرفت ، در این حمله 9 سرور به طور کامل از کار می افتد . اهمیت این واقعه آنقدر بود که حتی کاخ سفید و رئیس جمهور آمریکا وارد عمل می شوند و از آن بعنوان یک کار تروریستی مجازی اسم می برند ، و اگر تلاش به موقع کارشناسان امنیتی نبود و هکرها موفق می شدند عملیات خود را تکمیل کنند ، اکنون جهان درگیر یک فاجعه می شد .

3 ـ قفل بازکن یا کراکر Cracker 
از نظر ماهیت کار این گروه از هکرها جزو گروه هکرهای کلاه سیاه می باشند . فعالیت این گروه از هکرها بیشتر در مورد نرم افزارها و سیستمهای کامپیوتری می باشد که دارای قفل بوده و بصورت مجانی و یا اختصاصی مورد استفاده قرار می گیرد . فعالیت این گروه در حوزه نرم افزار بسیار فراگیر می باشد .

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

4- پراکر Preaker :  
از قدیمی ترین و در واقع هکرهای اولیه ای بودند که برای کارشناسان نیاز به کامپیوتر نداشتند و بیشتر کارشان نفوذ به خطوط تلفن برای تماس مجانی ، استراق سمع و ... بود .

5 ـ هکرهای جوان ( Script Kiddies )  
این گروه از هکرها با سایر گروه های هک تفاوت دارند و هکرهای جوان بر خلاف سایر هکرها که ابزار و برنامه های مورد نیاز را خودشان می نویسند و برای هک از معلومات خود استفاده می کنند ، با استفاده از برنامه های خدماتی ویژه هک که به وسیله دیگران نوشته شده است ( مانند Sub 7 ) و به راحتی از طریق اینترنت و یا فروشگاه ها قابل تهیه می باشند ، به سیستم های کامپیوتری خسارت وارد می نمایند .

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

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

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

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

درباره سیستم عامل لینوکس

تاریخچه لینوکس

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

سیستم عامل بی استخوانی که با قیمت 50000 دلار از یک هکر سیاتلی توسط بیل گیتز (Bill Gates) خریداری شده بود و با یک استراتژی تجاری هوشمند، به تمام گوشه های جهان رخنه کرده بود.

کاربران PC انتخاب دیگری نداشتند. کامپیوترهای اپل مکینتاش بهتر بودند.

ولی قیمت های نجومی آن ها را از دسترس اکثر افراد خارج می ساخت.

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

به نظر می رسید این راه حل به صورت سیستم عامل MINIX ارائه شد.

این سیستم عامل، که از ابتدا توسط اندرو اس. تاننباوم (Andrew S. Tanenbaum) پروفسور هلندی، نوشته شده بود به منظور تدریس عملیات داخلی یک سیستم عامل واقعی بود.

این سیستم عامل برای اجرا روی پردازنده های 8086 اینتل طراحی شده بود و بزودی بازار را اشباع کرد.

به عنوان یک سیستم عامل، MINIX خیلی خوب نبود.

ولی مزیت اصلی آن در دسترس بودن کد منبع آن بود.

هرکس که کتاب سیستم عامل تاننباوم را تهیه می کردبه 12000خط کد نوشته شده به زبان C و اسمبلی نیز دسترسی پیدا می کرد.

برای نخستین باریک برنامه نویس یا هکر مشتاق می توانست کد منبع سیستم عامل را مطالعه کند.

چیزی که سازندگان نرم افزارها آن را محدود کرده بودند. یک نویسنده بسیار خوب، یعنی تاننباوم باعث فعالیت مغزهای متفکر علوم کامپیوتری در زمینه بحث و گفتگو برای ایجاد سیستم عامل شد. دانشجویان کامپیوتر در سرتاسر دنیا با خواندن کتاب و کدهای منبع سیستمی را که در کامپیوترشان در حال اجرا بود درک کردندو یکی از آن ها لینوس توروالدز (Linus Torvalds) نام داشت.

 در سال 1991 لینوس بندیکت توروالدز (Linus Benedict Torvalds) دانشجوی سال دوم علوم کامپیوتر دانشگاه هلسینکی فنلاند و یک هکر خود آموخته بود. این فنلاندی 21 ساله عاشق وصله پینه کردن محدودیت هایی بود که سیستم را تحت فشار قرار می دادندولی مهمترین چیزی که وجود نداشت یک سیستم عامل بود که بتواند نیازهای حرفه ای ها را براورده نماید.

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

 در این زمان برنامه نویسان سرتاسر دنیا توسط پروژه گنو (GNU) که توسط ریچارد استالمن (Richard Stallman) آغاز شده بودتحریک شده بودند.

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

وبا اعلامیه معروف خود در سال 1983پروژه GNU را آغاز کردو حرکتی را آغاز کرد تا با فلسفه خودش به تولید و ارائه نرم افزار بپردازد.

نام GNU مخفف GNU is Not Unix است ولی برای رسیدن به رویای خود برای ایجاد یک سیستم عامل رایگان وی ابتدا نیاز داشت تا ابزارهای لازم برای این کار را ایجاد نمایدبنابراین در سال 1984 وی شروع به نوشتن و ایجاد کامپایلر زبان C گنو موسوم به GCC نمود.

ابزاری مبهوت کننده برای برنامه نویسان مستقل.

وی با جادوگری افسانه ای خود به تنهایی ابزاری را ایجاد نمود که برتر از تمام ابزارهایی که تمام گروههای برنامه نویسان تجاری ایجاد کرده بودند قرار گرفت.

 GCC یکی از کارآمد ترین و قویترین کامپایلرهایی است که تا کنون ایجاد شده اند.

تا سال 1991 پروزه GNU تعداد زیادی ابزار ایجاد کرده بود ولی هنوز سیستم عامل رایگانی وجود نداشت. حتی MINIX هم لایسنس شده بود. کار بر روی هسته سیستم عامل گنو موسوم به HURD ادامه داشت ولی به نظر نمی رسید که تا چند سال آینده قابل استفاده باشد.

 در 25 آگوست 1991این نامه تاریخی به گروه خبری MINIX از طرف توروالدز ارسال شد:

 از : لینوس بندیکت توروالدز

به: گروه خبری MINIX

موضوع: بیشتر چه چیزی را می خواهید در MINIX ببینید؟

خلاصه: نظرخواهی کوچک در مورد سیستم عامل جدید من

با سلام به تمام استفاده کنندگان از MINIX

من در حال تهیه یک سیستم عامل رایگان فقط به عنوان سرگرمی و نه به بزرگی و حرفه ای GNU برای دستگاههای 386 و 486 هستم.

این کار از آوریل شروع شده و درحال آماده شدن است. من مایلم تا نظرات کاربران را در مورد چیزهایی که در MINIX دوست دارند یا ندارندجمع آوری کنم.

زیرا سیستم عامل من حدودا شبیه آن است. مانند ساختار سیستم فایل مشابه و چیزهای دیگر...

من اکنون bash نسخه 1.08 و GCC نسخه 1.40 را به آن منتقل کرده ام و به نظر می رسد که کار می کند.

من در عرض چند ماه چیزی آزمایشی درست کرده ام و مایلم بدانم که کاربران بیشتر به چه قابلیت هایی نیاز دارند؟

من از هر پیشنهادی استقبال می کنم. ولی قول نمی دهم همه آن ها را اجرا کنم. لینوس

 

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

لینوکس نسخه 0.01 در اواسط سپتامبر 1991 منتشر شد و روی اینترنت قرار گرفت. شور و اشتیاقی فراوان حول مخلوق توروالدز شکل گرفت. کدها دانلود شده آزمایش شدند و پس از بهینه سازی به توروالدز بازگردانده شدند. لینوکس نسخه 0.02 در پنجم اکتبر به همراه اعلامیه معروف توروالدز آماده شد:

 از : لینوس بندیکت توروالدز

به: گروه خبری MINIX

موضوع: کدهای منبع رایگان هسته مشابه MINIX

 آیا شما از روزهای زیبای MINIX 1.1 محروم شده اید؟

هنگامی که مردها مرد بودند و راه اندازهای دستگاه خود را خودشان می نوشتند؟ آیا شما فاقد یک پروزه زیبا هستید و می میرید تا سیستم عاملی داشته باشید تا بتوانید آن را مطابق با نیازهای خود در آورید؟

اگر اینگونه است این نامه برای شما نوشته شده است.

 همان طور که ماه پیش گفتم من در حال کار بر بروی یک سیستم عامل رایگان مشابه MINIX برای کامپیوترهای 386 هستم.

این سیستم عامل اکنون به جایی رسیده است که قابل استفاده است و مایل هستم که کدهای منبع را در سطح گسترده تر پخش نمایم. این نسخه 0.02 است ولی من موفق شده ام که نرم افزارهای Bash، GCC، GNU-Make، GNU-sed، Compress و غیره را تحت آن اجرا کنم. کدهای منبع این پروژه را می توانید از آدرس nic.funet.fi با آدرس 128.214.6.100 در دایرکتوری pub/OS/Linux پیدا کنید.این دایرکتوری هم چنین دارای چند فایل README و تعدادی باینری قابل اجرا تحت لینوکس است. تمام کدهای منبع ارائه شده است زیرا هیچ یک از کدهای MINIX در آن استفاده نشده است. سیستم را می توانید همان طور که هست کامپایل و استفاده کنید. کدهای منبع باینری ها را هم میت وانید در مسیر pub/GNU پیدا کنید.

لینوکس نسخه 0.03 پس از چند هفته آماده شدوتادسامبرلینوکس به نسخه 0.10 رسید. هنوز لینوکس فقط چیزی کمی بیشتر از یک فرم اسکلت بود. این سیستم عامل فقط دیسک های سخت AT را پشتیبانی می کرد و ورود به سیستم نداشت و مستقیما به خط فرمان بوت می شد.

نسخه 0.11 خیلی بهتر شد.

این نسخه از صفحه کلیدهای چند زبانه پشتیبانی می کرددیسک های فلاپی وکارت های گرافیکی VGA، EGA، هرکولس و... نیز پشتیبانی می شدند.

شماره نسخه ها از 0.12 به 0.95 و 0.96 افزایش پیدا کرد و ادامه یافت.

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

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

 تاننباوم برای توروالدز مینویسد:

من بر این نکته تاکید دارم که ایجاد یک هسته یک پارچه در سال 1991 یک اشتباه پایه ای بود.

خدا را شکر که شما شاگرد من نیستیدواگر نه برای چنین طرحی نمره بالایی نمی گرفتید.

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

تاننباوم همچنین گفته بود : “لینوکس منسوخ شده است”.

 اکنون نوبت حرکت نسل جدید لینوکس بود.

با پشتیبانی قوی از طرف اجتماع لینوکس توروالدز یک پاسخ مناسب برای تاننباوم فرستاد :

شغل شما استاد دانشگاه و محقق بودن است و این بهانه خوبی برای برخی مغز خرابکنی های MINIX است.

و کار ادامه یافت. به زودی صدها نفر به اردوگاه لینوکس پیوستند. سپس هزاران نفر و سپس صدها هزار نفر. لینوکس دیگر اسباب بازی هکرها نبود.

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

با رابط های گرافیکی کاربر جدید مانند KDE و GNOME، توزیع های لینوکس در بین مردم بسیار گسترش یافتند.

هم چنین اتفاقات جالبی با لینوکس رخ می دهد. در کنار PC، لینوکس به روی اکثر پلاتفورم ها منتقل شده است. لینوکس تغییر داده شد تا کامپیوتر دستی شرکت 3Com یعنی PalmPilot را اجرا نماید. تکنولوژی کلاستر کردن این امکان را بوجود آورد تا به توان تعداد زیادی از ماشین های لینوکس را به یک مجموعه واحد پردازشی تبدیل نمود. یک کامپیوتر موازی. در آوریل 1996 محققین آزمایشگاه های ملی لوس آلاموس از 68 کامپیوتر مبتنی بر لینوکس برای پردازش موازی و شبیه سازی موج انفجار اتمی استفاده کردند. ولی بر خلاف ابر کامپیوترهای دیگرهزینه آن ها بسیار ارزان تمام شد. ابرکامپیوتر خود ساخته آن ها با تمام تجهیزات و سخت افزارها 152000 دلار هزینه در برداشت و این یک دهم هزینه یک ابرکامپیوتر تجاری است. این ابرکامپیوتر به سرعت 16 بیلیون محاسبه در ثانیه دست یافت و به رتبه 315 ام این ابرکامپیوتر جهان دست پیدا کرد و صد البته یکی از پایدارترین آن ها بود.

پس از سه ماه از آغاز فعالیت هنوز بوت نشده بود.

بهترین موردی که امروزه برای لینوکس وجود دارد طرفداران متعصب آن هستند. هنگامی که یک قطعه سخت افزاری جدید ارائه می شود هسته لینوکس برای استفاده از آن تغییر داده می شود. برای مثال هنگام ارائه پردازنده 64 بیتی شرکت AMD هسته به سرعت چند هفته برای کار با آن آماده شد. اکنون لینوکس بر روی تمام انواع خانواده های سخت افزاری موجود اعم از PC، MAC، Alpha و انواع سخت افزارهای درونه ای قابل اجراست که آن را برای استفاده در ماشین آلات صنعتی و آلات و ادواتی که نیاز به پردازش کامپیوتری دارندبسیار مناسب نموده است. لینوکس با همان فلسفه و هدفی که در سال 1991 ایجاد شدوارد هزاره جدید شده است.

 توروالدز هنوز یک انسان ساده است. بر خلاف بیل گیتر او یک میلیاردر نیست. پس از اتمام مطالعاتش وی به آمریکا رفت تا با شرکت Transmeta همکاری نماید. پس از انجام یک پروژه فوق سری که توروالدز یکی از اعضای فعال آن بود ترانسمتا پردازنده Cruose را با بازار ارائه کرد. توروالدز هنوز پرطرفدار ترین و مشهورترین برنامه نویس جهان است. در حال حاضر توروالدز ترانسمتا را ترک نموده و با حمایت شرکت های بزرگ به طور تمام وقت بر روی لینوکس کار می کند.

 امروزه لینوکس بیش از یک دهه توسعه را پشت سر گذاشته است و یکی از سریع التوسعه ترین سیستم های عامل به شما می رود. از چند کاربر انگشت شمار در سالهای 1991 و 1992 امروزه میلیون ها کاربر از لینوکس استفاده می کنند.

 IBM که زمانی بزرگترین دشمن جماعت Open Source به شمار می رفت، اکنون سرمایه گذاری عظیمی در زمینه توسعه راه حل های Open Source تحت لینوکس نموده است. در حال حاضر تعداد توسعه دهندگانی که برای افزایش قابلیت های لینوکس تلاش می کنند روز به روز افزایش می یابد.

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

اکنون دیگر استفاده از لینوکس در محیط ها ی اداری پذیرفتن ریسک نیست.

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

 

طلوع لینوکس رومیزی (Desktop Linux)

 

بزرگترین ایرادی که از لینوکس گرفته می شد چه بود؟

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

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

محیط های گرافیکی که بر پایه X-Window وجود داشتند نیز پاسخ گوی امکاناتی که سیستم عامل های گرافیکی مانند ویندوز برای کاربران خود ارائه می کردند نبودند. ولی از چند سال گذشته این وضعیت در حال تغییر بوده است. اکنون محیط های گرافیکی حرفه ای مانند KDE و GNOME تصویر لینوکس را کامل کرده اند. این محیط های گرافیکی اکنون بسیار کاربر پسند و قدرتمند شده اند و وجود این سیستم هاست که امروزه کاربران عادی نیز می توانند از لینوکس استفاده کنند.

 لینوکس در جهان سوم

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

یکی از عمده ترین دلایل این کار پایین بودن درآمد سرانه در این کشورهاست. هنگامی که مجموع درآمد سرانه سالیانه بیش از 200 تا 300 دلار نیست هیچ گاه امکان خرید یک سیستم عامل 100 دلاری وجود نخواهد داشت.

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

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

امروزه مستندات لینوکس به اکثر زبان های زنده جهان ترجمه شده اند.

 از میزکار تا ابرکامپیوترها

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

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

 حرکت لینوکس از یک پروزه هکری تا جهانی شدن یک انقلاب شگفت انگیز است. پروزه GNU که در اوایل دهه 1980 توسط ریچارد استالمن شروع شد توسعه نرم افزارهای بازمتن را رهبری نمود.

پروفسور اندرو تاننباوم و سیستم عامل MINIX او مطالعه سیستم عامل ها را از حالت تئوری به عملی تبدیل نمود و در نهایت همت و تلاش توروالدز منجر به تولد لینوکس شد.

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

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

 توکس پنگوئن : نشان عزیز لینوکس

 نشان لینوکس یک پنگوئن است.

برخلاف سایر سیستم عامل های تجاری این نشان زیاد جدی نیست!

توکس نشانگر وضعیت بدون نگرانی حرکت لینوکس است.

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

لینوکس تولد خود را مدیون Unix(یونیکس) می باشد.

امروزه Unix به صورت سیستم عاملی مستقل از لینوکس به فروش می رسد.

لینوکس و یونیکس هر دو از نرم افزارهای Open Source به حساب می آیند.

این بدین معنی است که خود کاربران به کدهای لینوکس دسترسی داشته و

می توانند قسمتی از آن را تغییر دهند.

در ضمن لینوکس یک پنجم ویندوز قیمت دارد.

در واقع قیمت ارزان لینوکس و Open Source بودن آن باعث شده عده ی کثیری از کاربران به آن روی بیاورند.

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

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

برنامه ای به نام StarOffice (یا چیزی شبیه این) به زودی در لینوکس مورد استفاده قرار خواهد گرفت و کاربران را از ویندوز بی نیاز می کند.

 نسخه های لینوکس:

لینوکس در نسخه های مختلفی ارایه شده است:

برای مثال Lindows.com و هم چنین نسخه ی بسیار معروف کلاه قرمزی (RedHat) که درنسخه های مختلفی به بازار ارایه شده است.

جدیدترین نسخه ی RedHat نسخه ی 9.0 است که بلافاصله بعد از RedHat 8.0 به بازار ارایه شد.

خوبی لینوکس این است که اگه حوصله داشته باشید برخی نسخه های آن از اینترنت قابل دریافت است.

 محبوبییت لینوکس:

لینوکس روز به روز در حال گسترش است.

 فرانسه:

فرانسه در اقدامی عاجل در ستل 2000 950 یرور خود را به لینوکس مجهز کرد.

وزیر فرهنگ فرانسه در سال 2002، 300 سرور خود را به لینوکس مجهز کرد.

 آلمان:

وزارت آلمان به دلیل موج حملات هکری و قیمت ارزان لینوکس به لینوکس روی آورده اند.

14 هزار رایانه ی مونیخی به لینوکس مجهز شده اند.

 ایتالیا:

در ژولای 2001 راهنمای جامع حکوتی را برای رفتن به سوی نرم افزارهای اوپن سورس تصویب کردو در جولای 2002 نیز یکی از نمایندگان سبزها در سنای ایتالیا لایحه ی تجهیز به نرم افزارهای اوپن سورس را ارایه کرد.

 هلند:

هلند قسمت IS حکوتی را مجهز به لینوکس کرد.

 اسپانیا:

در آوریل 2002 یک جنبش بزرگ در غرب اسپانیا در شهر اکتریمادورا مردم را تشویق کرد تا ویندوز را کنار گذاشته و به لینوکس روی بیاورندو بلافاصله 100 هزار رایانه به لینوکس مجهز شدند.

 انگلیس:

بیشتر مراکز پلیس در این کشور به دلایل امنیتی به سوی لینوکس می روند.

اما کمترین مشتاق را(به دلیل مقرمایکروسافت دراین کشور) انگلیسی ها دارند.

منبع : onlylinux.blogsky

نصب درایور های سخت افزاری

مباحث فنی مربوط به درایورها

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

داده های شناسایی سخت افزار
مهمترین این داده ها به شرح زیر است:

1-Type of Hardware
در واقع سازنده باید مشخص نماید که این سخت افزار چه میکند. مثلا مودم است. بلوتوث است و ....
البته ویندوز با توجه به نوع دریافت و ارسال پایه ای داده هم می تواند این نوع سخت افزارها را شناسایی نماید.

2-کد اختصاصی مربوط به سازنده سخت افزار یا Vendor ID

3-کد اختصاصی ثبت شده مربوط به نسل و رده سخت افزار به صورت خاص Hardware ID

4-کد اختصاصی مربوط به سخت افزارهایی که دارای قابلیت های مشابهی هستند Compatible Hardware ID

5-تعداد زیادی کد که مربوط به نحوه تعامل سخت افزار با سایر سخت افزارها و همچنین خود ویندوز است.

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

انواع درایورها
درایورها بر اساس نوع قرارگیری در سیستم عامل دسته بندی می شوند. در سیستم عامل مکینتاش همه درایورهای سخت افزاری به جز پرینترهای خاص و ابزارهای جانبی مثل دوربین دیجیتال همگی در خود مک ادغام شده و نیازی به افزدون درایور نیست. مثلا کارت صدا و گرافیک و ... همگی خودکار شناسایی میشوند. در سیستم عامل ویندوز چند نوع درایور وجود دارد:

1-درایورهای کلی Generic Drivers
اینها در واقع درایورهایی هستند که مخصوص محصولاتی هستند که یا به صورت پایه ای مورد استفاده هستند و یا همه سازندگان بر اساس استاندارد مشابهی محصول تولید می کنند. مثلا هارد دیسک ، سی پی یو ، فلش مموری و ...

2-درایورهای خاص پر مصرف Specific Drivers-Common hardware
در واقع اینها درایور های کلی نیستند. اما به دلیل پر مصرف بودن در اغلب سیستمها درایور انها در خود ویندوز اضافه شده است. واضح است که این درایورها توسط میکروسافت تایید شده اند و روند کامل تست را گذرانیده اند. اصطلاحا این درایورها ساین شده اند. Sign دار کردن درایور ساخته شده توسط سازنده سخت افزار توسط میکروسافت پس از بررسی روند تست صورت میگیرد.

3-Specific Signed driver
درایورهای کمتر مورد استفاده که در برخی سیستمها موجود است اما همه گیر نیستند. این درایورها اگرچه در ویندوز ادغام نشده اند اما سازنده سخت افزار پس از طی مراحل تست موفق به ساین کردن درایور شده است و درایور در سایت ویندوز آپدیت موجود است و در صورتیکه شما ویندوز را به روز نمایید درایور اتوماتیک در دسترس شما قرار میگیرد.

4-Specific NOT signed drivers
بیشترین مشکلات کاربران در واقع با این نوع درایورهاست. سازنده سخت افزار پس از ساخت درایور تست را انجام داده اما مراحل تحت نظر میکروسافت نبوده و تاییدیه ساین میکروسافت را ندارد و در سایت ویندوز آپدیت نیز قرار ندارد.
در واقع سازنده در سایت خودش و یا سی دی همراه سخت افزار درایور را ارایه میدهد. مشکل اصلی با این نوع سخت افزارهاست که کم هم نیستند.

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

معیار کار جستجوی درایورها چیست؟
اساسا" جستجوی درایورها فقط یک رکورد حاوی فیلدهای زیر است:
1-نسخه ویندوز
2-کد سازنده Vendor ID
3-کد ابزار Device ID
4-کد سخت افزارهای مشابه Compatible Hardware IDs
5-ورژن فعلی درایور نصب شده در صورت نصب بودن

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

نرم افزارهای اتوماتیک
در ابتدا روش ساده تر که روش اتوماتیک هست را توضیح می دهم. مهمترین نرم افزارهای یافتن درایور به صورت اتوماتیک دو نرم افزار Driver Magian و Driver Detective هستند. این نرم افزارها کار شاقی نمی کنند بلکه فقط در دیتابیس خود به دنبال داده ای فوق می گردند. اگر رکوردی مناسب بیابند شما را به محل لینک دانلود نسخه درایور می برند. البته برخی امکانات اضافی مانند کپی پشتیبان از درایورها هم دارند. 



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

1-درایور در ویندوز نیست و این بخش به صورت بک بخش ناشناخته در دیوایس منیجر به نمایش در میاد.
Unknown device
2-این بخش پس از نصب ویندوز شناخته میشود ولی درایور ندارد که باهاش کار نماید مثلا نوشته یک نوع وب کم یا یک نوع مودم
3-ویندوز هم نوع دستگاه را شناخته و هم درایور مناسب را نصب کرده است. اما ممکنه که شما دایور جدیدتری داشته باشید و بخواهید به روز کنید.


برای این کار بعد از نصب ویندوز به device manager بروید و یکی از ابزارهایی که که روی آنها فلش رو به پایین و یا علامت سئوال هست و معنایش بدون درایور بودن هست را انتخاب کنین و بر رویش رایت کلیک کنید. حالا update driver انتخاب کنید و گزینه نصب اتوماتیک که به طور پیش فرض هست را ادامه دهید. مطمئن باشین که دیسک نصب داخل دستگاه هست که ویندوز بتواند روی آن هم سرچ کند. به این روش 99 درصد موارد بهترین درایور مناسب که داخل دیسک هست به طور اتوماتیک انتخاب میشود. ویندوز به طور پیش فرض درایورها را در درایو نوری و یا فلش دیسک هم جستجو می کند.



فراموش نکنید که درایور غلط نصب کردن موجب کند شدن ویندوز و هنگ کردن میشود.

روش نصب درایور از روی هارد و یک فولدر خاص
این روش هم فرقی ندارد. البته در ویندوزهای ویستا و 7 روش نصب بهتر شده چون یک فولدر که به ویندوز معرفی می کنید کل زیر شاخه ها هم امکان جستجو دارد. در واقع در حین نصب یک درایور جدید شما دو راه دارید



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

این عکس کوچک شده است. جهت نمایش با ندازه واقعی اینجا را کلیک کنید. اندازه واقعی 629 در 460 می باشد.



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

1-فرمت بدون برنامه نصب
فقط در یک فایل زیپ فایلهای درایور که شامل فایلهایی با پسوند زیر هست قرار دارد که تنها راه نصبش روشهای فوق میباشد:

CAT
DRV
SYS
INF
هر یک از فایلهای با پسوند فوق نشان دهنده نوع راه انداز است.

2-فرمت باز به همراه برنامه نصب
در این حالت فایلهای درایور به همراه یک برنامه نصب ارایه میشوند که هم به روش های فوق قابل نصب هستند و هم میتوان با اجرای برنامه نصب SETUP درایور را نصب کرد. در این شرایط هم بهتر است با روشهای فوق درایور را نصب کنید.

3-در برخی موارد که حجم فایلهای درایور زیاد است سازنده برای کاهش حجم اقدام به قرار دادن فایلهای درایور در فرمتهای فشرده مانند CAB یا ZIPیا RAR نموده و با برنامه نصب اختصاصی اقدام به نصب می نماید. در این موارد شما مجبورید با روش نصب اقدام به راه اندازی سخت افزار نمایید و امکان استفاده از روش فوق ندارد. خوشبختانه اغلب سازندگان درایور به این روش اول اقدام به کنترل وجود سخت افزار می کنند و بعد نصب را انجام میدهند تا اگر شما اشتباه انتخاب کردید نصبی صورت نگیرد. این روش به گستردگی توسط سازندگان درایور گرافیک که حجم بالا هستند مورد استفاده میشود.

معرفی نرم افزارهای یافتن اتوماتیک درایور
نرم افزارهای فراوانی برای یافتن درایور وجود داره که برخی از آنها در زیر دیده می شود:

Driver Magician

این عکس کوچک شده است. جهت نمایش با ندازه واقعی اینجا را کلیک کنید. اندازه واقعی 844 در 568 می باشد.





Driver Detective




Driver finder

این عکس کوچک شده است. جهت نمایش با ندازه واقعی اینجا را کلیک کنید. اندازه واقعی 800 در 580 می باشد.





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

یافتن کدهای سخت افزاری بری جستجوی دستی
اگرچه روشهای اتوماتیک برای یافتن درایور وجود دارد اما در هر حال ممکنه شما نیاز داشته باشید که درایور را به صورت دستی جستجو و نصب کنید. برای اینکه بتوانید جزییات سخت افزاری رو بدانید بر روی سخت افزار مذکور در Device manager دابل کلیک نمایید و سپس Details را انتخاب نمایید.



هر انچه بعد از VEN قرار داره کد سازنده سخت افزار و بعد از DEV مربوط به سخت افزار است مثلا در مورد فوق دو کد زیر را داریم:

VEN=Vendor ID=1102
DEV=Device ID=7003
واضح است که سخت افزار از نوع PCI هم هست.

منبع : forum.downloadina.com

مفهوم ICDL

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

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

به این ترتیب ECDL اروپایی، به خارج از مرزهای اروپا نیز راه یافت و به عنوان ICDL یعنی گواهی نامه بین المللی کاربری کامپیوتر شهرتی جهانی یافت.

ICDL(International Computer Driving Licence)

یک گواهی نامه بین المللی است که توانایی دارندگان این گواهی نامه را در مهارت های کامپیوتری، تأیید می کند.

به گزارش ایسنا، فعالیت های ICDL در ایران با برگزاری اولین آزمون بین المللی ICDL و با حضور مسئولان و ناظران مربوط، 11 بهمن ماه 1383ش. در مجتمع هوشمند سیرجان به عنوان اولین مرکز آزمون (test center) آغاز شد و به این ترتیب، کشور ما نیز به جمع بیش از 100 کشور مجری ICDL در دنیا پیوست. هم اکنون نیز مراکز آزمون با نظارت دفتر تکنولوژی آموزشی وزارت آموزش و پرورش در تهران، فعالیت های ICDL را انجام می دهند.

ICDL در ایران

ثبت نام و دریافت کارت مهارت ICDL

زمانی که یک داوطلب، در دوره گواهی نامه ICDL/ECDL ثبت نام می کند، باید در 7 دوره آزمون مهارتی شرکت نماید. متقاضی برای به دست آوردن مدرک ICDL باید در امتحانات این هفت مهارت قبول شود. هر فرد بدون توجه به سن، جنس، تحصیلات، تجربه یا پیش زمینه، می تواند در این آزمون ها شرکت کند. این آزمون ها عبارتند از:

1. مفاهیم اساسی IT.

2. مقدمه ای بر ویندوز.

3. مقدمه ای بر Word (سطح متوسط - پیشرفته).

4. Excel (سطح متوسط - پیشرفته).

5. پایگاه های داده، مقدمه ای بر Access.

6. Power Point (سطح متوسط - پیشرفته).

7. خدمات اطلاعاتی شبکه - اینترنت و پست الکترونیک.

برای دریافت گواهی نامه ICDL، می توان همه مهارت ها را به یک باره و یا با فاصله زمانی گذراند؛ اما باید طی سه سال از زمان شروع اولین آزمون، تمام هفت دوره را با موفقیت سپری نمود. پس از اتمام موفقیت آمیز همه آزمون ها، داوطلب، گواهی نامه بین المللی - اروپایی کاربری کامپیوتر را دریافت می کند. دریافت گواهی نامه ICDL می تواند در کنار کسب مهارت IT، برای افراد جامعه، استانداردی برای آموزش در جامعه اطلاعاتی ارائه دهد و توسعه فن آوری اطلاعات در جامعه را تسهیل و تسریع نماید. امروزه، بیش از دو میلیون نفر در سراسر جهان، گواهی نامه ICDL/ECDL را دریافت نموده اند؛ مدرکی که در تمامی کشورهای عضو این سازمان، معتبر و شناخته شده است. مهارت های ICDL در نهایت سادگی، بسیار کاربردی هستند؛ به طوری که بعد از طی دوره و کسب مهارت لازم، صرف نظر از مسائل پیچیده فنی - مهندسی، در حد رفع نیازهای روزمرّه، انجام امور بانکی، جست وجوی اطلاعات و حتی بازی و سرگرمی، استفاده از کامپیوتر بسیار لذت بخش بوده، در اندک زمانی به ضرورتی در زندگی مبدل خواهد شد.

منبع : iranianlearn.com

مبانی کامپیوتر

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

۱) INPUT UNIT

۲) MEMORY UNIT

۳) CPU

۴) OUTPUT UNIT

که از آنها به ترتیب می توان به این طریق نام برد

۱) واحد ورودی

۲) واحد حافظه

۳) واحد پردازش مرکزی

۴) واحد خروجی

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

۱) TOWER

۲) DESKTOP

۳) منبع تغذیه یا Power Supply در درون این جعبه قرار دارد.

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

● بورد اصلی MOTHERBOARD OR MAIN BOARD

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

● سی پی یو CENTRAL PROCESSING UNIT

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

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

● کارت گرافیک Video Graphic Area

کارت گرافیکی کارتی است که درون جعبه بر روی برد اصلی قرار می گیرد و تولید کننده تصاویر برای مانیتور است. در ابتدا این کارت بر روی درگاه ISA قرار می گرفت ، سپس از نوع PCI تولید شد و اکنون از نوع AGP است. این کارت می تواند در درون برد اصلی گنجانده شده باشد که به این نوع برد اصلی ، VGA OnBoard گفته می شود. و یا کارتی جداگانه بر روی درگاه AGP برد اصلی قرار گیرد. کارت گرافیکی همواره نوع خاصی از RAM بر روی خود داشته است تا با سرعت بالاتری تصاویر را تولید کند، ولی اکنون می تواند از RAM روی برد اصلی نیز استفاده ببرد.

● هارد دیسک HARD DISK DRIVE

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

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

● فلاپی دیسک FLOPPY DISK OR DISKETTE

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

● حافظه در کامپیوتر

حافظه های اصلی کامپیوتر عبارتند از :

۱) RAM = RANDOM ACCESS MEMORY

۲)ROM = READ ONLY MEMORY

الف) حافظه رم RAM

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

ب) حافظه رام ROM

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

● دیسک فشرده یا سی دی رام CD ROM

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

 

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

● دیسک ویدئویی دیجیتالی دی وی دی DVD = DIGITAL VERSATILE DISK

امروزه دیسکهای دی وی دی از سی دی رامها پیشی گرفته اند . ظاهر دی وی دی همانند سی دی ها می باشند و تنها تفاوت آنها در ظرفیت بالای آنهاست . ظرفیت دیسکهای دی وی دی از ۴ گیگا بایت تا ۱۷ گیگا بایت می باشد که ظرفِت بسیار بالایی می باشد

● واحد های شمارش ظرفیت حافظه

واحد های ظرفیت حافظه به ترتیب عبارتند از

▪ بیت : کوچکترین جزء ساختمان حافظه بوده که می تواند حاوی صفر یا یک باشد

▪ بایت : به ترکیب ۸ بیت متوالی یک بایت گویند

▪ کیلو بایت : از ترکیب ۱۰۲۴ بایت یک کیلو بایت تشکیل می شود

▪ مگا بایت : از ترکیب ۱۰۲۴ کیلو بایت یک مگا بایت تشکیل می شود

▪ گیگا بایت : به ۱۰۲۴ مگا بایت یک گیگا بایت می گویند

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

BIT < BYTE < KB < MB

● دستگاههای ورودی و خروجی در کامپیوتر

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

● دستگاههای ورودی INPUT DEVICE

▪ KEY BOARD

▪ MOUSE

▪ FLOPPY DISK DRIVE

▪ SCANNER

▪ MICROPHONE

▪ LIGHT PEN

▪ GAME PAD & JOYSTICK

▪ CD DRIVE

همانطور که در بالا ذکر شده است دستگاههای ورودی عبارتند از : صفحه کلید - ماوس -دیسک گردان - اسکنر - میکروفون - قلم نوری و دسته بازی

دستگاههای خروجی OUPUT DEVICE

▪ MONITOR

▪ PRINTER

▪ SPEAKER

▪ PLOTER

▪ FLOPPY DISK DRIVE

▪ CD WRITER

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

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

● صفحه کلید KEY BOARD

صفحه کلید ضروری ترین وسیله از دستگاههای ورودی به حساب می آید که شامل مجموعه ای از کلیدها می باشد . این کلیدها در صفحه کلید به سه دسته تقسیم می شوند

۱) کلیدهای الفبایی و عددی که مربوط به حروف الفبا و اعداد هستند

۲) کلیدهای نقطه گذاری که این نوع کلیدها شامل علائمی مانند : نقطه - دو نقطه ویر گول و غیره هستند

۳) کلیدهای خاص که این نوع کلیدها شامل کلیدهای تابعی - کلیدهای کنترلی - و کلیدهای جهتی و کلید کپس لاک می باشند

● اسکنر SCANNER

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

جهت انتقال یا ورود متن چاپی به یک کامپیوتربه وسیله اسکنر برنامه های کاربردی خاصی معروف به (او آر سی ) وجود دارد

ORC = OPTICAL CHARACTER RECOGNITION

بدین صورت متون چاپی به فایلهای متن قابل پردازش در یک برنامه وازه پرداز تبدیل می شوند

● دوربین دیجیتالی و اینترنتی DIGITAL CAMERA & WEBCAM

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

● (VOICE RECOGNITION) میکروفون MICROPHONE

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

 

● بلندگو SPEAKER

 

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

بلند گوها ممکن است مستقیما به برق وصل شوند و دارای یک تقویت کننده تو کار باشند . برای اتصال بلند گوها به پی سی لازم است یک کارت صدا داخل کیس نصب شود

● قلم نوری LIGHT PEN

وسیله ای به شکل قلم است که بانزدیک شدن به صفحه نمایش برای ترسیم اشکال دلخواه و برای کنترل آیکونها یا گزینه های نمایش یافته در صفحه نمایش مورد استفاده قرار می گیرد

● صفحه نمایش قابل لمس TOUCH SCREEN

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

● مودم MODEM

مودم به دو صورت داخلی و خارجی وجود دارد که بنام اینترنال و اکسترنال نام گذاری شده است . این دستگاه جزء دستگاههای ورودی و خروجی است . مودم برای بر قراری ارتباط بین کامپیوتر شما و شبکه یا خط تلفن مورد استفاده قرار می گیرد . پس از برقراری این ارتباط قادر خواهید بود پیامهای الکترونیکی دلخواه خود را برای افراد مختلف ارسال کرده و از اینترنت استفاده کنید

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

● رسام PLOTTER

یکی از وسایل خروجی گرافیکی محسوب می شود . کار این دستگاه بر عکس دیجیتایزر است. این دستگاه در حال حاضر برای ترسیم نقشه های مهندسی استفاده می شود

● تعریف درگاه یا پورت PORT

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

▪ درگاه سریال : در هر لحظه یک بیت اطلاعات را عبور می دهد

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

▪ درگاه PS۲ سریال : این درگاه برای متصل کردن وسایل جانبی و بورد اصلی کامپیوتر به کار می رود که بصورت ۳۲ بیت و ۱۶ بیت کار می کند

▪ درگاه USB : یک درگاه سریال با سرعت انتقال ۱۲ مگا بیت بر ثانیه است که برای اتصال وسایل جانبی به ریز کامپیوتر استفاده می شود . یو اس بی می تواند حداکثر ۱۲۷ وسیله جانبی همچون درایوهای سی دی - چاپگر - مودم موس - صفحه کلید و ... را از طریق یک پورت همه منظوره به سیستم متصل کند

▪ اِی تی (AT): مسیر الکتریکی مورد استفاده در کامپیوتر های شخصی برای متصل کردن بورد اصلی و وسایل جانبی مثل صفحه کلید مورد استفاده قرار می گیرد

منبع: iranianlearn.com

 

مفاهیم شبکه های کامپیوتری

شبکه های کامپیوتری

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

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

 تقسیم بندی بر اساس نوع وظایفکامپیوترهای موجود در شبکه را با توجه به نوع وظایف مربوطه به دو گروه عمده : سرویس دهندگان (Servers) و یا سرویس گیرندگان (Clients) تقسیم می نمایند. کامپیوترهائی در شبکه که برای سایر کامپیوترها سرویس ها و خدماتی را ارائه می نمایند ، سرویس دهنده  نامیده می گردند. کامپیوترهائی که از خدمات و سرویس های ارائه شده توسط سرویس دهندگان استفاده می کنند ، سرویس گیرنده نامیده می شوند .  در شبکه های Client-Server ، یک کامپیوتر در شبکه نمی تواند هم به عنوان سرویس دهنده و هم به عنوان سرویس گیرنده ، ایفای وظیفه نماید.

در شبکه های Peer-To-Peer ، یک کامپیوتر می تواند هم بصورت سرویس دهنده و هم بصورت سرویس گیرنده ایفای وظیفه نماید.

یک شبکه LAN  در ساده ترین حالت از اجزای زیر تشکیل شده است :

  • دو کامپیوتر شخصی . یک شبکه می تواند شامل چند صد کامپیوتر باشد. حداقل یکی از کامپیوترها می بایست به عنوان سرویس دهنده مشخص گردد. ( در صورتی که شبکه از نوع Client-Server باشد ). سرویس دهنده، کامپیوتری است که هسته اساسی سیستم عامل  بر روی آن نصب خواهد شد.

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

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

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

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

سه نوع توپولوژی رایج در شبکه های LAN استفاده می گردد :

  • BUS

  • STAR

  • RING

توپولوژی BUS  یکی از رایجترین توپولوژی ها برای پیاده سازی شبکه های LAN است . در مدل فوق از یک کابل به عنوان ستون فقرات اصلی در شبکه استفاده شده و تمام کامپیوترهای موجود در شبکه ( سرویس دهنده ، سرویس گیرنده ) به آن متصل می گردند.

مزایای توپولوژی BUS

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

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

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

معایب توپولوژی BUS

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

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

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

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

مزایای توپولوژی STAR

  • سادگی سرویس شبکه . توپولوژی STAR شامل تعدادی از نقاط اتصالی در یک نقطه مرکزی است . ویژگی فوق تغییر در ساختار و سرویس  شبکه را آسان می نماید.

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

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

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

معایب توپولوژی STAR

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

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

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

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

مزایای توپولوژی RING

  •  کم بودن طول کابل . طول کابلی که در این مدل بکار گرفته می شود ، قابل مقایسه به توپولوژی BUS نبوده و طول کمی را در بردارد. ویژگی فوق باعث کاهش تعداد اتصالات ( کانکتور) در شبکه شده و ضریب اعتماد به شبکه را افزایش خواهد داد.

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

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

معایب توپولوژی RING

  •  اشکال در یک گره باعث اشکال در تمام شبکه می گردد. در صورت بروز اشکال در یک گره ، تمام شبکه با اشکال مواجه خواهد شد. و تا زمانیکه گره معیوب از شبکه خارج نگردد ، هیچگونه ترافیک اطلاعاتی را روی شبکه نمی توان داشت .

  •  اشکال زدائی مشکل است . بروز اشکال در یک گره می تواند روی تمام گرههای دیگر تاثیر گذار باشد. به منظور عیب یابی می بایست چندین گره بررسی تا گره مورد نظر پیدا گردد.

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

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

تقسیم بندی بر اساس حوزه جغرافی تحت پوشش . شبکه های کامپیوتری با توجه به حوزه جغرافیائی تحت پوشش به سه گروه تقسیم می گردند :

  • شبکه های محلی ( کوچک ) LAN

  • شبکه های متوسط MAN

  • شبکه های گسترده WAN

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

  • توانائی ارسال اطلاعات با سرعت بالا

  • محدودیت فاصله

  • قابلیت استفاده از محیط مخابراتی ارزان نظیر خطوط تلفن به منظور ارسال اطلاعات

  • نرخ پایین خطاء در ارسال اطلاعات با توجه به محدود بودن فاصله

شبکه های MAN . حوزه جغرافیائی که توسط این نوع شبکه ها پوشش داده می شود ، در حد و اندازه یک شهر و یا شهرستان است . ویژگی های این نوع از شبکه ها بشرح زیر است :

  • پیچیدگی بیشتر نسبت به شبکه های محلی

  • قابلیت ارسال تصاویر  و صدا 

  • قابلیت ایجاد ارتباط بین چندین شبکه

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

  • قابلیت ارسال اطلاعات بین کشورها و قاره ها

  • قابلیت ایجاد ارتباط بین شبکه های LAN

  • سرعت پایین ارسال اطلاعات نسبت به شبکه های LAN

  • نرخ خطای بالا با  توجه به گستردگی محدوده تحت پوشش

کابل در شبکه

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

کابل Unshielded Twisted pair )UTP) 
متداولترین نوع کابلی که در انتقال اطلاعات استفاده می گردد ، کابل های بهم تابیده می باشند. این نوع کابل ها دارای دو رشته سیم به هم پیچیده بوده که هر دو نسبت زمین  دارای یک امپدانش یکسان می باشند. بدین ترتیب امکان تاثیر پذیری این نوع کابل ها از کابل های مجاور و یا سایر منابع خارجی کاهش خواهد یافت . کابل های بهم تابیده دارای دو مدل متفاوت : Shielded ( روکش دار ) و Unshielded ( بدون روکش ) می باشند. کابل UTP نسبت به کابل STP بمراتب متداول تر بوده و در اکثر شبکه های محلی استفاده می گردد.کیفیت کابل های UTP متغیر بوده و از کابل های معمولی استفاده شده برای تلفن تا کابل های با سرعت بالا را شامل می گردد. کابل دارای چهار زوج  سیم بوده  و درون یک روکش قرار می گیرند.  هر زوج  با تعداد مشخصی پیچ تابانده شده ( در واحد اینچ ) تا تاثیر پذیری آن از سایر زوج ها و یاسایر دستگاههای الکتریکی  کاهش یابد.

 کابل های UTP دارای استانداردهای متعددی بوده که در گروههای (Categories) متفاوت  زیر تقسیم شده اند:

 Type

کاربرد

Cat 1فقط صوت ( کابل های تلفن )
Cat 2داده  با سرعت 4 مگابیت در ثانیه
Cat 3داده با سرعت 10 مگابیت در ثانیه
Cat 4داده با سرعت 20 مگابیت در ثانیه
Cat 5داده با سرعت 100 مگابیت در ثانیه

مزایای کابل های بهم تابیده :

  • سادگی و نصب آسان

  • انعطاف پذیری مناسب

  • دارای وزن کم بوده و براحتی بهم تابیده می گردند.

معایب کابل های بهم تابیده :

  • تضعیف فرکانس

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

  • پایین بودن پهنای باند 

  • بدلیل پذیرش پارازیت در محیط های الکتریکی سنگین بخدمت گرفته  نمی شوند.

کانکتور استاندارد برای کابل های UTP  ، از نوع  RJ-45 می باشد. کانکتور فوق شباهت زیادی به کانکتورهای تلفن (RJ-11) دارد. هر یک از پین های کانکتور فوق می بایست بدرستی پیکربندی  گردند. (RJ:Registered Jack)

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

مزایای کابل های کواکسیال :

  • قابلیت اعتماد بالا

  • ظرفیت بالای انتقال ، حداکثر پهنای باند 300 مگاهرتز

  • دوام و پایداری خوب

  • پایطن بودن مخارج نگهداری

  • قابل استفاده در سیستم های آنالوگ و دیجیتال

  • هزینه پائین در زمان توسعه

  • پهنای باند نسبتا" وسیع که مورد استفاده اکثر سرویس های مخابراتی از جمله تله کنفرانس صوتی و تصویری است .

معایب کابل های کواکسیال :

  • مخارج بالای نصب

  • نصب مشکل تر نسبت به کابل های بهم تابیده

  • محدودیت فاصله

  • نیاز به استفاده از عناصر خاص برای انشعابات

از کانکتورهای BNC)Bayone -Neill - Concelman) بهمراه کابل های کواکسیال استفاده می گردد.  اغلب کارت های شبکه دارای کانکتورهای  لازم در این خصوص می باشند.

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

مزایای فیبر نوری :

  • حجم و وزن کم

  • پهنای باند بالا

  • تلفات  سیگنال کم و در نتیجه فاصله تقویت کننده ها زیاد می گردد.

  • فراوانی مواد تشکیل دهنده آنها

  • مصون بودن از اثرات القاهای الکترو معناطیسی مدارات دیگر

  • آتش زا نبودن آنها بدلیل عدم وجود پالس الکتریکی در آنها

  • مصون بودن در مقابل عوامل جوی و رطوبت

  • سهولت در امر کابل کشی و نصب

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

  • مصونیت در مقابل پارازیت

معایب فیبر نوری :

  • براحتی شکسته شده و می بایست دارای یک پوشش مناسب باشند. مسئله فوق با ظهور فیبر های تمام پلاستیکی و پلاستیکی / شیشه ای کاهش پیدا کرده است .

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

  • از اتصالات T شکل در فیبر نوری نمی توان جهت گرفتن انشهاب استفاده نمود. در چنین حالتی فیبر می بایست بریده شده و یک Detector اضافه گردد. دستگاه فوفق می بایست قادر به دریافت و تکرار سیگنال را داشته باشد.

  • تقویت سیگنال نوری یکی از مشکلات اساسی در زمینه فیبر نوری است . برای تقویت سیگنال می بایست سیگنال های توری به سیگنال های الکتریکی تبدیل ، تقویت و مجددا" به علائم نوری تبدیل شوند.

کابل های استفاده شده در شبکه های اترنت

SpecificationCable TypeMaximum length
10BaseTUnshielded Twisted Pair100 meters
10Base2Thin Coaxial185 meters
10Base5Thick Coaxial500 meters
10BaseFFiber Optic2000 meters
100BaseTUnshielded Twisted Pair100 meters
100BaseTXUnshielded Twisted Pair220 meters

 

شناخت نرم افزار

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

نرم افزار‌ها از منظرهای مختلفی قابل دسته بندی و تقسیم می باشند و متخصصین علوم رایانه ای با توجه به ابعاد مختلف نرم افزار به ارائۀ تقسیم بندی های متفاوتی از این پدیدۀ فناورانه پرداخته اند.

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

 ۱-تقسیم بندی های فنی نرم افزار

به جهت فنی و ابعاد مرتبط با علوم رایانه ای، نرم افزار ها را با توجه به معیارهای گوناگون از جمله هدف و مأموریت نرم افزار، زمینۀ استفاده، نوع نقش و عملکرد و یا کاربر نرم افزار، می توان مورد تقسیم بندی‌های مختلفی قرار داد. ذیلاً با توجه به معیارهای پیش گفته به بررسی انواع نرم افزارها از جهت فنی خواهیم پرداخت.

1-1-  نرم افزارهای پایه(Programming Software) :

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

1-2-  نرم افزارهای سیستمی(System Software) :

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

میان افزارها و سیستم ورودی و خروجی بایوس، ابزاری را فراهم می کنند تا سخت افزار به کار گرفته شود.         

1-3-  نرم افزارهای کاربردی(Application Software) :

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

1-3-1-   بدافزارها (Malware):

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

1-3-2-   ابزارهای تبلیغاتی مزاحم(Adware) :

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

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

1-3-3-   نرم افزار انبار گردانی(Inventory Management Software) :

این نوع از نرم افزار به یک سازمان در ردیابی کالاها و مواد خود بر اساس کیفیت و کمیت کمک می کند. توابع مدیریت موجودی انبار شامل نقل و انتقالات  انبار داخلی و ذخیره سازی می باشد. این نرم افزار انبار کمک می کند تا یک شرکت در سازماندهی موجودی و بهینه سازی جریان کالا در سازمان خود بهتر عمل کرده و در نتیجه این امر به بهبود خدمات به مشتریان منجر می شود.

 

1-3-4-   نرم افزارهای جانبی (Utilities Software):

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

1-3-5-   نرم افزار پشتیبان و بازیابی اطلاعات(Data Backup and Recover Software):

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

1-3-6-   نرم افزار های پردازش داده ها :

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

1-3-7-   نرم افزارهای شبیه سازی و مدل سازی :

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

1-3-8-   نرم افزارهای سیستم خبره :

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

1-3-9-   نرم افزار های سیستم بی درنگ :

در این سیستم ها، عکس العمل بلافاصله صورت می گیرند. نرم افزار های بدین منظور بیشتر در مراکز تولیدی نظیر پالایشگاه مورد استفاده دارد که با بروز هر عامل و علامتی، بی درنگ عکس العمل نشان داده و به تنظیم فرآیند تولید می پردازد.

1-3-10-  نرم افزارهای سسیتم نهفته :

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

۲-تقسیم بندی های حقوقی نرم افزار  

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

 

2-1-  نرم افزارهای سفارشی(Custom Software) :

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

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

 

 2-2-  نرم افزارهای ردۀ عام(Off-the-Shelf Software) :

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

 

2-3-  نرم افزار رایگان(free Softwer):

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

  

2-4- نرم افزارهای منبع باز و منبع بسته (Open Source and Closed Source Software):

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

2-5- نرم افزارهای اختصاصی (Proprietary Software) :

در نرم افزارهای اختصاصی، حقوق قانونی منحصراً برای دارندۀ حق تکثیر باقی مانده و اکثر نرم افزارهای اختصاصی به صورت منبع بسته در دسترس قرار می گیرند.

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

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

2-6- نرم افزارهای مشروط و نرم افزارهای جزئی :  (Shareware and Retail Software)

در حالی که نرم افزارهای مشروط به عنوان نسخۀ آزمایشی به کاربران عرضه می شود، نرم افزارهای جزئی به کاربران نهایی فروخته می شوند. با افزایش دسترسی به نرم افزارهای مشروط و رایگان بر روی اینترنت، بازار نرم افزارهای جزئی تغییر می کند. طراحان و فروشندگان، شروع به ارائۀ نرم افزارهایشان جهت فروش بر روی اینترنت می کنند. مکرراً نرم افزارهای مشروط به عنوان نرم افزاری غیر فعال(crippleware)، که در آنها ابعاد اصلی نرم افزار عمل نمی کنند و پس از اتمام دورۀ آزمایش به طور کلی از کار می افتند. اگرچه نرم افزار های مشروط قالب های بسیار مشهوری هستند که در این قالب، نرم افزارهای جزئی کاملاً  از این شهرت و تداول برخوردار نیست. برای مثال نرم افزار Microsoft office یک نرم افزار بسته بندی شدۀ جزئی است که می بایستی خریده شوند. نرم افزار های جزئی ممکن است به عنوان بستۀ تجهیزات اصلی تولید منتقل شوند (OEM) در حال حاضر طراحان نرم افزار، به تولید کنندگان بزرگ بر اساس یک قرارداد لیسانس یک نسخه از کپی نرم افزار را به ایشان تحویل می دهند تا قبل از خرید امکان نصب نرم افزار مزبور را بر روی دستگاه های رایانه خود نصب کنند. بنابراین در بسته های موسوم به (Box Package Form) یک نسخه کپی از نرم افزار مجوز دار از طریق  نمایندگی های مجاز به مشتریان تحویل داده می شود.

 

     2-7-  نرم افزار اختراعی و نرم افزار کپی رایتی : (Patent software and copy right software  )

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

2-8- نرم افزار مشاع و نرم فزار غیر مشاع :

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

2-9- نرم افزار مکمل و نرم افزار سازگار :

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

2-10- نرم افزارهای واسط و غیر واسط :

ماده 4 قانون حمایت از پدیدآورندگان نرم افزارهای رایانه ای چنین مقرر داشته که :

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

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

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

همچنین در تعریف نرم افزارهای مذکور گفته اند، منظور از نرم افزارهای واسط یا رابط برنامه‌نویسی نرم‌افزار (به انگلیسی: Application Programming Interface یا API)‏ یا به صورت خلاصه رابط برنامه نویسی، رابط بین یک کتابخانه یا سیستم‌عامل و برنامه‌هایی است که از آن تقاضای سرویس می‌کنند.

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

برای مثال مایکروسافت برای APIهای ویندوز مرجع‌هایی استاندارد دارد که با استفاده از آنها برنامه‌نویسان می‌توانند از قابلیت‌ها و سرویس‌های سیستم‌عامل در توسعه و نوشتن برنامه‌های کاربردی خود استفاده کنند.

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

منبع: systemgroup.net