Il 0% ha trovato utile questo documento (0 voti)
8 visualizzazioni26 pagine

Sistem I Operati Vi

Caricato da

mambro2009
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
8 visualizzazioni26 pagine

Sistem I Operati Vi

Caricato da

mambro2009
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 26

Sistemi Operativi

Corso di Calcolatori Elettronici


Fondamenti di informatica
Sistema Operativo

Il sistema operativo è un insieme di programmi


volti alla gestione delle risorse hardware, a
fornire una piattaforma ai programmi di
applicazione e a porsi come intermediario tra i
dispositivi e l’utente.

Esempi di Sistema operativo sono:


u Windows
u MacOS
u Linux
u iOS
u Android
Sistema Operativo

Componenti di un Sistema operativo sono:


u – allocatore di risorse: di fronte a richieste conflittuali
decide come assegnare equamente ed efficientemente
le risorse ai programmi,
u – programma di controllo: garantisce l’esecuzione dei
programmi senza errori e usi impropri del computer,
u – esecutore di funzioni comuni: esegue funzioni di
utilità generale comuni ai diversi programmi (ad es.
routine di I/O),
u – nucleo (Kernel): l’unico programma sempre in
esecuzione (tutti gli altri sono “programmi applicativi”).
Sistema Operativo

u Le funzioni di base del sistema operativo sono:

uFile System management


uDevice Management
uMemory Management
uScheduling
uCommands Interpret
File System management

u Il S.O. attraverso il File System gestisce l’accesso a file:


supervisiona la creazione, cancellazione e modifica dei
file (e.g. cambio di nome).

u Alcuni esempi di File System sono:


u HFS+, APFS (apple file system) (MacOS),
u NTFS (new Technology file system), ReFS( resilient file
system)(Windows)
u Ext 2,3,4 (Linux)
u FAT32 (file allocation table)
Device Management

u Gestione input/output.
u I dispositivi sono più lenti del processore, è quindi
necessaria una sincronizzazione.
u Si devono monitorare lo stato dei dispositivi, assicurarsi
che i dispositivi funzionino correttamente e gestire una
(o più) code per la l’input e output del dispositivo
Memory Management
Scheduling

u Scheduling (job scheduled, process scheduler)


u Per gestire molti processi, in competizione tra loro, si
utilizzano delle code. Quando le risorse possono essere
usate da più processi possono verificarsi situazioni
problematiche come deadlock e starvation.
Scheduling
Commands Interpret

u Shell testuale (Prompt di MS-DOS, Terminale)

u Shell GUI (Graphical User Interface)


u GNOME e KDE (nei sistemi Unix e Unix-like),
u OSX Window Server
u GUI Windows
Storia di Linux
u 1969 AT&T abbandona il Progetto Multics ed è sostituito
da Unix, implementato da Ken Thompson and Dennis
Ritchie (both of AT&T Bell Laboratories) nel 1969

PDP-7
Struttura di Unix
Storia di Linux
1970 Rilascio di Unix. Più tardi implementato in linguaggio, C

PDP-11

1983, Richard Stallman avvia il Progetto GNU al fine di creare un Sistema


UNIX-like Come parte di questo lavoro redige la GNU General Public
License (GPL). Il kernel GNU, Hurd, però non si diffuse e il Progetto rimase
incompleto
Storia di Linux

u 1987, Rilascio di MINIX, un Sistema a Unix-like creato


per scopi accademici da Andrew S. Tanenbaum. Il
codice era disponibile ma non erano possibili modifiche
o re-distribuzioni

u Il Sistema MINIX era a 16-bit design e non si adattava


bene ai nuovi e meno costosi processori a 32-bit come
Intel 386
Storia di Linux

u Nel 1991, lo studente, Linus Torvalds presso University of Helsinki avvia


un Progetto che Linux kernel.
u 25 August 1991, scrisse in una Usenet del
the newsgroup "comp.os.minix.":

Hello everybody out there using minix -


I'm doing a (free) operating system (just a
hobby, won't be big and professional like
gnu) for 386(486) AT clones. This has
been brewing since april, and is starting
to get ready. I'd like any feedback on
things people like/dislike in minix, as my
OS resembles it somewhat (same physical
layout of the file-system (due to practical
reasons) among other things).
Storia di Linux

I've currently ported bash(1.08) and gcc(1.40), and things seem to


work. This implies that I'll get something practical within a few
months, and I'd like to know what features most people would
want. Any suggestions are welcome, but I won't promise I'll
implement them :-)

Linus ([email protected]) PS. Yes - it's free of any minix


code, and it has a multi-threaded fs. It is NOT portable (uses 386
task switching etc), and it probably never will support anything
other than AT-harddisks, as that's all I have :-(.
— Linus Torvalds
Dibattito sul kernel Linux

Io credo comunque che scrivere un kernel monolitico nel


1991 sia un grosso errore. Ringrazia di non essere un mio
studente. Non avresti ricevuto un gran voto per un lavoro
simile :-)
Tanenbaum

https://leganerd.com/2013/08/02/the-tanenbaum-
torvalds-debate/
Struttura del file system
Esempio di file system

Applications Users … Library

filippo

Documents Download … Workshop

C_Lab
Comandi Linux (1)
Comando Descrizione

ls list directory contents

Elenco dei file e delle sotto


directory presenti nella directory
corrente
man Mostra le pagine del manuale on
line
e.g. man ls

pwd Print working directory


Stampa il nome della directory
corrente
Comandi Linux (2)
Comando Descrizione

cd Change directory

Cambia la directory corrente


Ad esempio
cd \
cd ..
cd .
date Stampa la data corrente

ifconfig Stampa Informazioni di rete


Comandi Linux (3)
Comando Descrizione

ping Manda una richiesta ICMP


ECHO_REQUEST ad un computer
remoto

cat Concatena e stampa il contenuto


di un file

tail Stampa la parte finale di un file

more Stampa un file, una pagina alla


volta
Comandi Linux (3)
Comando Descrizione

• du -s * | sort -k1,1rn | head Stampa disk usage


• du -hs /home/* | sort -k1,1h
• df -h
• df -i

df Stampa lo spazio libero su disco

gcc Compilatore a linea di comando


Gcc –c per ottenere il file oggetto
Gcc –o per ottenere l’eseguibile
Comandi Linux (3)
Comando Descrizione

•cp <file origine > <dir Copia il file origine nella directory
destinazione> destinazione

•mv <file origine > <file Sposta il file origine nel file
destinazione> destinazione (e.g. rinomina)

top Informazioni sui processi in corso


Prefissi delle unità di misura
Prefissi delle unità di misura

Potrebbero piacerti anche