جهان مسطح است، چرا که بهطور فزایندهای متحرک، سریع، متصل و امن است. مردم انتظار دارند بهراحتی با دستگاههای تلفنهمراه خود به اطراف حرکت کنند و در عین حال ارتباطات نزدیک خود با شرکا و خانوادهشان را حفظ کنند و از همهی مدلها و محتویات بینهایت آن بدون هیچ گونه نگرانی در مورد دستگاه و مدیریت دادهها بهره ببرند. تمام این نیازها بر روی دستگاههای تلفنهمراه، که از سیستمعامل بهعنوان روح تلفنهمراه یاد میکنند، قرار داده شده است. براساس تجربهی ما در طراحی سیستمعامل تلفنهمراه و بررسی گستردهی وضعیت صنعت حاضر، معتقدیم مشترکاتی در معماری آینده سیستمعامل تلفنهمراه، مانند تجربه کاربران، مدیریت انرژی، طراحی امنیتی، پشتیبانی ابر و باز بودن طراحی وجود دارد. بنابراین یک مدل تجزیه و تحلیل برای هدایت تحقیقاتمان ارائه دادیم. در این مقاله، تحقیقات ما در روند معماری سیستمعامل تلفنهمراه تا دههی آینده با تمرکز بر مشترکات عمده توصیف شده است. براساس یافتهها، ویژگیهای سیستمعامل تلفنهمراه از دیدگاه روند معماری امروز را نیز بررسی کردهایم.
معرفی
طراحی سیستمعامل موبایل نیاز به تجربهی سه فاز تکامل دارد: از سیستمعامل مبتنی بر PC تا سیستمعامل تعبیه شده در سیستمعامل گوشیهای هوشمندگرا در دهه گذشته است. در طول این روند، معماری سیستمعامل تلفنهمراه از دشوار به ساده یا چیزی مابین این دو تغییر کرده است. روند تکامل بهطور طبیعی توسط پیشرفت فنآوری در سختافزار، نرمافزار و اینترنت است:
• سختافزار: صنعت موجب کاهش اندازهی ریزپردازندهها و لوازم جانبی برای طراحی دستگاههای واقعی همراه است. قبل از کاهش اندازهی دستگاهها، دستگاه تلفنهمراه نمیتوانست همزمان به هر دو قابلیت اندازهی کوچک و قابلیت پردازش برسد. ما تا بهحال لپتاپهایی هم اندازهی PC یا یک دستیار بسیار ضعیف اطلاعات شخصی (PDA) در اندازه تلفن داشتیم. سیستمعاملهای تلفنهمراه برای PDA ها معمولا لازم نیست کاملا چند وظیفهای باشد و یا از کارت گرافیکهای سه بعدی پشتیبانی کند. ویژگیهایی مانند حسگرها، شتابسنج و صفحه نمایش لمسی مبتنی بر خازن در سیستمعامل تلفنهمراههای گذشته در دسترس ننبود.
• نرمافزار: با یک کامپیوتر لپتاپ، نرمافزار عمدتا به بهرهوری کاربر تمرکز دارد، که برای حمایت از صفحهکلید و ماوس برای ورودیهای دقیق ضروری است. نرمافزار برای یک دستیار اطلاعات شخصی، همانگونه که از نام آن پیداست، کمک میکند تا کاربر اطلاعات شخصی خود مانند اطلاعات تماس، ایمیل و غیره را مدیریت کند. سیستمعامل تلفنهمراه برای پاسخگویی خوب یا صافی با یک رابط کاربری غنی (UI) از جمله صفحهنمایش لمسی و سنسور طراحی شده است.
• اینترنت: همراه با توسعهی اینترنت، بهویژه پس از وب 2.0، اطلاعات فراوانی در شبکه برای جستجو، سازمان یافتن، استخراج وجود دارد تا به کاربران فرستاده شود. مردم بهطور فزایندهای بهجای مرور وب با اینترنت زندگی میکنند. بیشتر مردم در توسعه درگیر هستند، از جمله سهم اطلاعات، توسعهی نرمافزار و تعاملات اجتماعی. سیستمعاملهای تلفنهمراه میتواند خود درگیر نشوند، بلکه سیستمها را باز کنند.
مدل استفاده شده در دستگاههای تلفنهمراه گذشته محدود است. کاربر عمدتا برنامههای کاربردی دستگاه را برای مدیریت دادهها و بازیهای محلی، مرور گاه به گاه صفحات استاتیک وب اینترنت و یا دسترسی به سرویسهای خاص مانند ایمیل اجرا میکند. بهعبارت دیگر، کاربردهای ممکن دستگاه با برنامههای کاربردی از پیش نصب شده زمانی که کاربر آن را خریداری میکند از پیش تعریف شده است. این مسئله تا حد زیادی در دستگاههای تلفنهمراه جدید تغییر کرده است، که در آن دستگاه یک پورتال برای مدلهای مختلف استفاده است. همه طرفهای درگیر مانند ارائهدهندگان خدمات، توسعهدهندگان نرمافزار و کاربران دیگر دستگاهها بهطور مداوم از طریق دستگاه با صاحب آن کمک و تعامل دارند. شکل 1 تفاوت مدل سطح بالای استفاده شده میان دستگاههای گذشته و جدید تلفنهمراه را نشان میدهد.
در حال حاضر نمایندگان سیستمعامل تلفنهمراه شامل اپل در iOS * 5.0، گوگل آندروید 4.0، مایکروسافت ویندوزفن 7.0، و غیره است. در مدلهای استفاده شدهی آنها، آنها شباهتها بیشتری از تفاوتها را به اشتراک میگذارند:
• همه آنها یک کیت مستند توسعه نرمافزار (SDK) با رابطهای برنامه کاربردی خوب تعریف شده دارند که توسعهدهندگان را قادر به توسعهی برنامههای کاربردی رایج برای این سیستمهامیکند.
• همه آنها فروشگاه نرمافزار آنلاین جهت انتشار برای توسعهدهندگان و دانلود برنامههای کاربردی برای کاربران، مانند فروشگاه برنامه اپل، گوگل پلی و بازار تلفن ویندوز دارند.
• همه آنها یک سطح معینی از پشتیبانی گرافیک سه بعدی و چندوظیفهای دارند. تلاش زیادی برای تعامل صاف و پاسخگو به کاربر صرف شده است.
• مرور تجربه بسیار فراتر از صفحات وب استاتیک میباشد. HTML5 در حال تبدیل شد به برنامهای پیش فرض برای اجرای برنامههای کاربردی مبتنی بر وب است.
• همه سیستمعاملها از پرداخت مبتنی بر دستگاه پشتیبانی میکنند. باتوجه به برنامههای سازمانی و اطلاعات خصوصی، امنیت سیستم یک نگرانی اصلی برای کاربران دستگاه است.
• با توجه به سیستمعاملهای موبایل، یکی از تفاوتهای کلیدی طراحی از غیر سیستمعاملهای موبایل، تمرکز بر عمر باتری است. سیستم سعی میکنید کاهش مصرف انرژی زیادی از اجزای دستگاه داشته باشد و آنها را به زمانهای بیکاری ممکن نگه دارد.
شباهت سیستمعاملهای تلفنهمراه امروزی منعکسکنندهی روند پیشرفت در سختافزار، نرمافزار و اینترنت میباشد. پیشبینی روند سیستمعاملهای تلفنهمراه، به اعتقاد ما از مناطق اصلی تمرکز در طراحی سیستمعاملهای تلفنهمراه نسل بعدی، از جمله تجربه کاربر، عمر باتری، آمادگی ابر، امنیت و باز بودن است. درواقع آنها اهداف متضاد زیادی دارند:
• تجربهی کاربر و عمر باتری: برای رسیدن به بهترین پاسخ و صافی، سیستم انتظار دارد که تمام منابع سختافزاری دردسترس از بهترین ظرفیت خود بهرهبرداری کنند. درهمان زمان، برای حفظ عمر باتری دستگاه تلفنهمراه، قطعات سختافزاری باید در هر زمان ممکن آماده به کار باشند.
• امنیت و باز بودن: کسی که نمیخواهند تمام ویژگیهای یک سیستم را به اشخاص خارجی افشا کند، به همین دلیل سیستم خود را در تهدید امنیتی قرار میدهد. از سوی دیگر، بدون افشای کافی رابطهای برنامه کاربردی سیستم، ایجاد کاربردهای نوآورانه برای توسعهدهندگان غیر ممکن است.
• آمادگی ابر: خدمات و برنامههای کاربردی بیشتری از طریق ابر ارائه شده است، بنابراین طبیعی است مدل دستگاه کلاینتی که مورد اعتماد ابر باشد و محاسبات آزاد به ابر بسپارد مشخص شود. اما تا به امروز، مدل مشتری هنوز چالشهای فنی در تجربه کاربر و امنیت دارد.
در این مقاله، ما سعی میکنیم تا جنبههای مختلف طراحی سیستمعامل تلفنهمراه و نظرات خود در مورد آینده معماری سیستمعاملهای تلفنهمراه را ارائه کنیم.
مقاله به شرح زیر است. بر اساس چارچوب در بخش، ما از بخشهای جداگانه برای بحث در مورد موضوعات مربوطه در متن زیر استفاده میکنیم. آنها در تجربه کاربر مرتب، مدیریت انرژی، امنیت، باز بودن و آمادگی ابر مرتب شدهاند. در انتها بحثها و خلاصهی مطالب آورده شده است.
تجربه کاربری (UX)
عملکرد سنتی، برای توصیف دستگاههای مشتری مدرن ناکافی است. عملکرد بیشتر در مورد وضعیت اجرای مداوم یک پشته نرمافزار است و معمولا با یک نمرهی نهایی از توان کل پردازنده و یا زیرسیستمهای دیگر گزارش میشود. تجربهی کاربری بیشتر درمورد انتقال پویا از سیستم توسط ورودیهای کاربر است. کیفیت تجربه کاربری توسط چنین چیزهایی مانند درک پاسخگویی کاربر، صافی، انسجام و دقت و صحت تعیین میشود. عملکرد سنتی میتواند هر لینک از زنجیرههای تعامل با کاربر را اندازهگیری کند، درحالی که زنجیره کامل از تعامل با کاربر بهعنوان یک کل قابل ارزیابی نیست. بنابراین بهینهسازی عملکرد سنتی نمیتواند بهسادگی به بهینهسازی تجربه کاربری اعمال شود. بنابراین زمان سرمایهگذاری در دستگاه بهینهسازی تعامل با کاربر برای یک تجربه کاربری لذتبخش است.
تعامل کاربر با دستگاههای موبایل
اخیرا در اندازهگیری عملکرد با دستگاههای آندروید موجود در بازار، یک دستگاه X که بهطور یکنواخت بدتر از دستگاه Y با معیارهای رایج گرافیک، رسانهها و مرور رفتار میکند، یافتیم. اما درک تجربه کاربری با دستگاه X بهتر از دستگاه Y است. دلیل اصلی که مشخص کردیم این است که معیارهای سنتی و یا معیار طراحی در روشهای سنتی واقعا تعاملات کاربر را مشخص نمیکند، اما قابلیت محاسبات (مانند اجرای دستورات) و یا توان (مانند پردازش دیسک خوانده شده) از سیستم و زیر سیستم را اندازهگیری میکند.
The world is flat, because it becomes increasingly mobile, fast, connected, and secure. People expect to move around easily with their mobile devices, keeping close communications with their partners and family, enjoying the versatile usage models and infinite contents, and without worrying about the device and data management. These all put requirements on the mobile devices, of which the mobile OS is the soul. Based on our years of experience in mobile OS design and an extensive survey of current industry situation, we believe there are several commonalities in future mobile OS architecture, such as user experience, power management, security design, cloud support, and openness design. We develop an analysis model to guide our investigation. In this article, we describe our investigations in the trends of mobile OS architecture over the next decade by focusing on the major commonalities. Based on the findings, we also review the characteristics of today’s mobile operating systems from the perspective of architecture trends.
Introduction
Mobile OS design has experienced a three-phase evolution: from the PCbased OS to an embedded OS to the current smartphone-oriented OS in the past decade. Throughout the process, mobile OS architecture has gone from complex to simple to something in-between. The evolution process is naturally driven by the technology advancements in hardware, software, and the Internet:
• Hardware. The industry has been reducing the factor size of microprocessors and peripherals to design actual mobile devices. Before the form factor size was reduced enough, the mobile device could not achieve both small size and processing capability at the same time. We had either a PC-sized laptop computer or a much weaker personal data assistant (PDA) in phone size. Mobile operating systems for PDAs usually did not have full multitasking or 3D graphics support. Features like sensors, such as accelerometers, and capacitor-based touchscreens were not available in the past mobile operating systems.
• Software. With a laptop computer, the software is mainly focused on the user’s productivity, where support for keyboard and mouse that have precise inputs are essential. The software for a personal data assistant, as its name implies, helps the user to manage personal data such as contacts information, e-mail, and so on. The mobile operating systems were not designed for good responsiveness or smoothness with a rich user interface (UI) including both touchscreen and other sensors.
• Internet. Along with Internet development, especially after Web 2.0, there is abundant information in the network waiting to be searched, organized, mined, and brought to users. People are increasingly living with the Internet instead of just browsing the Web. More and more people are involved in the development, including information contribution, application development, and social interactions. The mobile operating systems cannot be self-contained, but have to be open systems.
The usage model of past mobile devices is limited. A user mostly runs the device applications for data management and local gaming, only occasionally browses Internet static Web pages or accesses specific services like e-mail. In other words, the possible usages of the device are predefined with the preinstalled applications when the user purchases it. This is largely changed in new mobile devices, where the device is virtually a portal to various usage models. All the involved parties such as service providers, application developers, and other device users continuously contribute and interact through the device with its owner. Figure 1 shows the high-level usage model difference between the past and new mobile devices.
The representatives of current mobile operating systems include Apple’s iOS* 5.0, Google Android* 4.0, Microsoft Windows* Phone 7.0, and a few others. In terms of their usage models, they share more similarities than differences:
• All of them have a documented software development kit (SDK) with welldefined APIs that enable the common developers to develop applications for these systems.
• All of them have online application stores for the developers to publish and for the users to download applications, such as Apple App Store, Google Play, and Windows Phone Marketplace.
• All of them have a certain level of multitasking and 3D graphics support. Touchscreens and sensors are just no-brainers. Much effort have been spent to make the user interactions smooth and responsive.
• Browsing experience is far beyond static Web pages. HTML5 is becoming the default so as to run Web-based applications.
• All of the operating systems support device-based payment. Together with enterprise applications and private information, system security is always a key concern to the device users.
• As mobile operating systems, one of key design differences from nonmobile operating systems is the focus on battery life. The systems try best to reduce the active power consumption of the device components and put them into idle whenever possible.
The similarities of the current mobile operating systems reflect the advancement trend in hardware, software, and the Internet. Anticipating the trend of mobile operating systems, we believe those areas are the major focuses of the next generation of mobile OS design, including user experience, battery life, cloud readiness, security, and openness. They are actually conflicting targets to a large extent:
• User experience and battery life. To achieve best responsiveness and smoothness, the system expects all the hardware resource available to exploit their best capacity. At the same time, to sustain the battery life as a mobile device, the hardware components should be idle whenever possible.
• Security and openness. One does not want to expose all of one’s system functionalities to external entities, because that puts the system under security threat. On the other hand, without exposing enough system APIs, it is impossible for the developers to create innovative usages.
• Cloud readiness. As more and more services and applications are offered from the cloud, it is natural to consider a thin client device model that trusts the cloud and that offloads computations to the cloud. But as of today, the thin client model still has technical challenges in user experience and security.
In this article, we try to investigate the various aspects of mobile OS design and present our opinions about the future of mobile OS architecture.
The article is arranged as follows. Based on the framework laid out in this section, we use separate sections to discuss the respective topics in text below. They are arranged in user experience, power management, security, openness, and cloud readiness. Finally we have discussions and a summary.
User Experience (UX)
Traditional performance is inadequate to characterize modern client devices. Performance is more about the steady execution state of the software stack and is usually reported with a final score of the total throughput in the processor or other subsystems. User experience is more about the dynamic state transitions of the system triggered by user inputs. The quality of the user experience is determined by such things as the user perceivable responsiveness, smoothness, coherence, and accuracy. Traditional performance could measure every link of the chain of the user interaction, while it does not evaluate the full chain of the user interaction as a whole. Thus the traditional performance optimization methodology cannot simply apply to the user experience optimization. It is time to invest in device user interaction optimizations so as to bring the end user a pleasant experience.
User Interactions with Mobile Devices
In a recent performance measurement with a few market Android devices, we found there was a device X behaving uniformly worse than another device Y with common benchmarks in graphics, media, and browsing. But the user perceivable experience with the device X was better than device Y. The root reason we identified was that traditional benchmarks or benchmarks designed in traditional ways did not really characterize user interactions, but measured the computing capability (such as executed instructions) or the throughput (such as processed disk reads) of the system and the subsystems.
معرفی
تجربه کاربری (UX)
تعامل کاربر با دستگاههای موبایل
بهینهسازی تعاملات با کاربر
طراحی سیستمعامل تلفنهمراه برای تجربه کاربری
مدیریت انرژی (PM)
مدیریت توان پردازنده
دستگاه مدیریت انرژی
موارد مدیریت انرژی سیستمعاملهای موبایل
باز بودن
باز بودن به کاربران اکوسیستمهای تلفنهمراه
تکامل باز بودن سیستمعامل موبایل
آمادگی ابر
قابلیت HTML5
نرمافزار وب
قابلیت cross-Platform
کارآیی
ادغام ابر
بحث و خلاصه
iOS اپل
گوگل آندروید
مایکروسافت ویندوز فون
منابع
Introduction
User Experience (UX)
User Interactions with Mobile Devices
User Interaction Optimizations
Mobile OS Design for User Experience
Power Management (PM)
Processor Power Management
Device Power Management
Mobile OS Power Management Cases
Openness
Openness to Players of the Mobile Ecosystem
Evolution of Mobile OS Openness
Cloud Readiness
HTML5 Capability
Web Applications
Cross-Platform Capability
Performance
Cloud Integration
Discussion and Summary
Apple Ios
Google Android
Microsoft Windows Phone
References