Professional Documents
Culture Documents
UBUNTU
UBUNTU
An operating system is a
program that acts as an
interface between the
computer user and
computer hardware,
and controls the
execution of programs.
An operating system is the most important
software that runs on a computer. It
manages the computer's memory and
processes, as well as all of its software and
hardware.
All the principles used to develop the Ubuntu software are based on
the principles of Open Source software development.
Where did it all began?
But the algorithm Ubuntu and Linux based OS use is CFS or the
Completely Fair Scheduling.
CFS or Completely Fair Scheduler
CFS (Completely Fair Scheduler) is a CPU scheduling
algorithm used in the Linux operating system. It is
designed to allocate CPU time fairly to all processes in the
system, with the goal of achieving optimal system
throughput and responsiveness.
The CFS algorithm ensures that each process gets a fair share of
CPU time by dynamically adjusting each process's virtual runtime
according to its weight and the total weight of all runnable
processes. This allows the scheduler to avoid starving any process
of CPU time while still maintaining optimal system throughput and
responsiveness.
Before moving onto understand the CFS algorithm and the
virtual runtime we will first take a look and understand the
basic of CFS which is Ideal Fair Scheduling (IFS).
So 4/4=1 each
process gets
1ms to execute in
first quantum.
After the completion of six quantum
process B and D are completely
executed and remaining are A and
C, which are already executed for
6ms and their remaining time is
A=4ms and C=8ms).
Self Balancing
No path in the tree will be twice as long as any other path.
kyber
mq-deadline
You can check which scheduler Ubuntu is using for a given block device like this:
cat /sys/block/sda/queue/scheduler
Budget Fair Queuing
Static linking
Static linking is the process of incorporating the code of a
program or library into a program so that it is linked at compile
time.
Advantages
In this, the library is not copied into the program’s code. Instead, the
program has a reference to where the library is located. When the
program is run, it will load the library from that location.
Advantages
Saves memory space. Low maintenance cost. Shared files are used.
Disadvantages
Page fault can occur when the shared code is not found, then
the program loads modules in the memory.
Fragmentation
Fragmentation occurs when most free blocks are too small/large to satisfy
any request perfectly. There are two types of fragmentation.
External fragmentation
Copying all pages that are not in use to one large contiguous area.
Then write the pages that are in use into the newly freed space.
3) Segmentation
We will take a look at some pros and cons of ubuntu and will
simultaneously contrast between it and the most popular os in
market i.e. Windows:
1. Licensing: Open Source vs. Licensed
Ubuntu is free and open source.
But open source is about more than just cost. Open source means that
many people can develop Ubuntu at any time — in fact, anyone can
contribute code to the project. Open-source software is well-supported,
well-documented, and often well-loved by its community.
It’s no secret that Linux distros tend to be much lighter in weight than
Windows. Windows has everything that you need. But distros like Ubuntu
let you install only what you actually want.