Operating
System
PRESENTED BY SALMA KISHK
Outline
About operating system
Introduction to linux
linux installation
Basic commands
Task
One Definition of an Operating System
Special layer of software that provides application software access to hardware
resources
The one program running at all times on the computer” is the kernel
APP1 APP2 APP3
OS
Hardware
BIOS/UEFI
It's responsible for
doing a Power-On Self
Test (POST) to check if
the essential hardware
(RAM, CPU, GPU) is
working.
Bootloader
After the BIOS/UEFI confirms the hardware is
ready, it loads the bootloader.
The bootloader is responsible for loading the
kernel (the core of the operating system).
Common bootloaders:
GRUB (for Linux systems)
Windows Boot Manager (for Windows systems)
Kernel
The kernel is the brain that takes
control after the bootloader.
The kernel handles:
Identifying devices like CPU, GPU,
USBs, and RAM.
Loading device drivers to make
hardware function correctly.
Once the kernel is loaded, it starts
the init process, which launches
other services.
This includes opening the login
screen, starting the network, and
other background processes.
What does an Operating System do?
Memory Management
I/O Management
Multitasking/multiprogramming
CPU Scheduling
Communications
File System
User Interface
For Example
How OS deal With process?
Process
A process is a running program, with protection
Definition:
execution environment with restricted rights
(Protected) Address Space with One or More Threads
Owns memory (address space), file descriptors, sockets
Encapsulate one or more threads sharing process resources
Each process has
SP:
Adress space Address Space Translation
Provide clean, easy-to-use abstractions of
physical resources
Threads
Threads are virtual cores
Manage protection, isolation, and sharing
of resources
OS isolates processes from each other
OS isolates itself from other processes
even though they are actually running on the same hardware!
Manage protection, isolation, and sharing
of resources Con’t
BUT
why can’t a process
change the page table pointer?
use I/O instructions to bypass the system?
overwrite memory of process they are in
Hardware must support privilege levels
Dual Mode Operation
Hardware provides at least two modes
Kernel Mode (or “supervisor” mode)
User Mode
Syscall
Interrupt
Trap or
Exception
Then kernel
is the core that provides
basic services for all other
parts of the OS.
We will study Linux kernal
linux history
MULTICS Project created by three companies (Bell Labs now AT
& T, General Electric (GE), MIT University) in 1969. To provide the
three main functions User friendly, Multiuser and data sharing.
This partnership ended and Bell labs decided to continue
development in this project and called it UNICS and then its
name changed to UNIX it was written in C Language in 1970.
AT&T licensed UNIX to outside parties in the late 1970s, leading
to a variety of both academic and commercial UNIX variants
from vendors.
Richard Stallman is the god father of open source S/W. He
makes a project called GNU project, its objective to make the
source code of the open source S/W free for development and
publish the S/W owner.
General Public license (GPL) for open source code.
In 1991 Linus Torvalds developed a new kernel based on the
UNIX kernel and called it linux
linux distributions
How to start with Ubuntu Linux:
Windows Subsystem for Linux (WSL):
is a compatibility layer for running Linux binary executables natively
on Windows 10, Windows+ 11, and Windows Server 2019.
https://www.youtube.com/watch?v=X-DHaQLrBi8
Oracle VM VirtualBox:
is cross-platform virtualization software. It allows users to extend
their existing computer to run multiple operating systems including
Microsoft Windows, Mac OS X, Linux, and Oracle Solaris, at the same
time.
https://www.youtube.com/watch?v=x5MhydijWmc
Dual boot Windows and Ubuntu.
https://www.youtube.com/watch?v=-iSAyiicyQY
User interactivity:
GUI
graphical user interface
CLI (CMD or Shell)
command line interface
Remote Login (ssh protocol)
SSH is a secure network protocol used to securely log into remote
computers and securely transfer files between computers. It provides
strong authentication and encryption for secure communication over
an insecure network.
Linux component
Kernel Terminal
Is the core of the operating system. Gives the shell a place to accept
Contains components like device drivers. typed commands
It loads into RAM when the machine boots and stays and to display their results
resident in RAM until the machine powers off.
Shell
Provides an interface by which the user can communicate
with the kernel.
“bash” is the most commonly used shell on Linux.
The shell parses commands entered by the user and
translates them into logical segments to be executed by the
kernel or other utilities.
Typical command syntax can look
something like this:
command [-option] [-option] [--option(word)] [argument]
option:
used to change the behavior of the command
argument:
it is the target file or directory
For example:
ls:
List files in current directory
ls -l:
Lists files in “long” format
ls -l file_name:
Lists files in “long” format in certain
directory
For example:
cat filename:
Show contents of a file
cat -n filename
Show contents of a file, with line numbers
For example:
uname:
print kernel name
uname –n:
print user name
uname –a
print all system information
we can use Separate commands
with semicolon (;)
cal 10 2023; date; uname
we can use Separate commands
with semicolon (;)
cal 10 2023; date; uname
useful shortcuts
Interrupting command execution
To interrupt a command that's taking too long
to execute, use [Ctrl]+ c
clear terminal
to clear terminal use [ctrl] + l
How to get help for certain command
use help
command --help
use man documentation for linux
man command
whatis command
TASK
1- install Linux
2- search about apt, tree command using
man
Any questions ?