Introduzione al sistema operativo Linux Un po’ di...

21
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 ` o allo studio della compatibilit ` a del software, sviluppando un sistema operativo semplice ed elegante, scritto in linguaggio di programmazione C, e capace di riutilizzare il codice. 1

Transcript of Introduzione al sistema operativo Linux Un po’ di...

Page 1: Introduzione al sistema operativo Linux Un po’ di storiadispense.dmsa.unipd.it/mazzia/intro_linux_fortran.pdf · Introduzione al sistema operativo Linux Un po’ di storia Negli

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 operativoche variava, in genere, da computer a computer. Il software chegirava su un computer non riusciva ad essere lanciato su un altrocomputer con un differente sistema operativo...

Nel 1969 un team dei laboratori Bell Labs si dedico allo studiodella compatibilita del software, sviluppando un sistemaoperativo semplice ed elegante, scritto in linguaggio diprogrammazione C, e capace di riutilizzare il codice.

1

Page 2: Introduzione al sistema operativo Linux Un po’ di storiadispense.dmsa.unipd.it/mazzia/intro_linux_fortran.pdf · Introduzione al sistema operativo Linux Un po’ di storia Negli

Questo progetto prese il nome di UNIX.

Con UNIX, il sistema operativo e costruito intorno al kernel (il”cuore” del computer) e scritto in un linguaggio diprogrammazione di alto livello, il C, in modo da poter girare sudiversi tipi di macchine.

Agli inizi degli anni novanta, Linus Torvalds, studente diinformatica all’universita di Helsinki, penso di rendereliberamente disponibile e accessibile sui Personal Computers unaqualche versione accademica di UNIX, in modo da avere unsistema libero che fosse completamente aderente all’originaleUNIX.

Nasce in questo modo il sistema operativo Linux.

2

Page 3: Introduzione al sistema operativo Linux Un po’ di storiadispense.dmsa.unipd.it/mazzia/intro_linux_fortran.pdf · Introduzione al sistema operativo Linux Un po’ di storia Negli

Vantaggi di Linux

• Linux e gratuito e libero. Grazie al Software Open Source, unprogramma puo essere letto, distribuito e modificato. Linux sipuo scaricare da internet in modo gratuito.

• Linux e portabile su qualsiasi piattaforma hardware.

• Linux e sicuro - perche si basa sul sistema UNIX.

3

Page 4: Introduzione al sistema operativo Linux Un po’ di storiadispense.dmsa.unipd.it/mazzia/intro_linux_fortran.pdf · Introduzione al sistema operativo Linux Un po’ di storia Negli

Svantaggi di Linux

• Ci sono troppe distribuzioni di Linux - si fa fatica a sceglierela distribuzione piu adatta alle proprie esigenze. Tutte sono,comunque, molto simili tra loro.

• Linux non e molto facile e puo confondere le idee per chivoglia ”giocare” con il sistema operativo. Ma sono staticompiuti talmente tanti progressi che anche chi accede per laprima volta ad un computer con Linux, non si accorge ditroppe differenze rispetto ad un computer con MS Windows....

4

Page 5: Introduzione al sistema operativo Linux Un po’ di storiadispense.dmsa.unipd.it/mazzia/intro_linux_fortran.pdf · Introduzione al sistema operativo Linux Un po’ di storia Negli

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 eschiacchiare il tasto di Invio.

5

Page 6: Introduzione al sistema operativo Linux Un po’ di storiadispense.dmsa.unipd.it/mazzia/intro_linux_fortran.pdf · Introduzione al sistema operativo Linux Un po’ di storia Negli

Multi-utenza/tasking

Piu utenti possono accedere, contemporaneamente, alla stessamacchina (stesso sistema operativo Linux), utilizzando diversicalcolatori: si parla di multiutenza.

Analogamente, piu programmi possono essere attivati nello stessotempo: si parla di multitasking.

6

Page 7: Introduzione al sistema operativo Linux Un po’ di storiadispense.dmsa.unipd.it/mazzia/intro_linux_fortran.pdf · Introduzione al sistema operativo Linux Un po’ di storia Negli

Connessione

Una volta entrati nel sistema, si apre l’ambiente grafico e di quipossiamo lavorare (per esempio, aprire una finestra di editor,lanciare OpenOffice, navigare in Internet ....).

7

Page 8: Introduzione al sistema operativo Linux Un po’ di storiadispense.dmsa.unipd.it/mazzia/intro_linux_fortran.pdf · Introduzione al sistema operativo Linux Un po’ di storia Negli

Terminal window o shell

Per aprire nuove directory (cartelle), per spostare files, pereseguire programmi FORTRAN, ... e bene lavorare tramite unafinestra di terminale o shell.

8

Page 9: Introduzione al sistema operativo Linux Un po’ di storiadispense.dmsa.unipd.it/mazzia/intro_linux_fortran.pdf · Introduzione al sistema operativo Linux Un po’ di storia Negli

Elenco di comandi essenziali

La finestra di terminale dovrebbe sempre mostrare il prompt deicomandi alla sua apertura. Un esempio di prompt e la logindell’utente + chiocciola + nome della macchina su cui si stalavorando + attuale directory di lavoro:

mazzia@stein:˜ 1 %

Vediamo ora alcuni comandi essenziali (comandi da scrivere dopoil prompt, in una finestra di terminale - dopodiche si schiaccia iltasto di Invio):

ls mostra l’elenco dei files e delle directories contenuti nelladirectory attuale (ls sta per ”list”):

Esempio:

mazzia@stein:˜ 1 % ls

9

Page 10: Introduzione al sistema operativo Linux Un po’ di storiadispense.dmsa.unipd.it/mazzia/intro_linux_fortran.pdf · Introduzione al sistema operativo Linux Un po’ di storia Negli

Un volta schiacciato Invio, compare:

5 2d_fefv/ 4 coupled-hyb/

2 2d_fem/ 57 prova.pdf

3 2d_femlpg/ 1 didattica/

3 2d_fesupg/ 1 firma

4 2d_mhfefv/ 1 grid.m

2 2d_mlpg/ 6 help_note

4 2d_timesplit/ 1 lavori/

3 2d_tran/ 1 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

Page 11: Introduzione al sistema operativo Linux Un po’ di storiadispense.dmsa.unipd.it/mazzia/intro_linux_fortran.pdf · Introduzione al sistema operativo Linux Un po’ di storia Negli

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 perrinominare un file o una directory):

mv nomefile nomedirectory (mv sta per ”move”).

Esempio: abbiamo due directory chiamate uno e due e il fileprova.f nella directory uno. Vogliamo copiare il file dalladirectory uno alla directory due.

11

Page 12: Introduzione al sistema operativo Linux Un po’ di storiadispense.dmsa.unipd.it/mazzia/intro_linux_fortran.pdf · Introduzione al sistema operativo Linux Un po’ di storia Negli

Se ci troviamo nella home, cioe 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 fileprova.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

Page 13: Introduzione al sistema operativo Linux Un po’ di storiadispense.dmsa.unipd.it/mazzia/intro_linux_fortran.pdf · Introduzione al sistema operativo Linux Un po’ di storia Negli

cp ../uno/prova.f . Il punto finale serve per copiare ilfile prova.f nella directory in cui ci troviamo.

Con cp abbiamo due file identici, quello nella directory uno equello copiato nella directory due.

Possiamo anche scrivere cp prova.f prova2.f: in questo modocreiamo il file prova2.f nella stessa directory in cui si trovaprova.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. Sevogliamo cancellare una directory, dobbiamo prima cancellaretutti i files della directory e poi usare il comando

rmdir nomedirectory.

13

Page 14: Introduzione al sistema operativo Linux Un po’ di storiadispense.dmsa.unipd.it/mazzia/intro_linux_fortran.pdf · Introduzione al sistema operativo Linux Un po’ di storia Negli

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

Page 15: Introduzione al sistema operativo Linux Un po’ di storiadispense.dmsa.unipd.it/mazzia/intro_linux_fortran.pdf · Introduzione al sistema operativo Linux Un po’ di storia Negli

Un editor di testo

Se vogliamo scrivere un file - un documento di testo o unprogramma FORTRAN o ... - abbiamo bisogno di un editor ditesto. Sotto Linux ne troviamo diversi: vi, emacs, kedit, gedit,nedit....

I piu semplici da utilizzare sono gedit e nedit.

15

Page 16: Introduzione al sistema operativo Linux Un po’ di storiadispense.dmsa.unipd.it/mazzia/intro_linux_fortran.pdf · Introduzione al sistema operativo Linux Un po’ di storia Negli

Scrivere un programma FORTRAN

Dobbiamo tenere presenti alcuni concetti fondamentali:

• Per prima cosa un programma FORTRAN va scrittoutilizzando un editor di testo. Il nome da dare al file deveessere del tipo nome.f.

• Una volta scritto il programma, lo si deve compilare, nelladirectory in cui e stato salvato il file nome.f mediante ilcomando g77 -o programmaeseguibile nome.f

• Se dopo aver schiacciato il tasto di Invio, il prompt non ci danessun messaggio, facendo ls vedremo che sara stato creatoun nuovo file dal nome programmaeseguibile. Se, invece, cisono errori, allora avremo tutta la lista degli errori nellafinestra di terminale.

16

Page 17: Introduzione al sistema operativo Linux Un po’ di storiadispense.dmsa.unipd.it/mazzia/intro_linux_fortran.pdf · Introduzione al sistema operativo Linux Un po’ di storia Negli

In questo caso, bisogna aprire con l’editor di testo il file delprogramma nome.f e correggere gli errori, salvare lecorrezioni e lanciare di nuovo il comando g77 -o

programmaeseguibile nome.f. Questa procedura varipetuta fino a quando non avremo creato un file .f scritto inmaniera corretta in modo da ottenere il file del programmaeseguibile.

• Una volta creato il programma eseguibile, possiamo mandarloin esecuzione, semplicemente con il comandoprogrammaeseguibile (cioe scrivendo il nome delprogramma eseguibile creato tramite il compilatore g77).

17

Page 18: Introduzione al sistema operativo Linux Un po’ di storiadispense.dmsa.unipd.it/mazzia/intro_linux_fortran.pdf · Introduzione al sistema operativo Linux Un po’ di storia Negli

Programma FORTRAN

Scriviamo, allora, un programma FORTRAN, che, assegnata unaretta nello spazio y = ax+ b, al dato di input x, fornisce il valoredi y del punto sulla retta.

Ci si ricordi di scrivere i comandi tra la 7ma e 72sima colonnanella pagina di testo.

18

Page 19: Introduzione al sistema operativo Linux Un po’ di storiadispense.dmsa.unipd.it/mazzia/intro_linux_fortran.pdf · Introduzione al sistema operativo Linux Un po’ di storia Negli

19

Page 20: Introduzione al sistema operativo Linux Un po’ di storiadispense.dmsa.unipd.it/mazzia/intro_linux_fortran.pdf · Introduzione al sistema operativo Linux Un po’ di storia Negli

Testo del programma

program primo

C sia assegnata una retta mediante

C i coefficienti a e b

C y= ax+b

C al dato di input x,

C si restituisce il valore corrispondente di y

C

implicit none

real a,b

real x,y

a=9.0

b=1.0

20

Page 21: Introduzione al sistema operativo Linux Un po’ di storiadispense.dmsa.unipd.it/mazzia/intro_linux_fortran.pdf · Introduzione al sistema operativo Linux Un po’ di storia Negli

write(*,*) ’valore per x’

read(*,*) x

write(*,*) ’x= ’, x

y=a*x+b

write(*,*) ’y = ’, y

stop

end

21