Documente Academic
Documente Profesional
Documente Cultură
s
By
Prashant Sonkamble
Shashank Gupta
TYPES OF KERNEL
Micro Kernel.
Monolithic Kernel.
Hybrid Kernels.
Monolithic Kernel
With this types of Kernels the entire OS(Operating System) is
working in kernel space and is alone in supervisor mode .
Monolithic kernels run both application and drivers in Kernel
space.
Processing, Memory Management, IO Handling, Device
Drivers, File System, virtual Memory, etc are all in a single
module in kernel space, the OS is in user mode.
MS-DOS,UNIX,LINUX.
Monolithic Kernel
Advantages
Disadvantages
Faster processing.
Difficult to debug
and maintain.
Crash insecure.
Porting
inflexibility.
Kernel size
explosion.
Microkernel
This is the near-minimum amount of software in order to
implement an OS. This covers low-level address space
management, thread management, and IPC(Inter-processing
communication).
This was made(1980s) to combat the increasing size of the
kernels. This allows device drivers, File Server, Protocol
Stack and others to run in user space; this reduces the kernel
size.
Windows NT, MINIX, XNU.
Microkernel
Advantages
Disadvantages
Portability.
Hardware is more
abstracted through drivers.
Small install
footprint.
Small memory
footprint.
Security
Hybrid Kernel
Hybrid kernel is a kernel architecture based on a combination
of microkernel and monolithic kernel architecture used in
computer operating systems.
This kernels approach combines the speed and simpler design
of monolithic kernel with the modularity and execution safety
of microkernel.
Hybrid Kernel
Advantages
Disadvantages
Smaller install
footprint than
monolithic kernel.
More flexible than
other models.
Linux
Linux
Linux is a Unix-like computer operating system (OS)
assembled under the model of free and open-source software
development and distribution.
The defining component of Linux is the Linux kernel, an
operating system kernel first released on October 5, 1991 by
Linus Torvalds.
Linux Kernel
The Linux kernel is a Unix-like computer operating system
kernel.
The Linux operating system is based on it and deployed on
both traditional computer systems such as personal
computers and servers, usually in the form of Linux
distributions.
Process Handling
For Linux to manage the processes in the system, each
process is represented by a task_struct data structure.
Linux can handle normal user processes as well as Real time
processes.
Real time processes have strict scheduling requirements.
They must run every X micro/milliseconds and complete thirty
job otherwise their function will be damaged.
States of a process
Stopped
Executing
Ready
Suspende
d
Zombie/
Dead
Scheduling
O(n) Scheduling Algorithm
When looking for a new process to run on the CPU, the kernel has to
consider only the runnable processes.
This algorithm used was quite simple and straight forward, the scheduler
divides time into epochs ,and within each epoch, every task was allowed
to execute up to its time slice.
If a task did not use all of its time slice, then half of the remaining time slice
was added to the new time slice to allow it to execute longer in the next
epoch.
It iterates the queue assigning a goodness value to the tasks.
Main drawback is that it spends most of its time scanning the queue
selecting the best process to execute
Scheduling
Completely Fair Scheduler (CFS)
The CFS algorithm is based on the idea of an ideal multi-tasking
processor. Such a processor would run all currently active tasks literally
at the same time while each task gets a portion of its processing power.
BIBLOGRAPHY
References:
https://youtu.be/7HatJ1t-iQQ?t=21 (Martino Jones).
https://en.wikipedia.org/wiki/Kernel_(operating_system)#
Monolithic_kernels (Wikipedia.com).
https://en.wikipedia.org/wiki/Kernel_(operating_system)#
Microkernels (Wikipedia.com)
https://en.wikipedia.org/wiki/Kernel_(operating_system)#Hybrid_.
28or_modular.29_kernels (Wikipedia.com)
http://www.slideshare.net/jserv/f9-microkernel (Slideshare.com).
https://en.wikipedia.org/wiki/Linux_kernel (Wikipedia.com).
http://flylib.com/books/en/3.475.1.15/1/ (flylib.com).
https://en.wikipedia.org/wiki/O(n)_scheduler (Wikipedia.com).
http://
www.slidescarnival.com/cadwal-free-presentation-template/367
(Cadwal presentation template)
Thank You