You are on page 1of 10

Operating system?

ANS:-
Software designed to control the hardware of a specific data-processing system in order
to allow users and application programs to make use of it.

The software component of a computer system that is responsible for the management
and coordination of activities and the sharing of the resources of the computer. The
operating system (OS) 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.

Operating systems offer a number of services to application programs and users.


Applications access these services through application programming interfaces (APIs) or
system calls. By invoking these interfaces, the application can request a service from the
operating system, pass parameters, and receive the results of the operation.

Modern operating systems provide the capability of running multiple application


programs simultaneously, which is referred to as multiprogramming. Each program
running is represented by a process in the operating system. The operating system
provides an execution environment for each process by sharing the hardware resources so
that each application does not need to be aware of the execution of other processes. The
central processing unit (CPU) of the computer can be used by only one program at a time.
The operating system can share the CPU among the processes by using a technique
known as time slicing. In this manner, the processes take turns using the CPU. Single-
user desktop personal computers (PCs) may simplify this further by granting the CPU to
application the user has currently selected and allowing the user to switch between
applications at will.

The main memory of a computer (referred to as random access memory, or RAM) is a


finite resource. The operating system is responsible for sharing the memory among the
currently running processes. When a user initiates an application, the operating system
decides where to place it in memory and may allocate additional memory to the
application if it requests it. The operating system may use capabilities in the hardware to
prevent one application from overwriting the memory of another. This provides security
and prevents applications from interfering with one another. The details of device
management are left to the operating system. The operating system provides a set of APIs
to the applications for accessing input/output (I/O) devices in a consistent and relatively
simple manner regardless of the specifics of the underlying hardware.
The computer's master control program. When the computer is turned on, a small "boot
program" loads the operating system. Although additional modules may be loaded as
needed, the main part, known as the "kernel" resides in memory at all times.

The operating system (OS) sets the standards for all application programs that run in the
computer. Applications "talk to" the operating system for all user interface and file
management operations. Also called an "executive" or "supervisor," an operating system
performs the following functions.

User Interface

All graphics based today, the user interface includes the windows, menus and method of
interaction between you and the computer. Prior to graphical user interfaces (GUIs), all
operation of the computer was performed by typing in commands. Not at all extinct,
command-line interfaces are alive and well and provide an alternate way of running
programs on all major operating systems.

Operating systems may support optional interfaces, both graphical and command line.
Although the overwhelming majority of people work with the default interfaces, different
"shells" offer variations of appearance and functionality.

Job Management

Job management controls the order and time in which programs are run and is more
sophisticated in the mainframe environment where scheduling the daily work has always
been routine. IBM's job control language (JCL) was developed decades ago. In a desktop
environment, batch files can be written to perform a sequence of operations that can be
scheduled to start at a given time.

Task Management

Multitasking, which is the ability to simultaneously execute multiple programs, is


available in all operating systems today. Critical in the mainframe and server
environment, applications can be prioritized to run faster or slower depending on their
purpose. In the desktop world, multitasking is necessary for keeping several applications
open at the same time so you can bounce back and forth among them. See multitasking

Data Management

Data management keeps track of the data on disk, tape and optical storage devices. The
application program deals with data by file name and a particular location within the file.
The operating system's file system knows where that data are physically stored (which
sectors on disk) and interaction between the application and operating system is through
the programming interface. Whenever an application needs to read or write data, it makes
a call to the operating system
Device Management

Device management controls peripheral devices by sending them commands in their own
proprietary language. The software routine that knows how to deal with each device is
called a "driver," and the OS requires drivers for the peripherals attached to the computer.
When a new peripheral is added, that device's driver is installed into the operating
system.

Security

Operating systems provide password protection to keep unauthorized users out of the
system. Some operating systems also maintain activity logs and accounting of the user's
time for billing purposes. They also provide backup and recovery routines for starting
over in the event of a system failure.

History
The earliest operating systems were developed in the late 1950s to manage tape storage,
but programmers mostly wrote their own I/O routines. In the mid-1960s, operating
systems became essential to manage disks, complex timesharing and multitasking
systems.

Today, all multi-purpose computers from desktop to mainframe use an operating system.
Consumer electronics devices increasingly use an OS, whereas in the past, they used
custom software that provided both OS and application functionality
System and Application Software
This diagram shows how the major system software interacts with
applications in memory. System software comprises the programs that
support the running of applications (operating system, DBMS, TP monitor
and access methods).
Drivers and Peripherals
This diagram shows the interaction between the operating system, the
drivers and the peripheral devices.

Operating System and Application Software


This diagram shows the components of the operating
system and typical application programs that run in a
desktop computer.
An operating system (OS) is the software that manages the sharing of the resources of a
computer. An operating system processes system data and user input, and responds by
allocating and managing tasks and internal system resources as a service to users and
programs of the system. At the foundation of all system software, an operating system
performs basic tasks such as controlling and allocating memory, prioritizing system
requests, controlling input and output devices, facilitating networking and managing file
systems. Most operating systems come with an application that provides a user interface
for managing the operating system, such as a command line interpreter or graphical user
interface. The operating system forms a platform for other system software and for
application software. Linux and Mac OS (or any other BSD-derivative) are popular
UNIX-like operating systems.

Services
Process management

Every program running on a computer, be it a service or an application, is a process. As


long as a von Neumann architecture is used to build computers, only one process per
CPU can be run at a time. Older microcomputer OSes such as MS-DOS did not attempt
to bypass this limit, with the exception of interrupt processing, and only one process
could be run under them (although DOS itself featured TSR as a very partial and not too
easy to use solution). Mainframe operating systems have had multitasking capabilities
since the early 1960s. Modern operating systems enable concurrent execution of many
processes at once via multitasking even with one CPU. Process management is an
operating system's way of dealing with running multiple processes. Since most computers
contain one processor with one core, multitasking is done by simply switching processes
quickly. Depending on the operating system, as more processes run, either each time slice
will become smaller or there will be a longer delay before each process is given a chance
to run. Process management involves computing and distributing CPU time as well as
other resources. Most operating systems allow a process to be assigned a priority which
affects its allocation of CPU time. Interactive operating systems also employ some level
of feedback in which the task with which the user is working receives higher priority.
Interrupt driven processes will normally run at a very high priority. In many systems
there is a background process, such as the System Idle Process in Windows, which will
run when no other process is waiting for the CPU.

Memory management

Current computer architectures arrange the computer's memory in a hierarchical manner,


starting from the fastest registers, CPU cache, random access memory and disk storage.
An operating system's memory manager coordinates the use of these various types of
memory by tracking which one is available, which is to be allocated or deallocated and
how to move data between them. This activity, usually referred to as virtual memory
management, increases the amount of memory available for each process by making the
disk storage seem like main memory. There is a speed penalty associated with using disks
or other slower storage as memory – if running processes require significantly more
RAM than is available, the system may start thrashing. This can happen either because
one process requires a large amount of RAM or because two or more processes compete
for a larger amount of memory than is available. This then leads to constant transfer of
each process's data to slower storage.

Another important part of memory management is managing virtual addresses. If


multiple processes are in memory at once, they must be prevented from interfering with
each other's memory (unless there is an explicit request to utilise shared memory. This is
achieved by having separate address spaces. Each process sees the whole virtual address
space, typically from address 0 up to the maximum size of virtual memory, as uniquely
assigned to it. The operating system maintains a page table that match virtual addresses to
physical addresses. These memory allocations are tracked so that when a process
terminates, all memory used by that process can be made available for other processes.

The operating system can also write inactive memory pages to secondary storage. This
process is called "paging" or "swapping" – the terminology varies between operating
systems.

It is also typical for operating systems to employ otherwise unused physical memory as a
page cache; requests for data from a slower device can be retained in memory to improve
performance. The operating system can also pre-load the in-memory cache with data that
may be requested by the user in the near future; SuperFetch is an example of this.

Disk and file systems

All operating systems include support for a variety of file systems.

Modern file systems comprise a hierarchy of directories. While the idea is conceptually
similar across all general-purpose file systems, some differences in implementation exist.
Two noticeable examples of this are the character used to separate directories, and case
sensitivity.

Networking

Most current operating systems are capable of using the TCP/IP networking protocols.
This means that computers running dissimilar operating systems can participate in a
common network for sharing resources such as computing, files, printers, and scanners
using either wired or wireless connections.

.
Security

Many operating systems include some level of security. Security is based on the two
ideas that:

 The operating system provides access to a number of resources, directly or


indirectly, such as files on a local disk, privileged system calls, personal
information about users, and the services offered by the programs running on the
system;
 The operating system is capable of distinguishing between some requesters of
these resources who are authorized (allowed) to access the resource, and others
who are not authorized (forbidden). While some systems may simply distinguish
between "privileged" and "non-privileged", systems commonly have a form of
requester identity, such as a user name. Requesters, in turn, divide into two
categories:
o Internal security: an already running program. On some systems, a
program once it is running has no limitations, but commonly the program
has an identity which it keeps and is used to check all of its requests for
resources.
o External security: a new request from outside the computer, such as a
login at a connected console or some kind of network connection. To
establish identity there may be a process of authentication. Often a
username must be quoted, and each username may have a password. Other
methods of authentication, such as magnetic cards or biometric data, might
be used instead. In some cases, especially connections from the network,
resources may be accessed with no authentication at all.

In addition to the allow/disallow model of security, a system with a high level of security
will also offer auditing options. These would allow tracking of requests for access to
resources (such as, "who has been reading this file?").

Internal security

Internal security can be thought of as protecting the computer's resources from the
programs concurrently running on the system. Most operating systems set programs
running natively on the computer's processor, so the problem arises of how to stop these
programs doing the same task and having the same privileges as the operating system
(which is after all just a program too). Processors used for general purpose operating
systems generally have a hardware concept of

External security

Typically an operating system offers (or hosts) various services to other network
computers and users. These services are usually provided through ports or numbered
access points beyond the operating systems network address.
Graphical user interfaces

Today, most modern operating systems contain Graphical User Interfaces . A few older
operating systems tightly integrated the GUI to the kernel—for example, in the original
implementations of Microsoft Windows and Mac OS the Graphical subsystem was
actually part of the operating system. More modern operating systems are modular,
separating the graphics subsystem from the kernel (as is now done in Linux, and Mac OS
X) so that the graphics subsystem is not part of the OS at all.

Device drivers

A device driver is a specific type of computer software developed to allow interaction


with hardware devices. Typically this constitutes an interface for communicating with the
device, through the specific computer bus or communications subsystem that the
hardware is connected to, providing commands to and/or receiving data from the device,
and on the other end, the requisite interfaces to the operating system and software
applications. It is a specialized hardware-dependent computer program which is also
operating system specific that enables another program, typically an operating system or
applications software package or computer program running under the operating system
kernel, to interact transparently with a hardware device, and usually provides the requisite
interrupt handling necessary for any necessary asynchronous time-dependent hardware
interfacing needs.

You might also like