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