Thursday, August 26, 2010

Operating systems:
An operating system (OS) is a set of system software programs in a computer that regulate the ways application software programs use the computer hardware and the ways that users control the computer. For hardware functions such as input/output and memory space allocation, operating system programs act as an intermediary between application programs and the computer hardware Operating systems are found on almost any device that contains a computer with multiple programs—from cellular phones and video game consoles to supercomputers and web servers. Operating systems are two-sided platforms, bringing consumers (the first side) and program developers (the second side) together in a single market. Some popular modern operating systems for personal computers include Microsoft Windows, Linux.
An operating system (sometimes abbreviated as "OS") is the program that, after being initially loaded into the computer by a boot program, manages all the other programs in a computer. The other programs are called applications or application programs. The application programs make use of the operating system by making requests for services through a defined application program interface (API). In addition, users can interact directly with the operating system through a user interface such as a command language or a graphical user interface (GUI).
An operating system performs these services for applications:
  • In a multitasking operating system where multiple programs can be running at the same time, the operating system determines which applications should run in what order and how much time should be allowed for each application before giving another application a turn.
  • It manages the sharing of internal memory among multiple applications.
  • It handles input and output to and from attached hardware devices, such as hard disks, printers, and dial-up ports.
  • It sends messages to each application or interactive user (or to a system operator) about the status of operation and any errors that may have occurred.
  • It can offload the management of what are called batch jobs (for example, printing) so that the initiating application is freed from this work.
  • On computers that can provide parallel processing, an operating system can manage how to divide the program so that it runs on more than one processor at a time.
Services and features of an Operating system
Program Execution
The purpose of a computer system is to allow the user to execute programs. So the operating systems provide an environment where the user can conveniently run programs. The user does not have to worry about the memory allocation or multitasking or anything. These things are taken care of by the operating systems.

Running a program involves the allocating and deallocating memory, CPU scheduling in case of multiprocessing. These functions cannot be given to the user-level programs. So user-level programs cannot help the user to run programs independently without the help from operating systems.


I/O Operations
Each program requires an input and produces output. This involves the use of I/O. The operating systems hides the user the details of underlying hardware for the I/O. All the user sees is that the I/O has been performed without any details. So the operating systems by providing I/O make it convenient for the users to run programs.
For efficiency and protection users cannot control I/O so this service cannot be provided by user-level programs.


File System Manipulation
The output of a program may need to be written into new files or input taken from some files. The operating systems provide this service. The user does not have to worry about secondary storage management. User gives a command for reading or writing to a file and sees his/her task accomplished. Thus operating systems make it easier for user programs to accomplish their task.
This service involves secondary storage management. The speed of I/O that depends on secondary storage management is critical to the speed of many programs and hence I think it is best relegated to the operating systems to manage it than giving individual users the control of it. It is not difficult for the user-level programs to provide these services but for above mentioned reasons it is best if this service s left with operating system.


Communications
There are instances where processes need to communicate with each other to exchange information. It may be between processes running on the same computer or running on the different computers. By providing this service the operating system relieves the user of the worry of passing messages between processes. In case where the messages need to be passed to processes on the other computers through a network it can be done by the user programs. The user program may be customized to the specifics of the hardware through which the message transits and provides the service interface to the operating system.


Error Detection
An error is one part of the system may cause malfunctioning of the complete system. To avoid such a situation the operating system constantly monitors the system for detecting the errors. This relieves the user of the worry of errors propagating to various part of the system and causing malfunctioning.
This service cannot allow to be handled by user programs because it involves monitoring and in cases altering area of memory or deallocation of memory for a faulty process, or may be relinquishing the CPU of a process that goes into an infinite loop. These tasks are too critical to be handed over to the user programs.  A user program if given these privileges can interfere with the correct (normal) operation of the operating systems.

 PIYUSH THAKUR (CR)
 POOJA SUTAR      (ACR)
GROUP C
FIRST YEAR
IHM MUMBAI

No comments:

Post a Comment