Download as pdf or txt
Download as pdf or txt
You are on page 1of 61

* TM 2033

Platform Technology

OS Design

Dr Nazatul Aini Abd Majid


nazatulaini@ukm.edu.my
*
* 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
nazatulaini@ukm.edu.my

You might also like