Thursday, 1 March 2012

Comparison between Android & Linux OS



                                    A Survey on Android vs. Linux


INTRODUCTION
      Android  is an open source  mobile device operating system  developed by Google based on the Linux 2.6 kernel. The Linux kernel was chosen due to its proven driver model, existing drivers, 

memory  and process management, networking  support along with  other core operating system services [1]. In addition to the Linux kernel various libraries were added to the platform in order to 
support higher functionality. Many of these libraries  originate from open source projects; however the Android team created their own C library, for example, in order to resolve licensing conflicts. 
They also developed their own Java runtime engine, optimized for the limited resources available on a mobile platform called  the "Dalvik Virtual Machine."  Lastly, the application framework was created in order to provide the system libraries in a concise manner to the end-user applications. In this survey we  highlight the major differences between  a standard Linux operating system and 
Android. Particular emphasis is placed on the unique challenges present on the mobile  embedded devices and how these differences motivate Android's structure with respect to Linux.

TARGET ARCHITECTURE
      The Linux kernel supports many different target architectures. However only two are fully supported by Android at this time: x86 and ARM. The x86 architecture for Android is mainly targeted mainly at Mobile Internet Devices (MIDs) whereas the ARM platform is prevalent on mobile phones. These architectures are typically used for very different computer systems. The x86  platform is  used for general purpose  desktop/laptop/server  computing whereas  ARM is widely in use on mobile devices. A comparison of these two platforms provides strong insight 
into the fundamental differences between Linux and Android.
      Linux was initially created in 1991 as an open-source desktop operating system by Linus Torvalds. He created the Linux kernel since the MINIX operating system (an academic-oriented 
UNIX-like system) did not support the new 32-bit features of his Intel 80386 very well. The x86 family later came to dominate the desktop market and led to most personal computers using the 
x86 architecture today. Consequently much of the Linux kernel development today is focused on this family.
      Smart  phones  in comparison do not have one clear market leader. Nokia, Research in Motion (RIM), Apple, HTC and Samsung  all have a significant fraction of the  smart phone market [2]. Despite no one manufacturer dominating the smartphone segment, they  all primarily use one architecture, ARM. In fact as of 1996 98% of all mobile phones had at least one ARM microprocessor in them [3]. The widespread popularity of the ARM platform is largely 
due to its focus on power saving features. Unlike desktop systems, mobile phones rely on battery power for operation and therefore power consumption is a primary design factor.
      Among the most fundamental differences between these two architectures is their instruction design philosophy. The x86 family is primarily a CISC (Complicated Instruction Set Computer) design whereas ARM is a RISC (Reduced Instruction Set Computer) architecture. This results in more, simpler instructions being used by ARM processors when compared to an equivalent set of x86 operations. Memory is at a premium in embedded devices due to size, cost and power constraints. ARM makes up for this concern by offering a second 16-bit instruction set called Thumb which can be interleaved with regular 32-bit ARM instructions. This
additional instruction set can reduce code size by up to 30%, at the expense of some performance.
DALVIK VIRTUAL MACHINE
      Many of the top cell phone manufacturers such as Nokia, Motorola and Samsung include a mobile optimized version of the Java virtual machine called Java 2, Micro Edition (J2ME). In 
contrast to these vendors Android uses their own Dalvik Virtual Machine (See Figure 1). This development process is identical to the developer as a standard Java platform.  Application developers write their program in Java and compile java class files. However, instead of the class files being run on a J2ME virtual machine, the code is translated after compilation into a"Dex file" that can be run on the Dalvik machine. A tool called dx will convert and repack the 
class files in a Java .jar file into a single dex file with several shared constant pools. This is used to reduce the duplicated arguments and make the dex file more compact. The virtual machine itself is  optimized  to  perform well on mobile devices with a slow CPU, limited memory, nooperating system  swap space and  most importantly limited battery power  [15]. These constraints can be quite tight. For example, typically  the total system  memory  will be 
approximately 64M. High-level services  will consume roughly 44MB.  Then, the large system library will consume another 10MB. This leaves only 10MB for pure application code. The Dalvik VM is optimized for low memory compared to other standard VMs due to the following changes [16]:
• The VM was slimmed down to use less space. 
• Dalvik has no just-in-time compiler 
• The constant pool has been modified to use only 32-bit indexes to simplify the interpreter. 
• It uses its own bytecode, not Java bytecode. 

FILE SYSTEM
Storage media: NAND
      Android uses the YAFFS flash file system, the first NAND  optimized  Linux  flash file system. For mobile devices, hard disks are too large in size, too fragile and consume too much 
power to be useful. In contrast, flash memory provides fast read access time and better kinetic shock resistance than hard disks. There are fundamentally two different types of flash memory 
based on their construction technique: NOR and NAND. NOR is low density, offers slow writes and fast reads. NAND is low cost, high density and offers fast writes and slow reads. Embedded 
systems are increasingly using NAND flash for storage and NOR for code and execution [21]. File systems for flash memory have to deal with these limitations in order to provide a robust file system.
Limitations
      Important limitations  of NAND memory include block erasure and memory wear. Block erasure means that when erasing any memory the whole block must be erased. NAND can be 
randomly accessed on a page basis during programming, but cannot offer arbitrary randomaccess rewrite or erase during normal operation. To overcome this limitation, memory segments 
are  marked to be removed or “dirty”. When the entire block is dirty, then it can  be erased. Memory wear means that there is a limited number of erase-write cycles in the flash memory
and at the end of its lifetime the data integrity of storage will deteriorate. 

Comparison with other file system
      A standard Linux system typically does not use flash memory, but rather magnetic disk drives. These drives are commonly formatted by default to use the latest version of the Ext file 
system. As of this writing, Ext3 is currently in widespread use and is presented here for comparison with the flash filesystem, YAFFS, in use on Android.
Ext3
      Third extended file system, commonly known as Ext3, is also a journaled file system used by the Linux kernel. It is more reliable than its predecessor, Ext2, through the use of journaling to 

facilitate fast reboots after  a  system crash. This means that Ext3 does not have to operate a whole file system check after an unclean shutdown, as was previously done using fsck. The main 
goal  of  Ext3 was to create a journaling file system  which is backward compatible with Ext2. Ext3 enhances its reliability by  using a  special API called the Journaling Block Device layer 
(JDB) to physically journal both metadata and data (when the level of journaling is configured as the "journal mode"). It also uses complete physical blocks to backup and store modified blocks 
instead of only recording spans of bytes.

POWER MANAGEMENT
     Power management  in operating systems is necessary due to the ever increasing power demand of modern desktop computers and especially laptops. In order to reduce wasted power,
multiple hardware power saving features are employed by Linux such as clock gating, voltage scaling, activating sleep modes and disabling memory cache. Each of these features reduces the 
system's power consumption at the expense of latency and/or performance. These tradeoffs on a Linux system are managed by either Advanced Power Management (APM) or Advanced Configuration and Power Interface (ACPI). APM is an older, simpler, BIOS based power management subsystem, which is still used on older systems. Newer systems use ACPI based 
management instead. ACPI is more operating-system centric  [25] than APM and also offers more features such as a tree structure for powering down devices so that subsystem componentsare not turned off before the subsystem itself.   In contrast with a standard Linux system, Android does not use APM, nor ACPI for power management. As shown in Figure 1, Android instead has its own  Linux power extension,PowerManager instead. The core power driver (Shown at the bottom of Figure 3 as "Power") was 
added to the Linux kernel in order to facilitate this functionality. This module provides low level drivers in order to control the peripherals supported by the Power Manager. These peripherals 
currently include: screen display and backlight, keyboard backlight and button backlight. Each peripheral's power is controlled through the use of WakeLocks. These locks are requested through the API whenever an application requires one of the managed peripherals to remain powered on (Each lock setting shown in Table 1). If no wake lock exists which "locks" the device, 
then it is powered off to conserve battery life. In the case of multiple power settings the transition is managed through the use of delays based on system activity. A sample of this behavior is shown in Figure 4 for the screen backlight. 



CONCLUSION
      In conclusion, we compared the major differences  between Android for mobile devices and Linux for desktop/laptops/servers systems. We have examined Android in a bottom-up fashion from its architecture to obtain an extensive overall understanding. We focused on the following general topics  to clarify the design details of Android: architecture, kerneldesign, standard C Library (including user threads), Java virtual machine, file system and 
power management. In order to  understand how Android  overcomes the hardware limitations  of a mobile device as a light-weight operating system, we depicted and summarized the key features of Android with a reasonable level-of-details in each topic.






Tuesday, 7 February 2012

Search Engine

                                                        Search Engine   

                 
On the Internet, a search engine is a coordinated set of programs that includes:

A spider (also called a "crawler" or a "bot") that goes to every page or representative pages on every Web site that wants to be searchable and reads it, using hypertext links on each page to discover and read a site's other pages 
A program that creates a huge index (sometimes called a "catalog") from the pages that have been read
A program that receives your search request, compares it to the entries in the index, and returns results to you

An alternative to using a search engine is to explore a structured directory of topics. Yahoo, which also lets you use its search engine, is the most widely-used directory on the Web. A number of Web portal sites offer both the search engine and directory approaches to finding information.

Different Search Engine Approaches
Major search engines such as Google, Yahoo (which uses Google), AltaVista, and Lycos index the content of a large portion of the Web and provide results that can run for pages - and consequently overwhelm the user.
Specialized content search engines are selective about what part of the Web is crawled and indexed. For example, TechTarget sites for products such as the AS/400 (http://www.search400.com) and CRM applications (http://www.searchCRM.com) selectively index only the best sites about these products and provide a shorter but more focused list of results.
Ask Jeeves (http://www.ask.com) provides a general search of the Web but allows you to enter a search request in natural language, such as "What's the weather in Seattle today?"
Special tools and some major Web sites such as Yahoo let you use a number of search engines at the same time and compile results for you in a single list.
Individual Web sites, especially larger corporate sites, may use a search engine to index and retrieve the 
of just their own site. Some of the major search engine companies license or sell their search engines for use on individual sites.

Where to Search First


The last time we looked, the Open Directory Project listed 370 search engines available for Internet users. There are about ten major search engines, each with its own anchor Web site (although some have an arrangement to use another site's search engine or license their own search engine for use by other Web sites). Some sites, such as Yahoo, search not only using their search engine but also give you the results from simultaneous searches of other search indexes. Sites that let you search multiple indexes simultaneously include:
Yahoo (http://www.yahoo.com)
search.com (http://search.com)
EasySearcher (http://www.easysearcher.com)


Yahoo first searches its own hierarchically-structured subject directory and gives you those entries. Then, it provides a few entries from the AltaVista search engine. It also launches a concurrent search for entries matching your search argument with six or seven other major search engines. You can link to each of them from Yahoo (at the bottom of the search result page) to see what the results were from each of these search engines.
  • A significant advantage of a Yahoo search is that if you locate an entry in Yahoo, it's likely to lead you to a Web site or entire categories of sites related to your search argument.
  • A search.com search primarily searches the Infoseek index first but also lets you search the other major search engines as well.
  • EasySearcher lets you choose from either the popular search engines or a very comprehensive list of specialized search engine/databases in a number of fields.
  • Yahoo, search.com, and EasySearcher all provide help with entering your search phrase. Most Web portal sites offer a quickly-located search entry box that connects you to the major search engines

How to Search


For "tips" on entering your search argument, see each search engine, including Yahoo's . It's good to read the information at least once.
By "How to Search," we mean a general approach to searching: what to try first, how many search engines to try, whether to search USENET newsgroups, when to quit. It's difficult to generalize, but this is the general approach we use at whatis.com:
If you know of a specialized search engine such as SearchNetworking that matches your subject (for example, Networking), you'll save time by using that search engine. You'll find some specialized databases accessible from Easy Searcher 2.
  1. If there isn't a specialized search engine, try Yahoo. Sometimes you'll find a matching subject category or two and that's all you'll need.
  2. If Yahoo doesn't turn up anything, try AltaVista, Google, Hotbot, Lycos, and perhaps other search engines for their results. Depending on how important the search is, you usually don't need to go below the first 20 entries on each.
  3. For efficiency, consider using a ferret that will use a number of search engines simultaneously for you.
  4. At this point, if you haven't found what you need, consider using the subject directory approach to searching. Look at Yahoo or someone else's structured organization of subject categories and see if you can narrow down a category your term or phrase is likely to be in. If nothing else, this may give you ideas for new search phrases.
  5. If you feel it's necessary, also search the Usenet newsgroups as well as the Web.
  6. As you continue to search, keep rethinking your search arguments. What new approaches could you use? What are some related subjects to search for that might lead you to the one you really want?
  7. Finally, consider whether your subject is so new that not much is available on it yet. If so, you may want to go out and check the very latest computer and Internet magazines or locate companies that you think may be involved in research or development related to the subject.

Saturday, 14 January 2012

Android Phones

What is Android?
Android is the name of the software that an increasing number of today’s phones run on. It’s developed by Google and comes with a range of Google features, most notably Search and Maps, installed as standard.
This means you can easily search for information on the web and for directions from your phone, as you would on your computer. This is handy for checking up on things like train times and getting directions when out and about.
You can also access other Google services, like Gmail, Google Earth, YouTube and Google Calendar on an Android phone.
What can an Android phone do?
Android phones are highly customisable and as such can be altered to suit your tastes and needs. You can check your Facebook and Twitter profiles through a variety of apps making it ideal for social networking. Through the calendar you can set reminders from your desktop or your phone and on the latest version of Android you can send links to and from your computer and vice versa.
Another neat feature of Android is that it automatically backs up your contacts for you. When you set up an Android phone you’ll need to create a Google Account or sign in with an existing one. Every time you save a number to the address book of your Android phone it will be synced to your Google Account.
The benefit of this is if you lose your phone all of your numbers will be saved. The next time you get an Android phone and sign in with your Google Account, all of your contacts and friends numbers will be displayed in your new phone’s address book.
What apps can I get on an Android phone?
There is a huge range of apps and games available to download from the Android Market. There are camera apps that allow you to take pictures with artistic effects and filters on them and music players which allow you to import MP3s from your and create playlists.
You can customise the appearance of your Android phone with a number of wallpapers based on pictures you’ve taken yourself or downloaded from the web.
There are also various on screen widgets to download which allow you to access and reconfigure the settings of your phone. You can pretty much create your own system of shortcuts and menus to suit you.
Popular games available for Android phones now include Angry Birds, Fruit Ninja, Wordfeud and Drop 7.
How can I get apps on an Android phone?
The majority of Apps are downloaded from the Android Market (the equivalent of Apple’s iTunes App Store). Most of these are free but there are some premium apps as well that you’ll have to pay for.
You’ll have to set up an account with Google Checkout in order to pay for apps. You can pay either by debit or credit card. This takes less than five minutes to set up and is best done from your computer.
Some developers choose to make their apps available to download freely outside the Android Market and directly from their own sites. In order to download these you'll have to change some settings on your phone before visiting the site on your Android phone’s web browser.
What does an Android phone look like?
Android phones come in many different shapes, colours and sizes. Some have super-fast processors, some have powerful cameras and some have slide-out Qwerty keypads.
All Android phones prominently feature a large touchscreens. The size of the screen varies, but most of them measure at least 3-inches diagonally.
Popular Android phones include the HTC Desire (3.7-inch screen), Motorola Milestone (3.7-inch screen), Samsung Galaxy S (4-inch screen) and the Sony Ericsson Xperia X10 (4-inch screen). The Dell Streak has a huge 5-inch touchscreen and is currently the biggest Android phone in terms of dimensions and screen size.
So who makes Android phones?
Every handset maker is free to make an Android phone if they want to. As well as the aforementioned HTC, Motorola, Samsung and Sony Ericsson, LG, Acer, Dell and Huawei have all made Android phones. There isn’t however a Nokia or a BlackBerry Android phone and there probably won’t be.
Does Google make any Android phones?
Google makes the software not the hardware. One phone - the Google Nexus One - is branded as “the Google Phone” but is actually made by HTC, who make other Android phones such as the HTC Desire and HTC Legend. It is considered to be the flagship Android phone, even though some Android phones have bigger screens and better cameras.
Of all of the Android phones, the Google Nexus One is currently always the first to receive new Android updates.
Do Android updates cost anything?
Android updates are free. The updates bring a number of new features and changes to Android each time. Generally though, with each update the speed and overall performance of Android is improved upon.
Most of the high-end Android phones are scheduled to receive updates first. Most Android phones will have at least one update during their life cycle, with some having two.
How do I get an update?
Android updates are normally received OTA (over the air), that is, sent directly to your Android phone. Normally, once your Android phone or tablet is due to get an upgrade, you'll see a notification at the bar at the top of the screen. Then you'll be prompted to connect to Wi-Fi to avoid incurring extra data charges - updates can be quite big.
Updates are generally one-stage processes and relatively straightforwards, but in some cases you may need to back up/save any photos or apps you've downloaded before updating.
In some cases, as with Samsung's Android phones like the Galaxy S, you'll need to install the Kies program in order to receive Android updates.

Sunday, 8 January 2012

Conditional Asymptotic Notations


                                 Asymptotic Notation
Asymptotic notation deals with the behaviour of a function in the limit,that is, for sufficiently large values of its parameter. Often, when analysing the run time of an algorithm, it is easier to obtain an
approximate formula for the run-time which gives a good indication of the algorithm performance for large problem instances. For example, suppose the exact run-time T(n) of an algorithm on an input of size n is T(n) = 5n2 + 6n + 25 seconds. Then, since n is ≥0, we have n2 ≤ T(n) ≤ 6n2 for all n≥9. Thus we can say that T(n) is roughly proportional ton2 for sufficiently large values of n. We write this as T(n)∈ Θ(n2 ), or say that“T(n) is in the exact order of
n2”.
Definition:

Let f(n) be an arbitrary function from the natural numbers N = {0,1,2,…}to the set R≥ 0 of nonnegative reals. Let R+ denote the set of positive reals.  define O( f (n)) = {t : N →R≥0 : ∃c ∈ R+ ∃n0 ∈ N ∀n ≥ n0 (t(n) ≤ cf (n))} In other words, O( f (n)) - pronounced “big Oh of f(n)” – is the set of all functions t : N →R≥0 such that t(n) ≤ cf(n) for all n ≥ n0 for some positive real constant c and integer threshold n0 . Notice that O( f (n)) is a set, so that we refer to a function t(n) as being in the order of f(n) if t(n)∈ O( f (n)).
This differs from the way in which O( f (n)) is sometimes defined elsewhere in the literature.
Example:

Suppose that an algorithm takes in the worst case 
t(n) = 27n2 + 355 113 n +12 microseconds on a certain computer to solve an instance of size n of a problem. We can show that t(n) is in the order of  n2 by the following argument: t(n) = 27n2 + 355 113 n +12 ≤ 27n2 + 355 113 n2 +12n2 (provided n ≥1) = 42 16
113 n2 Thus there exist constants n0 (=1) and c(= 42 16
113) such that t(n) ≤cf(n) for all n ≥ n0 . That is,
t(n)∈ O(n2) .
Conditional asymptotic notation:

Many algorithms are easier to analyse if initially we restrict our attention to instances whose size satisfies a certain condition, such as being a power of 2. Consider, for example, the divide and conquer algorithm for multiplying large integers that we saw in the Introduction. Let n be the size of the integers to be multiplied. The algorithm proceeds directly if n = 1, which requires a microseconds for an appropriate constant a. If n>1, the algorithm proceeds by multiplying four pairs of integers of size n/2 (or three if we use the better algorithm). Moreover, it takes a linear amount of time to carry out additional tasks. For simplicity, let us say that the additional work takes at most bn microseconds for an appropriate constant b.
[Note: In actual fact, the recursive algorithm carries out one multiplication of two n/2 digit integers, one multiplication of two n/2 digit integers, and two multiplications of a n/2 digit integer and a n/2 digit integer. For simplicity we shall assume that the algorithm always carries out four multiplications of two n/2 digit integers. It turns out that the running time of this simplified method is in the same order as the
running time of the more detailed method.] The worst case time taken by this algorithm is therefore given by the function t : N →R≥0 recursively defined by t(1) = a 
t(n) = 4t(n /2) + bn for n >1 We shall be studying techniques for solving recurrences in the next section, but unfortunately this equation cannot be handled directly by those techniques because the ceiling function n/2 is rather troublesome. Nevertheless, our recurrence is easy to solve provided we consider only the
case when n is a power of 2. In this case n/2 = n/2 and the ceiling vanishes. The techniques of the next section yield
t(n) = (a + b)n2 − bn provided that n is a power of 2. Since the lower-order term “-bn” can be neglected, it follows that t(n) is in the exact order of n2, still provided that n is a power of 2. This is denoted by t(n)∈ Θ(n2 | n is a power of 2) . More generally, let
f ,t : N →R≥0 be two functions from the natural numbers to the nonnegative reals, and let P :N →{true, false} be a property
of the integers. We say that t(n) is in O( f (n) | P(n )) if t(n) is bounded above by a positive real multiple of f(n) for all sufficiently large n such that P(n) holds. Formally, O( f (n) | P(n )) is defined as {t :N → R≥ 0 : ∃c ∈ R+ ∃n0 ∈ N ∀n ≥ n0 (P( n) →t(n) ≤ cf (n))}
The sets Ω( f (n) |P(n)) and Θ( f (n) |P(n)) are defined in a similar way. Conditional asymptotic notation is more than a mere notational
convenience: its main interest is that it can generally be eliminated once it has been used to facilitate the analysis of an algorithm. For this we need a few definitions. A function f :N → R≥ 0 is eventually nondecreasing if there exists an integer threshold n0 such that f(n) ≤ f(n+1) for all n ≥ n0 . This implies by mathematical induction that f(n) ≤ f(m) whenever m ≥ n ≥ n0 . Let b ≥ 2 be any integer. Function f is b-smooth if, in addition to being eventually nondecreasing, it satisfies the condition f (bn)∈ O( f (n)). In other words, there must exist a constant c (depending on b) such that f(bn) ≤ cf(n) for all
n ≥ n0 . A function is smooth if it is b-smooth for every integer
b ≥ 2. Most functions we are likely to encounter in the analysis of algorithms are smooth, such as log n , nlog n ,
n2, or any polynomial whose leading coefficient is positive. However, functions that grow too fast, such as nlogn ,
2n or n! are not smooth because the ratio f(2n)/f(n) is unbounded. For example (2n)log (2n ) = 2n2nlogn
which shows that (2n)log(2n ) ∉ O(nlog n ) because
2n2 cannot be bounded above by a constant. Functions that are bounded above by a polynomial, on the other hand, are usually smooth provided they are eventually nondecreasing; and even if they are not eventually nondecreasing there is a good chance that they are in the exact order of some other function that is smooth. For instance, let b(n) denote the number of bits equal to 1 in
the binary expansion of n – such as b(13) = 3 because 13 is written as 1101 in binary – and consider f (n) = b(n) + logn . It is easy to see that f(n) is not eventually nondecreasing – and therefore it is not smooth – because b(2k −1) = k whereas b(2k ) =1 for all k. Nevertheless, f (n) ∈ Θ(log n) , a smooth function.
A useful property of smoothness is that if f is b-smooth for any specific integer b ≥ 2, then it is in fact smooth. To prove this, consider any two integers a and b not smaller than 2. Assume that f is b-smooth. We must show that f is a-smooth as well. Let c and
n0 be constants such that f(bn) ≤ cf(n) and f(n) ≤ f(n+1) for all
n ≥ n0 . Let i= logb a . By definition of the logarithm , a = blogb a ≤ blog b a = bi . Consider any n ≥ n0 . It is easy to show by mathematical induction from b-smoothness of f that f (bin) ≤ c i f (n) . But f (an) ≤ f (bin) because f is eventually nondecreasing and bin ≥ an ≥ n0 . It follows that f (an) ≤ cˆ f (n) for cˆ = ci , and thus f is a-smooth.



Saturday, 7 January 2012

Shorcuts Keys


Shortcut Key
Supported Window Versions
Short Key Description
Alt + (double-click)
95, 98, ME, NT, 2000, XP, Vista
Open Properties dialog of selected item.
Alt + Enter
95, 98, ME, NT, 2000, XP, Vista
Opens properties window of selected item.
Alt + Esc
95, 98, ME, NT, 2000, XP, Vista
Switch Between open tasks available on the taskbar.
Alt + F4
95, 98, ME, NT, 2000, XP, Vista
Close the top (focused) window.
Alt + Tab
95, 98, ME, NT, 2000, XP, Vista
Switch between open windows.
Alt + Tab + Shift
95, 98, ME, NT, 2000, XP, Vista
Switch between open windows, backward.
Ctrl + Alt + Delete (or Del)
95, 98, ME, NT, 2000, XP, Vista
Bring up the Windows Task Manager, or reboot computer.
Ctrl + Esc
95, 98, ME, NT, 2000, XP, Vista
Bring up the Windows Start menu.
Ctrl + '+' ('+' key on the keypad)
98, ME, NT, 2000, XP, Vista
Autofit the widths of all columns (if available) in current window.
Ctrl + F4
95, 98, ME, NT, 2000, XP, Vista
Close sub window/tab.
Ctrl + Tab
95, 98, ME, NT, 2000, XP, Vista
Switch between existing tabs (within a window).
Ctrl + Tab + Shift
95, 98, ME, NT, 2000, XP, Vista
Switch between existing tabs (within a window), backward
F1
95, 98, ME, NT, 2000, XP, Vista
Open Help for Windows or focused application.
F2
95, 98, ME, NT, 2000, XP, Vista
Rename.
F3
95, 98, ME, NT, 2000, XP, Vista
Find/Search.
F4
95, 98, ME, NT, 2000, XP, Vista
Select drives or display the list of drives
F5
95, 98, ME, NT, 2000, XP, Vista
Refresh.
F6
95, 98, ME, NT, 2000, XP, Vista
Switch focus to the address bar (if exists).
F10
95, 98, ME, NT, 2000, XP, Vista
Switch focus to the top menu bar.
Shift + F10
95, 98, ME, NT, 2000, XP, Vista
Same as mouse right-click on the select item.
Print Screen
95, 98, ME, NT, 2000, XP, Vista
Capture a screenshot of the entire desktop to clipboard.
Print Screen + Alt
95, 98, ME, NT, 2000, XP, Vista
Capture a screenshot of just the top(focused) window to clipboard.
Shift + Delete (or Del)
95, 98, ME, NT, 2000, XP, Vista
Permanently delete selected file(s)/folder(s) (bypass recycle bin)
Shift (hold while inserting an audio CD to drive)
95, 98, ME, NT, 2000, XP, Vista
Prevent autoplay.
* (keypad) on Windows Explorer.
95, 98, ME, NT, 2000, XP, Vista
Expand all sub-directories from the selected item.
+ (keypad) on Windows Explorer.
95, 98, ME, NT, 2000, XP, Vista
Expand only the first level of selected item.
- (keypad) on Windows Explorer.

95, 98, ME, NT, 2000, XP, Vista
Collapse


Shortcut Keys
Description
WINDOWS-KEY
Bring up the Windows Start menu.
WINDOWS-KEY + F1
Bring up the Windows Help.
WINDOWS-KEY + e
Open Microsoft Explorer.
WINDOWS-KEY + f
Windows Search.
WINDOWS-KEY + Ctrl + f
Search for computers
WINDOWS-KEY + d
Minimizes all and bring up desktop, or restore all
WINDOWS-KEY + l
Lock the computer (Windows XP & newer).
WINDOWS-KEY + m
Minimizes all windows.
WINDOWS-KEY + Shift + M
Restore all. Opposite with WINDOWS-KEY + M and WINDOWS-KEY + D.
WINDOWS-KEY + r
Open the run window.
WINDOWS-KEY + u
Utility Manager.
WINDOWS-KEY + Tab
Cycle through the programs on task bar.
WINDOWS-KEY + Pause/Break
Open the System Properties window.

Touch Screen Mechanism


There are three different systems used in the mechanism of touch screen.

1. Resistive System

In this resistive mechanism of touch screen two sheets are used one is conductive and the other is resistive. Both cover the top glass panel. There is a space between two sheets so that current pass when it is toggle. Now touching the screen forced both layers to contact at a certain point. This contact of both layers cause in the electric field a variation which is informed to the main system that a touch is felt. OS transcribe the touch into desired action.   

2. Capacitive System

Second method utilizes in touch screen is capacitive. To understand this mechanism, it is better to know about human biology first. Many chemical reactions take place in our body and electricity produced in result to perform different functions. That is the reason why human heart is recharged with electric shocks for the recovery. Considering human body a cell you can better understand this phenomenon. In this system an electric charge sheet (capacitor) is directly placed on the glass. When we touch the screen with finger, a static charge produces and reacts with the capacitor (electric charge sheet). As the touch screen works due to electric current develop when touches the finger.

3. Surface Acoustic Wave System

This type of touch screen works with the help of wave energy. This enables a touch to transform into another form of energy and deliver the command which in response perform the desired action. A pair of transducers is placed on glass plate sides. In the glass plate there are reflectors. On touching the screen wave produced and which transforms into energy for fulfilling the command. It tells where on the screen touch is detected.
Important Information

First both techniques utilize the electric charge mechanism to develop a touch screen system but the third uses wave system and do not need a metallic plate. This surface acoustic wave system is free of electric field that’s why there is no resistance in the way of light dispersal. This 100 percent light emission gives extra clarity to the screen which is not possible in first two mechanisms. Resistive system enables 75 % of light emission. However capacitive system allows 90% of light emission so better than resistive. Capacitive system enables sharp image as compared to resistive system even then no comparison with the image quality if surface acoustic system.