Objectives • Types of mobile devices • Characteristics of mobile devices • Characteristics of mobile operating systems • Design issues of mobile operating systems • Design features of Android operating system
Introduction to Mobile Devices • The mobile devices are different as compared to other computing devices. These devices require very limited hardware configuration as these are portable. • Since the mobile devices are different as compared to conventional desktop systems, they need different operating systems known as mobile operating systems. • Since a mobile device gets operating power through a battery only, it is important that limited battery power must be utilized efficiently.
Mobile Operating Systems • Advanced configuration and power interface (ACPI) was developed to have an operating system directed device configuration and power management (OSPM). The goal to have an OSPM through ACPI stresses on the concept that systems should conserve energy in an optimized way. • The operating system must collect the information from devices so that device which is not being used can be turned off. • The operating system tracks the information about the state of all devices on the bus. Based on the current device requirements on that bus, it puts the bus in a power state accordingly.
Mobile Operating Systems • When the operating system enters in its idle state, it first determines how much time will be spent in idle loop with the help of ACPI power management timer. After determining the idle time, the operating system puts the processor in low power state thereby saving the power. • The operating system collects the information about the state of the batteries in the mobile device and through the user interface notifies the user about any warning about the low power state of the device. • The mobile operating system should consume very less space in memory, i.e. it should have a small footprint. • Memory leakage is a serious issue in mobile devices as it can affect the performance of a mobile device.
Mobile Operating Systems • The boot up time in mobile devices must be managed to be short. • Since the mobile devices may need real-time response, the operating system should have preemptive scheduling mechanism. • Interrupt latency and dispatch latency must be minimized in mobile operating systems. • One solution in reducing the interrupt latency is to use deferrable functions. The deferrable functions are the mechanisms through which we delay the execution of functions which are not time critical in interrupt handlers.
Memory Management in Android • In Android, when an application is not active, the system will suspend it in memory automatically. • In this situation, the application is considered still open but it does not consume any resources such as battery power, processing power, etc. after suspension. • In case of low memory the system needs to accommodate the processes. • Android selects the victim applications and start killing them according to the priority provide to them.
Scheduling in Android • Uses O(1) scheduling algorithm according to which the every scheduling is guaranteed to execute within a certain constant time irrespective of number of tasks in the system. • Binder is the component that facilitates the IPC in Android operating system.
File Management in Android • System partition: It contains the entire Android operating system. It contains all pre-installed applications, system libraries, etc. • SD card: This is the area where files can be written and read. • User data partition: This is the area used to store user data both pre-installed and downloaded.