پیدایش و حیات سیمبیان
داستان بوجود آمدن 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.4 میباشد که به ترتیب در جولای 2006 و مارچ 2007 به نمایش درآمده اند.
از تغییراتی که در نسخه 9.4 نسبت به نسخههای دیگر دیده میشود یکی اینکه
برنامهها تا 75% سریعتر اجرا میشوند و دیگری بهینه سازی جهت تکنولوژی
DVB-HTV در آن است علاوه بر این پشتیبانی از SQL نیز توسط SQLite در
آن فراهم شده است.
هم اکنون ورژنهای جدید سیمبین مانند
9.5 , 9.4 بر روی گوشیهایی مانند نوکیا N97 , N97 mini , 5800 , 5230 ,
5530 , x6 , C5-3 , C6 , Sonyericsson Satio , Vivaz , Vivaz pro , Samsung
i8910 Omnia HD استفاده میشوند.
و همچنین میشه به ورژن جدید این سری
Symbian^3 اشاره کرد که در حال حاضر مدلهای Nokia N8 , E7 , C7 , C6-01 اشاره شده رو ساپورت میکند
شرکتهای به وجود آورنده
شرکت اصلی و چند شرکت فرعی از به وجود آوردندگان این محصول بودند،
بعضی از این شرکتها در زمینه نرمافزار و بعضی از آنها در زمینه سختافزار به رشد این سیستمعامل و موبایلهای آن کمک کردهاند.
در آن نوکیا با 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 ساپورت نمیشود .
Qt
منبع ویکیپدیا