MOBILE OPERATING SYSTEM 1)Introduction
Total Page:16
File Type:pdf, Size:1020Kb
WWW.VIDYARTHIPLUS.COM MOBILE OPERATING SYSTEM 1)Introduction The Symbian OS it is the operating system developed and sold by Symbian Ltd. The OSis used primarily by Nokia with its S60 user interface and by Sony Ericsson with its UIQ user interface, but the Symbian OS is also used by a number of Japanese mobile phone manufacturers for handsets sold inside of Japan. RIM blackberry BlackBerry OS is a proprietary mobile operating system developed by BlackBerry Ltd for its BlackBerry line of smartphone handheld devices. The operating system provides multitasking and supports specialized input devices that have been adopted by WWW.VIDYARTHIPLUS.COM V+ TEAM WWW.VIDYARTHIPLUS.COM BlackBerry Ltd. for use in its handhelds, particularly the trackwheel, trackball, and most recently, the trackpad and touchscreen Android Android is a mobile operating system (OS) currently developed by Google, based on the Linux kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets. Android's user interface is mainly based on direct manipulation, using touch gestures that loosely correspond to real-world actions, such as swiping, tapping and pinching, to manipulate on-screen objects, along with a virtual keyboard for text input. In addition to touchscreen devices, Google has further developed Android TV for televisions, Android Auto for cars, and Android Wear for wrist watches, each with a specialized user interface. Variants of Android are also used on notebooks, game consoles, digital cameras, and other electronics. 2)microkernel design in mobile os : microkernel assigns only a small number of essential processes to the kernel such as address space management ,inter process communication and scheduling and provides all other services in separate processes called servers. WWW.VIDYARTHIPLUS.COM V+ TEAM WWW.VIDYARTHIPLUS.COM Essential components and minimality : If the hardware provides multiple rings or CPU modes, the microkernel may be the only software executing at the most privileged level, which is generally referred to as supervisor or kernel mode. Traditional operating system functions, such as device drivers, protocol stacks and file systems, are typically removed from the microkernel itself and are instead run in user space Essential components and minimality[edit] As a microkernel must allow building arbitrary operating system services on top, it must provide some core functionality. At a minimum, this includes: some mechanisms for dealing with address spaces, required for managing memory protection some execution abstraction to manage CPU allocation, typically threads or scheduler activations inter-process communication, required to invoke servers running in their own address spaces This minimal design was pioneered by Brinch Hansen's Nucleus and the hypervisor of IBM's VM. It has since been formalised in Liedtke's minimality principle: A concept is tolerated inside the microkernel only if moving it outside the kernel, i.e., permitting competing implementations, would prevent the implementation of the system's required functionality.[11] Everything else can be done in a usermode program, although device drivers implemented as user programs may on some processor architectures require special privileges to access I/O hardware. Related to the minimality principle, and equally important for microkernel design, is the separation of mechanism and policy, it is what enables the construction of arbitrary systems on top of a minimal kernel. Any policy built into the kernel cannot be overwritten at user level and therefore limits the generality of the microkernel.[4] Policy implemented in user-level servers can be changed by replacing the servers (or letting the application choose between competing servers offering similar services). For efficiency, most microkernels contain schedulers and manage timers, in violation of the minimality principle and the principle of policy-mechanism separation. Start up (booting) of a microkernel-based system requires device drivers, which are not part of the kernel. Typically this means that they are packaged with the kernel in the boot image, and the kernel supports a bootstrap protocol that defines how the drivers are located and started; this is the traditional bootstrap procedure of L4 microkernels. Some microkernels simplify this by placing some key drivers inside the kernel (in WWW.VIDYARTHIPLUS.COM V+ TEAM WWW.VIDYARTHIPLUS.COM violation of the minimality principle), LynxOS and the original Minix are examples. Some even include a file system in the kernel to simplify booting. A microkernel-based system may boot via multiboot compatible boot loader. Such systems usually load statically- linked servers to make an initial bootstrap or mount an OS image to continue bootstrapping. A key component of a microkernel is a good IPC system and virtual-memory-manager design that allows implementing page-fault handling and swapping in usermode servers in a safe way. Since all services are performed by usermode programs, efficient means of communication between programs are essential, far more so than in monolithic kernels. The design of the IPC system makes or breaks a microkernel. To be effective, the IPC system must not only have low overhead, but also interact well with CPU scheduling. 3) Process and threads : ->Multi-asking – Symbian OS favors threads and is built around thread concept ->Thread support is based in nanorkernel with nanothreads ->Nanokernel provides nanokernel scheduling,interthread synchronization and timing services -> Nanothreads cannot run in user mode ◦->Nanothread needs minimal set of data location of its stack, how big stack is ◦ OS keeps control of everything else (e.g., code of each thread uses, stores thread’s context on tis runtime stack) ◦ Nanothread states: suspended, fast semaphore wait, DFC (Delayed Function Call) wait, sleep, other ◦ Processes are Symbian OS threads grouped together under single process control block structure with a single memory space ◦ Scheduling a process means scheduling a thread and initializing the right PCB to use for its data needs scheduling parameters, share memory space objects, including device and object descriptors process are terminated by kernel. WWW.VIDYARTHIPLUS.COM V+ TEAM WWW.VIDYARTHIPLUS.COM 4)client server resource access: are programs that OS runs to coordinate access to these resources ◦ Make connection to a file server ◦ Server acknowledges the connection ◦ Client requests ‘open’ request with the name of specific file ◦ Protects resources ◦ Is effective for managing multiple access to system resources ◦ Each server is easily upgradeable and swapped out for new designs 5)Memory Management virtual memory/swap space model mory, no disk drive ◦ RAM and flash memory ◦ RAM stores OS code ◦ Flash memory used for operating memory and permanent (file) storage ◦ Possible to add extra flash memory to device – exclusively for permanent concepts: ◦ Paging, address translations, virtual/physical address abstraction ◦ We have pages but pages cannot be swapped from memory to external storage ◦ Abstraction of memory pages is used ◦ Pages are replaced, but the page being replaced is just discarded backed on the flash memory Tasks of Memory Management 1. Management of application size ◦ Application size needs to be small and object-oriented design 2. Heap management ◦ Heap – space for dynamic memory allocation – must be managed WWW.VIDYARTHIPLUS.COM V+ TEAM WWW.VIDYARTHIPLUS.COM very tightly ◦ Heap space is bounded to force programmers to reclaim and reuse heap space 3. Execution in-place ◦ Flash memory is mapped into virtual address space and programs can be executed directly from flash memory without copying them into RAM first 4. Loading DLLs ◦ Loading all DLLs when application is first loaded into memory is more acceptable, but it is a choice. (users accept more DLL loading delays at the beginning when loading the app than during the app execution ) 5. Offload memory management to hardware ◦ If there is available MMU, use it – system performance is better -level page table strategy ◦ Kept in memory and is pointed to by TTBR (translation table base register) ◦ Points to second level of page table -to-physical memory address mapping calculation 6) file system in mobile os: Mobile file management (MFM) is a type of information technology (IT) software that allows businesses to manage transfers and storage of corporate files and other related items on a mobile device, and allows the business to oversee user access. Mobile file management software is typically installed on a corporate file server like Windows 2008, and on a mobile device such as tablet computers and smartphones, e.g., Android, iPad, iPhone, etc. Other features include the ability to remotely wipe a lost or stolen device, access, cache and store files on a mobile device and integrate with file permission solutions like those from Microsoft's Active Directory. A main advantage of modern mobile file management solutions is that they do not need a VPN connection for the mobile devices to connect to the corporate file servers. The connection between the mobile device and the WWW.VIDYARTHIPLUS.COM V+ TEAM WWW.VIDYARTHIPLUS.COM corporate file server is established via a cloud service. This way the corporate file server doesn't need to open incoming ports which would cause security issues. The files are transferred highly encrypted - e.g. according to AES 256 Bit industry standard. Only the company server and the mobile device keep the encryption key to be able to encrypt