Architettura di Linux
Kernel
Il kernel è il nucleo, la parte più importante del sistema operativo. Rappresenta tutta la parte software del sistema operativo, quella che gestisce l'hardware.
Kernel modules
I kernel modules sono moduli utilizzati per gestire le periferiche hardware.
Cos'è una distribuzione di Linux?
Una distribuzione di Linux è l'insieme del kernel e di tutti i pacchetti personalizzati per una versione specifica di Linux. Ognuno può personalizzare la propria versione di Linux con il kernel e i pacchetti necessari. Ogni distribuzione ha il suo desktop (interfaccia grafica), ma tutte le distribuzioni di Linux condividono lo stesso kernel.
Interfacce grafiche
Le interfacce grafiche più utilizzate sono:
- KDE (K Desktop Environment)
- Gnome
- LXDE
- Mate
- Cinnamon
Storia delle distribuzioni
Le distribuzioni si differenziano per l'interfaccia grafica e per i pacchetti installati. Storicamente, le distribuzioni più famose sono:
- Ubuntu, che deriva da Debian. Debian fu la prima distribuzione a permettere di scaricare e installare programmi da internet. Debian è nota per essere più stabile rispetto a Ubuntu.
- Knoppix, un sistema operativo che si avvia da CD/DVD o da penna USB, senza la necessità di essere installato sul PC.
- Damn Small Linux, la distribuzione di Linux più piccola esistente (versione molto leggera).
- Puppy Linux, una versione leggera.
- Lubuntu, molto semplice da usare e con un'interfaccia grafica intuitiva.
- Red Hat Linux, una distribuzione destinata ad aziende.
- Kali Linux e Backbox, utilizzate per la cyber security.
Sistemi operativi
I sistemi operativi si dividevano in:
- Interfaccia testuale, dove i comandi devono essere scritti in maniera testuale (Linux).
- Interfaccia grafica.
Storia di Linux
Negli anni '50/'60, nacquero i primi grandi computer chiamati mainframe. Questi sistemi erano utilizzati da più utenti e i programmi venivano inseriti attraverso delle schede perforate. Questi PC venivano programmati con il sistema batch, avendo tre programmi: P1, P2, P3. Il programma P2 poteva essere eseguito soltanto dopo la fine del programma P1, e così anche il programma P3.
Nel 1965, i ricercatori del MIT iniziarono a progettare il primo sistema operativo chiamato MULTICS (Multiplexed Information and Computing Service). MULTICS era un sistema operativo che permetteva la multiprogrammazione in time sharing, cioè ogni programma veniva eseguito per un quanto di tempo e sostituito in seguito dal programma in attesa.
Nel 1969, Thomson, nell'agenzia Bell Laboratories, per i PC PDP-7 sviluppò UNICS (Uniplexed Information and Computing Service), un sistema operativo utilizzato per la multiprogrammazione e implementato con il linguaggio di programmazione C.