OPERATING SYSTEMS
WWW.ANDESTECH.COM
TOPICS
Page 2 ANDES Confidential
What is an OS?
Page 3 ANDES Confidential
Windows
Page 4 ANDES Confidential
Linux
Page 5 ANDES Confidential
Mac OSX
Page 6 ANDES Confidential
What is an OS?
Page 7 ANDES Confidential
What is an OS?
OS are responsible for
everything from starting
up the computer when
you push the "on" button
to high level system
security.
The type of operating
system a computer has
also determines what
types of software can be
run on it.
Page 8 ANDES Confidential
The purpose of an OS
to organize and
control hardware and
software so that the
device it lives in
behaves in a flexible
but predictable way.
Page 9 ANDES Confidential
What is the function of an OS?
Page 10 ANDES Confidential
OS functions?
It manages the hardware and software resources
of the system.
In a desktop computer, these resources include
such things as
the processor (is an electronic circuit that can execute
computer programs),
memory,
disk space and
more (On a cell phone, they include the keypad, the
screen, the address book, the phone dialer, the battery
and the network connection).
Page 11 ANDES Confidential
OS functions?
It provides a stable,
consistent way for
applications to deal
with the hardware
without having to
know all the details
of the hardware.
Page 12 ANDES Confidential
OS functions?
OS performs a variety of functions, including
determining what types of software you can install
coordinating the applications running on the computer
at any given time
making sure that individual pieces of hardware, such
as printers, keyboards, and disk drives, all
communicate properly
allowing applications such as word processors, email
clients, and web browsers, to perform tasks on the
system
reporting errors
Page 13 ANDES Confidential
OS functions?
The OS also determines how you see information
and perform tasks. Some operating systems
utilize a graphical user interface (GUI), which
presents information through pictures (icons,
buttons, dialog boxes, etc.) as well as words.
Page 14 ANDES Confidential
First task
The first task, managing the hardware and
software resources, is very important, as various
programs compete for the attention of the central
processing unit (CPU).
Page 15 ANDES Confidential
First task
In this capacity, the OS plays the role of the good
parent, making sure that each application gets the
necessary resources while playing nicely with all
the other applications,
as well as husbanding the limited capacity of the
system to the greatest good of all the users and
applications.
Page 16 ANDES Confidential
Second task
The second task, providing a consistent
application interface,
is especially important if there a lot of types of
computer using the operating system,
or if the hardware making up the computer is
always open to change.
Page 17 ANDES Confidential
Second task
A consistent application program interface (API)
allows a software developer to write an application
on one computer and have a high level of
confidence that it will run on another computer of
the same type, even if the amount of memory or
the quantity of storage is different on the two
machines.
Page 18 ANDES Confidential
Note
Even if a particular computer is unique, an
operating system can ensure that applications
continue to run when hardware upgrades and
updates occur.
One of the challenges facing developers is
keeping their operating systems flexible enough
to run hardware from the thousands of vendors
manufacturing computer equipment.
Page 19 ANDES Confidential
Note
Today's systems can accommodate thousands of
different printers, disk drives and special
peripherals in any possible combination.
Page 20 ANDES Confidential
Types of OS
Page 21 ANDES Confidential
Types of Operating Systems
Within the broad family of operating systems,
there are generally four types, categorized based
on the types of computers they control and the
sort of applications they support. The categories
are:
Page 22 ANDES Confidential
Real-time Operating System (RTOS)
RTOS are used to
control machinery,
scientific
instruments and
industrial systems.
Page 23 ANDES Confidential
Real-time Operating System (RTOS)
An RTOS typically has very little user-interface
capability, and no end-user utilities, since the system
will be a "sealed box" when delivered for use.
A very important part of an RTOS is managing the
resources of the computer so that a particular
operation executes in precisely the same amount of
time, every time it occurs.
In a complex machine, having a part move more
quickly just because system resources are available
may be just as catastrophic as having it not move at
all because the system is busy.
Page 24 ANDES Confidential
Single-user, single task
As the name implies, this operating system is
designed to manage the computer so that one
user can effectively do one thing at a time.
Page 25 ANDES Confidential
Example of Single User, Single Task
The Palm OS for
Palm handheld
computers is a good
example of a
modern single-user,
single-task
operating system.
Page 26 ANDES Confidential
Single-user, multi-tasking
This is the type of operating system most people
use on their desktop and laptop computers today.
Page 27 ANDES Confidential
Example of Single User, multi Tasking
Microsoft's Windows and
Apple's MacOS platforms
are both examples of OS
that will let a single user
have several programs in
operation at the same
time.
For example, it's entirely
possible for a Windows
user to be writing a note
in a word processor while
downloading a file from
the Internet while printing
the text of an e-mail
message.
Page 28 ANDES Confidential
Multi-user
A multi-user operating system allows many
different users to take advantage of the
computer's resources simultaneously.
The operating system must make sure that the
requirements of the various users are balanced,
and that each of the programs they are using has
sufficient and separate resources so that a
problem with one user doesn't affect the entire
community of users.
Page 29 ANDES Confidential
Examples of Multi-user
Unix, VMS and
mainframe
operating systems,
are examples of
multi-user
operating systems.
Page 30 ANDES Confidential
Scheduling
Page 31 ANDES Confidential
What is scheduling?
Scheduling refers to the way processes are
assigned to run on the available CPUs.
This assignment is carried out by software known
as a scheduler.
Page 32 ANDES Confidential
Types of OS schedulers
Page 33 ANDES Confidential
Long-term Scheduler
Also called “admission”
decides which jobs or processes are to be sent to
the ready queue;
Process is an instance of a computer program. A
computer program itself is just a collection of
instructions, while a process is the actual execution of
those instructions.
A "ready“ process has been loaded into main memory
and is awaiting execution on a CPU
Queue line of waiting processes
Page 34 ANDES Confidential
Long-term Scheduler
that is, when an attempt is made to execute a
program, its admission to the set of currently
executing processes is either authorized by the
long-term scheduler.
Concurrent all happening at one time
Page 35 ANDES Confidential
Long-term Scheduler
In modern OS's, this is used to make sure that
real time processes get enough CPU time to
finish their tasks.
Without proper real time scheduling, modern GUI
interfaces would seem sluggish.
GUI Graphical User Interface. Everything you see on
the screen.
Real time actual events happening at this moment
Sluggish moving slowly
Page 36 ANDES Confidential
Long-term Scheduler
Long-term scheduling is also important in large-scale
systems such as batch processing systems, computer
clusters, supercomputers and render farms.
Batch processing is execution of a series of programs on a
computer without human interaction.
A computer cluster is a group of linked computers, working
together closely so that in many respects they form a single
computer.
A supercomputer is a computer that is at the frontline of current
processing capacity, particularly speed of calculation.
A render farm is a computer cluster built to render computer-
generated imagery (CGI), typically for film and television visual
effects, using off-line batch processing.
Page 37 ANDES Confidential
Types of OS schedulers
Page 38 ANDES Confidential
Mid-term Scheduler
referred to as "swapping out" or "swapping in"
present in all systems with virtual memory,
temporarily removes processes from main
memory (RAM) and places them on secondary
memory (such as a disk drive) or vice versa.
With virtual memory, the computer can look for areas
of RAM that have not been used recently and copy
them onto the hard disk. This frees up space in RAM to
load the new application.
Page 39 ANDES Confidential
Mid-term Scheduler
The mid-term scheduler may decide to ‘swap out’
a process which has not been active for some
time,
or a process which has a low priority,
or a process which is taking up a large amount of
memory
Page 40 ANDES Confidential
Types of OS schedulers
Page 41 ANDES Confidential
Short-term Scheduler
also known as the “dispatcher”
decides which of the ready, in-memory processes
are to be executed
Page 42 ANDES Confidential
Short-term Scheduler
makes scheduling decisions much more
frequently than the long-term or mid-term
schedulers because a decision will be made after
every time slice, and these are very short.
Page 43 ANDES Confidential
Short-term Scheduler
This scheduler can be preemptive, implying that it
is capable of forcibly removing processes from a
CPU when it decides to allocate that CPU to
another process.
Preemptive characteristic of securing something
before someone else.
Page 44 ANDES Confidential
Memory Management
Page 45 ANDES Confidential
What is Memory Management?
It is a term used to describe how the OS handles
the available RAM. It is managed multiple levels.
Page 46 ANDES Confidential
Relocation and Protection
Cannot be sure where program will be
loaded in memory
address locations of variables, code routines
cannot be absolute
must keep a program out of other processes’
partitions
Use base and limit values
address locations added to base value to map
to physical address
address locations larger than limit value is an
error
Page 47 ANDES Confidential
Swapping
A process can be swapped temporarily out of memory to a
backing store, and then brought back into memory for
continued execution.
Backing store – fast disk large enough to accommodate
copies of all memory images for all users; must provide
direct access to these memory images.
Roll out, roll in – swapping variant used for priority-based
scheduling algorithms; lower-priority process is swapped
out so higher-priority process can be loaded and executed.
Major part of swap time is transfer time; total transfer time
is directly proportional to the amount of memory swapped.
Modified versions of swapping are found on many
systems, i.e., UNIX, Linux, and Windows.
Page 48 ANDES Confidential
Schematic View of Swapping
Page 49 ANDES Confidential
Paging
Logical address space of a process can be noncontiguous;
process is allocated physical memory whenever the latter
is available.
Divide physical memory into fixed-sized blocks called
frames (size is power of 2, between 512 bytes and 8192
bytes).
Divide logical memory into blocks of same size called
pages.
Keep track of all free frames.
To run a program of size n pages, need to find n free
frames and load program.
Set up a page table to translate logical to physical
addresses.
Internal fragmentation.
Page 50 ANDES Confidential
Address Translation Scheme
Address generated by CPU is divided into:
Page number (p) – used as an index into a page table
which contains base address of each page in physical
memory.
Page offset (d) – combined with base address to define
the physical memory address that is sent to the
memory unit.
Page 51 ANDES Confidential
Address Translation Architecture
Page 52 ANDES Confidential
Paging Example
Page 53 ANDES Confidential