0% found this document useful (0 votes)
7 views79 pages

OS

The document provides an overview of operating systems, detailing their functions, types, and components such as kernels and shells. It explains the process management, memory management, and the role of threads in multitasking, along with an introduction to cloud computing and its services. Additionally, it discusses Free Open Source Software (FOSS) and the principles of copyleft.

Uploaded by

ovafi4
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views79 pages

OS

The document provides an overview of operating systems, detailing their functions, types, and components such as kernels and shells. It explains the process management, memory management, and the role of threads in multitasking, along with an introduction to cloud computing and its services. Additionally, it discusses Free Open Source Software (FOSS) and the principles of copyleft.

Uploaded by

ovafi4
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 79

Operating

Systems
By: Gaurav Aggarwal
Operating System
An interface between Applications and hardware
It manages computer hardware resources and
provides services for computer programs
Application programs require an operating system
to function.
Operating System
A program or a software that governs the
functioning of other programs

It keeps track of files and folder on the disk

Manages CPU Time

Control devices

Allows convenient usage; hides the tedious stuff


Types of Operating
System
» Tasks
o Uni tasking (DOS)
o Multi tasking : All modern OS

» Users
o Single User: Mac, Windows
o Multi User: Linux

® Soffsmith Infofech
Types of Operating
System
« Single User, Single Task
o A user can do only one thing ot a time
o MSDOS

« Single User, Multi Task


o Most commonly Used
o A user can do mulfiple tasks
o Windows, MAC

« Multi User, Multi Task


o Multiple users can do multiple tasks
o Linux, Unix

® Soffsmith Infofech
Types of Operating
System — Real Time OS
* Aims at executing real-time applications

* Objective: quick and predictable response to


events

* Event-driven or Time sharing design

« Event-driven system switches between tasks based


on their priorities or external events

» Time-sharing operating systems switch tasks based


on clock interrupts

® Soffsmith Infofech
Types of Operating
System — Distributed
» Adistributed operating system manages a group of
independent computers

* Makes them appear to be a single computer

+« Emerged because of development of networked


computers

* Example: Processor on one system and hard disk on


another

. C\rchitecture can be implemented on Unix and


inux
® Soffsmith Infotech -2
Types of Operating
System — Mobile
* Mobile OS operates Smartphone, Tablet and other
mobile devices

« They have features of Personal Computer


Operating System along with features to manage
other hardware
o Cellular, camera, Near field communication, infrared, etfc.

« 10§, Android, Windows Phone, Firefox OS, etc

® Soffsmith Infofech
FOSS
» Free Open Source Software

* Free — Means Liberty and not related to Price or cost

* Open - Source code is available and any body can


contribute to the development. Organization
independent

Example: Linux

® Soffsmith Infotech 5
How does a Computer
Boot?
OS - Wake up call
* When you turn on the power to a PC, the first
program that runs is a set of instructions kept in the
computer's read-only memory (ROM).
OS - Wake up call
These instructions are
called Power on Self Test
(POST)

It checks to make sure


everything is functioning
properly.

It checks the CPU,


memory, and basic input-
output systems (BIOS) for
errors.
OS - Wake up call
Once successful, the software will begin to
activate the computer's disk drives.

The BIOS attempts to access the first sector of the


drive designated as the boot disk.

The BIOS confirms there's a bootstrap loader, or


boot loader, in that first sector of the boot disk,
and it loads that boot loader into memory (RAM)
OS - Wake up call
* The bootstrap loader or boot loader is a small
program that has a single function: It loads the
operating system into memory and allows it to
begin operation.

* Once the boot loader is in memory, the BIOS hands


over its work to the boot loader, which in turn
begins loading the operating system into memory.
OS - Wake up call
* When the boot loader finishes its task, it turns control
of the PC over to the operating system.

« Then, the OS is ready for user interaction.


OS - Memory Storage and
Management
OS - Memory Storage and
Management
« Besides managing
hardware and software
resources on the system,
the OS must manage
resources and memory.

* Each process must have


enough memory in which T
to execute, and It can B 8
neither run into the memory RIS
space of another process, Pflr{t‘
Nor be run into by another |
process.
OS - Memory Storage and
Management
The different types of memory in the system must be
used properly so that each process can run most
effectively.
o Cache
o Ram
o Disk

Memory Management

MMM
chU IR LQegeeece
e
Cache Memory
A section of a computer's memory which
temporarily retains recently accessed data in order
to speed up repeated access to the same data.

It provides rapid access without having to wait for


systems to load.

Very Costly
RAM
* Random access memory
(RAM) is the best known
form of computer
memory.

* RAM is considered
"random access" because
you can access any
memory cell directly if you
know the row and column
that intersect at that cell.
RAM
» The more RAM your computer has, the faster
programs can function.

*« Remember, that if the power is turned off, then


all data left in RAM, that has not been saved to
the hard drive, is lost.
Virtual Memory
« Virtual Memory — a method
of using hard disk space to
provide extra memory. It
simulates additional RAM.

* In Windows, the amount of


virtual memory available,
equals the amount of free
RAM plus the amount of
disk space allocated to the
swap file.
Virtual Memory — Swap
File
Physkal
Mermory

Address i Virtual Mermory


Space

Chip Disk Drive

* A swap file is an area of your hard disk that is set aside for
virtual memory. Swap files can be either temporary or
permanent.
Kernel
Core or nucleus of an operating system

Interacts with the hardware

First program to get loaded when the system starts


and runs fill the session gets terminated

Different from BIOS which is hardware dependent.

Kernel is software dependent


Kernel

A kemel connects the applicstion &7


scftware to tne hardware of 2 computer
Kernel types
* Monolithic
o All OS related code are stuffed in a single
module
o Available as a single file
o Advantage : Faster functioning

* Micro
o OS components are isolated and run in their own
address space
o Device drivers, programs and system services run
outside kernel memory space
o Supports modularity
o Lesserin size
Shell
Program that interacts with kernel

Bridge between kernel and the user

Command interpreter

User can type command and the command is


conveyed to the kernel and it will be executed
Types of Shell
Sh —simple shell
BASH - Bourne Again Shell
KSH - Korne Shell
CSH-C Shell
SSH - Secure Shell
To use a particular shell type the shell name at the command
prompt.
o Eg $csh — will switch the current shell to ¢ shell
To view the available shells in the system, type cat /etc/shells
at the command prompt
To view the current shell that is being used, type echo $SHELL
at the command prompt
Operating System
Operating System
User \

Shell
Shell Scripting
« Shell scripting is the most useful and powerful
feature in Linux
o Minimizes typing of repetitive command
o Can schedule jobs to run in the system
o Caninitiate back up activities for system administration
o Similar to batch files in DOS, but more powerful than Batch files
Working with shell script
» Open a file with extension .sh using vi editor

« We can type any number of commands that we


use to type at command prompt

« Save the file

» Execute the file


o shfile.sh
o ./file.sh (if the file has execution permission)
4 Freedoms with FOSS
Freedom to run the software anywhere
Freedom to study how the programs work. i.e
source code will be accessible
Freedom to redistribute copies
Freedom to improve the software

If a software has all these 4 freedoms, then it is a


FOSS
Copyleft
» Termed by Richard Mathew Stallman

« Copyleft statement:
o "“Copying and redistribution are permitted in any medium provided this
notice is preserved."
Linux
Developed in 1991 by Linus Torvalds
Used in most of the computers, ranging from
super computers to embedded system
Multi user
Multi tasking
Time sharing
Monolithic kernel
Free Software Foundation
Founded by Richard Stallman in 1983

Organisation that started developing copylefted


programs

Project — GNU Project


o GNU Not Unix
o Recursive expansion
y
Components
Y
Interrupts
Interrupt transfers control to the interrupt service routine
generally, through the interrupt vector, which contains
the addresses of all the service routines.
Interrupt architecture must save the address of the
interrupted instruction.
Incoming interrupts are disabled while another interrupt
is being processed to prevent a lost interrupt.
A trap is a software-generated interrupt caused either by
an error or a user request.
An operating system is interrupt driven.
Modes
» Superviser Mode
o Unrestricted access to hardware

* Protected Mode
Everything Else

Least privileged

Most privileged
PROCESSES
A program is passive; a process active.
Attributes held by a process include
*hardware state,
smemory,
*CPU,
*progress (executing)

WHY HAVE PROCESSES?

Resource sharing ( logical (files) and physical(hardware) ).

Computation speedup - taking advantage of multiprogramming - i.e. example


of a customer/server database system.
PROCESSES PROCESS STATE
New The process is just being put together.

Running Instructions being executed. This running process holds the CPU.

Waiting For an event (hardware, human, or another process.)

Ready The process has all needed resources - waiting for CPU only.

Susrendad Another process has explicitly told this process to sleep. It will be
ened when a process explicitly awakens it.

Terminated The process is being torn apart.

.42
PROCESSES Process State

PROCESS CONTROL BLOCK:


process
pointer S
CONTAINS INFORMATION ASSOCIATED WITH EACH
PROCESS:
process number
It's a data structure holding: program counter

* PC, CPU registers, registers


« memory management information,
* accounting ( time used, ID, ... )
memory limits
* |/O status ( such as file resources ),
« scheduling data ( relative priority, etc. ) list of open files
* Process State (so running, suspended, etc. is simply
a field in the PCB ).
Scheduling
PROCESSES Components

The act of Scheduling a process means changing the active PCB pointed to by the CPU.
Also called a context switch.

A context switch is essentially the same as a process switch - it means that the memory,
as seen by one process is changed to the memory seen by another process.
See Figure on Next Page

SCHEDULING QUEUES:

(Process is driven by events that are triggered by needs and availability )

*Ready queue = contains those processes that are ready to run.


l/O queue (waiting state ) = holds those processes waiting for I/O service.

®44 o
Scheduling
PROCESSES Components

process P, operating system process P, The CPU switching


interrupt or system call from one process to
axscuting another.

_———
M
interrupt or system call

reload
state from PCB,

.45 *Proce
sses
Process Scheduling
First Come - First Serve
B

o Long process may make others starve

Shortest Job First


o Long process may starve

Round Robin
o Lots of time used in switching

Priority Scheduling
.

o Low priority Job Starve


Thread
« A thread of execution is the smallest sequence of
programmed instructions that can be managed
independently by an operating system schedule

* Processes are typically independent, while threads


exist as subsets of a process
Multitasking and
Multithreading
Multitasking refers to a computer's ability to
perform multiple jobs concurrently
o more than one program are running concurrently,
e.g.. UNIX

A thread is a single sequence of execution


within a program
Multithreading refers to multiple threads of
control within a single program
o each program can run multiple threads of control
within it, e.g., Web Browser
L
Threads ar}rgl Processes

‘V | | | i || |
=

.
What are Threads Good
For?
To maintain responsiveness of an application during
a long running task.

To separate independent tasks and make the


execution faster.
o Ifa thread waits for I/O, other thread can execute in meanwhile
Cloud Computing
Cloud Computing
A type of outsourcing of computer services

Similar fo the way in which the supply of electricity is


outsourced. Users can simply use it.

They do not need to worry where the electricity is


from, how it is made, or transported. Every month,
they pay for what they consumed.

Idea behind cloud is similar


Cloud Computing
The user can simply use storage, computing power,
or specially crafted development environments,
without having to worry how these work internally.

Cloud computing is a systems architecture model


for Internet-based computing.

It is the development and use of computer


technology on the Internet
The Average Cloud user
» Connects to the cloud via the Internet
o Does computing tasks, or

o Runs applications, or

o Stores Data
Do
you Use the Cloud?
Dmpbox .@
nool g

NETELIX

fll!@
SkyDrlve f||ckr
U |Cloud

. M
— -photobucket é
The Cloud Requires
An Internet connection
An account - Created with a user name and a
password P
o Gt g ey it g
Agree to Terms PR e e et

™M
energics

o ee
cem

Vo

e L S r—
=t
So what is the cloud?

Computing and software resources that are delivered on demand, as service.


(2013 January) A Walk in the Clouds. Cloud Computing. COW-G Reference Guide . 3.5
Cloud Computing — Simple Definition
= Software as a Service
+ Platform as a Service
+ Infrastructure as a Service
+ Data as a Service
Cloud Computing - . Simple Definition
= Software as a Service
+ Platform as a Service
+ Infrastructure as a Service
+ Data as a Service

» Software as a Service (SaaS)


- From end user’s point of view
- Apps are located in the cloud
- Software experiences are delivered through the Internet
- Example: Google Docs
Simple Definition
= Software as a Service
+ Platform as a Service
+ Infrastructure as a Service
+ Data as a Service

* Platform as a Service (PaaS)


- From developer’s point of view (i.e. cloud users)
- Cloud providers offer an Internet-based platform to
developers who want to create services but don't want to
build their own cloud
- Example: Web Hosting
Cloud Computing — Simple Definition
= Software as a Service
+ Platform as a Service
+ Infrastructure as a Service
+ Data as a Service

» Infrastructure as a Service (laa$S)


- Cloud providers build datacenters
* Power, scale, hardware, networking, storage, distributed systems, etc
- Datacenter as a service
- Cloud users rent storage, computation, and maintenance from
cloud providers (pay-as-you-go; like utility)
Computer Storage
+ Computers have internal or hard drive storage(C:
Drive)
» CPU has a drive for storing programs, documents,
pictures, videos, presentations, etc...

=
Standard Computer Tower Inside the Computer
or Central Processing Unit
(CPU)
External Storage
= Allows your content to become mobile
= Save to the storage device
= Take device to any compatible computer
®= Open and use content

CD/DVD Thumb Drive External Hard Drive

SD Card Micro SD Card


Networked Storage
Multiple work stations talk to one unit that stores
information and data.
Datais not saved to the C: drive, but to a network
drive
Can retrieve the data stored to the network from
any of the connected workstations.
Cloud Storage
+ Create an Account -
a User name and
t* x 3 password
SkyDrive . Content lives with the
:’ account in the cloud
amagonchiitive » Log onto any
computer with Wi-Fi to
Dropbox find your content
More than ...and

Storage :
application
Document Creation
+ Google Dc £ oropbox 38 @ B QS Oupox

» SkyDrive
L Google SowrchSkybrive
Files
Recent docs
Shared

Groups
Advantages of Cloud Computing
» Lower computer costs:
o You do not need a high-powered and high-priced
computer to run cloud computing's web-based
applications.
o Since applications run in the cloud, not on the desktop
PC., your desktop PC does not need the processing
power or hard disk space demanded by traditional
desktop software.
o When you are using web-based applications, your PC
can be less expensive, with a smaller hard disk, less
memory, more efficient processor...
o In fact, your PC in this scenario does not even need a
CD or DVD drive, as no software programs have to be
loaded and no document files need to be saved.
Advantages of Cloud Computing
* Improved performance:
o With few large programs hogging your computer's
Pméamory, you will see better performance from your

o Computers in a cloud computing system boot and


run faster because they have fewer programs and
processes loaded into memory...
» Reduced software costs:
o Instead of purchasing expensive software
applications, you can get most of what you need for
free-ish!
» most cloud computing applications today. such as the Google
Docs suite.
o better than paying for similar commercial software
» which alone may be jusfification for switching to cloud
applications.
Advantages of Cloud Computing
« Instant software updates:
o Another advantage to cloud computing is that you are no
anfier faced with choosing between obsolete software and
high upgrade costs.
o When the application is web-based, updates happen
avtomatically
+ available the next fime you log into the cloud.
o When you access a web-based application, you get the
latest version
+ without needing fo pay for or downlead an upgrade.

« Improved document format compatibility.


o You do not have to worry about the documents you create
on your machine being compatible with other users'
applications or OSes
o There are potentially no format incompatibilities when
everyone is sharing documents and applications in the cloud.
Advantages of Cloud Computing
« Unlimited storage capacity:
o Cloud computing offers virtually limitless storage.
o Your computer's current 1 Toyte hard drive is small
compared to the hundreds of Pbytes available in the
cloud.
* Increased data reliability:
o Unlike desktop computing, in which if a hard disk
crashes and destroy all your valuable data, a
computer crashing in the cloud should not affect the
storage of your data.
« if your personal computer crashes, all your data is sfill out
there in the cloud, still accessible
o In a world where few individual desktop PC users
back up their data on a regular basis, cloud
computing is a data-safe computing platform!
Advantages of Cloud Computing
» Universal document access:
o That is not a problem with cloud computing, because
you do not take your documents with you.
o Instead, they stay in the cloud, and you can access
them whenever you have a computer and an Internet
connection
o Documents are instantly available from wherever you
are
+ Latest version availability:
o When you edit a document at home, that edited
version is what you see when you access the
document at work.
o The cloud always hosts the latest version of your
documents
as long as you are connected, you are not in danger of having an
outdafed version
Advantages of Cloud Computing
» Easier group collaboration:
o Sharing documents leads directly to better
collaboration.
o Many users do this as it is an important advantages of
cloud computing
« multiple users can collaborate easily on documents and
projects
» Device independence.
o You are no longer tethered to a single computer or
network.
o Changes to computers, applications and documents
follow you through the cloud.
o Move to a portable device, and your applications and
documents are still available.
Disadvantages of Cloud Computing
* Requires a constant Internet connection:
o Cloud computing is impossible if you cannot
connect to the Internet.
o Since you use the Internet to connect to both
your applications and documents, if you do not
have an Internet connection you cannot access
anything, even your own documents.
o A dead Internet connection means no work and
in areas where Internet connections are few or
inherently unreliable, this could be a deal-
breaker.
Disadvantages of Cloud Computing
» Does not work well with low-speed connections:
o Similarly, a low-speed Internet connection, such as
that found with dial-up services, makes cloud
computing painful at best and often impossible.
o Web-based applications require a lot of bandwidth
to download, as do large documents.
+ Features might be limited:
o This situation is bound to change, but today many
web-based applications simply are not as full-
featured as their desktop-based applications.
« For example, you can do a lot more with Microsoft
PowerPoint than with Google Presentation’s web-based
offering
Disadvantages of Cloud Computing
* Can be slow:
o Even with a fast connection, web-based
applications can sometimes be slower than
accessing a similar software program on your
desktop PC.
o Everything about the program, from the interface
to the current document, has to be sent back
and forth from your computer to the computers
in the cloud.
o If the cloud servers happen to be backed up at
that moment, or if the Internet is having a slow
day, you would not get the instantaneous access
you might expect from desktop applications.
Disadvantages of Cloud Computing
» Stored data might not be secure:
o With cloud computing, all your data is stored on the
cloud.
» The questions is How secure is the cloud?
o Can unauthorised users gain access to your
confidential data?
« Stored data can be lost:
o Theoretically, data stored in the cloud is safe,
replicated across multiple machines.
o But on the off chance that your data goes missing,
you have no physical or local backup.
« Put simply, relying on the cloud puts you at risk if the cloud
lets you down.
4
Questions?
Y

You might also like