OS Unit 1
OS Unit 1
OPERATING SYSTEMS
Early Evolution
By the late 1950s Operating systems were well improved and started
supporting following usages:
Job control languages that allowed users to specify the job definition and
resource requirements were made possible.
1963: Burroughs Master Control Program (MCP) for the B5000 system
OS Features by 1970s
Dynamic address translation hardware and Virtual machines came into picture.
1972: IBM comes out with VM: the Virtual Machine Operating System
1976: Apple II
1991 GNU/Linux
1993 Windows NT
2007: iOS
2008: Android OS
Basic Functions of OS
The operating system also includes programs to manage these resources, such
as a traffic controller, a scheduler, memory management module, I/O programs,
and a file system.
Important functions of an operating System:
1. Security –
The operating system uses password protection to protect user data and
similar other techniques. it also prevents unauthorized access to programs
and user data.
3. Job accounting –
Operating system Keeps track of time and resources used by various tasks
and users, this information can be used to track resource usage for a
particular user or group of users.
6. Memory Management –
The operating system manages the Primary Memory or Main Memory. Main
memory is made up of a large array of bytes or words where each byte or
word is assigned a certain address. Main memory is fast storage and it can
be accessed directly by the CPU. For a program to be executed, it should be
first loaded in the main memory. An Operating System performs the
following activities for memory management:
It keeps track of primary memory, i.e., which bytes of memory are used by
which user program. The memory addresses that have already been
allocated and the memory addresses of the memory that has not yet been
used. In multiprogramming, the OS decides the order in which processes are
granted access to memory, and for how long. It Allocates the memory to a
process when the process requests it and deallocates the memory when the
process has terminated or is performing an I/O operation.
7. Processor Management –
In a multi-programming environment, the OS decides the order in which
processes have access to the processor, and how much processing time
each process has. This function of OS is called process scheduling. An
Operating System performs the following activities for processor
management.
Keeps track of the status of processes. The program which performs this
task is known as a traffic controller. Allocates the CPU that is a processor to
a process. De-allocates processor when a process is no more required.
8. Device Management –
An OS manages device communication via their respective drivers. It
performs the following activities for device management. Keeps track of all
devices connected to the system. designates a program responsible for
every device known as the Input/Output controller. Decides which process
gets access to a certain device and for how long. Allocates devices in an
effective and efficient way. Deallocates devices when they are no longer
required.
9. File Management –
A file system is organized into directories for efficient or easy navigation and
usage. These directories may contain other directories and other files. An
Operating System carries out the following file management activities. It
keeps track of where information is stored, user access settings and status
of every file, and more… These facilities are collectively known as the file
system.
Resource Abstraction
Resource abstraction is the process of “hiding the details of how the hardware
operates, thereby making computer hardware relatively easy for an application
programmer to use”. Such an abstraction saves the programmer from needing
to learn the details of both hardware interfaces . An abstraction is software that
hides lower level details and provides a set of higher-level functions. An
operating system transforms the physical world of devices, instructions,
memory, and time into virtual world that is the result of abstractions built by the
operating system.
Types of OS
1. Serial Processing
It develops by 1940 to 1950’s programmers incorporated by the hardware
components without the implementation of the operating system. The problems
here are the scheduling and setup time. The user’s login for machine time by
wasting the computed time. The setup time is involved when loading the
compiler, saving the compiled program, source program, linking and buffering. If
any intermediate error occurs, the process gets starts over.
This type of operating system does not interact with the computer directly.
There is an operator which takes similar jobs having the same requirement and
group them into batches. It is the responsibility of the operator to sort jobs with
similar needs.
Advantages of Batch Operating System:
It is very difficult to guess or know the time required for any job to
complete. Processors of the batch systems know how long the job would
be when it is in queue
Multiple users can share the batch systems
The idle time for the batch system is very less
It is easy to manage large work repeatedly in batch systems
Real-time systems are used when there are time requirements that are very
strict like missile systems, air traffic control systems, robots, etc.
These OSs are for applications where for time-constraint is less strict.
Advantages of RTOS:
Maximum Consumption: Maximum utilization of devices and system,
thus more output from all the resources
Task Shifting: The time assigned for shifting tasks in these systems are
very less. For example, in older systems, it takes about 10 microseconds
in shifting one task to another, and in the latest systems, it takes 3
microseconds.
Focus on Application: Focus on running applications and less
importance to applications which are in the queue.
Real-time operating system in the embedded system: Since the size
of programs are small, RTOS can also be used in embedded systems like
in transport and others.
Error Free: These types of systems are error-free.
Memory Allocation: Memory allocation is best managed in these types
of systems.
Disadvantages of RTOS:
Limited Tasks: Very few tasks run at the same time and their
concentration is very less on few applications to avoid errors.
Use heavy system resources: Sometimes the system resources are not
so good and they are expensive as well.
Complex Algorithms: The algorithms are very complex and difficult for the
designer to write on.
Device driver and interrupt signals: It needs specific device drivers and
interrupts signals to respond earliest to interrupts.
Thread Priority: It is not good to set thread priority as these systems are
very less prone to switching tasks.
Examples of Real-Time Operating Systems are: Scientific experiments,
medical imaging systems, industrial control systems, weapon systems,
robots, air traffic control systems, etc.
7.Handheld Systems
The last issue confronting program designers for handheld devices is the
small display screens typically available. One approach for displaying the
content in web pages is web clipping, where only a small subset of a web
page is delivered and displayed on the handheld device.