<<

Operating Systems (EE-3401/Computer Laboratory)

By

Palash Parmar

Roll No.-11104EN040

B.Tech Part-III

Electrical Engineering

1

Abstract-This paper gives a brief study of two On 25 August 2001, released Windows named “Windows” and XP. Windows XP uses the Windows NT 5.1 kernel, “Android”, starting from its history, followed by marking the entrance of the Windows NT core to the its classification, its features, its working, and consumer market, to replace the aging 16/32-bit finally compared with other Operating System on branch. various grounds. was released on 8 November 2006 to I. INTRODUCTION business customers, consumer versions following on An operating system (commonly abbreviated OS and 30 January 2007. Windows Vista intended to have O/S) is the software component of a computer system enhanced security by introducing a new restricted that is responsible for the management and user mode called , replacing the coordination of activities and the sharing of the "administrator-by-default" philosophy of Windows resources of the computer. The operating system acts XP. Vista also features new graphics features, the as a host for application programs that are run on the GUI, new applications. machine. As a host, one of the purposes of an operating system is to handle the details of the was released to manufacturing on 22 July operation of the hardware. This relieves application 2009, and reached general retail availability on 22 programs from having to manage these details and October 2009. It was previously known by the makes it easier to write applications. Almost all codenames Blackcomb and Vienna. Windows 7 has computers, including hand-held computers, desktop the version number NT 6.1. Windows 7 ships in six computers, supercomputers, and even play station editions: consoles, use an operating system of some type. i. Starter Some of the oldest models may however use an ii. Home Basic embedded OS that may be contained on a compact iii. Home Premium disk or other storage device. iv. Professional Common contemporary operating systems include v. Enterprise , Mac OS X, and Solaris. vi. Ultimate Microsoft Windows has a significant majority of market share in the desktop and notebook computer III. HARDWARE REQUIREMENT markets, while servers generally run on Linux or other Unix-like systems. Embedded device markets The minimum requirement of Windows 7 is: are split amongst several operating systems.  1 GHz processor (32- or 64-bit)  1 GB of RAM (32-bit); 2 GB of RAM (64- II. HISTORY OF WINDOWS bit) In 1983, Microsoft announced the development of  16 GB of available disk space (32-bit); 20 Windows, a (GUI) for its GB of available disk space (64-bit) own operating system (MS-DOS). The product line  DirectX 9 graphics device with WDDM 1.0 has changed from a GUI product to a modern or higher driver operating system over two families of design, each with its own codebase and default . IV. DESIGN CONCEPT OF WINDOWS 7 The 3.x and 4.x family includes many versions of  Extensibility: The code must be written to Windows advancing in 32-bit networking and 32-bit comfortably grow and change as market disk access. requirements change.  Portability: The system must be able to run The development of Windows NT with newer kernel on multiple hardware architectures and must and improved architecture makes windows a great be able to move with relative ease to new success. ones as market demands dictate.

 Reliability and Robustness: The system On 25 June 1998, Microsoft released , should protect itself from both internal includes new hardware drivers and the FAT32 file malfunction and external tampering. system which supports disk partitions that are larger Applications should not be able to harm the than 2 GB. operating system or other applications.

2

 Compatibility: Although Windows NT Exchange , also include components should extend existing technology, its user that run as services. interface and should be compatible  User applications, which can be one of the with older versions of Windows and with following types: Windows 32-bit or 64-bit, MS-DOS. It should also interoperate well Windows 3.1 16-bit, MS-DOS 16-bit, or with other systems, such as UNIX, OS/2, POSIX 32-bit or 64-bit. Note that 16-bit and NetWare. applications can be run only on 32-bit  Performance Within the constraints of the Windows. other design goals, the system should be as  Environment subsystem server processes, fast and responsive as possible on each which implement part of the support for the hardware platform. Operating system environment, or personality, presented to the user and programmer. Windows NT originally V. WINDOWS 7 ARCHITECTURE shipped with three environment subsystems: Windows, POSIX, and OS/2. However, the POSIX and OS/2 subsystems last shipped with . The Ultimate and Enterprise editions of Windows client as well as all of the server versions include support for an enhanced POSIX subsystem called Subsystem for Unix-based Applications (SUA).

The kernel-mode components of Windows include the following:  The Windows executive contains the base

operating system services, such as memory If the observe in the system architecture diagram of management, and thread Windows 7, there is a line dividing the user-mode management, security, I/O, networking, and and kernel-mode parts of the Windows operating interprocess communication. system. The boxes above the line represent user-  The Windows kernel consists of low-level mode processes, and the components below the line operating system functions, such as thread are kernel-mode operating system services. User- scheduling, interrupt and exception mode threads execute in a protected process address dispatching, and multiprocessor space (although while they are executing in kernel synchronization. It also provides a set of mode, they have access to system space). Thus, routines and basic objects that the rest of the system support processes, service processes, user executive uses to implement higher-level applications, and environment subsystems each have constructs. their own private process address space.  Device drivers include both hardware device drivers, which translate user I/O function The four basic types of user-mode processes are calls into specific hardware device I/O described as follows: requests, as well as non-hardware device  Fixed (or hardwired) system support drivers such as file system and network processes, such as the logon process and the drivers. Session Manager that are not Windows  The hardware abstraction layer (HAL) is a services. (That is, they are not started by the layer of code that isolates the kernel, the .) device drivers, and the rest of the Windows  Service processes that host Windows executive from platform-specific hardware services, such as the Task Scheduler and differences (such as differences between Print Spooler services. Services generally motherboards). have the requirement that they run independently of user logons. Many VI. PROCESSES, THREADS, AND JOBS applications, such as Microsoft SQL Server and Microsoft Each Windows process is represented by an executive process (EPROCESS) data structure.

3

Besides containing many attributes relating to a might be allowed or preferred to run on, a process, an PROCESS contains and points to a phenomenon called processor affinity. Processor number of other related data structures. For each affinity is defined based on a given processor group, process that is executing a Win32 program, the which collects up to 64 processors. By default, Win32 subsystem process (Csrss) maintains a parallel threads can run only on any available processors structure called the CSR_PROCESS. Finally, the within the processor group associated with the kernel-mode part of the Win32 subsystem process (to maintain compatibility with older (Win32k.sys) maintains a per-process data structure, versions of Windows which supported only 64 W32PROCESS. The W32PROCESS structure is processors), but developers can alter processor created the first time a thread calls a Windows USER affinity by using the appropriate APIs or by setting an or GDI function that is implemented in kernel mode. affinity mask in the image header, while users can In the Windows security model, any process running use tools to change affinity at runtime or at process with a token containing the debug privilege (such as creation. However, although multiple threads in a an administrator’s account) can request any access process can be associated with different groups, a right that it desires to any other process running on thread on its own can run only on the processors the machine. Protected processes can be created by available within its assigned group. Additionally, any application; however, the operating system will developers can choose to create group-aware allow a process to be protected only if the image file applications, which use extended scheduling APIs to has been digitally signed with a special Windows associate logical processors on different groups with Media Certificate. the affinity of their threads. Doing so converts the The various steps involved in creating a process in process into a multigroup process that can Windows 7 is described in a form of a flow chart theoretically run its threads on any available below. processor within the machine.

VII. SECURITY

These are the core components and databases that implement Windows security:  Security reference monitor (SRM) A component in the Windows executive (%SystemRoot%\System32\Ntoskrnl.exe) that is responsible for defining the data structure to represent a security context, performing security access checks on objects, manipulating privileges (user rights), and generating any resulting security audit messages.  Local Security Authority subsystem (LSASS) A user-mode process running the image%SystemRoot%\System32\Lsass.exe that is responsible for the local system security policy (such as which users are allowed to log on to the machine, password policies, privileges granted to users and groups, and the system security auditing ), user , and sending security audit messages to the Event Log. The Local Security Authority service (Lsasrv— %SystemRoot%\System32\Lsasrv.dll), a Windows Scheduling: library that LSASS loads, implements most Windows implements a priority-driven, preemptive of this functionality. scheduling system—at least one of the highest  LSASS policy database A database that priority runnable (ready) threads always runs, with contains the local system security policy the caveat that certain high-priority threads ready to settings. This database is stored in the run might be limited by the processors on which they registry in an ACL-protected area under

4

HKLM\SECURITY. It includes such for responding to the SAS and for managing information as what domains are entrusted interactive logon sessions. creates to authenticate logon attempts, who has a user’s first process when the user logs on, permission to access the system and how for example. (interactive, network, and service logons),  Logon user interface (LogonUI) A user- who is assigned which privileges, and what mode process running kind of security auditing is to be performed. %SystemRoot%\System32 \LogonUI.exe The LSASS policy database also stores that presents users with the user interface ―secrets‖ that include logon information they can use to authenticate themselves on used for cached domain logons and the system. LogonUI uses credential user-account logons. providers to query user credentials through  Security Accounts Manager (SAM) A various methods. service responsible for managing the  Credential providers (CPs) In-process COM database that contains the user names and objects that run in the LogonUI process groups defined on the local machine. The (started on demand by Winlogon when the SAM service, which is implemented as SAS is performed) and used to obtain a %SystemRoot%\System32\Samsrv.dll, is user’s name and password, smartcard PIN, loaded into the LSASS process. or biometric data (such as a fingerprint). The  SAM database A database that contains the standard CPs are defined local users and groups, along with %SystemRoot%\System32\authui.dll and their passwords and other attributes. On %SystemRoot%\System32 domain controllers, the SAM does not store \SmartcardCredentialProvider.dll. the domain defined users, but stores the  Network logon service (Netlogon) A system’s administrator recovery account Windows service definition and password. This database is (%SystemRoot%\System32 \Netlogon.dll) stored in the registry under HKLM\SAM. that sets up the secure channel to a domain  A directory service that controller, over which security requests— contains a database that stores information such as an interactive logon (if the domain about objects in a domain. A domain is a controller is running Windows NT 4) or collection of computers and their associated LAN Manager and NT LAN Manager (v1 security groups that are managed as a single and v2) authentication validation—are sent. entity. Active Directory stores information Netlogon is also used for Active Directory about the objects in the domain, including logons. users, groups, and computers. Password  Kernel Security (KSecDD) A information and privileges for domain users kernel-mode library of functions that and groups are stored in Active Directory, implement the advanced local procedure call which is replicated across the computers that (ALPC) interfaces that other kernel mode are designated as domain controllers of the security components, including the domain. The Active Directory server, (EFS), use to implemented as communicate with LSASS in user mode. SystemRoot%\System32\Ntdsa.dll, runs in KSecDD is located in the LSASS process. %SystemRoot%\System32\Drivers\Ksecdd.  Authentication packages These include sys. dynamic-link libraries (DLLs) that run both  AppLocker A mechanism that allows in the context of the LSASS process and administrators to specify which executable client processes, and implement Windows files, DLLs, and scripts can be used by authentication policy. An authentication specified users and groups. AppLocker DLL is responsible for authenticating a user, consists of a driver by checking whether a given user name and (%SystemRoot%\System32\Drivers\AppId. password match, and if so, returning to the sys) and a service LSASS information detailing the user’s (%SystemRoot%\System32 \AppIdSvc.dll) security identity, which LSASS uses to running in a SvcHost process. generate a token.  Interactive logon manager (Winlogon) A user-mode process running %SystemRoot% \System32\Winlogon.exe that is responsible

5

VIII. MEMORY MANAGEMENT Windows provides memory protection so that no user The maximum amount of physical memory currently process can inadvertently or deliberately corrupt the supported by Windows ranges from 2 GB to 2,048 address space of another process or of the operating GB, depending on which version and edition of system. Windows provides this protection in four Windows you are running. Because the virtual primary ways. address space might be larger or smaller than the  First, all system wide data structures and physical memory on the machine, the memory memory pools used by kernel-mode system manager has two primary tasks: components can be accessed only while in  Translating, or mapping, a process’s virtual kernel mode address space into physical memory so that  Second, each process has a separate, private when a thread running in the context of that address space, protected from being process reads or writes to the virtual address accessed by any thread belonging to another space, the correct physical address is process. referenced. (The subset of a process’s virtual  Third, in addition to the implicit protection address space that is physically resident is virtual-to-physical address translation offers, called the working set. all processors supported by Windows  Paging some of the contents of memory to provide some form of hardware-controlled disk when it becomes overcommitted—that memory protection (such as read/write, read- is, when running threads or system code try only, and so on); the exact details of such to use more physical memory than is protection vary according to the processor. currently available— and bringing the  Finally, shared memory section objects have contents back into physical memory when standard Windows access control lists needed. (ACLs) that are checked when processes The Performance tab in the Windows , attempt to open them, thus limiting access of shown in the following screen shot, displays basic shared memory to those processes with the system memory information. This information is a proper rights. subset of the detailed memory information available through the performance counters. It includes data on IX. Cache Manager both physical and virtual memory usage. The cache manager has several key features:  Supports all file system types (both local and network), thus removing the need for

6

each file system to implement its own cache format for magnetooptical storage media, management code mainly DVD-ROM. UDF is included in the  Uses the memory manager to control which DVD specification and is more flexible than parts of which files are in physical memory CDFS. The UDF file system format has the (trading off demands for physical memory following traits: between user processes and the operating . Directory and file names can be system) 254 ASCII or 127  Caches data on a virtual block basis (offsets characters long. within a file)—in contrast to many caching . Files can be sparse. (Sparse files systems, which cache on a logical block are defined later in this chapter.) basis (offsets within a disk volume)— . File sizes are specified with 64 bits. allowing for intelligent read-ahead and high- . Support for access control lists speed access to the cache without involving (ACLs). file system drivers (This method of caching, . Support for alternate data streams. called fast I/O, is described later in this chapter.)  FAT12, FAT16, and FAT32: Windows  Supports ―hints‖ passed by applications at supports the FAT file system primarily for file open time (such as random versus compatibility with other operating systems sequential access, temporary file creation, in multiboot systems, and as a format for and so on) flash drives or memory cards. The Windows  Supports recoverable file systems (for FAT file system driver is implemented in example, those that use transaction logging) %SystemRoot%\System32\Drivers\Fastfat.s to recover data after a system failure ys. The name of each FAT format includes a number that indicates the number of bits that X. File Systems the particular format uses to identify clusters on a disk. FAT12’s 12-bit cluster identifier Windows includes support for the following file limits a partition to storing a maximum of system formats: 212 (4,096) clusters. Windows permits . CDFS:(%SystemRoot%\System32\Drivers\ cluster sizes from 512 bytes to 8 KB, which Cdfs.sys), or CD-ROM file system, is a limits a FAT12 volume size to 32 MB. read-only file system driver that supports a superset of the ISO-9660 format as well as a  exFAT: Designed by Microsoft, the superset of the Joliet disk format. While the Extended file system ISO-9660 format is relatively simple and has (exFAT, also called FAT64) is an limitations such as ASCII uppercase names improvement over the traditional FAT file with a maximum length of 32 characters, systems and is specifically designed for Joliet is more flexible and supports Unicode flash drives. The main goal of exFAT is to names of arbitrary length. If structures for provide some of the advanced functionality both formats are present on a disk (to offer offered by NTFS, but without the metadata maximum compatibility), CDFS uses the structure overhead and metadata logging Joliet format. CDFS has a couple of that create write patterns not suited for many restrictions: flash media devices. As the FAT64 name . A maximum file size of 4 GB implies, the file size limit is increased to . A maximum of 65,535 directories 264, allowing files up to 16 exabytes.This CDFS is considered a legacy format because change is also matched by an increase in the the industry has adopted the Universal Disk maximum cluster size, which is currently Format (UDF) as the standard for optical implemented as 32 MB but can be as large media. as 2255 sectors. exFAT also adds a bitmap that tracks free clusters, which improves the . UDF: The Windows UDF file system performance of allocation and deletion implementation is OSTA (Optical Storage operations. Finally, exFAT allows more than Technology Association) UDF- compliant. 1,000 files in a single directory. These (UDF is a subset of the ISO-13346 format characteristics result in increased scalability with extensions for formats such as CD-R and support for large disk sizes. and DVD-R/RW.) OSTA defined UDF in 1995 as a format to replace the ISO-9660

7

 NTFS: The NTFS file system is the native file system format of Windows. NTFS uses 64-bit cluster numbers. This capacity gives NTFS the ability to address volumes of up to 16 exaclusters; however, Windows limits the size of an NTFS volume to that addressable with 32-bit clusters, which is slightly less than 256 TB (using 64-KB clusters). NTFS also supports 232–1 files per volume. The NTFS format allows for files that are 16 exabytes in size, but the implementation limits the maximum file size to 16 TB.

File system drivers (FSDs) manage file system formats. Although FSDs run in kernel mode, they differ in a number of ways from standard kernel- mode drivers. Perhaps most significant, they must register as an FSD with the I/O manager and they interact more extensively with the memory manager. For enhanced performance, file system drivers also usually rely on the services of the cache manager. Windows has two different types of file system drivers:  Local FSDs manage volumes directly connected to the computer.  Network FSDs allow users to access data volumes connected to remote computers.

XI. BASIC WINDOWS COMMANDS  dir: List of files in the directory.  xcopy: Copy a file

 chkdsk: Check remaining disk space.

 mem: Check amount of memory available.

: show tasks that are running in windows system.  taskkill: To kill a particular task in windows system.

 The Graphical User interface of Windows 7 is very user friendly. It is easy to understand compared to other OS.  There is a huge collection of software and games available in Windows OS. It is easy to find software for Windows OS.

8

hardware was initially required, but those requirements have been relaxed or eliminated ANDROID OS altogether. For example, as Android was developed initially as a phone OS, hardware such as microphones were required, while over time the I. INTRODUCTION AND HISTORY phone function became optional. Android used to require an autofocus camera, which was relaxed to a Android is a software stack for mobile devices that fixed-focus camera if it is even present at all, since includes an operating system, middleware and key the camera was dropped as a requirement entirely applications. Android is a software platform and when Android started to be used on set-top boxes. operating system for mobile devices based on the Linux operating system and developed by Google and the Open Handset Alliance. It allows developers III. ARCHITECTURE OF ANDROID to write managed code in a Java-like language that utilizes Google-developed Java libraries, but does not support programs developed in native code. The unveiling of the Android platform on 5 November 2007 was announced with the founding of the Open Handset Alliance, a consortium of 34 hardware, software and telecom companies devoted to advancing open standards for mobile devices. When released in 2008, most of the Android platform will be made available under the Apache free- software and open-source license. Open - Android allows accessing core mobile device functionality through standard API calls. All applications are equal - Android does not differentiate between the phone's basic and third- party applications -- even the dialer or home screen can be replaced. Breaking down boundaries - Combine information from the web with data on the phone -- such as contacts or geographic location -- to create new user experiences. Fast and easy development - The SDK contains what need to build and run Android applications, including a true device Figure 1 outlines the current (layered) Android emulator and advanced debugging tools. Architecture. The modified Linux kernel operates as the HAL, and provides device driver, memory II. ANDROID 4.4 HARDWARE REQUIREMENTS management, process management, as well as Android 4.4 OS require at least 512 MB of RAM, networking functionalities, respectively. The library and a 32-bit ARMv7, MIPS or x86 architecture layer is interfaced through Java (which deviates from processor, together with an OpenGL ES 2.0 the traditional Linux design). It is in this layer that compatible graphics processing unit (GPU). Android the Android specific lib.c (Bionic) is located. The supports OpenGL ES 1.1, 2.0 and 3.0. Some surface manager handles the user interface (UI) applications explicitly require certain version of the windows. The Android runtime layer holds the OpenGL ES, thus suitable GPU hardware is required Dalvik Virtual Machine (DVM) and the core libraries to run such applications. (such as Java or IO). Most of the functionalities Android devices incorporate many optional available in Android are provided via the core hardware components, including still or video libraries. cameras, GPS, hardware orientation sensors, The application framework houses the API dedicated gaming controls, accelerometers, interface. In this layer, the activity manager governs gyroscopes, barometers, magnetometers, proximity the application life cycle. The content providers sensors, pressure sensors, thermometers and enable applications to either access data from other touchscreens. Some hardware components are not applications or to share their own data. The resource required, but became standard in certain classes of manager provides access to non-code resources (such devices, such as smartphones, and additional as graphics), while the notification manager enables requirements apply if they are present. Some other applications to display custom alerts. On top of the

9 application framework are the built-in, as well as the  Foreground: A process that is running an user applications, respectively. It has to be pointed Activity, a Service providing the Activity, a out that a user application can replace a built-in starting or stopping Service or a currently application, and that each Android application runs in receiving Broadcast Receiver. its own process space, within its own DVM instance.  Visible: If a process holds a paused but still Most of these major Android components are further visible Activity or a Service bound to a discussed (in more detail) in the next few sections of visible Activity and no foreground this report. components, it is classified a visible process.  Service: A process that executes an already Dalvik Virtual Machine started Service. Android based systems utilize their own virtual  Background: An Activity that is no longer machine (VM), which is known as the Dalvik Virtual visible is hold by a . Machine (DVM). The DVM uses special byte-code,  Empty: These processes contain no active hence native Java byte-code cannot directly be application components and exist only for executed on Android systems. The Android caching purposes. community provides a tool (dx) that allows If the system is running low on memory, the converting Java class files into Dalvik executable importance of a process becomes a crucial part in the (dex). The DVM implementation is highly optimized system’s decision which process gets killed to free in order to perform as efficiently and as effectively as memory. Therefore empty processes are killed most possible on mobile devices that are normally likely followed by background processes and so on. equipped with a rather modest (these days normally a Usually only empty and background processes are dual, or quad) CPU subsystem, limited memory killed so the user experience stays unaffected. The resources, no OS swap space, and limited battery system is designed to leave everything untouched as capacity. The DVM has been implemented in a way long as possible that is associated with a visible that allows a device to execute multiple VM’s in a component like an Activity. Processes can contain rather efficient manner. It also has to be pointed out multiple threads, like it is usual on Linux based that the DVM relies on the modified Linux kernel for systems. Most Android applications consist of any potential threading and low-level memory multiple threads to separate the UI from input management functionalities. With Android 2.2, some handling and I/O operations or long running major changes to the JVM infrastructure were calculations, hence the underlying processes are implemented. Up to version 2.2, the JVM was an multi-threaded. The threads used on application level actual interpreter, similar to the original JVM are standard Java threads running in the Dalvik VM. solution deployed with Java 1.0. While the Android solution always reflected a very efficient interpreter, V. SECURITY IN ANDROID it was still an interpreter and hence, no native code The security model of Android heavily depends on was generated. With the release of Android 2.2, a the multi-user capabilities of the underlying Linux. just-in-time (JIT) compiler was incorporated into the Each application runs with its own unique user id and solution stack, which translates the Dalvik byte-code in its own process. All Dalvik applications run in a into much more efficient machine code (similar to a sandbox that by default prohibits e.g. C compiler). Currently, Android version 4 (Ice Communication with other processes, access to Cream Sandwich) and 4.1/4.2 (Jelly Bean) is others data, access to hardware features like GPS or deployed on some devices. It has to be pointed out camera and network access. Opposing to platforms though that currently, only a few devices are actually with native binary executable, Android makes it easy running version 4.1/4.2 or 4.0, while most devices are to enforce a certain application behavior, as its still operating on older Android versions. Down the application VM Dalvik directly controls code road, additional JIT and garbage collection (GC) execution and resource access. Platforms like iOS, features will be deployed with Android, further webOS, Symbian or MeeGo do not have this busting aggregate systems performance. opportunity, thus their sandboxing systems are based IV. PROCESS AND KERNEL on means on kernel-, filesystem- or process-level and Five types of processes are distinguished in Android some of these means are used by Android too. in order to control the behavior of the system and it’s The basic sandbox denies all requests from an running programs. The various types have different application unless the permissions are explicitly importance levels which are strictly ordered. The granted. The permissions are set up in the application resulting importance hierarchy for process classes manifest file with the tag. That looks like this: allows the system to ask the user or a package manager upfront at install time for the application’s

10 wanted permissions. Once installed, an application drives. Fundamentally, two different types of flash can assume that all wanted permissions are granted. memory devices are common, labeled as NAND and During the installation process, an application is NOR based solutions. While in general, NOR based assigned with a unique and permanent user id. This solutions provide low density, they are characterized user id is used to enforce permissions on process and as (relative) slow write and fast read components. On file system level. An application can explicitly share the other hand, NAND based solutions offer low cost, files by setting the file mode to be world readable or high density, and are labeled as (relative) fast write writeable, otherwise all files are private. If two and slow read IO solutions. Some embedded systems applications should share the same processes or use are utilizing NAND flash devices for data storage, the same user id, both of the applications have to be and NOR based components for the code (the signed with the same certificate and ask for the same execution environment). From a file system sharedUserId in their manifest files. The individual perspective, as of Android version 2.3, the (well- components of an application can also be restricted, known) Linux file system is being used. Prior to to ensure that only certain sources are allowed to start the ext4 file system, Android normally used YAFFS an activity, a service or send a broadcast to the (yet another ). The YAFFS solution application’s receiver. A service can enforce fine is known as the first NAND optimized Linux flash grained permissions with the file system. Some Android product providers (such as Context.checkCallingPermission() method. Content Archos with in Android 2.2) replaced the providers can restrict overall read and write access as standard Archos file system with another file system well as grant permissions on an URI basis. solution of their choice. As of the writing of this report, the maximum size of any Android application VI. POWER MANAGEMENT equals to a low 2-digit MB number, which compared In the mobile device arena, power management is to actual Linux based systems, has to be considered obviously paramount. That does not imply though as being very small. This implies that the memory that power management should be neglected on any and file system requirements (from a size perspective other system. Hence, power management in any IT – not from a perspective) are vastly system, with any operating system, is considered a different for Android based devices compared to necessity due to the ever increasing power demand of most Linux systems. today’s computer systems. To illustrate, to reduce and manage power consumption, Linux based VIII. BASIC ANDROID COMMANDS systems provide power-saving features such as clock Commands below are the ADB commands for gating, voltage scaling, activating sleep modes, or Android system: disabling memory cache. Each of these features  Devices: Lists accessible devices. reduces the system's power consumption (normally at  Push: Copies a local file to the device. the expense of an increased latency behavior). Most  Pull: Copies a remote file from the device. Linux based systems manage power consumption via  sync There are three cases here: the Advanced Configuration and Power Interface 1. If no argument is passed, copies the (ACPI). Android based systems provide their own local directories system and data if power management infrastructure (labeled Power they differ from /system and /data Manager) that was designed based on the premise on the target. that a processor should not consume any power if no 2. If either system or data is passed, applications or services actually require power. syncs this directory with the Android demands that applications and services associated partition on the device request CPU resources via wake locks through the 3. Else, syncs the given folder Android application framework and native Linux  install Installs the given Android package libraries. If there are no active wake locks, Android (apk) on the device will shut down the processor.  uninstall Uninstalls the given package name from the device VII. STORAGE MEDIA & FILE SYSTEM  shell Runs a remote shell with a command

line interface. If an argument is given, runs When it comes to configuring and setting-up mobile it as a command and prints out the result. devices, traditional hard drives are in general too big  reboot Reboots the device. bootloader and (size), too fragile, and consume too much power to be recovery arguments are available to select useful. In contrast, devices normally the operation mode you want to reboot to. provide a (relative) fast read access behavior as well as better (kinetic) shock resistance compared to hard

11

COMPARIRISON OF WINDOWS AND ANDROID

 The memory management of Windows is very vast as compared to Android. Though Windows is providing a large platform then Android, Android due to is less but efficient memory management makes it better then Windows.  In terms of energy management, Android is better than Windows. Windows require large hardware resources that consume a lot of power. On the other hand, Android consumes very less power hence best for smartphones.  As a work point of view, Windows is enabled with large file system, followed by good architecture and capable of doing most of task. On the other hand, though Android is handy, its work area is limited to certain size of applications like checking and editing documents, and accessing internet.  There is no virtual memory associated with Android. Windows have virtual memory and paging files.  Android is an open source software, which means that the code is freely available under the Apache License for modification and distribution by device manufacturers whereas is a series of proprietary software developed and marketed by Microsoft Corporation.

12