Chapter 1: Overview of Operating System 1. What Is Operating System?
Chapter 1: Overview of Operating System 1. What Is Operating System?
Chapter 1: Overview of Operating System 1. What Is Operating System?
Operating system is the core software component of your computer. It performs many
functions and is, in very basic terms, an interface between your computer and the outside
world. A computer is a modern system consists of one or more processor, some main
memory, disks, printers, a keyboard, display and other I/O systems. This is a complex
system. Thus writing programs that keeps track of all these components and use them
correctly is a mandatory. For these reason, computers are provided with a layer of
software called the operating system (OS).The job of OS is to manage all these devices
and provide user program with a simpler interface to the hardware.
An operating system is the actual software that controls the allocation and use of a
computer's hardware. It keeps components working in unity, acting as a communicator
between the user, the computer's hardware and software.
Operating system is system software that controls the execution of programs and that
provides services such as resource allocation, scheduling, I/O control and data/file
management. It hides the complexity of how hardware components work.
Operating System interprets commands and instructions. It also coordinates compilers,
assemblers, utility programs, and other software to the various user of the computer
system.OS provides easy communication between the computer system and the computer
operator (human).
It also establishes data security and integrity.
1. Process management:
That is, assignment of processor to different tasks/processes being performed by the
computer system. This allows two or more processes to be executed at a time. Here the
operating system must decide if it can run the different processes on single processor at a
time, using multitasking concept.
The operating system needs to allocate enough of the processor's time to each process
and application so that they can run as efficiently as possible. This is particularly
important for multitasking. When the user has multiple applications and processes
running, it is up to the operating system to ensure that they have enough resources to run
properly.
2. Memory management:
That is, allocation of main memory and other storage areas to the system programs as
well as user programs and data. This involves allocating, and often to create a virtual
memory for program. Paging which means organizing data so that the program data is
loaded into pages of memory. Another method of managing memory is swapping. This
involves swapping the content of memory to disk storage.
The operating system needs to ensure that each process has enough memory to execute
the process, while also ensuring that one process does not use the memory allocated to
another process. This must also be done in the most efficient manner. The operating
system must balance the needs of each process with the different types of memory
available.
3. Input/output management or Device Management:
That is, co-ordination and assignment of the different output and input device while one
or more programs are being executed. Most computers have additional hardware, such as
printers and scanners, connected to them. These devices require drivers, or special
programs that translate the electrical signals sent from the operating system or application
program to the hardware device.
The operating system manages the input to and output from the computer.
4. File management:
That is, the storage of file on various storage devices. It also allows all files to be easily
changed and modified through the use of text editors or some other files manipulation.
An Operating System can create and maintain a file System, where users can create,
delete and move files around a structured file system.
5. Protection and Security
The processes in an operating system must be protected from one another’s activities, and
to provide such protection, we must ensure that only processes that have gained proper
authorization from the operating system can operate on the files, memory, CPU and other
resources of the system. Protection provides a mechanism for controlling access to the
resources provided by a computer system. Historically, protection was a concern only on
multi programmed computer systems with several users. However, with the advent of
networking and Internet, all computer systems, from servers to PADs, must be concerned
with protection. Security ensure the authentication of system users to protect the integrity
of the information stored in the system (code and data), as well as the physical resources
Operating System Page 3
Chapter one: overview of operating system
of the computer system. The security system prevents unauthorized access, malicious
destruction or alteration of data, and accidental introduction of inconsistency.
At the simplest level, an operating system does two things:
1. It manages the hardware and software resources of the system.
2. It provides a stable, consistent way for applications, for users, to deal with the
hardware without having to know all the details of the hardware
Batch processing
Batch processing is a technique in which an Operating System collects the programs and data
together in a batch before processing starts. An operating system does the following activities
related to batch processing −
The OS defines a job which has predefined sequence of commands, programs and data as
a single unit.
The OS keeps a number a jobs in memory and executes them without any manual
information.
Jobs are processed in the order of submission, i.e., first come first served fashion.
When a job completes its execution, its memory is released and the output for the job
gets copied into an output spool for later printing or processing.
Advantages
Batch processing takes much of the work of the operator to the computer.
Increased performance as a new job gets started as soon as the previous job is finished,
without any manual intervention.
Disadvantages
Multiprogramming
A single user can not in general keep either the cpu or I/O devices busy at all times.
Multiprogramming increases cpu utilization by organizing jobs(code and data) so that the
cpu Always has one to execute.
Multi programmed systems provide an environment in which the various system
resources(for example cpu,memory and peripheral devices) are utilized effectively, but
they do not provide for user interaction with the computer system.
Multitasking
Multitasking is when multiple jobs are executed by the CPU simultaneously by switching
between them. Switches occur so frequently that the users may interact with each program while
it is running. An OS does the following activities related to multitasking −
The user gives instructions to the operating system or to a program directly, and receives
an immediate response.
The OS handles multitasking in the way that it can handle multiple operations/executes
multiple programs at a time.
When a process executes, it typically executes for only a very short time before it either
finishes or needs to perform I/O.
Since interactive I/O typically runs at slower speeds, it may take a long time to complete.
During this time, a CPU can be utilized by another process.
The operating system allows the users to share the computer simultaneously. Since each
action or command in a time-shared system tends to be short, only a little CPU time is
needed for each user.
As the system switches CPU rapidly from one user/program to the next, each user is
given the impression that he/she has his/her own CPU, whereas actually one CPU is
being shared among many users.
Interactivity
Interactivity refers to the ability of users to interact with a computer system. An Operating
system does the following activities related to interactivity −
Real-time systems are usually dedicated, embedded systems. An operating system does the
following activities related to real-time system activity.
In such systems, Operating Systems typically read from and react to sensor data.
The Operating system must guarantee response to events within fixed periods of time to
ensure correct performance.
Distributed Environment
The processors do not share memory or a clock. Instead, each processor has its own local
memory.
The OS manages the communications between the processors. They communicate with
each other through various communication lines.
There are several types of operating systems, with Windows, Linux and Macintosh group being
Windows: Windows is the popular Microsoft brand preferred by most personal users.
This
system has come a long way from version 1.0 all the way up to the new Windows 10. Although
Windows has made steps in regard to security, it has a reputation for being one of the most
vulnerable systems.
Unix/Linux: The UNIX operating system is well known for its stability. UNIX is often
used more as a server than a workstation. Linux was based on the UNIX system, with the
source code being a part of GNU open-source project. Both systems are very secure yet
far more complex than Windows.
Macintosh: Recent versions of the Macintosh operating system, including the Mac OS
X, follow
the secure architecture of UNIX. Systems developed by Apple are efficient and easy to use, but
Within the broad family of operating systems, there are generally four types, categorized based
on the types of computers they control and the sort of applications they support. The categories
are:
Real-time operating system (RTOS) - Real-time operating systems are used to control
machinery, scientific instruments and industrial systems. 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
Single-user, single task - 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. DOS is
Single-user, 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 Mac OS X
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
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 and Mainframe operating
Although operating systems differ, many of their basic functions are similar.
Most users today have a computer with a hard disk drive. When the computer is turned on, the
operating system will be loaded from the hard drive into the computer's memory, thus making it
available for use. The process of loading the operating system into memory is called
bootstrapping, or booting the system. The word booting is used because, figuratively speaking,
When you turn on the power to a computer, the first program that runs is usually a set of
instructions kept in the computer's read-only memory (ROM). This code examines the system
hardware to make sure everything is functioning properly. This power-on self test (POST)
checks the CPU, memory, and basic input-output systems (BIOS) for errors and stores the result
in a special memory location. Once the POST has successfully completed, the software loaded in
ROM (sometimes called the BIOS or firmware) will begin to activate the computer's disk drives.
In most modern computers, when the computer activates the hard disk drive, it finds the first
The bootstrap loader is a small program that has a single function: It loads the operating system
into memory and allows it to begin operation. In the most basic form, the bootstrap loader sets up
the small driver programs that interface with and control the various hardware subsystems of the
computer. It sets up the divisions of memory that hold the operating system, user information
and applications. Then it turns control of the computer over to the operating system.
Reading Assignment
1. History and development of operating system
2. Operating system design issues
3. Principles of operating systems
4. Operating System Structure
5. Operating System Architecture