Seminar Topics & Project Ideas On Computer Science Electronics Electrical Mechanical Engineering Civil MBA Medicine Nursing Science Physics Mathematics Chemistry ppt pdf doc presentation downloads and Abstract

Full Version: Windows Mobile OS
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
[attachment=74078]



Microsoft® Windows® CE offers a rich set of features that you can use to customize a platform. Component services, networking capabilities, multimedia support, and many other capabilities are contained within individual OS features.

Applications and Services Development
Describes the operating system functionality that is available in Windows CE for developing applications and services.
Applications - End User
Describes the operating system functionality that is available for developing end user applications.
Communication Services and Networking
Describes the networking and communications capabilities in Windows CE that enable devices to connect and communicate with other devices and people over both wireless and wired networks.
Core OS Services
Describes the core operating system (OS) services that are available in Windows CE. Core OS services contain information on the Windows CE kernel and other features common to all Windows CE OS designs. The core OS services enable low-level tasks such as process, thread, and memory management.
File Systems and Data Store
Provides an overview of the file systems and data store architecture in Windows CE.
Fonts
Provides an overview of fonts and font technologies that are supported in Windows CE. Describes how you can replace fonts, specify a directory from which the OS should load fonts, and change the font size for the Help system. Also describes how you can enable ClearType, antialiased fonts, linked fonts, end-user-defined-characters (EUDC), and line breaking for Asian fonts.
Graphics and Multimedia Technologies
Describes the graphics and multimedia technologies that are supported in Windows CE. Includes detailed descriptions of the audio, graphics, and media support in Windows CE.
International
Describes the International support in Windows CE. The International technologies in Windows CE are comprised of a collection of functionality that provides general locale services and locale-specific support for certain key capabilities.
Internet Client Services
Describes the support for Internet client services in Windows CE. Windows CE provides support for browser applications, technologies that enable you to create custom browsers, and run-time engines for parsing and translating scripting languages.
Security
Provides an overview of the security technologies that enable you to enhance the security of your devices or applications.
Shell and User Interface
Provides a description of the shell and user interface technologies in Windows CE. These include the functionality that is necessary for a user to interact with a Windows CE-based device and the underlying OS.
Voice over IP Phone Services
Describes the technologies that are available in Windows CE to build IP phone devices.
Windows CE Error Reporting
Describes the Windows CE Error Reporting technology. Windows CE Error Reporting allows a device to save key information about the state of the machine at the time of a program crash.

TechnologyArchitecture:-
Configuration Files
The files that Platform Builder uses during the build process can be separated into two general categories of configuration files, source code configuration files and image configuration files:
• Source code configuration files are used by the Build tool to build modules and features and to build the source code for your run-time image.
• Run-time image configuration files are used by a number of tools that are called by the Make Binary Image Tool to create the run-time image.



Boot Loaders
The boot loader is a utility that is an integral part of the OEM device development process. In some cases, it is also included in the final OEM product. The general purpose of the boot loader is to place the run-time image into memory, and then jump to the OS startup routine. The boot loader can obtain the run-time image in a number of different ways, including loading it over a cabled connection, such as Ethernet, a universal serial bus (USB), or serial connection. The boot loader also loads the OS from a local storage device, such as Compact Flash, or a hard disk. The boot loader might store the run-time image in RAM or in nonvolatile storage, such as flash memory, electrically erasable programmable read only memory (EEPROM), or some other storage device for later use.
Using the boot loader during the board support package (BSP) development process saves time. You can quickly download a new run-time image to a target device using a boot loader rather than manually transferring the run-time image to a target device using a flash memory programmer or IEEE 1149.1-compliant test access port and boundary-scanning technology.
In many final OEM products, the boot loader is removed from the product and the system reset process bootstraps the run-time image, which is stored on the device. However, hardware platforms that do not efficiently support this ability, such as x86 platforms, or hardware platforms that need to perform pre-boot tasks, such as run-time image updates, might include the boot loader in the final product.
For more information on the entire development process for a boot loader, see How to Develop a Boot Loader.
Although each boot loader differs in the tasks it carries out and the way it performs them, the most common boot loader downloads the run-time image over Ethernet into RAM on a target device. The following topics describe this common boot loader and the basic infrastructure and concepts that apply to all boot loaders. They also describe the libraries and functions you can use to develop a boot loader.
• Recommended Boot Loader Functionality
• Hardware Considerations for the Boot Loader
• Modes for Booting the OS
• Ethernet Boot Loader
• Specialized Boot Loaders
• Boot Loader Support Libraries
OEM Adaptation Layer
An OEM adaptation layer (OAL) is a layer of code that logically resides between the Windows CE kernel and the hardware of your target device. Physically, the OAL is linked with the kernel libraries to create the kernel executable file.
The OAL facilitates communication between your operating system (OS) and your target device and includes code to handle interrupts, timers, power management, bus abstraction, generic I/O control codes (IOCTLs), and so on.
Creating the OAL is one of the more complex tasks in the process of getting a Windows CE–based OS to run on a new hardware platform. In general, the easiest way to create an OAL is to copy the OAL implementation from a working OS design, and then modify it to suit the specific requirements of your hardware platform.
If you must create an OAL from the beginning, the task can be greatly simplified by approaching the development process in stages. Each stage adds a little more functionality than the previous one and provides a convenient separation point where new functionality can be fixed and validated before proceeding to the next step. For more information on how to develop an OAL, see How to Develop an OEM Adaptation Layer.
Kernel Overview
The kernel, which is represented by the Nk.exe module, is the core of the Microsoft® Windows® CE operating system (OS). The kernel provides the base OS functionality for any Windows CE–based device. This functionality includes process, thread, and memory management. The kernel also provides some file management functionality. Kernel services enable applications to use this core functionality.
The following illustration shows the general structure, emphasizing the kernel as the conduit for the rest of the core OS.


Use the kernel process and thread functions to create, terminate, and synchronize processes and threads, and to schedule and suspend a thread. Processes, which represent single instances of running applications, enable users to work on more than one application at a time. Threads enable an application to perform more than one task at a time. Thread priority levels, priority inversion handling, interrupt support, and timing and scheduling are all included in the Windows CE kernel architecture. Together, they provide real-time application capability for time-critical systems.
The Windows CE kernel uses a paged virtual-memory system to manage and allocate program memory. The virtual-memory system provides contiguous blocks of memory, in 1,024-byte or 4,096-byte pages along 64-kilobyte (KB) regions, so that applications do not have to manage the actual memory allocation. For memory requirements of less than 64 KB, an application can use the local heap provided for all Windows CE applications or create separate heaps. The kernel also allocates memory to the stack for each new process or thread.
Use the kernel memory functions to allocate and deallocate virtual memory, use memory on the local heap, create separate heaps, and allocate memory from the stack. Your code can use the unused memory from the static data block that is allocated to load the application. Processes also can use memory-mapped objects to share data.
The kernel contains the following functionality:
• Memory Architecture
• Scheduling
• Real-Time Performance
• Loader
• System Calls
• Kernel Power Management
• Additional Kernel Functionality

File Systems and Data Store
The file system and data store for Microsoft® Windows® CE is referred to as the object store. The object store consists of a file system, database, and system registry that share a single memory heap. It provides persistent storage for applications and their related data even when the main power supply is lost. The object store can be up to 256 MB of compressible, nonvolatile, RAM storage. It integrates the read-only files that are stored in ROM with the read/write files of both an application and a user.
The file system can be either a RAM and ROM file system, or a ROM-only file system:
• The RAM and ROM file system provides file storage for the object store in RAM, and provides access to ROM.
• The ROM-only file system does not allow applications to place files in the object store, and ROM data is in accessable through the Windows directory.

Core OS Services
The core operating system (OS) services consist of the Microsoft® Windows® CE kernel and other features common to all Windows CE OS designs. Core OS services enable low-level tasks, such as process, thread, and memory management. Basic device drivers are also part of the Windows CE core OS services.
Communication Services and Networking
Microsoft® Windows® CE provides networking and communications capabilities that enable devices to connect and communicate with other devices and people over both wireless and wired networks.
• OEMs can create network-connected devices such as personal digital assistants (PDAs), smart phones, digital cameras, and gateways.
• Independent software vendors (ISVs), carriers, and enterprises can create rich network-aware applications and services using APIs and services such as Extensible Markup Language (XML), SOAP, Winsock, Message Queuing (MSMQ), and Media Sense.
• Independent hardware vendors (IHVs) can create networking drivers using Network Driver Interface Specification (NDIS) 5.1 and NDIS test tools — for example 802.11, Bluetooth, GPRS, CDMA, and Ethernet


2) Palm OS
Feature:- The key features of the current Palm OS Garnet are:
• Simple, single-tasking environment to allow launching of full screen applications with a basic, common GUI set
• Monochrome or color screens with resolutions up to 480x320 pixel
• Handwriting recognition input system called Graffiti 2
• HotSync technology for data synchronization with desktop computers
• Sound playback and record capabilities
• Simple security model: Device can be locked by password, arbitrary application records can be made private
• TCP/IP network access
• Serial port/USB, infrared, Bluetooth and Wi-Fi connections
• Expansion memory card support
• Defined standard data format for personal information management applications to store calendar, address, task and note entries, accessible by third-party applications.
Included with the OS is also a set of standard applications, with the most relevant ones for the four mentioned PIM operations.


3) Symbian
Feature:-
1. USB OTG (sw & hw) – Attach a portable USB adapter and you’re good in enjoying of transferring your files from USB to Nokia device vice versa.
2. DivX/Xvid Video Playback (sw)– Play almost any video files right in your gallery and default player. No need for installing program that is compatible in viewing these file types.
3. Web TV (sw) – Watch latest and exclusive episodes of TV series and programs right in your pocket. From NatGeo to How I Met Your Mother, and of course other programs too.
4. Music Player Cover Flow (sw) – Alike of this was already seen on other devices and some don’t even have this yet, but finally we got this cool effects in our phone at last.
5. Mutiple Homescreen (sw) – UI may not be the best on the robotic duck OS but what is worth looking for is this multiple homescreens that offer you customizations from different widgets to icons.
6. Threaded SMS / Conversations (sw) – Seen on other operating system like iOS and finally a blessing to Symbian’s mass.
7. FlashLight (sw & hw) – You don’t need to find and install the right applications on getting the LED work as a torch and flashlight in your phone. With just a simple hold of lock key then wew! A bright flashlight is twinkling in your phone…and simple defense tool in blinding your enemy, eh?
8. Photo Editor & Video (sw) – This feature is more than on your computer’s paint benefits. Because this one is a simple tool yet with extensive editing features that really help you on creating your masterpiece from HD videos to colorful photos.
9. Real Multitasking (sw) – This true computer’s multitasking technology was pioneered well on Symbian’s platform ages ago. But what is new of Symbian^3 is that we have newer UI for real multitasking.
10. Multimedia (sw & hw) – Imagine that you could plug and play your device in many ways. Could be it on your HDMI TV with surround plus blessing of Dolby or maybe through the FM transmitterinside the car. Nonetheless, these are the newest features that you could exclusively do only on Nokia devices powered by Symbian^3.


1. UI Framework Layer
The topmost layer of Symbian OS, the UI Framework layer provides the frameworks and libraries for constructing a user interface, including the basic class hierarchies for user interface controls and other frameworks and utilities used by user interface components. The UI Framework layer also includes a number of specialist, graphicsbased frameworks which are used by the user interface but which are also available to applications, including the Animation framework, the Front End Processor (FEP) base framework and Grid. The user interface architecture in Symbian OS is based on a core framework called Uikon and a class hierarchy for user interface controlscalled the control environment. Together, they provide the framework which defines basic GUI behavior, which is specialized by a concrete GUI implementation (for example, S60, UIQ or MOAP), and the internal plumbing which integrates the GUI with the underlying graphics architecture. Uikon was originally created as a refactoring of the Eikon user interface library, which was part of the earliest versions of the operating system. Uikon was created to support easier user interface customization, including ‘pluggable’ look-and-feel modules.
2. The Application Services Layer
The Application Services layer provides support independent of the user interface for applications on Symbian OS. These services divide into three broad groupings: • system-level services used by all applications, for example the Application Architecture or Text Handling • services that support generic types of application and application-like services, for example personal productivity applications (vCard and vCal, Alarm Server) and data synchronization services (OMA Data Sync, for example); also included are a number of key application engines which are used and extended by licensees (Calendar and Agenda Model), as well as legacy engines which licensees may choose to retain (Data Engine) • services based on more generic but application-centric technologies, for example mail, messaging and browsing (Messaging Store, MIME Recognition Framework, HTTP Transport Framework). Applications in Symbian OS broadly follow the classic object-oriented Model–Viewer–Controller (MVC) pattern. The framework level support encapsulates the essential relationships between the main application classes (representing the application data model, the views onto it, and the document and document user interface that allow it to be manipulated and persisted) and abstracts all of the necessary underlying system-level behavior. In principle, a complete application can be written without any further direct dependencies (with the exception of the User Library). The Application Services layer reflects the way that the system as a whole has evolved. On the one hand, it contains essential application engines that almost no device can do without (the Contacts Model for example), as well as a small number of application engines that are mostly now considered legacy (e.g. the WYSIWYG printing services and the office application engines, including Sheet Engine, a full spreadsheet engine more appropriate for PDA-style devices). On the other hand, it contains (from Symbian OS v9.3) the SIP Framework, which provides the foundation for the next generation of mobile applications and services.
In some senses, Java does not fit neatly into the layered operating system model. Symbian’s Java implementation is based around: • a virtual machine (VM) and layered support for the Java system which complements it, based on the MIDP 2.0 Profile • a set of standard MIDP 2.0 Packages • an implementation of the CLDC 1.1 language, I/O, and utilities services • a number of low-level plug-ins which implement the interface between CLDC, the supported packages, and the native system. Java support has been included in Symbian OS from the beginning, but the early Java system was based on pJava and JavaPhone. A standard system based on Java ME first appeared in Symbian OS v7.0s. Since Symbian OS v8, the Java VM has been a port of Sun’s CLDC HI.
3. The OS Services Layer
The OS Services layer is, in effect, the ‘middleware’ layer of Symbian OS, providing the servers, frameworks, and libraries that extend the bare system below it into a complete operating system. The services are divided into four major blocks, by broad functional area: • generic operating system services • communications services • multimedia and graphics services • connectivity services. Together, these provide technology-specific but applicationindependent services in the operating system. In particular, the following servers are found here: • communications framework: the Comms Root Server and ESock (Sockets) Server provide the foundation for all communications services • telephony: ETel (Telephony) Server, Fax Server and the principal servers for all telephony-based services • networking: the TCP/IPv4/v6 networking stack implementation • serial communications: the C32 (Serial) Server, providing standard serial communications support graphics and event handling: the Window Server and Font and Bitmap Server provide all screen-drawing and font support, as well as systemand application-event handling • connectivity: the Software Install Server, Remote File Server and Secure Backup Socket Server provide the foundation for connectivity services • generic: the Task Scheduler provides scheduled task launching. Among the other important frameworks and libraries found in this layer is the Multimedia Framework (providing framework support for cameras, still- and moving-image recording, replay and manipulation, and audio players) and the C Standard Library, an important support library for software porting
4. The Base Services Layer
The foundational layer of Symbian OS, the Base Services layer provides the lowest level of user-side services. In particular, the Base Services layer includes the File Server and the User Library. The microkernel architecture of Symbian OS places them outside the kernel in user space. (This is in contrast to monolithic system architectures, such as both Linux and Microsoft Windows, in which file system services and User Library equivalents are provided as kernel services.) Other important system frameworks provided by this layer include the ECom Plug-in Framework, which implements the standard management interface used by all Symbian OS framework plug-ins; Store, which provides the persistence model; the Central Repository, the DBMS framework; and the Cryptography Library. The Base Services layer also includes the additional components which are needed to create a fully functioning base port without requiring any further high-level services: the Text Window Server and the Text Shell.
5. The Kernel Services and Hardware Interface Layer
The lowest layer of Symbian OS, the Kernel Services and Hardware Interface layer contains the operating system kernel itself, and the supporting components which abstract the interfaces to the underlying hardware, including logical and physical device drivers and ‘variant support’, which implements pre-packaged support for the standard, supported platforms (including the Emulator and reference hardware boards). In releases up to Symbian OS v8, the kernel was the EKA1 (Kernel Architecture 1) kernel, the original Symbian OS kernel. In Symbian OS v8, the EKA2 (Kernel Architecture 2) real-time kernel shipped for the first time as an option. (It was designated Symbian OS v8.1b; Symbian OS v8.1a is the Symbian OS v8.1 release with the original kernel architecture.) From Symbian OS v9, EKA1 no longer ships and all systems are based on the real-time EKA2 kernel.


4) Blackberry
Feature:-
1. BlackBerry Flow;-First is BlackBerry Flow which offers a true multitasking experience for its users. Flow basically lets users switch from one app to another in a breeze, hence the term “flow.”
2. BlackBerry Hub
It is basically a feature of BlackBerry 10 that allows users to manage all activities in one single place. Users can swipe to view upcoming calendar events, access all their apps in real-time, and view social updates via Facebook, Twitter, and LinkedIn. What’s amazing is that users won’t have to open multiple apps. Everything is in the hub.
3. BlackBerry Peek
It lets users “peek” on an application and immediately get back to what they are doing. You can “peek” on your inbox to check messages and instantly resume watching videos afterwards without having to close the player. All of these can be done in a swipe. It’s all about flow.
4. BlackBerry Keyboard
Perhaps the most highly anticipated feature of BB10 is the BlackBerry Keyboard. The keyboard essentially offers one thumb typing. BlackBerry CEO Thorsten Heins says that the BlackBerry Keyboard offers simplicity, elegance, and confidence. It also offers the best typing experience, Heins added. BlackBerry has also managed to remove a number of secondary buttons in order to make the keys bigger. The keyboard also supports multiple languages.
5. BlackBerry Balance
BlackBerry Balance is another feature that lets users easily switch from work to personal mode. For example, users can switch to work mode while at the office and access all their work-related apps in the their device. Users can then switch back to personal mode when at home to view their personal apps such as games. Note that switching is done by a swipe. Impressive! BlackBerry Balance offers a single and a unified experience.
6. BlackBerry Remember
The company also introduced a new app called BlackBerry Remember that lets users save stuff to remember such as notes and voice reminders. Even better is that users can save them in different folders. And yes, BlackBerry Remember also offers seamless integration with Evernote.

TechnologyArchitecture:-
The following diagram shows the components of the BlackBerry 10 device architecture. These components work together to protect the privacy, integrity, and confidentiality of your apps and data


The Linux Kernel
Positioned at the bottom of the Android software stack, the Linux Kernel provides a level of abstraction between the device hardware and the upper layers of the Android software stack. Based on Linux version 2.6, the kernel provides preemptive multitasking, low-level core system services such as memory, process and power management in addition to providing a network stack and device drivers for hardware such as the device display, Wi-Fi and audio.
The original Linux kernel was developed in 1991 by Linus Torvalds and was combined with a set of tools, utilities and compilers developed by Richard Stallman at the Free Software Foundation to create a full operating system referred to as GNU/Linux. Various Linux distributions have been derived from these basic underpinnings such as Ubuntu and Red Hat Enterprise Linux.
It is important to note, however, that Android only uses the Linux kernel. That said, it is worth noting that the Linux kernel was originally developed for use in traditional computers in the form of desktops and servers. In fact, Linux is now most widely deployed in mission critical enterprise server environments. It is a testament to both the power of today’s mobile devices and the efficiency and performance of the Linux kernel that we find this software at the heart of the Android software stack.

Android Runtime - Dalvik Virtual Machine
As previously noted, the Linux kernel provides a multitasking execution environment allowing multiple processes to execute concurrently. It would be easy to assume, therefore, that each Android application simply runs as a process directly on the Linux kernel. In fact, each application running on an Android device does so within its own instance of the Dalvik virtual machine (VM).
Running applications in virtual machines provides a number of advantages. Firstly, applications are essentially sandboxed, in that they cannot detrimentally interfere (intentionally or otherwise) with the operating system or other applications, nor can they directly access the device hardware. Secondly, this enforced level of abstraction makes applications platform neutral in that they are never tied to any specific hardware.
The Dalvik virtual machine was developed by Google and relies on the underlying Linux kernel for low-level functionality. It is more efficient than the standard Java VM in terms of memory usage, and specifically designed to allow multiple instances to run efficiently within the resource constraints of a mobile device.
In order to execute within a Dalvik VM, application code must be transformed from standard Java class files to the Dalvik executable (.dex) format, which has a 50% smaller memory footprint than standard Java bytecode. Standard Java class files can usually (though not always) be converted to Dex format using the dx tool included with the Android SDK.

Android Runtime – Core Libraries
The Android Core Libraries (also referred to as the Dalvik Libraries) fall into three main categories, each of which merits an individual description:
Dalvik VM Specific Libraries
This is a set of libraries used predominantly for interacting directly with an instance of the Dalvik VM and is unlikely to be used by most Android application developers.
Java Interoperability Libraries
android applications are predominantly developed using the Java programming language. The Standard Java development environment includes a vast array of classes that are contained in the core Java runtime libraries. These libraries provide support for tasks such as string handling, networking and file manipulation (to name but a few) and are both familiar to, and widely used by Java developers regardless of platform.
The Java Interoperability Libraries are an open source implementation (based on the Apache Harmony project) of a subset of the Standard Java core libraries that have been adapted and transformed for use by applications running within a Dalvik VM.
Android Libraries
This category encompasses those Java-based libraries that are specific to Android development. Examples of libraries in this category include the application framework libraries in addition to those that facilitate user interface building, graphics drawing and database access.
A summary of some key core Android libraries available to the Android developer is as follows:
• android.app – Provides access to the application model and is the cornerstone of all Android applications.
• android.content – Facilitates content access, publishing and messaging between applications and application components.
• android.database – Used to access data published by content providers and includes SQLite database management classes.
• android.graphics – A low-level 2D graphics drawing API including colors, points, filters, rectangles and canvases.
• android.hardware – Presents an API providing access to hardware such as the accelerometer and light sensor.
• android.os – Provides applications with access to standard operating system services including messages, system services and inter-process communication.
• android.net – A set of APIs providing access to the network stack. Includes android.net.wifi, which provides access to the device’s wireless stack.
• android.util – A set of utility classes for performing tasks such as string and number conversion, XML handling and date and time manipulation.
• android.view – The fundamental building blocks of application user interfaces.
• android.widget - A rich collection of pre-built user interface components such as buttons, labels, list views, layout managers, radio buttons etc.
Having covered the Java-based core libraries in the Android runtime, it is now time to turn our attention to the C/C++ based libraries contained in this layer of the Android software stack.
C/C++ Libraries
The Android runtime core libraries outlined in the preceding section are Java-based and provide the primary APIs for developers writing Android applications. It is important to note, however, that the core libraries do not actually perform much of the actual work and are, in fact, essentially Java “wrappers” around a set of C/C++ based libraries. When making calls, for example, to the android.opengl library to draw 3D graphics on the device display, the library actually ultimately makes calls to the OpenGL ES C++ library which, in turn, works with the underlying Linux kernel to perform the drawing tasks.
C/C++ libraries are included to fulfill a wide and diverse range of functions including 2D and 3D graphics drawing, Secure Sockets Layer (SSL) communication, SQLite database management, audio and video playback, bitmap and vector font rendering, display subsystem and graphic layer management and an implementation of the standard C system library (libc).
In practice, the typical Android application developer will access these libraries solely through the Java based Android core library APIs. In the event that direct access to these libraries is needed, this can be achieved using the Android Native Development Kit (NDK), the purpose of which is to call the native methods of non-Java programming languages (such as C and C++) from within Java code using the Java Native Interface (JNI).
Application Framework
The Application Framework is a set of services that collectively form the environment in which Android applications run and are managed. This framework implements the concept that Android applications are constructed from reusable, interchangeable and replaceable components. This concept is taken a step further in that an application is also able to publish its capabilities along with any corresponding data so that they can be found and reused by other applications.
The Android framework includes the following key services:
• Activity Manager – Controls all aspects of the application lifecycle and activity stack.
• Content Providers – Allows applications to publish and share data with other applications.
• Resource Manager – Provides access to non-code embedded resources such as strings, color settings and user interface layouts.
• Notifications Manager – Allows applications to display alerts and notifications to the user.
• View System – An extensible set of views used to create application user interfaces.
• Package Manager – The system by which applications are able to find out information about other applications currently installed on the device.
• Telephony Manager – Provides information to the application about the telephony services available on the device such as status and subscriber information.
• Location Manager – Provides access to the location services allowing an application to receive updates about location changes.
Applications
Located at the top of the Android software stack are the applications. These comprise both the native applications provided with the particular Android implementation (for example web browser and email applications) and the third party applications installed by the user after purchasing the device.


6) Iphone OS
Feature:-
1. Home screen
2. System font
3. Folders
4. Notification Center
5. Accessibility
6. Included applications
7. Multitasking
8. Switching applications
9. Ending tasks
10. Task completion
11. Game Center
For more info refer;- https://en.wikipediawiki/IOS --->features



TechnologyArchitecture:-
In The Anatomy of an iPhone we looked at the hardware that is contained within an iPhone device. When we develop apps for the iPhone Apple does not allow us direct access to any of this hardware. In fact, all hardware interaction takes place exclusively through a number of different layers of software that act as intermediaries between the applications and device hardware. These layers make up what is known as an operating system. In the case of the iPhone, this operating system is known as the iPhone OS.
An Overview of the iPhone OS Architecture
As previously mentioned, the iPhone OS consists of a number of different software layers, each of which provides programming frameworks for the development of applications that run on top of the operating system.