Professional Documents
Culture Documents
Operating System I: M.SC - Zainab Hussain Yahya Lecture No.3& 4
Operating System I: M.SC - Zainab Hussain Yahya Lecture No.3& 4
1 09/05/2021
Outline
Operating-System Structure
Operating System generation
Virtual machines
2 09/05/2021
Operating System Structure
3 09/05/2021
Simple Structure -- MS-DOS
MS-DOS – written to provide the most functionality in the least
space
Not divided into modules
Although MS-DOS has some structure, its interfaces and levels
of functionality are not well separated
4 09/05/2021
Non Simple Structure -- UNIX
UNIX – limited by hardware functionality, the original
UNIX operating system had limited structuring. The UNIX
OS consists of two separable parts
Systems programs
The kernel
Consists of everything below the system-call interface
and above the physical hardware
Provides the file system, CPU scheduling, memory
management, and other operating-system functions; a
large number of functions for one level
5 09/05/2021
Traditional UNIX System Structure
Beyond simple but not fully layered.
6 09/05/2021
Layered Approach
The operating system is divided into a number of layers
(levels), each built on top of lower layers. The bottom
layer (layer 0), is the hardware; the highest (layer N) is the
user interface.
With modularity, layers are selected such that each uses
functions (operations) and services of only lower-level
layers
7 09/05/2021
Microkernel System Structure
Moves as much from the kernel into user space
Mach example of microkernel
Mac OS X kernel (Darwin) partly based on Mach
Communication takes place between user modules using
message passing
Benefits:
Easier to extend a microkernel
Easier to port the operating system to new architectures
More reliable (less code is running in kernel mode)
More secure
Detriments:
Performance overhead of user space to kernel space communication
8 09/05/2021
Application File Device user
Program System Driver mode
messages messages
microkernel
hardware
9 09/05/2021
Operating System generation
First Generation (1940-1956) Vacuum Tubes:
used vacuum tubes for circuitry and magnetic drums for memory
• taking up entire rooms.
• very expensive to operate
• in addition to using a great deal of electricity, generated a lot of heat,
which was often the cause of malfunctions.
• computers depend on machine language
• the lowest-level programming language understood by computers,
to perform operations, and they could only solve one problem at a time
• Input was based on punched cards and paper tape, and output was
displayed on printouts.
• The UNIVAC and ENIAC computers are examples .
10 09/05/2021
Second Generation (1956-1963) Transistors
Transistors replaced vacuum tubes .
The transistor was invented in 1947 but did not see
widespread use in computers until the late 1950s.
transistor was better to the vacuum tube, allowing
computers to become smaller, faster, cheaper, more
energy-efficient and more reliable than their first-
generation .
Though the transistor still generated a great deal of
heat that subjected the computer to damage
it was a vast improvement over the vacuum tube.
11 09/05/2021
second-generation computers still relied on
punched cards for input and printouts for output.
computers moved from cryptic binary machine
language to symbolic, or assembly, languages,
which allowed programmers to specify
instructions in words.
High-level programming languages were also
being developed at this time, such as early versions
of COBOL and FORTRAN.
12 09/05/2021
Third Generation (1964-1971) Integrated
Circuits
The development of the integrated circuit was the hallmark of
the third generation of computers.
Transistors were reduced and placed on silicon chips,
called semiconductors.
which increased the speed and efficiency of computers.
Instead of punched cards and printouts, users interacted
with third generation computers through keyboards and
monitors
interfaced with an operating system, which allowed the
device to run many different applications at one time with a
central program that monitored the memory.
13 09/05/2021
Fourth Generation (1971-Present)
Microprocessors
The microprocessor brought the fourth generation of
computers, as thousands of integrated circuits were built
onto a single silicon chip.
The Intel developed in 1971, located all the components
of the computer—from the central processing unit and
memory to input/output controls—on a single chip.
As these small computers became more powerful, they
could be linked together to form networks, which
eventually led to the development of the Internet.
Fourth generation computers also saw the development
of GUIs, the mouse and handheld devices
14 09/05/2021
Fifth Generation (Present and Beyond)
Artificial Intelligence
Fifth generation computing devices, based on artificial
intelligence, are still in development.
though there are some applications, such as voice
recognition, that are being used today.
The use of parallel processing and superconductors is helping
to make artificial intelligence a reality.
Quantum computation and molecular and nanotechnology
will radically change the face of computers in years to come.
The goal of fifth-generation computing is to develop devices
that respond to natural language input and are capable of
learning and self-organization.
15 09/05/2021
Virtual Machine
A Virtual Machine (VM) is a software program or
operating system that not only display the behavior
of a separate computer, but is also capable of
performing tasks such as running applications and
programs like a separate computer.
16 09/05/2021
Types Of Virtual Machine :
System Virtual Machine
Process Virtual Machine
17 09/05/2021
System Virtual Machine
Also known as Hardware Virtual Machine.
Allow the sharing of the underlying physical
machine resources between different virtual
machines, each running its own operating system.
The software layer providing the virtualization is
called a Virtual Machine Monitor or hypervisor.
18 09/05/2021
Process Virtual Machines
Also known as Application Virtual Machine
Runs as a normal application inside an OS and
supports a single process.
It is created when that process is started and
destroyed when it exits.
Its purpose is to provide a platform-independent
programming environment that abstracts away
details of the underlying hardware or operating
system, and allows a program to execute in the
same way on any platform
19 09/05/2021
Advantages
Familiar Interface
Isolation
High Availability
Scalability
Backup with Fast Recovery
Reduction of Cost
Examples :
XEN --- Virtual Box --- VMware Workstation ---
Citrix
20 09/05/2021
Disadvantage
Difficult in direct access to hardware.
Capacity of RAM should be larger.
Capacity of Disk should be larger.
A Virtual Machine is less efficient than an actual
machine when it accesses the host hard drive
indirectly.
21 09/05/2021
Thank You
Any Questions
22 09/05/2021