Os 1
Os 1
:Course Content
• What is an OS.
• What are its key functions.
• The evaluation of OS.
2
?What is an Operating System
• Computer System = Hardware + Software
• Software = Application Software + System Software(OS)
• An Operating System is a system Software that acts as an
intermediary/interface between a user of a computer and the computer
hardware.
• Operating system goals:
Execute user programs and make solving user problems easier
Make the computer system convenient to use
Use the computer hardware in an efficient manner
3
The Structure of Computer Systems
Accessing computer resources is divided into layers.
Each layer is isolated and only interacts directly with the layer below or
above it.
If we install a new hardware device
No need to change anything about the user/applications.
However, you do need to make changes to the operating system.
You need to install the device drivers that the operating system will
use to control the new device.
If we install a new software application
No need to make any changes to your hardware.
But we need to make sure the application is supported by the operating
system
user will need to learn how to use the new application.
If we change the operating system
Need to make sure that both applications and hardware will compatible
4 with the new operating system.
Operating System Mode
The User Mode is concerned with the actual
interface between the user and the system.
It controls things like running applications
and accessing files.
7
System Call
System call is the programmatic way in which a computer program/user
application requests a service from the kernel of the operating system on
which it is executed.
Application program is just a user-process. Due to security reasons , user
applications are not given access to privileged resources(the ones controlled
by OS).
When they need to do any I/O or have some more memory or spawn a
process or wait for signal/interrupt, it requests operating system to
facilitate all these. This request is made through System Call.
System calls are also called software-interrupts.
8
Starting an Operating System(Booting)
Power On Switch sends electricity to the BIOS will then look for a small sector at the very beginning of your
motherboard on a wire called the Voltage Good primary hard disk called MBR.
line. The MBR contains a list, or map, of all of the partitions on your
If the power supply is good, then the BIOS computer‘s hard disk (or disks).
(Basic Input/Output System) chip takes over. After the MBR is found the Bootstrap Loader follows basic instructions
In Real Mode, CPU is only capable of using for starting up the rest of the computer, including the operating system.
approximately 1 MB of memory built into the In Early Kernel Initialization stage, a smaller core of the Kernel is
motherboard. activated.
The BIOS will do a Power-On Self Test (POST) This core includes the device drivers needed to use computer‘s RAM
9 to make sure that all hardware are working. chips.
BIOS
• BIOS firmware was stored in a ROM/EPROM (Erasable Programmable
Read-Only Memory) chip known as firmware on the PC motherboard.
• BIOS can be accessed during the initial phases of the boot procedure by
pressing del, F2 or F10.
• Finally, the firmware code cycles through all storage devices and looks for
a boot-loader. (usually located in first sector of a disk which is 512 bytes)
• If the boot-loader is found, then the firmware hands over control of the
computer to it.
10
Functions of Operating System
11
Process Management .1
• A process is a program in execution.
• A process needs certain resources, including CPU time, memory, files, and I/O devices to
accomplish its task.
• Simultaneous execution leads to multiple processes. Hence creation, execution and termination
of a process are the most basic functionality of an OS
• If processes are dependent, than they may try to share same resources. thus task of process
synchronization comes to the picture.
• If processes are independent, than a due care needs to be taken to avoid their overlapping in
memory area.
• Based on priority, it is important to allow more important processes to execute first than others.
12
Memory management .2
• Memory is a large array of words or bytes, each with its own address.
• It is a repository of quickly accessible data shared by the CPU and I/O devices.
• Main memory is a volatile storage device. When the computer made turn off everything
stored in RAM will be erased automatically.
• In addition to the physical RAM installed in your computer, most modern operating
systems allow your computer to use a virtual memory system. Virtual memory allows
your computer to use part of a permanent storage device (such as a hard disk) as extra
memory.
• The operating system is responsible for the following activities in connections with
memory management:
Keep track of which parts of memory are currently being used and by whom.
Decide which processes to load when memory space becomes available.
13 Allocate and de-allocate memory space as needed.
File Management .3
• A file is a collection of related information defined by its creator.
• File systems provide the conventions for the encoding, storage and management of data
on a storage device such as a hard disk.
FAT12 (floppy disks)
FAT16 (DOS and older versions of Windows)
FAT32 (older versions of Windows)
NTFS (newer versions of Windows)
EXT3 (Unix/Linux)
HFS+ (Max OS X)
• The operating system is responsible for the following activities in connections with file management:
✦ File creation and deletion.
✦ Directory creation and deletion.
✦ Support of primitives for manipulating files and directories.
✦ Mapping files onto secondary storage.
✦ File backup on stable (nonvolatile) storage media.
14
Device Management or I/O Management .4
• Device controllers are components on the motherboard (or on expansion cards) that act as an interface
between the CPU and the actual device.
• Device drivers, which are the operating system software components that interact with the devices
controllers.
• A special device (inside CPU) called the Interrupt Controller handles the task of receiving interrupt
requests and prioritizes them to be forwarded to the processor.
• Deadlocks can occur when two (or more) processes have control of different I/O resources that are needed
by the other processes, and they are unwilling to give up control of the device.
• It performs the following activities for device management.
Keeps tracks of all devices connected to system.
Designates a program responsible for every device known as 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.
15
Security & Protection .5
• The operating system uses password protection to protect
user data and similar other techniques.
• It also prevents unauthorized access to programs and user
data by assigning access right permission to files and
directories.
• The owners of information stored in a multiuser or
networked computer system may want to control use of
that information, concurrent processes should not interfere
with each other.
16
User Interface Mechanism .6
• A user interface (UI) controls how you enter data and
instructions and how information is displayed on the
screen
• There are two types of user interfaces
1. Command Line Interface
2. Graphical user Interface
17
Command-line interface .1
• In a command-line interface, a user types commands
represented by short keywords or abbreviations or presses
special keys on the keyboard to enter data and instructions
18
Graphical User Interface .2
• With a graphical user interface (GUI), you interact with
menus and visual images
19
History of Operating System
The First Generation (1940's to early 1950's)
No Operating System
All programming was done in absolute machine language, often by wiring up plug-boards to control
the machine’s basic functions.
The Second Generation (1955-1965)
First operating system was introduced in the early 1950's.It was called GMOS
Created by General Motors for IBM's machine the 701.
Single-stream batch processing systems
The Third Generation (1965-1980)
Introduction of multiprogramming
Development of Minicomputer
The Fourth Generation (1980-Present Day)
Development of PCs
Birth of Windows/MaC OS
20
Types of Operating Systems
1. Batch Operating System
2. Multiprogramming Operating System
3. Time-Sharing OS
4. Multiprocessing OS
5. Distributed OS
6. Network OS
7. Real Time OS
8. Embedded OS
21
Batch Operating System .1
• The users of this type of operating system does not interact with the computer directly.
• Each user prepares his job on an off-line device like punch cards and submits it to the
computer operator
• There is an operator which takes similar jobs having the same requirement and group them into
batches.
22
.. Batch Operating System cont .1
Advantages of Batch Operating System:
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
Disadvantages of Batch Operating System:
The computer operators should be well known with batch systems
Batch systems are hard to debug
It is sometimes costly
The other jobs will have to wait for an unknown time if any job fails
Examples of Batch based Operating System:
IBM's MVS
23
:Multiprogramming Operating System .2
• This type of OS is used to execute more than one jobs simultaneously by a single processor.
• It increases CPU utilization by organizing jobs so that the CPU always has one job to execute.
• Multiprogramming operating systems use the mechanism of job scheduling and CPU
scheduling.
24
Time-Sharing Operating Systems .3
• Each task is given some time to execute so that all the tasks work smoothly.
• These systems are also known as Multi-tasking Systems.
• The task can be from a single user or different users also.
• The time that each task gets to execute is called quantum.
• After this time interval is over OS switches over to the next task.
25
..Time-Sharing Operating Systems cont .3
• Advantages of Time-Sharing OS:
Each task gets an equal opportunity
Fewer chances of duplication of software
CPU idle time can be reduced
• Disadvantages of Time-Sharing OS:
Reliability problem
One must have to take care of the security and integrity of user programs and data
Data communication problem
• Examples of Time-Sharing Oss
Multics, Unix, etc.
26
Multiprocessor operating systems .4
• Multiprocessor operating systems are also known as parallel OS or tightly
coupled OS.
• Such operating systems have more than one processor in close
communication that sharing the computer bus, the clock and sometimes
memory and peripheral devices.
• It executes multiple jobs at the same time and makes the processing
faster.
• It supports large physical address space and larger virtual address space.
• If one processor fails then other processor should retrieve the
interrupted process state so execution of process can continue.
• Inter-processes communication mechanism is provided and implemented in
hardware.
27
Distributed Operating System .5
• Various autonomous interconnected computers communicate with each other using a shared
communication network.
• Independent systems possess their own memory unit and CPU.
• These are referred to as loosely coupled systems.
• Examples:- Locus, DYSEAC
28
Network Operating System .6
• These systems run on a server and provide the capability to manage data,
users, groups, security, applications, and other networking functions.
• These types of operating systems allow shared access of files, printers,
security, applications, and other networking functions over a small private
network.
• The “ other" computers arc called client computers, and each computer that
connects to a network server must be running client software designed to
request a specific service.
• popularly known as tightly coupled systems.
29
Network Operating System .6
Advantages of Network Operating System:
Highly stable centralized servers
Security concerns are handled through servers
New technologies and hardware up-gradation are easily integrated into the system
Server access is possible remotely from different locations and types of systems
Disadvantages of Network Operating System:
Servers are costly
User has to depend on a central location for most operations
Maintenance and updates are required regularly
Examples of Network Operating System are:
Microsoft Windows Server 2003/2008/2012, UNIX, Linux, Mac OS X, Novell NetWare, and BSD,
etc.
30
Real-Time Operating System .7
• These types of OSs serve real-time systems.
• The time interval required to process and respond to inputs is very small.
• This time interval is called response time.
• Real-time systems are used when there are time requirements that are very
strict like
missile systems,
air traffic control systems,
robots, etc.
31
Embaded Operating System .8
• An embedded operating system is one that is built into the circuitry of an electronic
device.
• Embedded operating systems are now found in automobiles, bar-code scanners, cell
phones, medical equipment, and personal digital assistants.
• The most popular embedded operating systems for consumer products, such as PDAs,
include the following:
Windows XP Embedded
Windows CE .NET:- it supports wireless communications, multimedia and Web
browsing. It also allows for the use of smaller versions of Microsoft Word, Excel,
and Outlook.
Palm OS:- It is the standard operating system for Palm-brand PDAs as well as
other proprietary handheld devices.
Symbian:- OS found in “ smart” cell phones from Nokia and Sony Ericsson
32
33