Why ?
Why do we care bout Linux ?
Not only cause everyone’s
doin it !
Unix dominates the commercial market
In the 70’s til early 90’s Unix dominated the market
AT&T to begin commercial licensing of Unix as a
binary product - commercialization of Software
and legislation.
Good for business | Bad for Developers !
From Hardware “single purpose” to multiple
purpose / multi threaded processing.
A concept you could use only if your RICH
GNU
Which came
fi
rst really - Richard Stallman a.k.a RMathewS (1984)
Founder of Free Software Foundation
GNU
fi
ndutils -
fi
nd, locate, xargs etc
Emacs
Make - a.k.a GNU MAKE
ls, mkdir, the works ….
https://www.gnu.org/software/software.html#allgnupkgs
Tools inspired by Unix / BSD Os
Software should be free -> GNU’s not UNIX ! (Unix is proprietary / not free !)
The freedom to run the program as you wish, for any purpose
(freedom 0).
The freedom to study how the program works, and change it so it
does your computing as you wish (freedom 1). Access to the source
code is a precondition for this.
The freedom to redistribute copies so you can help others (freedom
2).
The freedom to distribute copies of your modi
fi
ed versions to others
(freedom 3). By doing this you can give the whole community a
chance to bene
fi
t from your changes. Access to the source code is a
precondition for this.
POSIX
Portable Operating System Interface | Portability (1988)
POSIX de
fi
nes a standard for:
operating system shells (command line interfaces),
system utilities such as awk and echo,
system libraries
File-system attributes
Sockets
Virtual File System(s)
Linux - Linus Torvalds
The author & maintainer of the Linux Kernel (1991)
https://www.cs.cmu.edu/~awb/linux.history.html
Why ?
Why do we care bout Linux ?
It’s the most common
It’s the most free
It’s the most
fl
exible
It’s the most customizable
It’s the most ef
fi
cient !
It’s the most cost affective
Why ?
Why do we care bout Linux ?
It’s the most common
It’s the most free
It’s the most
fl
exible
It’s the most customizable
It’s the most ef
fi
cient !
It’s the most cost affective
Architecture | Linux == a kernel
GNU linux is Kernel + many GNU’s programs
The Heart of Linux
A design pattern which is loosely couples HW
from SW
https://www.kernel.org/
Architecture | The Linux kernel
GNU's Not Unix
The Heart of Linux
A design pattern which is loosely couples HW
from SW
The only one allowed to communicate with
hardware via Standards
https://github.com/LinuxStandardBase https://www.kernel.org/
Architecture | Virtual Machine Management
A concept which resides in the heart of the OS
By design each Process is a Virtual Machine
which is confusing nowadays with VM’s,
Containers etc - lets refer to them as Process by
their ProcessID
https://www.geeksforgeeks.org/the-linux-kernel/
Architecture | Virtual Machine Management
A concept which resides in the heart of the OS - kernel is lightweight !
By design each Process is a Virtual Machine
which is confusing nowadays with VM’s,
Containers etc - lets refer to them as Process by
their ProcessID
~115 MB full size
Some dists are few MB …
Architecture | Process management
of the GNU/Linux operating system
By design each Process is a Virtual Machine which is confusing
nowadays with VM’s, Containers etc - lets refer to them as Process
by their ProcessID
Process Trees & Inheritance
Process queue up for resources - CPU | RAM | DISK | NETWORK
Old linux distros had `zombies` …
https://www.geeksforgeeks.org/the-linux-kernel/
Architecture | Standard directory structure
Process trees
Context Bound
built in indexing
Base of many Standards !
Architecture | *Everything is a file
Common directory Access Control List
"Everything is a
fi
le" is a bit too broad. "Everything appears somewhere in the
fi
lesystem"
is more accurate, and even then, it's more an ideal than a law of system design.
Architecture | Standard Communication Interfaces
I/O management
Process
IPC - Inner Process Communication
Inner / Outer Network Communications
FileSystem I/O
R/W
Dynamic / Static / Virtual
Namespaces
USer
Kernel
How do we (you ?)
Linux Experience
The How !
How
Methodology
Linux Disto’s
To some It’s a religion ;)
Many distributions of Linux
Developers
Production
Community Supported
Commercially supported
Package Managers
Linux’s Flavors
Community driven distributions such as dabian with apt
Commercial driven distributions such as redhat with rpm
Many more to follow … apk, pacman
Linux Principles | Consumption model
Everything is a
fi
le
Bare Metal Installation | Kernel + GNU
Linux Principles | Consumption model
Containers | Jails | Chroot
Bare Metal Installation | Kernel + GNU
VM’s / Containers | vmlinuz, solaris jails,
docker, containerd
Linux Principles | Consumption model
Containers | Jails | Chroot
Bare Metal Installation | Kernel + GNU
VM’s / Containers | vmlinuz, solaris jails,
docker, containerd
“Virtual Machine” -> A Hypervisor which
simulates HW
Linux Principles | Consumption model
From Vanilla (Iaas) / Multipurpose to Usage sprci
fi
c (PaaS)
Bare Metal Installation | Kernel
+ GNU
VM’s / Containers | vmlinuz,
solaris jails, docker, containerd
“Virtual Machine” -> A
Hypervisor which simulates
HW
Function | FaaS architecture