آشنایی با Symbian سیستم عامل ویژه تجهیزات موبایل

طراحان و توسعهدهندگان سیستمهایعامل و نرمافزارهای ویژه تجهیزات موبایل هر روز بیش از پیش، از ظرفیت بالای این تجهیزات استفاده میكنند. تجهیزات موبایل و بهویژه تلفنهای همراه مزایای ویژه خود را دارند؛ برای نمونه از كوچكترین كامپیوترهای رایج، كوچكترند، پیچیدگی كمتری دارند و از آنجا كه یكپارچگی بیشتری در ساختار خود دارند، كمتر دچار ایراد، بهویژه ایرادهای نرمافزاری، میشوند. از این رو شاید تا چند سال دیگر به یك كامپیوتر كامل با قابلیتهای خاص تبدیل شوند. 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معماری انعطافپذیر مبتنیبر مدل كلاینت- سرور و نوعی از روش برنامهنویسی كه از نرمافزارهای هر چند فشرده، ولی قدرتمند پشتیبانی میكند.

دسترسی بلادرنگ به دادههای كاربر با استفاده از هسته قدرتمند چند وظیفهای در پایینترین سطح نرمافزار و نیز یك چارچوب واسط كاربر بسیار ساده در بالاترین سطح.

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

سازگاری با تجهیزات و فناوریهای مختلف
در پایینترین سطح این سیستمعامل، كامپوننتهای اصلی قرار دارند كه شامل هسته (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های آن عموماً به صورت مستند شده در دسترس است و هر كسی میتواند برای توسعه نرمافزارهای مبتنیبر سیمبیان از آنها استفاده كند.

پلتفرمهای مختلفی مبتنیبر سیستمعامل سیمبیان وجود دارند كه یك كیت توسعه نرمافزار (SDK) در دسترس توسعهدهندگان برنامههای كاربردی قرار میدهند.

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

برای نمونه شركت ادوبی، سازنده نرمافزار Adobe Reader، نسخهای از آن را برای پلتفرم سیمبیان تولید كرده است كه به كاربران امكان میدهد از فایلهای PDF در گوشیهای نوكیا 6680 و دستگاههای Nokia Communicator سری 9500 و نیز 9290.9210 استفاده كنند. این نرمافزار را میتوان از طریق اینترنت، به صورت ضمیمه ایمیل یا از كامپیوتر روی سیستم مبتنیبر سیمبیان نصب كرد. در شكل 1، اینترفیس این نرمافزار را روی نمایشگر یك گوشی نوكیا 6680 می بینید.

همچنین UIQ، پلتفرمی نرمافزاری براساس سیستمعامل سیمبیان است كه توسط شركت UIQ Technology ساخته شده است. در واقع، UIQ یك لایه واسط كاربر گرافیكی است كه امكان افزودن كامپوننتهای مختلف به بخش اصلی سیستمعامل را فراهم میكند. یكی از جالبترین امكانات برای توسعهدهندگان و برنامهنویسان این پلتفرم، امكان برنامهنویسی بومی با ++C است؛ چرا كه هم خود سیستمعامل و هم پلتفرم توسعه آن با این زبان نوشته شده است و به همین علت بالاترین كارایی را برای برنامههای كاربردی فراهم میآورد. UIQ3 تازهترین نگارش این پلتفرم است.