Thursday, August 26, 2010

Types of operating system

Computer on this planet, including hand-held computers, desktop computers, supercomputers, and even modern video game consoles, use an operating system of some type.
Some of the oldest models may however use an embedded OS that may be contained on a compact disk or other storage device. u1883
The operating system acts as a host for application programs that are run on the machine. As a host, one of the purposes of an operating system is to handle the details of the operation of the hardware.
An operating system is the software component of a computer system that is responsible for the management and coordination of activities and the sharing of the resources i.e. memory, Input and output devices of the computer.
Common contemporary operating systems include Microsoft Windows, Linux, Solaris and Mac OS X. Microsoft Windows has a significant majority of market share in the desktop and notebook computer markets, while servers generally run on Linux or other Unix-like systems. Embedded device markets are split amongst several operating systems.
Role of Kernel
382px-Kernel_Layout.svg
Add caption
Kernel is the central component of most computer Operating system (OS). Its responsibilities include managing the system’s resources (the communication between hardware and software components). As a basic component of an operating system, a kernel provides the lowest-level of abstraction for the resources i.e. memory, processors, I/O devices that application software must control to perform its function. It typically makes these facilities available to application processes through inter-process communication mechanisms and system calls.
These tasks are done differently by different kernels, depending on their design and implementation. While monolithic kernels will try to achieve these goals by executing all the code in the same address space to increase the performance of the system, microkernel runs most of its services in user space , aiming to improve maintainability and modularity of the codebase. A range of possibilities exists between these two extremes.
There are different types of operating systems. These are as follows:
·         Single-user - As the name implies, this operating system is designed to manage the computer so that one user can effectively do one thing at a time. The Palm OS for Palm handheld computers is a good example of a modern single-user, single-task operating system. This is a typical computer system where one user can work effectively only on one task. Cell phones and palm tops are examples where these types of systems are used. e.g.: DOS, win 95, win 98
  • http://static.howstuffworks.com/gif/operating-system-xscreen.jpgMulti-user - A multi-user operating system allows many different users to take advantage of the computer's resources simultaneously. The operating system must make sure that the requirements of the various users are balanced, and that each of the programs they are using has sufficient and separate resources so that a problem with one user doesn't affect the entire community of users.  UNIX, VMS and mainframe operating systems, such as MVS, are examples of multi-user operating systems.
It's important to differentiate between multi-user operating systems and single-user operating systems that support networking. Windows 2000 and Novell Netware can each support hundreds or thousands of networked users, but the operating systems themselves aren't true multi-user operating systems. The system administrator is the only "user" for Windows 2000 or Netware. The network support and all of the remote user logins the network enables are, in the overall plan of the operating system, a program being run by the administrative user.  Here, various users use the computer system through different terminal and the Operating Systems on that computer have to balance multiple users with multiple applications.
·         Multi-tasking - This is the type of operating system most people use on their desktop and laptop computers today. Microsoft's Windows and Apple's MacOS platforms are both examples of operating systems that will let a single user have several programs in operation at the same time. For example, it's entirely possible for a Windows user to be writing a note in a word processor while downloading a file from the Internet while printing the text of an e-mail message. Multitasking is, on single-processor machines, implemented by letting the running process own the CPU for a while (a time slice) and when required gets replaced with another process, which then owns the CPU. The two most common methods for sharing the CPU time is either cooperative multitasking or preemptive multitasking.

Cooperative Multitasking

The simplest form of multitasking is cooperative multitasking. It lets the programs decide when they wish to let other tasks run. This method is not good since it lets one process monopolize the CPU and never let other processes run. This way a program may be reluctant to give away processing power in the fear of another process hogging all CPU-time. Early versions of the Mac OS (uptil MacOS 8) and versions of Windows earlier than Win95/WinNT used cooperative multitasking (Win95 when running old apps).

Preemptive Multitasking

Preemptive multitasking moves the control of the CPU to the OS, letting each process run for a given amount of time (a time slice) and then switching to another task. This method prevents one process from taking complete control of the system and thereby making it seem as if it is crashed. This method is most common today, implemented by among others OS/2, Win95/98, WinNT, UNIX, Linux, BeOS, QNX, OS9 and most mainframe OS. The assignment of CPU time is taken care of by the scheduler.
States
A task can be in several possible states:
Terminated: The task is completed and may be removed.
Ready: The task is ready to run at any time the processor is free.
Executing: The task is being executed on the processor.
Suspended: The task is waiting for some event to happen.

·               Multiprocessor operating system- Multiprocessors have been accepted as vehicles for improved computing speeds, cost/performance, and enhanced reliability or availability. However, the added performance requirements of user programs and functional capabilities of parallel
hardware introduces new challenges to operating system design and implementation.
Depending on the coupling of processors and memory, multiprocessors may be broadly
divided into two major categories:
Shared memory multiprocessors In a shared memory multiprocessor, all main memory
is accessible to and shared by all processors, multiprocessors are classified on the basis of the cost of accessing shared memory:
                        *Uniform Memory Access (UMA) multiprocessors. In an UMA architecture, the access
time to shared memory is the same for all processors.
       *Non-Uniform Memory Access (NUMA) multiprocessors. In a NUMA architecture, all
physical memory in the system is partitioned into modules, each of which is local to
and associated with a specific processor.
NO Remote Memory Access (NORMA) multiprocessors. In this class of architectures, each
processor has its own local memory that is not shared by other processors in the system.
Hypercube like the NCube multiprocessors, past Intel iPSC machines and current Intel
iSC mesh machines, the Thinking Machines CM-5 [246, 140], and workstation Clusters are examples of non-shared memory multiprocessors. Workstation clusters differ from hypercube or mesh machines in that the latter typically offer specialized hardware for low-latency inter-machine communication and also for implementation of selected global operations like global synchronization, addition, or broadcast.

·               Real time operating system: It is an operating system (OS) intended for real-time applications. Such operating systems serve application requests nearly real-time. A real-time operating system offers programmers more control over process priorities. An application's process priority level may exceed that of a system process. Real-time operating systems minimize critical sections of system code, so that the application's interruption is nearly critical.
A key characteristic of a real-time OS is the level of its consistency concerning the amount of time it takes to accept and complete an application's task; the variability is jitter (deviation). A hard real-time operating system has less jitter than a soft real-time operating system. The chief design goal is not high throughput, but rather a guarantee of a soft or hard performance category. A real-time OS that can usually or generally meet a deadline is a soft real-time OS, but if it can meet a deadline deterministically it is a hard real-time OS.
A real-time OS has an advanced algorithm for scheduling. Scheduler flexibility enables a wider, computer-system orchestration of process priorities, but a real-time OS is more frequently dedicated to a narrow set of applications. Key factors in a real-time OS are minimal interrupt latency and minimal thread switching latency, but a real-time OS is valued more for how quickly or how predictably it can respond than for the amount of work it can perform in a given period of time.
These types of OS are used to control machinery, control systems and industrial systems and have very less or in certain case no user-interface capability.
An RTOS typically has very little user-interface capability, and no end-user utilities, since the system will be a "sealed box" when delivered for use. A very important part of an RTOS is managing the resources of the computer so that a particular operation executes in precisely the same amount of time, every time it occurs. In a complex machine, having a part move more quickly just because system resources are available may be just as catastrophic as having it not move at all because the system is busy.

·               Distributed Operating System: An operating system that manages a group of independent computers and makes them appear to be a single computer is known as a distributed operating system. The development of networked computers that could be linked and communicate with each other, gave rise to distributed computing. Distributed computations are carried out on more than one machine. When computers in a group work in cooperation, they make a distributed system.

·               Embedded System: The operating systems designed for being used in embedded computer systems are known as embedded operating systems. They are designed to operate on small machines like PDAs with less autonomy. They are able to operate with a limited number of resources. They are very compact and extremely efficient by design. Windows CE, FreeBSD and Minix 3 are some examples of embedded operating systems.

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

No comments:

Post a Comment