Symbian چیست؟
در ابتدا تلفنهای همراه دارای ساختار پیچیدهای نبودند. سختافزار محدود نیاز به نرمافزارهای پیچیده نداشت، تا اینکه شرکتهای مطرح ساخت گوشیهای تلفن همراه نسلهای دوم و سوم گوشیهای خود را عرضه کردند. این گوشیها دارای امکانات سختافزاری بیشتری بودند که شامل پردازنده، حافظه و دیسک سخت بوده و تقریباً به صورت یک رایانه کوچک طراحی شدند. در این زمان بود که این شرکتها به اهمیت نرمافزار در این گوشیها پی برده و رقابت نرمافزاری در کنار رقابت سختافزاری شروع شد. مایکروسافت یکی از شرکتهایی بود که قبلا روی سیستمعامل رایانههای جیبی خود کار کرده بود و ویندوز سیای را به همین منظور طراحی کرده بود. این ویندوز قابلیت این را داشت که روی موبایلها نیز نصب شود. بعد از رسمیت یافتن موبایلهای نسل جدید شرکتهای مطرح در این صنعت که به مشکلات بی شمار ویندوز سیای پی برده بودند و نمیخواستند نرمافزار این صنعت را در انحصار یک شرکت نگه دارند با همکاری هم سیستمعامل جدیدی برای موبایلها به وجود آوردند که سیمبیان نام گرفت.
پیدایش و حیات سیمبیان
داستان بوجود آمدن Symbian نیز در نوع خود جالب است . داستان ما از شرکت کوچک انگلیسی-کانادائی با نام Psion آغاز می شود که در سال ۱۹۸۰ با هدف تولید نرمافزارهای سرگرمی که عمدتاً بازیهای مبتنی بر کامپیوترهای اولیه ZX۸۱ بود ، بوجود آمد (نام Psion برگرفته از Potter Scientific Instruments Or Nothing). در سال ۱۹۸۳ شرکت همکار Psion با نام Sinclair به آن پیشنهاد تولید نرمافزاری کاربردی نظیر Office امروزی را داد که نتیجه آن تولید پکیجی با نام QL شد که دارای نرمافزارهای Quill (پردازنده متن)، Archive (بانک اطلاعاتی)، Abacus (برنامه مشابه Excel) و Easel (برنامه گرافیکی مدیریت) بود که این مجموعه بعدها با نام PC-Four یا Xchange وارد سیستمعامل MS-DOS نیز شد. علاوه بر آن در سال ۱۹۸۴ شرکت Psion با ارائه Psion Organiser، که در حقیقت نسخه ابتدائی PDAهای امروزی ست، پا در عرصه سختافزاری نیز گذاشت که شباهت زیادی به یک ماشین حساب بسیار بزرگ داشت. در سال ۱۹۸۶ شرکت Psion با اعمال تغییرات و اصلاحیههای فراوان Psion Organiser II را معرفی نمود که شرکت Psion را به آینده روشن PDA و سیستمعامل پرتاب کرد و تمرکز اصلی شرکت را بروی این مقوله متمرکز نمود. در سال ۱۹۸۷ شرکت Psion با ارائه محصولات جدید خود بر پایه پلاتفرم جدید آن شرکت با نام SIBO، سیستمعامل جدید مخصوص به محصولات خود را نیز معرفی کرد سیستمعاملی با نام EPOC (Electronic Piece Of Cheese). اولین نسخه این سیستمعامل جدید بر پایه تکنولوژی ۱۶ بیتی ارائه شد و بر همین اساس EPOC ۱۶ نام گرفت و زبان برنامه نویسی که در ساختار آن به کار گرفته شده بود زبان اسمبلی و C بود. تا ارائه نسل جدید این سیتم عامل سالهای نسبتاً زیادی گذشت تا اینکه در سال ۱۹۹۷ نخستین نمونه از سیستمعامل جدید با نام EPOC ۳۲ در جدیدترین PDA شرکت به نمایش گذاشته شد. در حقیقت تنها وجه تشابه میان این دو سیستمعامل بدون شک نامهای نسبتاً مشابه آنها بود جائیکه سیسم عامل جدید (که اینک به اختصار تنها EPOC نامیده میشد) با زبان برنامه نویسی قدرتمند C++ و ساختار جدید کد نویسی خود کاملاً از رقیب کهنسال خود بالاتر و سریع تر بود. یکی از نکات مهم در ساختار این سیتم عامل این بود که EPOC تنها برای پردازندههای ARM نوشته و بهینه شده بود. در همین اثنا بود که Psion تصمیم گرفت امتیاز تولیدمحصولات بر پایه این سیستمعامل را با شرکت دیگری شریک شود، اولین شرکت در این میان شرکت کوچکی بود با نام "Geofox" که تنها با تولید چیزی نزدیک به ۱۰۰۰ عدد از محصولات Psion کناره گیری خود را اعلام کرد. سپس شرکت بزرگ Ericsson و چندین نام کوچکتر در این میان مطرح گردیدند . تا اینکه در سال ۱۹۹۸ شرکت Psion با شراکت با بزرگان دنیای موبایل یعنی Ericsson، Motorola و Nokia به کل متحول گردید و سیستمعامل EPOC از ویرایش ششم به بعد با نام Symbian خوانده شد.
شرکتهای به وجود آورنده
۱۴ شرکت اصلی و چند شرکت فرعی از به وجود آوردندگان این محصول بودند، بعضی از این شرکتها در زمینه نرمافزار و بعضی از آنها در زمینه سختافزار به رشد این سیستمعامل و موبایلهای آن کمک کردهاند. در این زمینه نوکیا با ۴۷.۹% پیشتاز است و پس از آن Ericsson با ۱۵.۶% ، SonyEricsson با ۱۳.۱%، پاناسونیک با ۱۰.۵% ، Siemens با ۸.۴% و سامسونگ با ۴.۵% قرار دارند
فناوری سیمبیان
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 و C۳۲ که هر کدام وظایف خاصی در رابطه با ارتباطات پیرامون این سیستمعامل بعهده دارند بهعنوان مثال قسمت C۳۲ مسئول بخش ارتباطات سریال دستگاه میباشد. علاوه بر این قسمت هایی برای ارتباطات کوتاه نظیر بلوتوث IrDA و USB نیز در این بخش تعبیه شده است. بخش عمده دیگری که در ساختار سیستمعامل یافت میشود بخشی است با نام UIKON که مسئول شیوه نمایش رابط کاربری (User Interface) می باشند و چون معمولاً این قسمت توسط برنامههای جانبی (Themeها بهعنوان مثال) قابل تغییر است لذا تنها رابط کاربری پیش فرض در اینجا دیده میشود
ورژنهای مختلف سیستم عامل سیمبیان
امکانات اضافه شده در نسخه آنا : کیبورد کوئرتی در حالت portrait، طراحی آیکون های جدید، یک مرورگر وب جدید، نرم افزار نقشه جدید(با قابلیت ذخیره نقشه ی یک کشور بر روی حافظه گوشی از طریق اتصال به WIFI) و پشتیبانی از java Runtime 2.2 به سیستم عامل سیمبیان نسخه 9.5 اضافه شد. گوشی های نوکیا 500 و X7 و E6 و 702T از نسخه anna استفاده میکنند امکانات اضافه شده در نسخه belle : ویجت های قابل تغییر سایز، استاتوس بار بهینه شده در بالای صفحه ، NFC داخلی، و بهینه سازی حالت قفل صفحه نمایش. گوشی هایی که از سیستم عامل Anna استفاده میکنند می توانند گوشی خود را به نسخه ی Belle ارتقا دهند. هم اکنون گوشی های Nokia 600 , 700 , 701 از نسخه belle استفاده میکنند. نوکیا در اوایل سال 2013 قرار است سیستم عامل سیمبین donna و carla را به این مجموعه اضافه کند که در نسخه این سیستم عامل می تواند از پردازنده ددو هسته ای پشتیبانی کند.[۱]
نوکیا با پلتفرم Symbian^3 امیدوار است بتواند بخشی از سهم از دست رفته ی خود را در بازار موبایل های هوشمند به دست آورد.
رابط کاربری S60
سیستم عامل سیمبیان بر روی رابط کاربری های متفاوتی ارائه میشود. تاکنون دو رابط کاربری برای سیمبیان نوشته شده است. اولین و محبوب ترین رابط کاربری سیمبیان، S60 نام دارد (نام پیشین: Series 60) و توسط نوکیا ایجاد شده است. این رابط کاربری دارای نسخههای 1 و 2 و 3 و 5 است. (نوکیا اعلام کرد که چون عدد 4 در برخی کشورهای آسیایی عدد بد شانسی است، ورژن چهاری ارائه نخواهد کرد و بعد از 3 مستقیم نسخه 5 را داد). در میان این نگارشها نیز هر از چند گاهی اصلاحیههایی با نام Feature Packها ارائه میگردد. مشخصه عمده گوشیهای دارای رابط کاربری S۶۰ این است که در آنها میتوان از برنامههای مبتنی بر Java MIDP، C++ و Python نیز استفاده نمود.
·
رزولوشن پیش فرض S۶۰ در نگارش اولیه ۲۰۸×۱۷۶ پیکسل بود که از Feature Pack شماره ۳ نگارش دوم S۶۰ به بعد این رابط توانائی ساپورت رزولوشنهای ۲۰۸×۱۷۶ ، ۳۲۰×۲۴۰ و ۴۱۶×۳۵۲ پیکسلی را متناسب با نوع گوشی دارا شد. البته در این میان رزولوشنهای عجیب و غریب متناسب با ظاهر گوشی شکل گرفت مثلاً Siemens SX۱ با رزولوشن ۲۲۰×۱۷۶ و یا Nokia ۵۵۰۰ با رزولوشن ۲۰۸×۲۰۸ پیکسلی.
رابط کاربری UIQ
رابط کاربری دیگر سیمبیان با نام UIQ به وجود آمد که دارای امکان استفاده از صفحه ی لمسی با قلم بود. رابط کاربری UIQ بر مبنای زبان برنامه نویسی C++ شکل گرفته است و در آن میتوان از برنامههای Java نیز استفاده کرد (خبری از پشتیبانی از Python در آن نیست). UIQ دارای سه نسخه اصلی و چند ریزنسخه است، ولیکن یکی از نکات مشترک در ساختار همه نسخه ها شکل گرفتن تقریباً تمامی آنها بر پایه صفحه حساس به تماس و قلم است. رزولوشن صفحه نمایش در نسخههای UIQ ۱.X و UIQ ۲.X برابر ۳۲۰×۲۰۸ پیکسل و در نسخه UIQ ۳.X بر پایه ۳۲۰×۲۴۰ پیکسل میباشد. یکی از نکات جالب در مورد گوشیهای دارای UIQ مسئله عمق رنگ است که با توجه به مدل گوشی، این عمق رنگ ۱۲ بیت (با ۴۰۹۶ رنگ) ،۱۶ بیت (با ۶۵ هزار رنگ) و یا ۱۸ بیت (با ۲۶۲ هزار رنگ) میباشد که شاید این یکی از دلایل ۱۶ میلیون رنگی نبودن گوشیهای سونی اریکسون باشد(حداقل در مورد مدلهای سیستمعامل دار آن). آخرین نسخهای که از UIQ منتشر شده است نسخه ۳.۱ آن است که تا در گوشی هایی مانند Motorola Z۸ و Motorola Z۱۰ استفاده شده است.
دو کمپانی سونی اریکسون و موتورولا که دارندگان حق امتیاز UIQ بودند در سال 2009 رسما اعلام کردند که دیگر از رابط کاربری UIQ در گوشی های خود استفاده نخواهند کرد و اینگونه بود که این رابط کاربری رسما تعطیل اعلام شد. بنیاد سیمبیان هم در سال 2008 اعلام کرد که نسخه های بعدی سیمبیان فقط با رابط کاربری S60 ارائه خواهند شد.
زبانهای برنامه نویسی برای سیمبیان
بدون شک زبان اصلی برنامه نویسی برای سیمبیان زبان ++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 ۱.۱.۱ و JavaPhone که در سیمبیان ورژن ۶ آمدند در ورژن ۷ دیگر بخشی از سیستمعامل نیستند.
Python
زبان پایتون و برنامه نویسی اپن سورس جدیدا وارد دنیای سیمبیان و برنامه نویسی موبایل شده است . مفسرها و ابزاری چون py۲sis (برای تبدیل کد پایتون به فایل sis) نیز توسط شرکت نوکیا اراءه شده است . هم اکنون برنامههای نوشته شده با پایتون بخوبی بر روی سری ۶۰ نوکیا اجرا میگردند .
Assembler
اکثر مقاصد برنامه نویسی با زبان ++c مرتفع میگردد . چون این زبان به اندازه کافی دسترسی به بخشهای سطح پایین سیستم را فراهم میکند و نیاز به اسمبلر حس نمیشود. سیمبیان در موارد خاص که بیشترین کارایی مطرح است از اسمبلر استفاده میکند مانند برنامههای scheduler.
JavaScript
جاوا اسکریپت پروسس کلاینت ساید روی صفحات html را بر عهده دارد و اکثرا برای بررسی درستی ورودی کاربر استفاده میشود .
WML Script
این زبان یک زبان اسکریپتی WAP است که با جاوا اسکریپت اهداف یکسانی را دنبال میکنند. اما در یک مرورگر WAP استفاده میشود .
C
این زبان بطور نرمال برای نوشتن برنامههای جدید سیمبیان استفاده نمیشه، اما میتونه یک انتخاب برای شما باشه هنگامی که میخواهید کد C را به سیمبیان تبدیل کنید . برای این هدف سیمبیان شامل یک جعبه ابزار از کتابخانه استاندارد C میباشد.
OPL
یک زبان مانند بیسیک است که روی PDAها فعال شده بود . اما در سیمبیان ورژن ۷ ساپورت نمیشود