0% found this document useful (0 votes)
10 views

Lecture 8 OS Design

Uploaded by

anasaeymanaziz
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)
10 views

Lecture 8 OS Design

Uploaded by

anasaeymanaziz
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/ 61

* TM 2033

Platform Technology

OS Design

Dr Nazatul Aini Abd Majid


[email protected]
*
* For your java class, you need to download JDK 1.8, so
you go to this web page:
http://www.oracle.com/technetwork/java/javase/do
wnloads/jdk8-downloads-2133151.html
*
* In that page, you need to select the software based
on your OS? Why we need a different file for different
OS?
* What are differences you can find here?
*
*
*How the JDK application
accesses to these OS in
order to use services
offered by the OS?
*
* Content
* Project: Tutorial 5
* What are the main three layers in software?
* How an application can have access to OS?
* How an application can have access to System call?
* In an OS structure, what is kernel?
* A big question in OS design, how to organize your OS?
* Which functionalities you want to put in the kernel?
* What is monolithic and microkernel design?
* History of Linux
* History of Windows
Software

Hardware
1)
2) System program (libraries/utilities)

3)
Application
Libraries/utilities
Kernel
Hardware
*
* Content
* What are the main three layers in software?
* How an application can have access to OS?
* How an application can have access to System call?
* In an OS structure, what is kernel?
* A big question in OS design, how to organize your OS?
* Which functionalities you want to put in the kernel?
* What is monolithic and microkernel design?
* History of Linux
* History of Windows
*

*Application can have access to


OS using……. system call.
*

*System call is programing


interfaces to the services
provided by the OS.
*But we can not use the system
call directly.
*

*But we can not use the system


call directly.
*
* Content
* What are the main three layers in software?
* How an application can have access to OS?
* How an application can have access to System call?
* In an OS structure, what is kernel?
* A big question in OS design, how to organize your OS?
* Which functionalities you want to put in the kernel?
* What is monolithic and microkernel design?
* History of Linux
* History of Windows
*

*Services provided in OS can be


accessed by
program/application via high-
level language (HLL) library
calls rather than direct system
call use.

printf(“Hi”
);
….

User mode
Standard c library

Kernel mode
System call
write()
*

Application users can get


services by OS via API which is
Application Programming
Interface
*

The most common APIs are:


*Win 32/64 API for windows
*POSIX API for posix based system (e.g. Unix,
Linux)

The API will handle what are


the right system call to use.
Application
Libraries/utilities
Kernel
Hardware
*
1) Application users can get services by OS
2) A standard for binary portability across
program. It defines the system call
interface to the OS.
3) The repertoire (collection) of machine
language instruction that a computer
can follow
*
*
* Content
* What are the main three layers in software?
* How an application can have access to OS?
* How an application can have access to System call?
* In an OS structure, what is kernel?
* A big question in OS design, how to organize your OS?
* Which functionalities you want to put in the kernel?
* What is monolithic and microkernel design?
* History of Linux
* History of Windows
*
*The ……… lowest level of any operating system is its
kernel.
*This is the…….
layer of software loaded into
first

memory when a system boots or starts up.


*The kernel provides access to various
common core services to all other system and
application programs.
*These services include, but are not limited to:
disk access, ………… ,……… scheduling,
memory management task

and access to other hardware devices.


*

The kernel might get crash!


*

Blue Screen of Death


*

Blue screens are caused by hardware problems


and issues with low-level software running in the
Windows kernel.
*

How actually the kernel handles the services


offered by an OS?
*
These are services offered by an OS:
*1) Program creation
*2) Program execution
*3) Access to I/O devices
*4) System access: who can access specific
system resources
*5) Error detection
*6) Accounting
*
Let’s say you want to add a service in an OS.

Do you have to modify the


Kernel?

YES / NO?
https://www.youtube.com/watch?v=yVpbFMhOAwE
*
* Content
* What are the main three layers in software?
* How an application can have access to OS?
* How an application can have access to System call?
* In an OS structure, what is kernel?
*A big question in OS design, how to organize
your OS?
* Which functionalities you want to put in the kernel?
* What is monolithic and microkernel design?
* History of Linux
* History of Windows
*

Application
Libraries/utilities
Kernel
Hardware
*
*

User Processes
System processes
MiroKernel
Hardware
*
*
It has a minimal
kernel. The kernel
only provide
essentially the You can put all the
minimum needed functions in a
component that kernel. So kernel is
the machine need like one big module
to actually start where everything is
running. running as one
program.
Kahoot!
*

*Kernel is like one big module


where everything is running as
one program
*
*
*

*https://youtu.be/SBC_GSFlR34?t=49s
*Why it is called monolithic structure?
*
*
*
* Micro Kernel

It has a minimal
kernel. The kernel
only provide
essentially the You can put all the
minimum needed functions in a
component that kernel. So kernel is
the machine need like one big module
to actually start where everything is
running. running as one
program.
*
*
*
*
* Content
* What are the main three layers in software?
* How an application can have access to OS?
* How an application can have access to System call?
* In an OS structure, what is kernel?
* A big question in OS design, how to organize your OS?
* Which functionalities you want to put in the kernel?
* What is monolithic and microkernel design?
* History of Linux
* History of Windows
*
*Goal: Speed, efficiency, and
standardization
* Free operating system based on UNIX
standards • UNIX is a proprietary OS
developed in the 60’s, still used for
mainframes
* 1st version of Linux was developed in 1991
by Linus Torvalds. Goal was to provide basic
functionality of UNIX in a free system
*
*Version 0.01 (May 1991): no networking, ran only
on 80386-compatible Intel processors and on PC
hardware, had extremely limited device-drive
support, and supported only the Minix file system
*Version 2.6.34 (Summer 2010): most common OS
for servers, supports dozens of file systems, runs
on anything from cell phones to super computers
*All of this has been contributed by the Linux
community
*
*The Linux kernel is the core part of the operating
system : scheduler, drivers, memory managers,
etc
*A Linux distribution is the kernel plus the
software needed to make the system actually
usable
*
* Content
* What are the main three layers in software?
* How an application can have access to OS?
* How an application can have access to System call?
* In an OS structure, what is kernel?
* A big question in OS design, how to organize your OS?
* Which functionalities you want to put in the kernel?
* What is monolithic and microkernel design?
* History of Linux
* History of Windows
*
*Goal: Extensibility, Portability, Reliability
*History of windows. It is started with msdos,
very basic without any good structure?
*Then go to Windows NT (new technology) .
This OS is design as microkernel, It get
modularity, extensibility but then it become
slower.
*

https://www.youtube.com/watch?v=hAJm
6RYTIro
*
*So now windows move away from
microkernel.
*In 1988, Microsoft decided to develop a “new
technology” (NT) portable operating system
that supported both the OS/2 and POSIX APIs.
NT supported servers as well as desktop
workstations.
*Originally, NT was supposed to use the OS/2
API as its native environment but during
development NT was changed to use the
Win32 API
*
*Windows XP was released in 2001 to replace
the earlier versions of Windows based on
MS/DOS, such as Windows98 and Windows ME.
*Windows XP was updated in 2005 to provide
support AMD64 compatible CPUs, bringing
support for 64-bit desktop systems.
*Windows Vista was released in late 2006, but
was poorly received due to initial problems
with application and device compatibility and
sluggishness on the explosion of low-end
“netbook” devices.
*
*Windows 7 was released in late 2009, greatly
improving on Vista.
*Windows 8 was released in October 2012
*New user interface paradigm (Metro), new
type of applications, web store.
*
* Content
* What are the main three layers in software?
* How an application can have access to OS?
* How an application can have access to System call?
* In an OS structure, what is kernel?
* A big question in OS design, how to organize your OS?
* Which functionalities you want to put in the kernel?
* What is monolithic and microkernel design?
* History of Linux
* History of Windows
* Summary
*
Dr Nazatul Aini Abd Majid
[email protected]

You might also like