سيستمعامل سيمبيان و سازنده آن![]()
اشاره :
طراحان و توسعهدهندگان سيستمهايعامل و نرمافزارهاي ويژه تجهيزات موبايل هر روز بيش از پيش، از ظرفيت بالاي اين تجهيزات استفاده ميكنند. تجهيزات موبايل و بهويژه تلفنهاي همراه مزاياي ويژه خود را دارند؛ براي نمونه از كوچكترين كامپيوترهاي رايج، كوچكترند، پيچيدگي كمتري دارند و از آنجا كه يكپارچگي بيشتري در ساختار خود دارند، كمتر دچار ايراد، بهويژه ايرادهاي نرمافزاري، ميشوند. از اين رو شايد تا چند سال ديگر به يك كامپيوتر كامل با قابليتهاي خاص تبديل شوند. Symbian سيستمعاملي است كه بسياري از شركتهاي سازنده گوشيهاي تلفن همراه از آن به عنوان پلتفرم استفاده ميكنند. از آنجا كه بيشترين گوشيهاي موبايلي كه در ايران از آنها استفاده ميشود نيز داراي سيستمعامل سيمبيان هستند، در اين مقاله مروري بر ويژگيهاي آن خواهيم داشت.
سيمبيان سيستمعاملي است كه توسط شركت انگليسي Symbian، براي تجهيزات سيار (mobile) طراحي شده است و با سيستمعاملهاي ديگري مانند Windows Mobile ،Palm OS و لينوكس رقابت ميكند. شركت سيمبيان در ژوئن 1998 در انگلستان تأسيس شد. سهامداران اين شركت در آغاز، شركتهاي Psion، نوكيا، اريكسون، ماتسوشيتا و موتورولا بودند. در سپتامبر 2003، موتورولا سهام خود را به شركت هاي Psion و نوكيا فروخت. در جولاي 2004 نيز سهام Psion توسط نوكيا، پاناسونيك، زيمنس و سونياريكسون خريداري شد. در نتيجه اين شركت در حال حاضر در مالكيت شركتهاي اريكسون، نوكيا، ماتسوشيتا (پاناسونيك)، زيمنس، سونياريكسون و سامسونگ است.
طراحي
پلتفرمهاي مختلفي براساس سيمبيان طراحي شده است كه شامل پلتفرمهاي باز مانند UIQ ،Nokia سري شصت، هفتاد و نود، و پلتفرمهاي بسته مانند NTT DoCoMo هستند. انعطافپذيري اين سيستمعامل به آن امكان ميدهد روي انواع گستردهاي از تجهيزات موبايل پيادهسازي شود. بزرگترين ويژگي اين سيستمعامل، طراحي آن براي تجهيزات كوچك دستي با منابع محدود است كه مي تواند ماهها و سالها روي آن اجرا شود.
به علت محدود بودن منابع حافظه در چنين تجهيزاتي، از روشهاي مختلفي براي استفاده بهينه از آنها استفاده شده است. برنامهنويسي سيمبيان، رويدادگرا (event-based) است و CPU زماني كه برنامههاي كاربردي مستقيماً با يك رويداد ارتباطي نداشته باشند، خاموش ميشود. به اين نوع برنامهنويسي، active objects گفته ميشود. چنانچه از اين روشها به خوبي استفاده شود، مدت كاركرد باتري نيز افزايش پيدا مي كند. به همين علت براي دستيابي به اين ويژگيها از زبان ++C براي برنامهنويسي و توسعه اين سيستمعامل استفاده شده است؛ هر چند بسياري از تجهيزات با پلتفرم سيمبيان ميتوانند بهوسيله زبانهاي ديگري چون PL ،Python، ويژوال بيسيك،Simkin و Perl نيز برنامهنويسي شوند.
ساختار سيمبيان
سيمبيان سيستمعاملي با ساختار32 بيتي است كه با امكان مديريت همزمان چند برنامه (multi-tasking) براي تجهيزات موبايل طراحي شده است. در ادامه به برخي از ويژگيهاي اصلي اين سيستمعامل اشاره مي شود.
lمعماري انعطافپذير مبتنيبر مدل كلاينت- سرور و نوعي از روش برنامهنويسي كه از نرمافزارهاي هر چند فشرده، ولي قدرتمند پشتيباني ميكند.
lدسترسي بلادرنگ به دادههاي كاربر با استفاده از هسته قدرتمند چند وظيفهاي در پايينترين سطح نرمافزار و نيز يك چارچوب واسط كاربر بسيار ساده در بالاترين سطح.
l طراحي پايدار نرمافزار با استفاده از مدل برنامهنويسي اشياي مبتني بر كامپوننت، سيمبيان را به نرمافزاري جامع و خاص در طراحي الگوها و چارچوبهاي مختلف تبديل كرده است.
lسازگاري با تجهيزات و فناوريهاي مختلف.
در پايينترين سطح اين سيستمعامل، كامپوننتهاي اصلي قرار دارند كه شامل هسته (kernel) و كتابخانه كاربر است كه به برنامههاي كاربردي سمت كاربر امكان ميدهد از هسته، درخواستهاي مختلفي بكنند.
سيمبيان داراي ساختاري موسوم به microkernel است. بهگونهاي كه طراحان، كمترين نيازمنديهاي سيستم را در آن گنجاندهاند تا كارايي بالايي داشته باشد.
در سطح دوم اين سيستمعامل، مجموعهاي از كتابخانهها قرار دارند كه كارهاي مختلفي چون تغيير شكل و اندازه فونتها، كار با بانك اطلاعاتي و فايلها را به عهده دارند.
يك زيرسيستم بزرگ نيز براي كارهاي ارتباطي و شبكهاي وجود دارد كه شامل سه قسمت اصلي موسوم به ETel ،ESOCK و C32 است.
با استفاده از APIهاي ETel، برنامههاي كاربردي ميتوانند گستره وسيعي از گزينهها را بدونتوجه به ساختار خود تجهيزات و تجهيزات سرويسدهنده در اختيار كاربر نهايي قرار دهند. اين انعطافپذيري بدين معني است كه توسعهدهندگان برنامههاي كاربردي بدون توجه به نوع تجهيزات، سرويسها و... ميتوانند نرمافزارهاي خود را توسعه دهند. همچنين ESOCK يك Socket Server و واسط كاربر ميان كاربران و پروتكلهاي سمت سرور است.
C32 نيز كلاينتها را از طريق يك واسط سريال RS232 به پورت سريال پيادهسازي شده در كتابخانههاي فريمورك موسوم به comm server modules متصل مي كند.
همچنين براي انتقال اطلاعات در برد كوتاه از امكانات ديگري مانند بلوتوث، پورت USB و IrDA استفاده شده است. تعدادي موتور برنامه كاربردي (application engine) نيز براي برنامههاي كاربردي معمول مانند تقويم، ذخيره آدرسها و فهرست وظايف طراحي شده است.
امنيت
سيمبيان نيز از حمله ويروسهاي مختلف دور نمانده و به علت كاربرد گسترده آن، سوژه ويروسنويسان شده است. معمولاً اين ويروسها خود را از طريق بلوتوث منتقل ميكنند. ولي اين ويروسها نه با استفاده از ضعفهاي امنيتي سيمبيان، بلكه با استفاده از روشهايي مانند پرسش از كاربر براي نصب يك نرمافزار كه بيشتر با يك هشدار براي لزوم نصب آن همراه است، خود را به سيستم كاربر منتقل مي كنند.
Symbian 9 از مدل پيشرفتهاي براي مقابله با اينگونه حملهها بهره ميبرد. در اين روش ادعا شده كه حتي اگر نرمافزاري روي سيستم نصب شده باشد، بدون امضاي ديجيتالي، قابليت آسيبزدن به سيستم، مانند دسترسي به اطلاعات كاربر، را نخواهد داشت. توسعهدهندگان نرمافزارهاي ويژه اين سيستمعامل ميتوانند نرمافزارهاي خود را بهوسيله برنامه Symbian Signed تأييد كنند كه در اين صورت نرمافزار بهعنوان يك برنامه مجاز روي دستگاه نصب مي شود.
شركت سيمبيان چند توصيه امنيتي را نيز به كاربران اين سيستمعامل پيشنهاد مي كند:
- چنانچه برايتان ممكن است اطلاعات گوشي يا سيستم موبايل خود را به كامپيوتر خود نيز منتقل كنيد تا يك بكآپ از آن در اختيار داشته باشيد.
- اتصال بلوتوث را تنها زماني كه به آن نياز داريد، در حالت visible قرار دهيد. روشن نگاه داشتن بلوتوث به اين معني است كه هركسي در محدوده ده متري شما قابليت تماس با دستگاه شما را دارد.
- در يك گوشي مبتنيبر سيستمعامل سيمبيان هرگاه پيامي از طريق بلوتوث براي شما ارسال شود، پيام?RECEIVE MESSAGE نيز نمايش داده ميشود. چنانچه نميدانيد پيغام از سوي چه كسي فرستاده شده است يا انتظار دريافت آن را نداشتهايد، هرگز گزينه YES را انتخاب نكنيد. چنانچه با وجود انتخاب گزينه NO پيغام از روي نمايشگر حذف نشد، مكان خود را تغيير دهيد و دستگاه را به مد hidden سوييچ كنيد.
- برنامههاي كاربردي را تنها از منابع مطمئن مانند وب سايت شركت سازنده گوشي يا وبسايتهايي مانندHandgo.com ،AllAboutSymbian.com ،My-Symbian.com و ديگر وبسايتهاي مطمئن ارائهدهنده برنامههاي كاربردي دانلود كنيد.
- زماني كه يك برنامه كاربردي روي گوشي خود نصب مي كنيد، جزئيات آن مانند نام نرمافزار و سازنده آن نيز نشان داده ميشود. با استفاده از اين اطلاعات ميتوانيد از نصب برنامههايي كه ماهيت آنها مشخص نيست، خودداري كنيد. همچنين هنگام اتصال به اينترنت يا شبكههاي ديگر، ميتوان از نرمافزارهاي امنيتي ديگري نيز استفاده كرد. براي نمونه شركت سيمانتك، سازنده نرمافزارهاي امنيتي، آنتيويروس و فايروال ويژهاي براي گوشيهاي سري شصت و هشتاد شركت نوكيا طراحي كرده است.
توسعه نرمافزارهاي مبتني بر سيمبيان
سيمبيان، يك نرمافزار باز ولي نه به معناي اپنسورس است؛ يعني سورس كد آن در دسترس عموم نيست. در مقابل، تقريباً همه سورس كد آن، در اختيار شركاي اين شركت و شركتهاي سازنده گوشيهاي موبايل كه از اين پلتفرم استفاده ميكنند قرار دارد. همچنين APIهاي آن عموماً به صورت مستند شده در دسترس است و هر كسي ميتواند براي توسعه نرمافزارهاي مبتنيبر سيمبيان از آنها استفاده كند.
شكل 1- نرمافزار Adobe Reader در گوشي هاي 6680 شركت نوكياپلتفرمهاي مختلفي مبتنيبر سيستمعامل سيمبيان وجود دارند كه يك كيت توسعه نرمافزار (SDK) در دسترس توسعهدهندگان برنامههاي كاربردي قرار ميدهند.
شركتهاي بزرگ سازنده نرمافزار نيز نرمافزارهاي مختلفي را براي اين سيستمعامل طراحي ميكنند كه برخي از آنها پيش از اين در كامپيوترهاي شخصي نيز مورد استفاده قرار ميگرفتهاند.
براي نمونه شركت ادوبي، سازنده نرمافزار Adobe Reader، نسخهاي از آن را براي پلتفرم سيمبيان توليد كرده است كه به كاربران امكان ميدهد از فايلهاي PDF در گوشيهاي نوكيا 6680 و دستگاههاي Nokia Communicator سري 9500 و نيز 9290.9210 استفاده كنند. اين نرمافزار را ميتوان از طريق اينترنت، به صورت ضميمه ايميل يا از كامپيوتر روي سيستم مبتنيبر سيمبيان نصب كرد. در شكل 1، اينترفيس اين نرمافزار را روي نمايشگر يك گوشي نوكيا 6680 مي بينيد.
همچنين UIQ، پلتفرمي نرمافزاري براساس سيستمعامل سيمبيان است كه توسط شركت UIQ Technology ساخته شده است. در واقع، UIQ يك لايه واسط كاربر گرافيكي است كه امكان افزودن كامپوننتهاي مختلف به بخش اصلي سيستمعامل را فراهم ميكند. يكي از جالبترين امكانات براي توسعهدهندگان و برنامهنويسان اين پلتفرم، امكان برنامهنويسي بومي با ++C است؛ چرا كه هم خود سيستمعامل و هم پلتفرم توسعه آن با اين زبان نوشته شده است و به همين علت بالاترين كارايي را براي برنامههاي كاربردي فراهم ميآورد. UIQ3 تازهترين نگارش اين پلتفرم است.