You are on page 1of 27

Group 8 :-

Shilpi Gupta
Nikunj Tank
Tapas Khandelwal
Pawan Soni
Ankur Singh
OPERATING SYSTEM
TYPES OF OPERATING
SYSTEMS
Linus and Linux
• In 1991 Linus Torvalds took a college computer
science course that used the Minix operating
system
– Minix is a “toy” UNIX-like OS written by Andrew
Tanenbaum as a learning workbench
– Linus wanted to make MINIX more usable, but
Tanenbaum wanted to keep it ultra-simple

• Linus went in his own direction and began working


on Linux
– In October 1991 he announced Linux v0.02
– In March 1994 he released Linux v1.0
Windows and Linux
Both Linux and Windows are based on

foundations developed in the mid-


1970s
1970 1980 1990 2000
ic

.0
bl

v1
V6
rn

v2.0

.6
.1

.2
.3
.4
pu

v2

v2
v2
v2

v2
bo

ux
IX
IX

n
UN
IX

Li
UN
UN

1970 1980 1990 2000


.0

03
XP
nd 00
v1

0
1

20
4.
3.

Wi 20

s
S

NT

ow
NT

er
VM

s
ow

rv
w s

Se
nd
do

Wi
n
Wi
Comparing the Architectures
Kernel Architectures
Applicat
ion

Windows

User Mode
Kernel Mode
System Services
Devic Process Management ,
Win32 e Memory Management ,
Windowin Drive I / O Management , etc .
g rs
Hardware Dependent Code
Applicatio
n
Linux
X - Windows

User Mode
Kernel Mode

System Services
Process Management , Devic
Memory Management , e
I / O Management , etc . Drive
rs
Hardware Dependent Code 8
Linux Kernel
• Linux is a monolithic but modular system
– All kernel subsystems form a single piece of code
with no protection between them

• Modularity is supported in two ways:


– Compile-time options
– Most kernel components can be built separately from
the main kernel and loaded at runtime on demand.
– Hence known as dynamically loadable kernel module
(DLKM)
– Kernel modules can be upgraded incrementally
– Support for minimal kernels that automatically adapt
to the machine and load only those kernel
components that are used
Windows Kernel
• Windows is a monolithic but modular system
– No protection among pieces of kernel code and drivers
• Support for Modularity is somewhat weak:
– Windows Drivers allow for dynamic extension of kernel
functionality
– Windows XP Embedded has special tools / packaging
rules that allow coarse-grained configuration of the
OS
• Windows Drivers are dynamically loadable kernel
modules
– Significant amount of code run as drivers (including
network stacks such as TCP/IP and many services)
– Built independently from the kernel
– Can be loaded on-demand
– Dependencies among drivers can be specified
Comparing Layering, APIs,
Complexity
Comparing Architectures
Process States
Process Management
L in u x
Pro ce ss is ca lle d a Ta sk
Windows
 B a sic A d d re ss sp a ce ,
• Process h a n d le ta b le ,
– Address space, handle sta tistics
table, statistics and Pa re n t/ ch ild
at least one thread re la tio n sh ip
– No inherent
parent/child B a sic sch e d u lin g u n it
relationship T h re a d s
• Threads N o th re a d s p e r-se
– Basic scheduling unit Ta sks ca n a ct like
– Fibers - cooperative W in d o w s th re a d s b y
user-mode threads
sh a rin g h a n d le ta b le
a n d a d d re ss sp a ce
Scheduling
• The Linux 2.4 scheduler is O(n)
– If there are 10 active tasks, it scans 10 of them in a list in
order to decide which should execute next
– This means long scans and long durations under the
scheduler lock

R eady 1 1 1 1
List 0 1 1 0
3 2 2 1

H ig h e st
Prio rity
Ta sk
Scheduling
• Linux 2.6 has a revamped scheduler that’s O(1) from Ingo
Molnar that:
– Calculates a task’s priority at the time it makes scheduling
decision
– Has per-CPU ready queues where the tasks are pre-sorted
by priority

1
H ig h e st-p rio rity 0
N o n -e m p ty Q u e u e 1
1
0
3
1 1
1 1
2 2
Zero-Copy Sendfile
ü Linux 2.2 introduced Sendfile to efficiently send file data over
a socket
ü I pointed out that the initial implementation incurred a copy
operation, even if the file data was cached
ü Linux 2.4 introduced zero-copy Sendfile
ü Windows NT pioneered zero-copy file sending with
TransmitFile, the Sendfile equivalent, in Windows NT 4

File D a ta
File D a ta
1 -C o p y B u ffe r
0 -C o p y
B u ffe r

N e tw o rk N e tw o rk N e tw o rk
N e tw o rk N e tw o rk
A d a p te r
D rive r D rive r
B u ffe r
Memory
Management
Virtual Memory Management
Linux
Windows
 üSplits user-mode/kernel-mode
ü 32-bit versions split user- from 1GB/3GB to 3GB/1GB
mode/kernel-mode from ü2.6 has “4/4 split”
option where kernel
2GB/2GB to 3GB/1GB has its own address
ü Demand-paged virtual space
memory üDemand-paged virtual memory
ü 32 or 64-bits ü32-bits and/or 64-bits
üCopy-on-write
ü Copy-on-write üShared memory
ü Shared memory üMemory mapped files
ü Memory mapped files

0
User 0

2GB User

3GB
System
4GB
System
4GB
Security
L in u x
 Windows üTw o m o d e ls:
 üS ta n d a rd U N IX m o d e l
ü Very flexible security model üA cce ss C o n tro lLists
based on Access Control ( SELinux )
Lists üU se rs a re d e fin e d w ith :
ü Users are defined with
üC a p a b ilitie s
ü Privileges
( privileges)
ü Member groups
ü Security can be applied to üM e m b e r g ro u p s
any Object Manager üS e cu rity is im p le m e n te d o n
object a n o b je ct-b y - o b je ct b a sis
ü Files, processes,
synchronization üH a s n o b u ilt-in a u d itin g
objects, … su p p o rt
ü Supports auditing üV e rsio n 2 . 6 in clu d e s Lin u x
S e cu rity M o d u le fra m e w o rk
fo r a d d - o n se cu rity m o d e ls
Total Cost of
Ownership (TCO)
Windows vs. Linux
TCO – What is it?
Windows is Engineered to Provide
Lower TCO
Windows is a comprehensive and
Product integrated software solution built for
specific IT needs

Engineered Windows is engineered to be cost-


Lifecycle effective over the IT lifecycle

Windows customers have a global


Ecosystem ecosystem of services, support and
applications
Windows is Cost-effective Over the
IT Lifecycle
30 %
5 Year TCO Advantage

25 %

20 %

Services
Services
Security
15 %

Serving
Print
Print
Serving
10 %

Services
Network
File

Network
File
5%
Simple
Simple
0% Web
Web

= Windows Lower TCO


= Linux Lower TCO
5%

Source : IDC 2002


Windows is Cheaper

Source : IDC 200


68%

21%
Thank You