Professional Documents
Culture Documents
Lecture 8 OS Design
Lecture 8 OS Design
Platform Technology
OS Design
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
*
User mode
Standard c library
Kernel mode
System call
write()
*
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!
*
*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