Operating systems have evolved significantly over time:
- Early operating systems in the 1950s supported batch processing and standardized I/O routines.
- In the 1960s, time-sharing systems were developed that allowed multiple users to access a computer simultaneously.
- Modern operating systems support various types of usage including batch processing, time-sharing, real-time applications, distributed systems, and parallel processing across networked computers. They provide interfaces, manage memory, processors, devices, files and perform other functions to enable efficient use of computer hardware and software resources.
Micro-Scholarship, What it is, How can it help me.pdf
Operating System-Introduction
1. OPERATING SYSTEM NOTES - UNIT-I
Introduction : Introduction to OS, Operating system functions, evaluation of O.S., Different types of O.S.,
Batch multi programmed, Time-sharing, Real-time, Distributed, Parallel.
Introduction to OS
In the early days of computer, when computers were huge machines, expensive to buy and
maintain, users had to interact directly with the hardware through machine language. A software
was required which could perform basic tasks, such as recognizing input from the keyboard,
sending output to the display screen, keeping track of files and directories on the disk, and
controlling peripheral devices such as printer and scanner. The search for such software led to the
evolution of modern day Operating System (OS). This software is loaded onto the top of memory
and performs all the aforesaid basic tasks, Initially, the operating system’s interface was only
character-based. This interface provides the user with a command prompt, and the user has to type
all the commands to perform various functions. As a result, the user had to memories many
commands. With the advancement in technology, operating system became even more user-friendly
by providing graphical user interface (GUI). The GUI-based operating system allows manipulation
of software by using visual objects such as windows, pull-down menus, mouse pointers, and icons.
Consequently, operating the computer became easy and intuitive.
Definition: An operating system is a program that acts as an interface between the user and the
computer hardware and controls the execution of all kinds of programs as well as computer
hardware. Some popular Operating Systems include Linux, Windows, OS X, Mac, etc.
Important points:
• Computer = H/W + OS + Apps + Users
• OS serves as interface between H/W and ( Apps & Users )
• OS provides services for Apps & Users
• OS manages resources
Provided by Shipra Swati, PSCET
2. OPERATING SYSTEM NOTES - UNIT-I
Operating System Functions
Following are some of important functions of an operating System:
1. Memory Management
2. Processor Management
3. Device Management
4. File Management
5. Providing Interface
6. Security
7. Control over system performance
8. Job accounting
9. Error detecting aids
Memory Management: Memory management refers to management of Primary Memory or Main
Memory. Main memory is a large array of words or bytes where each word or byte has its own
address.
Main memory provides a fast storage that can be accessed directly by the CPU. For a program to be
executed, it must in the main memory. An Operating System does the following activities for
memory management −
• Keeps tracks of primary memory, i.e., what part of it are in use by whom, what part are not
in use.
• In multiprogramming, the OS decides which process will get memory when and how much.
• Allocates the memory when a process requests it to do so.
• De-allocates the memory when a process no longer needs it or has been terminated.
Processor Management: In multiprogramming environment, the OS decides which process gets
the processor when and for how much time. This function is called process scheduling. An
Operating System does the following activities for processor management −
• Keeps tracks of processor and status of process. The program responsible for this task is
known as traffic controller.
• Allocates the processor (CPU) to a process.
• De-allocates processor when a process is no longer required.
Device Management: An Operating System manages device communication via their respective
drivers. It does the following activities for device management −
• Keeps tracks of all devices. Program responsible for this task is known as the I/O controller.
• Decides which process gets the device when and for how much time.
• Allocates the device in the efficient way.
File Management: A file system is normally organized into directories for easy navigation and
usage. These directories may contain files and other directions. An Operating System does the
following activities for file management −
• Keeps track of information, location, uses, status etc. The collective facilities are often
known as file system.
• Decides who gets the resources.
• Allocates the resources.
• De-allocates the resources.
Provided by Shipra Swati, PSCET
3. OPERATING SYSTEM NOTES - UNIT-I
Providing Interface: It is used in order that user interface acts with a computer mutually. User
interface controls how you input data and instruction and how information is displayed on screen.
The operating system offers two types of the interface to the user:
1. Graphical-line interface: It interacts with of visual environment to communicate with the
computer. It uses windows, icons, menus and other graphical objects to issues commands.
2. Command-line interface: it provides an interface to communicate with the computer by
typing commands.
Security: Data is an important part of computer system. By means of password and similar other
techniques, the operating system prevents unauthorized access to programs and data and protects
the data stored on the computer from illegal use, modification or deletion.
Control over system performance: Recording delays between request for a service and response
from the system.
Job accounting: Keeping track of time and resources used by various jobs and users.
Error detecting aids: Production of dumps, traces, error messages, and other debugging and error
detecting aids.
Evoluation of O.S
Serial Processing: From the late 1940's to mid 1950's, the programmer interacted directly with
computer hardware i.e., no operating system. These machines were run with a console consisting of
display lights, toggle switches, some form of input device and a printer. Programs in machine code
are loaded with the input device like card reader. If an error occur, the program was halted and the
error condition was indicated by lights. Programmers examine the registers and main memory to
determine error. If the program is success, then output will appear on the printer.
Main problem here is the setup time, which includes loading source program into memory, saving
the compiled (object) program and then loading and linking together. If an error occur, whole
process needs to be repeated.
A summarized concise description of OS evolution is listed below:
Operating Systems by the late 1950s
By the late 1950s Operating systems were well improved and started supporting following usages :
• It was able to Single stream batch processing
• It could use Common, standardized, input/output routines for device access
• Program transition capabilities to reduce the overhead of starting a new job was added
• Error recovery to clean up after a job terminated abnormally was added.
• Job control languages that allowed users to specify the job definition and resource
requirements were made possible.
Provided by Shipra Swati, PSCET
4. OPERATING SYSTEM NOTES - UNIT-I
Operating Systems In 1960s
• 1961: The begining of minicomputers
• 1962 Compatible Time-Sharing System (CTSS) from MIT
• 1963 Burroughs Master Control Program (MCP) for the B5000 system
• 1964: IBM System/360
• 1960s: Disks become mainstream
• 1966: Minicomputers get cheaper, more powerful, and really useful
• 1967-1968: The mouse
• 1964 and onward: Multics
• 1969: The UNIX Time-Sharing System from Bell Telephone Laboratories
Supported OS Features by 1970s
• Multi User and Multi tasking was introduced.
• Dynamic address translation hardware and Virtual machines came into picture.
• Modular architectures came into existence.
• Personal, interactive systems came into existence.
Achievements after 1970
• 1971: Intel announces the microprocessor
• 1972: IBM comes out with VM: the Virtual Machine Operating System
• 1973: UNIX 4th Edition is published
• 1973: Ethernet
• 1974 The Personal Computer Age begins
• 1974: Gates and Allen wrote BASIC for the Altair
• 1976: Apple II
• August 12, 1981: IBM introduces the IBM PC
• 1983 Microsoft begins work on MS-Windows
• 1984 Apple Macintosh comes out
• 1990 Microsoft Windows 3.0 comes out
• 1991 GNU/Linux
• 1992 The first Windows virus comes out
• 1993 Windows NT
• 2007: iOS
• 2008: Android OS
And the research and development work still goes on, with new operating systems being developed
and existing ones being improved to enhance the overall user experience while making operating
systems fast and efficient like they have never been before.
Provided by Shipra Swati, PSCET
5. OPERATING SYSTEM NOTES - UNIT-I
Different Types of O.S.
Simple Batch Systems: To speed up processing, jobs with similar needs are batched together and
run as a group. Thus, the programmers will leave their programs with the operator. The operator
will sort programs into batches with similar requirements. The program that controls the execution
of the jobs was called monitor- a simple version of an operating system.
Advantage:
• Improve the utilization of computers as compared to Serial Processing.
Hardware features:
• Memory protection: do not allow the memory area containing the monitor to be
altered
• Timer: prevents a job from monopolizing the system
Problems:
• Bad utilization of CPU time - the processor stays idle while I/O devices are in use
because the speeds of the mechanical I/O devices are slower than CPU.
• Lack of interaction between the user and job.
Multiprogrammed Batch Systems: Jobs must be run sequentially, on a first-come, first-served
basis. However single user cannot keep the CPU or I/O devices busy at all times. So, in cae more
than one program resides in the main memory, when one job needs to wait, the CPU is switched to
another job, and so on. This is called multi-programming. The memory layout for
multiprogramming system is shown below:
Provided by Shipra Swati, PSCET
6. OPERATING SYSTEM NOTES - UNIT-I
Advantage:
• Multiprogramming increases CPU utilization.
New features:
• Memory management - to run several, they must be kept in main memory
• Job scheduling - the processor must decide which program to run.
Time-Sharing Systems: In the 1960s, time-shared operating systems began replacing batch
systems. Time-sharing or multitasking is a logical extension of multiprogramming. That is
processors time is shared among multiple users simultaneously is called time-sharing. The main
difference between Multiprogrammed Batch Systems and Time-Sharing Systems is:
In Multiprogrammed batch systems its objective is maximize processor use, whereas in Time-
Sharing Systems its objective is minimize response time.
Operating system uses CPU scheduling and multiprogramming to provide each user with a small
portion of a time. Computer systems that were designed primarily as batch systems have been
modified to time-sharing systems. For example IBM's OS/360.
Time-sharing operating systems are even more complex than multiprogrammed operating systems.
as in multiprogramming, several jobs must be kept simultaneously in memory.
Advantage:
• Several (human) users use the computer system interactively.
Real-time Systems: In Real-Time System, Response Time (means time to Display the Results after
Possessing) is already fixed. So, it is used at those Places in which we Require Timely Response.
The Real Time systems are used in the environments where a large number of events (generally
external to the computer system) is required to be accepted and is to be processed in the form of
quick response. Such systems have to be the multitasking. E.g., Scientific experiments, medical
imaging systems, industrial control systems, weapon systems, robots, and home-applicance
controllers.
There are two types of real-time systems:
• Hard real-time systems: Hard real-time systems gurantees that critical tasks complete on
time. In hard real-time systems secondary storage is limited or missing with data stored in
ROM.
• Soft real-time systems: Soft real time systems are less restrictive. Critical real-time task
gets priority over other tasks and retains the priority until it completes. E.g., Multimedia,
virtual reality, Advanced Scientific Projects like undersea exploration and planetary rovers.
Provided by Shipra Swati, PSCET
7. OPERATING SYSTEM NOTES - UNIT-I
Distributed Systems: Distributed systems distribute computation among several processors. In
contrast to tightly coupled systems (i.e., parallel systems), the processors do not share memory or a
clock. Instead, each processor has its own local memory.
The processors communicate with one another through various communication lines (such as high-
speed buses or telephone lines). These are referred as loosely coupled systems or distributed
systems. Processors in a distributed system may vary in size and function. These processors are
referred as sites, nodes, computers and so on.
The advantages of distributed systems are as follows:
• Resource Sharing: With resource sharing facility user at one site may be able to use the
resources available at another.
• Communication Speedup: Speedup the exchange of data with one another via electronic
mail.
• Reliability: If one site fails in a distributed system, the remaining sites can potentially
continue operating.
Parallel Operating Systems: A parallel operating system works by dividing sets of calculations
into smaller parts and distributing them between the machines on a network for parallel processing.
Parallel operating systems are used to interface multiple networked computers to complete tasks in
parallel. Parallel operating systems are able to use software to manage all of the different resources
of the computers running in parallel, such as memory, caches, storage space, and processing power.
Parallel operating systems also allow a user to directly interface with all of the computers in the
network.
To facilitate communication between the processor cores and memory arrays, either memory is
shared or distributed to all the networked computers. Sharing memory allows the operating system
to run very quickly, but it is usually not as powerful. When using distributed shared memory,
processors have access to both their own local memory and the memory of other processors; this
distribution may slow the operating system, but it is often more flexible and efficient.
Provided by Shipra Swati, PSCET