Introduzione al sistema operativo Linux Un po` di storia

Introduzione al sistema operativo Linux
Un po’ di storia
Negli anni sessanta i computer, oltre ad essere grandi come
”frigoriferi”, avevano il problema di avere un sistema operativo
che variava, in genere, da computer a computer. Il software che
girava su un computer non riusciva ad essere lanciato su un altro
computer con un differente sistema operativo...
Nel 1969 un team dei laboratori Bell Labs si dedicò allo studio
della compatibilità del software, sviluppando un sistema
operativo semplice ed elegante, scritto in linguaggio di
programmazione C, e capace di riutilizzare il codice.
1
Questo progetto prese il nome di UNIX.
Con UNIX, il sistema operativo è costruito intorno al kernel (il
”cuore” del computer) e scritto in un linguaggio di
programmazione di alto livello, il C, in modo da poter girare su
diversi tipi di macchine.
Agli inizi degli anni novanta, Linus Torvalds, studente di
informatica all’università di Helsinki, pensò di rendere
liberamente disponibile e accessibile sui Personal Computers una
qualche versione accademica di UNIX, in modo da avere un
sistema libero che fosse completamente aderente all’originale
UNIX.
Nasce in questo modo il sistema operativo Linux.
2
Vantaggi di Linux
• Linux è gratuito e libero. Grazie al Software Open Source, un
programma può essere letto, distribuito e modificato. Linux si
può scaricare da internet in modo gratuito.
• Linux è portabile su qualsiasi piattaforma hardware.
• Linux è sicuro - perchè si basa sul sistema UNIX.
3
Svantaggi di Linux
• Ci sono troppe distribuzioni di Linux - si fa fatica a scegliere
la distribuzione più adatta alle proprie esigenze. Tutte sono,
comunque, molto simili tra loro.
• Linux non è molto facile e può confondere le idee per chi
voglia ”giocare” con il sistema operativo. Ma sono stati
compiuti talmente tanti progressi che anche chi accede per la
prima volta ad un computer con Linux, non si accorge di
troppe differenze rispetto ad un computer con MS Windows....
4
Come connettersi al sistema
Per lavorare in un sistema Linux, bisogna avere un nome utente
(login) e una password.
Per collegarsi, quindi, dobbiamo digitare la login e la password e
schiacchiare il tasto di Invio.
5
Multi-utenza/tasking
Più utenti possono accedere, contemporaneamente, alla stessa
macchina (stesso sistema operativo Linux), utilizzando diversi
calcolatori: si parla di multiutenza.
Analogamente, più programmi possono essere attivati nello stesso
tempo: si parla di multitasking.
6
Connessione
Una volta entrati nel sistema, si apre l’ambiente grafico e di qui
possiamo lavorare (per esempio, aprire una finestra di editor,
lanciare OpenOffice, navigare in Internet ....).
7
Terminal window o shell
Per aprire nuove directory (cartelle), per spostare files, per
eseguire programmi FORTRAN, ... è bene lavorare tramite una
finestra di terminale o shell.
8
Elenco di comandi essenziali
La finestra di terminale dovrebbe sempre mostrare il prompt dei
comandi alla sua apertura. Un esempio di prompt è la login
dell’utente + chiocciola + nome della macchina su cui si sta
lavorando + attuale directory di lavoro:
mazzia@stein:˜ 1 %
Vediamo ora alcuni comandi essenziali (comandi da scrivere dopo
il prompt, in una finestra di terminale - dopodichè si schiaccia il
tasto di Invio):
ls mostra l’elenco dei files e delle directories contenuti nella
directory attuale (ls sta per ”list”):
Esempio:
mazzia@stein:˜ 1 % ls
9
Un volta schiacciato Invio, compare:
5
2
3
3
4
2
4
3
2d_fefv/
2d_fem/
2d_femlpg/
2d_fesupg/
2d_mhfefv/
2d_mlpg/
2d_timesplit/
2d_tran/
4
57
1
1
1
6
1
1
coupled-hyb/
prova.pdf
didattica/
firma
grid.m
help_note
lavori/
mail/
Per cambiare directory, si deve digitare
cd nome-directory
(cd sta per ”change directory”).
Esempio: per entrare nella directory 2d fefv, scrivo
cd 2d fefv. Una volta schiacciato il tasto di Invio, il nuovo
10
prompt mi segnala l’ingresso nella directory:
mazzia@stein:˜/2d\_fefv 9 %
Il comando cd .. fa tornare nella directory precedente.
Per creare una nuova directory: mkdir nomedirectory
(mkdir sta per ”make directory”).
Per copiare un file da una directory ad un’altra:
cp nomefile nomedirectory (cp sta per ”copy”).
Per trasferire un file da una directory ad un’altra (o per
rinominare un file o una directory):
mv nomefile nomedirectory (mv sta per ”move”).
Esempio: abbiamo due directory chiamate uno e due e il file
prova.f nella directory uno. Vogliamo copiare il file dalla
directory uno alla directory due.
11
Se ci troviamo nella home, cioè nell’ambiente di partenza,
dobbiamo scrivere
cp uno/prova.f due
mazzia@stein:˜ 16 % cp uno/prova.f due
Se ora passiamo nella directory due e facciamo ls, vedremo il file
prova.f
mazzia@stein:˜ 17 % cd due
mazzia@stein:˜/due 18 % ls
total 1
1 prova.f
Se siamo nella directory uno, dobbiamo scrivere
cp prova.f ../due per ottenere lo stesso risultato.
Se siamo nella directory due, dobbiamo scrivere
12
cp ../uno/prova.f .
Il punto finale serve per copiare il
file prova.f nella directory in cui ci troviamo.
Con cp abbiamo due file identici, quello nella directory uno e
quello copiato nella directory due.
Possiamo anche scrivere cp prova.f prova2.f: in questo modo
creiamo il file prova2.f nella stessa directory in cui si trova
prova.f.
Se vogliamo trasferire il file dalla directory uno alla directory due
(in questo modo avremo solo un file alla fine del procedimento),
dobbiamo usare il comando mv.
Per cancellare un file si usa il comando rm nomefile. Se
vogliamo cancellare una directory, dobbiamo prima cancellare
tutti i files della directory e poi usare il comando
rmdir nomedirectory.
13
Ricapitolando
• ls : lista dei files e delle directory
• cd : per cambiare directory
• mkdir: per creare una nuova directory
• cp: per copiare files
• mv: per trasferire o rinominare files
• rm: per cancellare files
• rmdir: per cancellare directories
14
Un editor di testo
Se vogliamo scrivere un file - un documento di testo o un
programma FORTRAN o ... - abbiamo bisogno di un editor di
testo. Sotto Linux ne troviamo diversi: vi, emacs, kedit, gedit,
nedit....
I più semplici da utilizzare sono gedit e nedit.
15
Scrivere un programma FORTRAN
Dobbiamo tenere presenti alcuni concetti fondamentali:
• Per prima cosa un programma FORTRAN va scritto
utilizzando un editor di testo. Il nome da dare al file deve
essere del tipo nome.f.
• Una volta scritto il programma, lo si deve compilare, nella
directory in cui è stato salvato il file nome.f mediante il
comando g77 -o programmaeseguibile nome.f
• Se dopo aver schiacciato il tasto di Invio, il prompt non ci dà
nessun messaggio, facendo ls vedremo che sarà stato creato
un nuovo file dal nome programmaeseguibile. Se, invece, ci
sono errori, allora avremo tutta la lista degli errori nella
finestra di terminale.
16
In questo caso, bisogna aprire con l’editor di testo il file del
programma nome.f e correggere gli errori, salvare le
correzioni e lanciare di nuovo il comando g77 -o
programmaeseguibile nome.f. Questa procedura va
ripetuta fino a quando non avremo creato un file .f scritto in
maniera corretta in modo da ottenere il file del programma
eseguibile.
• Una volta creato il programma eseguibile, possiamo mandarlo
in esecuzione, semplicemente con il comando
programmaeseguibile (cioè scrivendo il nome del
programma eseguibile creato tramite il compilatore g77).
17
Programma FORTRAN
Scriviamo, allora, un programma FORTRAN, che, assegnata una
retta nello spazio y = ax + b, al dato di input x, fornisce il valore
di y del punto sulla retta.
Ci si ricordi di scrivere i comandi tra la 7ma e 72sima colonna
nella pagina di testo.
18
19
Testo del programma
C
C
C
C
C
C
program primo
sia assegnata una retta mediante
i coefficienti a e b
y= ax+b
al dato di input x,
si restituisce il valore corrispondente di y
implicit none
real a,b
real x,y
a=9.0
b=1.0
20
write(*,*) ’valore per x’
read(*,*) x
write(*,*) ’x= ’, x
y=a*x+b
write(*,*) ’y = ’, y
stop
end
21