Financial Daily from THE HINDU group of publications
Monday, Jan 10, 2005

eWorld
Features
Stocks
Port Info
Archives

Group Sites

eWorld - Software


Command HQ

N. Nagaraj

Without an Operating System, your computer is as good or bad as a paperweight. What does the OS do that's so important? Find out...

Last week we looked at what happens when your computer boots. At the end of the boot sequence, we saw that the operating system was loaded and your computer was ready to receive instructions from you. This time, we look at what an operating system does.

REMEMBER that your computer is quite useless without software? Well, we can go one step further and say that without an Operating System (OS), your computer can help only as a rather large paperweight. The OS is the software that provides you the window to work with your computer — it is through the OS that you can launch your favourite program and start working with it.

"It allows you to work with your computer" might sound simple, but it involves a lot of tasks that fall into these categories: Task scheduling; memory management; storage management; device management; application interface; and user interface.

Think of your computer as a playpen or crèche, where your computer programs are the children at play. The OS is like a good teacher, making sure the kids are fed well, telling them how to play games, teaching them the rules, listening to their stories and complaints, and finally settling arguments and fights.

During task scheduling, the OS tells the programs the rules of engagement and schedules their "turns at the swing", or the time allocated to them for processing. When you launch a program, say, your Internet browser, it triggers different processes that perform different functions that the browser needs. The OS will schedule the different processes according to the time needed with the computer's processor and the time available with the processor. Typically, you will find that the virus scan in your system runs slowly when you are working on it (although it may slow down your other programs, such as the email or a spreadsheet) while it runs quickly when you close all other programs.

While processor time is important, there is another resource that is critical to performance: Memory. While the processor runs one process at a given time, the other processes have to wait in the memory. The OS, in this task, has to manage memory in such a way that the information from one process does not run into information from another process, and that the information is retrieved correctly for the processor after every turn.

And now we come to storage. How does your HR department manage employee records? It has a filing system. And how does the filing system work? It contains the way in which the documents are stored and the rules for creating new documents, retrieving and presenting documents, and removing documents. Similarly, the OS has a file system to store your documents and work in the computer. According to Microsoft, a file system is "the overall structure in which files are named, stored, and organised".

The OS also has to manage input and output from and to devices connected to it: Users give instructions to the computer through input devices and can see the status of their instructions or feedback on their instructions, as well as the results, through the output devices.

Typical input devices are keyboard and mouse; a few non-typical input devices are graphic tablets, touch-sensitive screens, etc. The most used output device is the monitor or display, and printers are also quite common. There are also other typical devices that are connected to many computers: USB storage drives, digital cameras, modems, etc. The OS uses system software called device drivers to translate and communicate the commands or instructions from a program being run by the user into instructions that the device can understand and perform.

The OS also provides developers software known as Application Programming Interfaces (APIs) to help them write application software such as a word processor, spreadsheet, Internet browser, e-mail client or presentation package for the end user. APIs allow one program to communicate and work with another. Typically, APIs provide software developers with a library of OS facilities and infrastructure to do common things like create a new window with menus, or create a form with checkboxes and radio buttons. Thus, software developers do not have to reinvent the wheel in terms of common facilities offered by the OS.

Finally, the OS has to provide the user an interface, the ability to work with the computer. In formal terms, the user interface is the functional and sensorial attributes of a system that are relevant to its operation by users. In a Graphical User Interface (GUI), the user is presented with a metaphor for using the system: Typically, there is a desktop, there are folders on the desktop, and the folders will contain documents. Interface elements also include icons, pointers, windows and menus. Not all computer systems offer a GUI; some older operating systems and highly specialised systems offer a Command-Line Interface (CLI), which is a simple text-based system which takes instructions as a series of text typed at the "prompt", which is the point where the computer waits for instructions.

While OSes are expected to provide the six core services discussed above, quite a few OSes provide a lot more functionality. For example, Windows provides basic word processing and media applications as part of the OS, and is likely to introduce digital rights management in a future version. Further, the number of services in the core services list is also likely to go up. For example, security will become a part of core services some time in future. OSes are also moving into smaller and more specialised devices, and some of these have a shorter list of core services. In recent years, there has been heightening interest in operating systems with the adoption and pace of development in Open Source Software, especially the different flavours of Linux.

There are many kinds of Operating Systems. Microsoft's Windows XP Home is an example of a single user multi-tasking OS. It allows a single user to run different programs at the same time. For instance, you can access the Internet as well as have your word processor open at the same time. The Palm OS, used in some handheld devices is an example of a single user single task system — it allows the user to do only one task at a time. Some OSes such as UNIX allow several people to use the computer at the same time. Such an OS is called a multi-user OS.

Robots and some special devices have Real-Time Operating Systems (RTOS), which have to perform given tasks in a given time frame and react to certain stimuli, irrespective of processor activity — that is, a robot should not move fast just because the processor is free and should not delay moving at a critical juncture because the processor is busy. It has to act and respond in real time, and therefore the name RTOS.

nagaraj@thehindu.co.in

Article E-Mail :: Comment :: Syndication :: Printer Friendly Page

Stories in this Section
Thumbs-up


The year ahead...
Command HQ
Keep `em out
Teacher's pet
Whose fault is it anyway?
Search! Is your job in the lexicon?
Dual booting problems
An impressive Tally
No to the mobile?
More heads are better...
Quiz
Find your way in the Badlands


The Hindu Group: Home | About Us | Copyright | Archives | Contacts | Subscription
Group Sites: The Hindu | Business Line | The Sportstar | Frontline | The Hindu eBooks | The Hindu Images | Home |

Copyright © 2005, The Hindu Business Line. Republication or redissemination of the contents of this screen are expressly prohibited without the written consent of The Hindu Business Line