سیمبیان
از ویکیپدیا، دانشنامهٔ آزاد.
این مقاله نیازمند ویکیسازی است. لطفاً با توجه به راهنمای ویرایش و شیوهنامه آن را تغییر دهید. در پایان، پس از ویکیسازی این الگوی پیامی را بردارید. |
در متن این مقاله از هیچ منبع و ماخذی نام برده نشدهاست. شما میتوانید با افزودن منابع بر طبق اصول اثباتپذیری و شیوهنامهٔ ارجاع به منابع، به ویکیپدیا کمک کنید. مطالب بیمنبع احتمالاً در آینده حذف خواهند شد. |
سیمبیان | |
شرکت سازنده | سیمبیان (با مسئولیت محدود) |
نوع هسته | Real Time |
نوع منبع | مشترک |
پلاتفرم | ARM (قابل شبیه سازی روی x86) |
واسط های کاربری استاندارد | S60 platform, UIQ |
وضعیت | رایج |
وب گاه | www.symbian.com |
فهرست مندرجات |
[ویرایش] Symbian چیست؟
در ابتدا تلفنهای همراه دارای ساختار پیچیدهای نبودند. سخت افزار محدود نیاز به نرمافزارهای پیچیده نداشت، تا اینکه شرکتهای مطرح ساخت گوشیهای تلفن همراه نسلهای دوم و سوم گوشیهای خود را عرضه کردند. این گوشیها دارای امکانات سخت افزاری بیشتری بودند که شامل پردازنده، حافظه و دیسک سخت بوده و تقریباً به صورت یک رایانه کوچک طراحی شدند. در این زمان بود که این شرکتها به اهمیت نرمافزار در این گوشیها پی برده و رقابت نرمافزاری در کنار رقابت سختافزاری شروع شد. مایکروسافت یکی از شرکتهایی بود که قبلا روی سیستم عامل رایانههای جیبی خود کار کرده بود و ویندوز سیای را به همین منظور طراحی کرده بود. این ویندوز قابلیت این را داشت که روی موبایلها نیز نصب شود. بعد از رسمیت یافتن موبایلهای نسل جدید شرکتهای مطرح در این صنعت که به مشکلات بی شمار ویندوز سیای پی برده بودند و نمیخواستند نرمافزار این صنعت را در انحصار یک شرکت نگه دارند با همکاری هم سیستم عامل جدیدی برای موبایلها به وجود آوردند که سیمبیان نام گرفت. البته رقبای دیگری نیز مثل سیستم عامل لینوکس در این صنعت وجود دارند که فعلا به صورت عمده استفاده نشدهاند. در اصطلاح به موبایلهایی که از این سیستم عامل استفاده میکنند SmartPhone گفته میشود.
[ویرایش] پیدایش و حیات سیمبیان
داستان بوجود آمدن Symbian نیز در نوع خود جالب است . داستان ما از شرکت کوچک انگلیسی-کانادائی با نام Psion آغاز می شود که در سال 1980 با هدف تولید نرم افزارهای سرگرمی که عمدتاً بازی های مبتنی بر کامپیوترهای اولیه ZX81 بود ، بوجود آمد (نام Psion برگرفته از Potter Scientific Instruments Or Nothing). در سال 1983 شرکت همکار Psion با نام Sinclair به آن پیشنهاد تولید نرم افزاری کاربردی نظیر Office امروزی را داد که نتیجه آن تولید پکیجی با نام QL شد که دارای نرم افزارهای Quill (پردازنده متن)، Archive (بانک اطلاعاتی)، Abacus (برنامه مشابه Excel) و Easel (برنامه گرافیکی مدیریت) بود که این مجموعه بعدها با نام PC-Four یا Xchange وارد سیستم عامل MS-DOS نیز شد. علاوه بر آن در سال 1984 شرکت Psion با ارائه Psion Organiser ،که در حقیقت نسخه ابتدائی PDA های امروزی ست، پا در عرصه سخت افزاری نیز گذاشت که شباهت زیادی به یک ماشین حساب بسیار بزرگ داشت. در سال 1986 شرکت Psion با اعمال تغییرات و اصلاحیه های فراوان Psion Organiser II را معرفی نمود که شرکت Psion را به آینده روشن PDA و سیستم عامل پرتاب کرد و تمرکز اصلی شرکت را بروی این مقوله متمرکز نمود. در سال 1987 شرکت Psion با ارائه محصولات جدید خود بر پایه پلاتفرم جدید آن شرکت با نام SIBO ، سیستم عامل جدید مخصوص به محصولات خود را نیز معرفی کرد سیستم عاملی با نام EPOC (Electronic Piece Of Cheese). اولین نسخه این سیستم عامل جدید بر پایه تکنولوژی 16 بیتی ارائه شد و بر همین اساس EPOC 16 نام گرفت و زبان برنامه نویسی که در ساختار آن به کار گرفته شده بود زبان اسمبلی و C بود. تا ارائه نسل جدید این سیتم عامل سالهای نسبتاً زیادی گذشت تا اینکه در سال 1997 نخستین نمونه از سیستم عامل جدید با نام EPOC 32 در جدیدترین PDA شرکت به نمایش گذاشته شد. در حقیقت تنها وجه تشابه میان این دو سیستم عامل بدون شک نام های نسبتاً مشابه آنها بود جائیکه سیسم عامل جدید (که اینک به اختصار تنها EPOC نامیده می شد) با زبان برنامه نویسی قدرتمند C++ و ساختار جدید کد نویسی خود کاملاً از رقیب کهنسال خود بالاتر و سریع تر بود. یکی از نکات مهم در ساختار این سیتم عامل این بود که EPOC تنها برای پردازنده های ARM نوشته و بهینه شده بود. در همین اثنا بود که Psion تصمیم گرفت امتیاز تولیدمحصولات بر پایه این سیستم عامل را با شرکت دیگری شریک شود، اولین شرکت در این میان شرکت کوچکی بود با نام "Geofox" که تنها با تولید چیزی نزدیک به 1000 عدد از محصولات Psion کناره گیری خود را اعلام کرد. سپس شرکت بزرگ Ericsson و چندین نام کوچکتر در این میان مطرح گردیدند . تا اینکه در سال 1998 شرکت Psion با شراکت با بزرگان دنیای موبایل یعنی Ericsson، Motorola و Nokia به کل متحول گردید و سیستم عامل EPOC از ویرایش ششم به بعد با نام Symbian خوانده شد.
[ویرایش] مشخصات ورژن های مختلف سیمبیان
تا کنون 10 سیستم عامل با نام Symbian منتشر شده اند که آخرین نسخه استفاده شده در گوشی های معمول نسخه 9.2 آن است .آخرین نسخه هایی هم که به نمایش درآمده ولی هنوز خبری از استفاده آنها در گوشی های موبایل نیست نسخه های 9.3 و 9.5 می باشد که به ترتیب در جولای 2006 و مارچ 2007 به نمایش درآمده اند. از تغییراتی که در نسخه 9.5 نسبت به نسخه های دیگر دیده می شود یکی اینکه برنامه ها تا 75% سریعتر اجرا میشوند و دیگری بهینه سازی جهت تکنولوژی DVB-HTV در آن است علاوه بر این پشتیبانی از SQL نیز توسط SQLite در آن فراهم شده است.
[ویرایش] شرکتهای به وجود آورنده:
14 شرکت اصلی و چند شرکت فرعی از به وجود آوردندگان این محصول بودند، بعضی از این شرکتها در زمینه نرمافزار و بعضی از آنها در زمینه سختافزار به رشد این سیستم عامل و موبایلهای آن کمک کردهاند. در آن نوکیا با 47.9% پیشتاز است و پس از آن Ericsson با 15.6% ، SonyEricsson با 13.1% ، پاناسونیک با 10.5% ، Siemens با 8.4% و سامسونگ با 4.5% قرار دارند
[ویرایش] فناوری سیمبیان
Symbian سیستم عاملی ست که شاید مهمترین توصیف در قبال آن این است: Symbian سیستم عاملی ست برای وسایل دستی و همراه پس می بایست قدرت ارائه بالاترین کارائی در پائین ترین امکانات سخت افزاری را داشه باشد بنابراین و با در نظر گرفتن این ویژگی بسیار کم پیش می آید که در این سیستم عامل با موضوع کمبود حافظه روبرو شویم . یکی دیگر از ویژگیهایی که Symbian را از سیستم عاملهای دیگر نظیر دسک تاپ ها متمایز می کند این است که ممکن است این سیستم عامل برای ماهها و شاید سالها روشن و مشغول به کار باقی بماند بنابراین قدرت پایداری و Stability این سیستم می بایست در سطح بسیار بالائی قرار بگیرد. از دیگر ویژگی های Symbian ویژگی ست با نام Active Objects که در آن در لحظاتی که از CPU استفاده نمی شود بطور کلی آن را خاموش می کند و به این ترتیب در مصرف باتری بسیار صرفه جوئی می گردد. زبان برنامه نویسی اصلی Symbian همانگونه که اشاره شد C++ می باشد که البته این بدان معنی نیست که نمی توان برنامه های دیگر را در ساختار آن استفاده کرد . در حقیقت می توان توسط زبان های برنامه نویسی دیگری نظیر OPL،Python ،ویژوال بیسک و یا حتی Perl و جاوا نیز برای Symbian برنامه نوشت. از لحاظ ساختاری در پائین ترین لایه، هسته یا کرنل سیستم عامل بهمراه کتابخانه توابع قرار دارد که به توسط آن برنامه های اجرا شده توسط کاربران اجازه می یابند که به این توابع کتابخانه ای دسترسی پیدا کنند. در حقیقت هسته اصلی Symbian بر پایه معماری میکرو کرنل (MicroKernel Architecture) بنا شده است بدین معنی که در ساختار آن کمترین رجوع و استفاده از کرنل توسط سیستم عامل انجام می شود و کلا این هسته شامل دو عنصر مدیریت حافظه و Schedular می باشد و در آن خبری از پشتیبانی از فایل های سیستمی و یا عناصر شبکه وجود ندارد و در حقیقت اینگونه وظایف به عهده سرور های خارج از کرنل واگذار شده است تا با محدود کردن وظایف کرنل سیستم عامل کند و سنگین نگردد. اندکی بالاتر و در لایه بعدی سیستم، قسمت System Libraries قرار دارد که در آن اندازه و ظاهر تمام شکل ها و کاراکتر ها بهمراه بانک اطلاعاتی DBMS قرار دارد که جزئی حیاتی از کارکرد متعادل سیستم می باشند. لایه بعدی Networking and communication نام دارد که در آن سه بخش قابل تفکیک دیده می شود با نام های : ETEL ، ESOCK و C32 که هر کدام وظایف خاصی در رابطه با ارتباطات پیرامون این سیستم عامل بعهده می گیرند بهعنوان مثال قسمت C32 مسئول بخش ارتباطات سریال دستگاه می باشد. علاوه بر این قسمت هایی برای ارتباطات کوتاه نظیر بلوتوث IrDA و USB نیز در این بخش تعبیه شده است. بخش عمده دیگری که در ساختار سیستم عامل یافت می شود بخشی ست با نام UIKON که مسئول شیوه نمایش رابط کاربری (User Interface) می باشند و چون معمولاً این قسمت توسط برنامه های جانبی (Themeها بهعنوان مثال) قابل تغییر است لذا تنها رابط کاربری پیش فرض در اینجا دیده می شود
[ویرایش] زبانهای برنامه نویسی برای سیمبیان
بدون شک زبان اصلی برنامه نویسی برای سیمبیان زبان ++C است اما زبانهای مختلفی برای برنامه نویسی در این سیستم عامل به وجود آمدهاند.
++C
سیستم عامل symbian با زبان c++ نوشته شده و بهمین دلیل این زبان بهعنوان زبان اولیه برای برنامه نویسی در آن انتخاب شده است .C++ بیشترین امکان دسترسی به API های سیستم عامل سیمبیان را فراهم میکند و بهترین کارکرد در حافظه و سرعت اجرا را داراست. اما در گزینه های زیر باید ازین زبان استفاده شود :
برنامه هایی که مانند سرور عمل میکنند مانند برنامه هایی که در پشت صحتنه کار میکنند و یکی از بخش های سیستم را مدیریت میکنند. مانند پورت های COM PLUG in ها که محیطی را بر پایه سیستم عامل ایجاد میکنند . بطور مثال برنامه ای که فایل های html را به فایل های word سیمبیان تبدیل میکند از کتابخانه مبدل سیستم عامل استفاده میکند . درایور های دستگاه که با Kernel کار متعامل میکنند. استفاده از زبان C++ در سیستم عامل سیمبیان بر روی مناسب بودن کارکرد گوشی ها متمرکز شده است ، که بدین معناست که چند تا از عملگرهای استاندارد زبان C++ مانند مدیریت استثناها قابل استفاده در برنامه نویسی سیمبیان نیستند .
JAVA
جاوا اکثرا بهعنوان زبان برادر c++ و جایگزین آن در سیمبیان کاربرد دارد. سیستم عامل symbian یک MIDP (Mobile Information Device Profile)را فراهم کرده است که MIDP یک گروه از API های جاوا را در خود جای داده که این API ها برای استفاده در گوشی های موبایل طراحی شده اند . مثلاً برای مقاصد طراحی واسط کاربر ، شبکه و برنامه ها . MIDP تحت کلاس های ایجاد شده توسط CLDC اجرا میشود و از ماشین مجازی K استفاده میکند که یک ماشین مجازی طراحی شده برای گوشی های موبایل است.پشتیبانی سیمبیان از نصب و اجرای برنامه های MIDP در راهنمای MIDP جاوا توضیح داده شده است.
PersonalJava 1.1.1 و JavaPhone که در سیمبیان ورژن 6 آمدند در ورژن 7 دیگر بخشی از سیستم عامل نیستند.
Python
زبان پایتون و برنامه نویسی اپن سورس جدیدا وارد دنیای سیمبیان و برنامه نویسی موبایل شده است . مفسر ها و ابزاری چون py2sis (برای تبدیل کد پایتون به فایل sis) نیز توسط شرکت نوکیا اراءه شده است . هم اکنون برنامه های نوشته شده با پایتون بخوبی بر روی سری ۶۰ نوکیا اجرا می گردند .
Assembler
اکثر مقاصد برنامه نویسی با زبان C++ مرتفع میگردد . چون این زبان به اندازه کافی دسترسی به بخش های سطح پایین سیستم را فراهم میکند و نیاز به اسمبلر حس نمیشود. سیمبیان در موارد خاص که بیشترین کارایی مطرح است از اسمبلر استفاده میکند مانند برنامه های scheduler.
JavaScript
جاوا اسکریپت پروسس کلاینت ساید روی صفحات html را بر عهده دارد و اکثرا برای بررسی درستی ورودی کاربر استفاده میشود .
WML Script
این زبان یک زبان اسکریپتی WAP است که با جاوا اسکریپت اهداف یکسانی را دنبال میکنند. اما در یک مرورگر WAP استفاده میشود .
C
این زبان بطور نرمال برای نوشتن برنامه های جدید سیمبیان استفاده نمیشه ، اما میتونه یک انتخاب برای شما باشه هنگامی که میخواهید کد C را به سیمبیان تبدیل کنید . برای این هدف سیمبیان شامل یک جعبه ابزار از کتابخانه استاندارد C می باشد.
OPL
یک زبان مانند بیسیک است که روی PDA ها فعال شده بود . اما در سیمبیان ورژن 7 ساپورت نمیشود .
[ویرایش] رابطهای کاربری:
هم اکنون دو رابط اصلی کاربری برای سیمبیان به وجود آمده است. اولین رابط که بیشترین استفاده را در موبایلها دارد توسط نوکیا نوشته شده است. این رابط دارای نسخههای مختلفی است اما Series 60 نسخه اصلی این رابط است که بسیار مورد استقبال قرار گرفته است. رابط کاربری دوم با نام UIQ به وجود آمده است که دارای امکانات بسیار خوبی است و رفته رفته در حال باز کردن جای خود در بین شرکتهای تولید کننده موبایل است. هر دوی این رابطها به صورت کاملاً گرافیکی و شبیه به هم طراحی شدهاند و کار با آنها بسیار راحت است.
[ویرایش] معرفی UIQ و S60:
از ساختار درونی سیستم عامل که بگذریم شاید مهمترین نکته قابل بررسی در ساختار Symbian نگارش های متفاوت آن است، این نگارش ها و یا رابط های کاربری هر کدام به شیوه خود از مزایای Symbian بهره مند شده اند و هر کدام نیز به شیوه خود یک SDK برای برنامه نویسان Symbian فراهم می کنند(Software Developing Kitیا SDK بطور خلاصه مجموعه ای از ابزارهای طراحی و توسعه در هر نرم افزار است که در حقیقت تولید کننده یک برنامه نظیر یک سیستم عامل با انتشار آزادانه SDK آن سیستم عامل به برنامه نویسان اجازه می دهد که با استفاده از ساختار سیستم عامل نسبت به گسترش استفاده عموم از آن با استفاده از برنامه های مختلف نوشته شده اقدام نمایند و به بیانی ساده تر تولید کننده راهی را به برنامه نویس نشان می دهد که بتواند بدان صورت برنامه های مختلف را برای آن بنویسند) . عمده ترین رابط های کاربری موجود برای Symbian رابط های کاربری UIQ و S60 هستند که هر کدام نیز توسط گوشی های مختلفی استفاده می شوند، و در این میان هرکدام از این دو نیز برای خود ویژگی های منحصر به فردی دارند. عمده ترین استفاده کننده رابط کاربری UIQ ،گوشی های سونی اریکسون هستند که البته در میان نوکیایی ها هم گوشی ای مثل Nokia 6708 وجود دارد که دارای UIQ می باشد. S60 رابط کاربری عمده گوشی های نوکیا می باشد و توسط آنها نیز به سایر شرکت ها جهت استفاده از آن مجوز داده می شود شرکت هایی نظیر : Lenovo ،LG Electronics ،Panasonic و Samsung . مشخصه عمده گوشی های دارای رابط کاربری S60 این است که در آنها می توان از برنامه های مبتنی بر Java MIDP، C++ و Python نیز استفاده نمود. S60 دارای سه نگارش مختلف است که به ترتیب عبارتاند از نگارش اولیه در سال 2001 ، نگارش Second Edition در سال 2004 و نگارش 3rd Edition در سال 2005 که در میان این نگارش ها نیز هر از چند گاهی اصلاحیه هایی با نام Feature Pack ها ارائه می گردد. رزولوشن پیش فرض S60 در نگارش اولیه 208×176 پیکسل بود که از Feature Pack شماره 3 نگارش دوم S60 به بعد این رابط توانائی ساپورت رزولوشن های 208×176 ، 320×240 و 416×352 پیکسلی را متناسب با نوع گوشی دارا شد (در این میان مثلاً Nokia N90 اولین گوشی بود که با رزولوشن 416×352 پیکسلی ارائه شد). البته در این میان رزولوشن های عجیب و غریب متناسب با ظاهر گوشی شکل گرفت مثلاً Siemens SX1 با رزولوشن 220×176 و یا Nokia 5500 با رزولوشن 208×208 پیکسلی.
و اما رابط کاربری UIQ بر مبنای زبان برنامه نویسی C++ شکل گرفته است و در آن می توان از برنامه های Java نیز استفاده کرد (خبری از پشتیبانی از Python در آن نیست).
ظاهر بسیار آسان و امکانات بسیار فراوان، UIQ را به سیستمی ایده آل تبدیل کرده است. یکی از نکات مثبت در درون UIQ خصوصیتی ست که در آن تمامی تغییرات بوجود آمده در یک Application بصورت کاملاً خودکار حتی هنگامی که برنامه هنوز باز است در آن ذخیره می گردد و کاربر به هیچ عنوان نگرانی بابت از دست دادن اطلاعات باز بروی صفحه را ندارد. ورژن های مختلفی از UIQ ارائه گردیده است که هر کدام در نوع خود تفاوت هایی با دیگری دارد ولیکن یکی از نکات مشترک در ساختار آنها شکل گرفتن تقریباً تمامی آن ها بر پایه صفحه حساس به تماس و قلم است. رزولوشن صفحه نمایش در نسخه های UIQ 1.X و UIQ 2.X برابر 320×208 پیکسل و در نسخه UIQ 3.X بر پایه 320×240 پیکسل می باشد. یکی از نکات جالب در مورد گوشی های دارای UIQ مسئله عمق رنگ است که با توجه به مدل گوشی، این عمق رنگ 12 بیت (با 4096 رنگ) ،16 بیت (با 65 هزار رنگ) و یا 18 بیت (با 262 هزار رنگ) می باشد که شاید این یکی از دلایل 16 میلیون رنگی نبودن گوشی های سونی اریکسون باشد(حداقل در مورد مدل های سیستم عامل دار آن). آخرین نسخه ای که از UIQ منتشر شده است نسخه 3.1 آن است که تا بحال فقط در گوشی Motorola Z8 دیده شده است. البته گوشی استثنائی موتورولا با نام Motorola Z10 که فقط چند روز از معرفی آن می گذرد ، نیز از این رابط استفاده کرده است