Unit-I-Basics of Operating Systems

Download as pdf or txt
Download as pdf or txt
You are on page 1of 29

Unit-I

Basics of Operating Systems


What is an operating system?
• It is a system software that control the execution of an application
program and act as an interface between users and computer
hardware.
• An operating system is a software which performs all the basic
tasks like file management, memory management, process
management, handling input and output, and controlling
peripheral devices such as disk drives and printers.
History of Operating System
• In the 1950s, computers were limited to running one program at a time like a
calculator, but later in the following decades, computers began to include
more and more software programs, sometimes called libraries, that formed
the basis for today’s operating systems.
• The first Operating System was created by General Motors in 1956 to run a
single IBM mainframe computer, its name was the IBM 704
• IBM was the first computer manufacturer to develop operating systems and
distribute them in its computers in the 1960s.
History of Operating System
• Stanford Research Institute developed the oN-Line System (NLS) in the late
1960s, which was the first operating system that resembled the desktop
operating system we use today.
• Microsoft bought QDOS (Quick and Dirty Operating System) in 1981 and
branded it as Microsoft Operating System (MS-DOS).
• Unix was developed in the mid-1960s by the Massachusetts Institute of
Technology, AT&T Bell Labs, and General Electric as a joint effort. Initially
it was named MULTICS, which stands for Multiplexed Operating and
Computing System.
History of Operating System
• FreeBSD is also a popular UNIX derivative, originating from the BSD project at
Berkeley. All modern Macintosh computers run a modified version of FreeBSD
(OS X).
• Windows 95 is a consumer-oriented graphical user interface-based operating system
built on top of MS-DOS. It was released on August 24, 1995 by Microsoft as part
of its Windows 9x family of operating systems.
• Solaris is a proprietary Unix operating system originally developed by Sun
Microsystems in 1991. After the Sun acquisition by Oracle in 2010 it was renamed
Oracle Solaris.
Pyramid structure of an operating system
What are hardware and software resources
managed by the OS?

• An operating system manages the resources like disk drives, memory and
processors.
• Any device inside the computer is managed by the operating system.
• The operating system manages running applications or programs, called
processes.
• An OS is an interface between the computer hardware and software.
• It helps humans to communicate with the hardware with the help of
software.
What are hardware and software resources
managed by the OS?
• The different hardware and software resources managed by OS :
• Processor(s)
• Memory (RAM)
• Hard Disk Storage
• Removable Media
• Software
• Input Devices
Evolution of an operating system
[1] Serial Processing
• The era of late 1940s to mid 1950s is known as serial processing.
• The programmer interacted with computer hardware directly.
• There are no operating systems in computer.
• These computers were run from console consisting of display lights, toggle switches,
some form of input device, and a printer.
• Program was loaded via the input device (i.e card reader). If error occurs, the error
condition was indicated by the lights. If program proceeded to a normal completion,
the output appeared on the printer.
Evolution of an operating system
Drawbacks
(a) Scheduling: Most installation used a hardcopy sign-up sheet to reserve computer
time. Typically, user could sign-up for a block of time in multiple of a half hour. If
user might sign up for an hour and finish in 45 minutes, this would result in wastage
computer processing time. On the other hand, the user might run into problems and
not finish into allocated time, the program would be terminated.
(b)Set up time: To execute a program (i.e job) , it requires to setup an environment
and most of time is utilized in it.
Evolution of an operating system
[2] Batch System
• It uses a piece of software known as monitor.
• With this type of OS, the user no longer has direct access to the processor.
• The user submits the jobs on card or tape to a computer operator.
• Computer operator batches the jobs together and places the entire batch on an input
device, for use by monitor.
• The monitor reads in the jobs one at a time from the input device.
• When job is completed, the results of job sent to a printer for delivery to the user.
Evolution of an operating system
• Drawbacks
(1) Processor utilization is not in effective way.
(2) Programmer cannot interact with computer system directly.
[3] Multiprogramming
• Even with the automatic job sequencing provided by batch system, the processor is often
idle.
• The main problem is that I/O devices are slow compared to the processor.
• In other terms, we can say that uni-programming cannot utilize processor efficiently so the
concept of multiprogramming was introduced.
Evolution of an operating system
• Multiprogramming is the concept with the help of that we can execute multiple
programmes on the system at a time.
• If one program requires I/O operation, system will select the second program in the
queue for processing.
• The main advantage of multiprogramming is processor utilization becomes efficient.
• The main drawback is programmer cannot interact with system directly.
Evolution of an operating system
Evolution of an operating system
[4]Time Sharing
• Time-sharing is a logical extension of multiprogramming.
• Processor's time which is shared among multiple users simultaneously is termed as
time-sharing.
• The main difference between Multiprogrammed Batch Systems and Time-Sharing
Systems is that in case of Multiprogrammed batch systems, objective is to maximize
processor utilization, whereas in Time-Sharing Systems objective is to minimize
response time.
Evolution of an operating system
Advantages of Timesharing operating systems are following
• Provide advantage of quick response.
• Reduces CPU idle time.
Disadvantages of Timesharing operating systems are following.
• Problem of reliability.
• Question of security and integrity of user programs and data.
Types of Operating Systems
Real time operating System
• The response time is fixed.
• The processor fixed the response time of display result after processing.
• Real time system is used at those places in which we require higher response time.
• There are two Types of Real Time System.
1) Hard Real Time System: In the Hard Real Time System, time is fixed and we can’t change any
moments of the time of processing. Means CPU will process the data as we enter the data.
2) Soft Real Time System: In the Soft Real Time System, some moments can be change. Means after
giving the command to the CPU, CPU Performs the Operation after a Microsecond.
Types of Operating Systems
Network Operating System
• Network Operating System runs on a server and provides server the capability to
manage data, users, groups, security, applications, and other networking functions.
• The primary purpose of the network operating system is to allow shared file and printer
access among multiple computers.
• It is known as tightly coupled system in which common memory is shared among
different users.
Types of Operating Systems
The advantages of network operating systems are following.
• Centralized servers are highly stable.
• Security is server managed.
• Upgrades to new technologies and hardware's can be easily integrated into the system.
The disadvantages of network operating systems are following.
• High cost of buying and running a server.
• Dependency on a central location for most operations.
• Regular maintenance and updates are required.
Types of Operating Systems
Distributed Operating Systems
• Distributed means data is stored and processed on multiple locations.
• Distributed operating system process the data stored on multiple locations.
• It is known as loosely coupled architecture where different computers have its own memory.
The advantages of distributed systems are following.
• With resource sharing facility user at one site may be able to use the resources available
at another.
• If one site fails in a distributed system, the remaining sites can potentially continue
operating.
• Better service to the customers.
• Reduction of the load on the host computer.
Types of Operating Systems
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.
• The main advantage of such system is the faster execution of independent instructions.
Operating-System Structure – Monolithic
Structure of UNIX
Operating-System Structure – Monolithic
Structure of UNIX
• It consists of two separable parts: the kernel and the system programs.
• The kernel is further separated into a series of interfaces and device drivers,
which have been added and expanded over the years as UNIX has evolved.
• Everything below the system call interface and above the physical hardware
is kernel.
• The kernel provides the file system, CPU scheduling, memory management
and other OS functions through system calls.
Shell
• A shell is a special user program that provides an interface for the user to use
operating system services.
• Shell accepts human-readable commands from users and converts them into
something which the kernel can understand.
• Shell is broadly classified into two categories –
• Command Line Shell
• Graphical shell
Command Line Shell
Graphical Shell
Compiler
• A compiler is a special program that translates a programming language's source code
into machine code, bytecode or another programming language.
• The source code is typically written in a high-level, human-readable language such as
Java or C++.
Interpreter
• Interpreter is a computer program that directly executes instructions written in a programming or
scripting language, without requiring them previously to have been compiled into a machine language
program.
• In programming, we can execute a program in two ways. Firstly, through compilation and secondly,
through an interpreter.
Assembler
• Assembler is a program for converting instructions written in low-level
assembly code into relocatable machine code.

You might also like