![Page 1: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/1.jpg)
1
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
COS’ È L’INFORMATICA
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Informatica
Algoritmi e strutture dati
Linguaggi di programmazione
Architetture dei calcolatoriIntelligenza
artificiale
Ingegneria del software
Basi di dati e sistemiper il ritrovamento delle informazioni
Visionee robotica Computazione
numerica e simbolicaSistemi operativi
![Page 2: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/2.jpg)
2
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Verso una definizione di informatica…
• L’informatica è la scienza della rappresentazione e dell’elaborazione dell’informazione
• Progetto e realizzazione di calcolatori elettronici• Progetto e uso di applicazioni• Gestione di informazioni/dati…• …
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Association for Computing Machinery(ACM)
L’informatica è lo studio sistematico degli algoritmiche descrivono e trasformano l’informazione: la loro teoria, analisi, progetto, efficienza, realizzazione e
applicazione
![Page 3: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/3.jpg)
3
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
GLI ALGORITMI
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Algoritmo(da AL-KHOWARIZMI, 825 dc):
• una descrizione non ambigua di un numero finito dioperazioni, la cui esecuzione termina in un tempo finito
• In senso lato, una procedura che eseguita passo a passorisolve, entro un determinato periodo di tempo, un problema.
NB: il concetto di algoritmo prescindedall’esistenza del calcolatore
![Page 4: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/4.jpg)
4
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Esempi
• Algoritmi (o procedure):• per calcolare il Massimo Comun Divisore• per costruire modellini di aerei (espressi nei fogli di
istruzioni)• per azionare la lavatrice• per suonare una melodia al piano (espressa in un
insieme di simboli negli spartiti)
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Algoritmo per calcolare l'ipotenusa
• Date le misure x e y di due cateti di un triangolorettangolo:• Calcola x2
• Calcola y2
• Calcola z= x2 + y2
• L'ipotenusa è data dalla radice quadrata di z: ipotenusa i=√z
![Page 5: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/5.jpg)
5
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Chi è l’esecutore dell’algoritmo?
• Se vogliamo automatizzare l’esecuzione degli algoritmi, dobbiamo rappresentarli e comunicarli al calcolatore in un linguaggio a lui comprensibile e non ambiguo:
Linguaggi di programmazione
Algoritmo Programma CODIFICA
• Programma: sequenza di istruzioni scritte in un linguaggio di programmazione comprensibile e non ambiguo per il calcolatore
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Linguaggio macchina
• I calcolatori sanno eseguire un insieme limitato di semplici operazioni• Somma due valori• Sottrai due valori• Copia un valore in memoria…
• Le istruzioni altro non sono che sequenze di 0 e 1 (l’alfabeto del calcolatore) che codificano il codice dell’operazione da eseguire e gli operandi:
0010000001101010010001010010100011
![Page 6: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/6.jpg)
6
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Traduzione dei linguaggi
• Il concetto di traduzione dei linguaggi ha permessol’evoluzione dei linguaggi verso sistemi simbolicipiù espressivi e più facilmente manipolabili daiprogrammatori
• Il programmatore scrive un programma in un linguaggio ad alto livello senza preoccuparsi dellamacchina che esegue il programma
• Un apposito programma, il compilatore, traduce poi tutti i programmi scritti in uno specificolinguaggio ad alto livello in linguaggio macchina
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Sintassi
• Sistema di regole formali che definiscono il linguaggio• Consente di stabilire se un’istruzione è ben formata• È corretto scrivere: se x + n > m allora STOP ?
• Facilitano il compito al programmatore• I programmi devono essere tradotti nel linguaggio
nativo della macchina
![Page 7: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/7.jpg)
7
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Diversi livelli di espressività
• Linguaggio Macchina: • 001010001110000
• totalmente illeggibile per l’uomo• Perfettamente non ambiguo per la macchina
• Linguaggio Assembly• LOAD x
• ADD y
• STORE z
• simbolico del linguaggio macchina
• Linguaggio ad alto livello, (es PASCAL)• semiperimetro := base + altezza;
• Le istruzioni corrispondono ad azioni più articolate• Richiedono uno sforzo di codifica inferiore da parte del programmatore
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Evoluzione dei linguaggi
• Anni ’50: primi linguaggi ad alto livello• FORTRAN, ALGOL, COBOL
• Anni ’60: linguaggi orientati al problema• LISP, APL, SNOBOL,
• Anni ’70: metod. di programmazione• PASCAL, Modula-2, C, Prolog,
• Anni ’80: programmazione a oggetti. • SmallTalk, Objective-C, C++, Java
![Page 8: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/8.jpg)
8
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
IL SOFTWARE DI SISTEMA
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Software (sw)
• L’esecuzione di programmi è lo scopo di un elaboratore• L’insieme dei programmi che un elaboratore può eseguire
rappresenta il software in dotazione all’elaboratore
• Distinguiamo due principali categorie di software:
• sw di sistema
dedicato alla gestione del calcolatore• sw applicativo
dedicato a specifiche esigenze applicative
![Page 9: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/9.jpg)
9
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
L’architettura generale
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Il sw applicativo
• Il sw applicativo è costituito dall’insieme di programmi che “fanno svolgere” al calcolatore una serie di funzionalità rivolte principalmente agli utilizzatori finali:• Videoscrittura• Fogli elettronici• Posta elettronica• Browser• Compilazione 740• Visualizzazione molecole• Video giochi• …
![Page 10: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/10.jpg)
10
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Il sw di sistema
• Il sw di sistema è costituito da un insieme di programmi il cui scopo è:• Gestire le risorse del sistema• Permettere l’esecuzione di programmi• Controllare l’ I/O, rilevando malfunzionamenti• Gestire la memorizzazione e la sicurezza dei dati
• Appartengono al sw di sistema• Il sistema operativo• I compilatori• I driver per i dispositivi di I/O
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Il Sistema Operativo (S.O.)
• Il S.O. è un software di sistema che realizza due funzionalità:1. Gestisce le risorse fisiche di un elaboratore
(come la CPU, la RAM e le periferiche)1. Esecuzione simultanea di più programmi2. Protezione dei dati
2. Presenta all’utente un’interfaccia che rende più facile l’uso del calcolatore a programmatori e utenti finali
![Page 11: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/11.jpg)
11
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Il sistema operativo
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Il sistema operativo
• Il sistema operativo viene fornito insieme all’elaboratore• E’ memorizzato su CD, ma all'atto dell'installazione
viene trasferito su Hard Disk• Ogni elaboratore può essere utilizzato solo se vi è stato
preventivamente installato un sistema operativo
![Page 12: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/12.jpg)
12
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Il sistema operativo
• I sistemi operativi più diffusi in ambiente PC sono:• Windows 98/NT/2000/XP• Linux• MacOs
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Il sistema operativo
• Ogni sistema operativo è contraddistinto oltre che dalnome anche dalla release, o versione• Es:• Windows 2000• Windows XP
![Page 13: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/13.jpg)
13
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Il sistema operativo
• Ogni nuova release di sistema operativo viene rilasciataper • correggere errori presenti nella release corrente• aggiungere nuove funzionalità alla release corrente
• Modifiche sostanziali implicano nuove versioni, modifiche minori nuovi livelli di aggiornamento
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Il sistema operativo
• Gli aggiornamenti di sistema operativo, o più in generaledi sw, vengono chiamati• Patch nel mondo Unix• Service pack nel mondo Windows• Update nel mondo MacOSX
• Gli aggiornamenti vengono in genere distribuitiattraverso CD o attraverso la rete
![Page 14: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/14.jpg)
14
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Il sw applicativo
• Anche il software applicativo è caratterizzato da un numero di versione
• Ogni versione di sw applicativo è compatibile solo con certe versioni di sistema operativo
• Prima di usare un sw applicativo è necessario verificare la versione di SO di cui si dispone
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
S.O. - Struttura logica
• Data la sua complessità, il S.O. è suddiviso logicamentein strati funzionali, dove ciascuno strato:• offre dei servizi agli strati superiori• nasconde i dettagli degli strati inferiori
• Ciascuna funzionalità realizza una macchina virtuale
• macchina le cui componenti sono le funzionidisponibili a quel livello
![Page 15: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/15.jpg)
15
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
S.O. - Struttura logica
nucleo
HW
gestore della memoria
gestore delle periferiche
Interprete dei Comandi (Shell, GUI)
Programmi Utente
file system
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
S.O. - Interprete dei comandi
nucleo
HW
gestore della memoria
gestore delle periferiche
programmi utente
file system
Interprete dei Comandi (Shell, GUI)
![Page 16: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/16.jpg)
16
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
S.O. - Interprete dei comandi
• E’ l’interfaccia di alto livello verso l’utente mediante la quale si chiede l’esecuzione dei programmi o di comandi. Può essere:• A caratteri sulla “linea di comando”• Shell Unix• MS DOS
• Grafica con finestre e icone • Macintosh• KDE/Gnome, MacOSX, Windows
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
S.O. - Interprete dei comandi
![Page 17: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/17.jpg)
17
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
S.O. - Interprete dei comandi
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
S.O. - Gestore delle periferiche
nucleo
HW
gestore della memoria
Gestore delle Periferiche
interprete dei comandi (Shell, GUI)
programmi utente
file system
![Page 18: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/18.jpg)
18
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
S.O. - Gestore delle periferiche
• Parte del sistema operativo che permette il corretto funzionamento delle periferiche (es. stampante, video, mouse, tastiera…)• Aggiunta/rimozione periferica• Controllo degli accessi• Controllo funzionamento
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
S.O. - Gestore delle periferiche
![Page 19: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/19.jpg)
19
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
S.O. - Gestore della memoria
nucleo
HW
Gestore della Memoria
gestore delle periferiche
interprete dei comandi (Shell, GUI)
programmi utente
file system
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
S.O. - Gestore della memoria
• Permette la condivisione della memoria tra programmi eseguiti “simultaneamente”• assegnare la memoria ai programmi da eseguire • fisica e/o virtuale
• spostare i programmi in memoria sul disco per fare posto a quelli nuovi
• caricare i programmi da disco in memoria• assicurare che programmi diversi usino aree di
memoria separate e impermeabili per evitare errori
![Page 20: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/20.jpg)
20
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
S.O. - Nucleo
Nucleo
HW
gestore della memoria
gestore delle periferiche
interprete dei comandi (Shell, GUI)
programmi utente
file system
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
S.O. - Nucleo
• Soddisfa le richieste delle varie applicazioni attive:• Utilizza le risorse del computer• Le coordina
• Passa i risultati alla Shell e da questa all’utente mediante le periferiche di output
![Page 21: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/21.jpg)
21
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
S.O. - File system
nucleo
HW
gestore della memoria
gestore delle periferiche
interprete dei comandi (Shell, GUI)
programmi utente
file system
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
S.O. - File system
• Componente del S.O. che provvede alla gestione delleinformazioni memorizzate su disco
• Fornisce le seguenti funzioni• Memorizzazione• Aggiornamento• Cancellazione
![Page 22: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/22.jpg)
22
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
File system - I dischi
• In un sistema sono generalmente presenti tre tipi di unitàdisco:• Hard Disk• Floppy• CD
• In ambiente Windows, ciascuna unità è contraddistintada una lettera seguita da due punti, es. C: D: …
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
File system - I dischi
![Page 23: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/23.jpg)
23
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
File system - I file
• Le informazioni sono memorizzate su disco in appositi contenitori chiamati FILE o documenti
• Ogni file è univocamente contraddistinto da un nome
• Il contenuto di un file è definito dall’utente proprietario del file
• Le modalità di accesso sono definite dall’utente (lettura, scrittura, esecuzione per sé e per gli altri utenti)
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
File System - Formato dei file
• I dati manipolati da un programma vengono codificati in un formato che consenta di salvare:• i dati stessi,• le informazioni relative alla loro rappresentazione.
• Per interpretare correttamente il contenuto di un file, un programma deve riconoscerne ed interpretarne il formato.
![Page 24: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/24.jpg)
24
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
File System - Formato dei file
• Il formato di un file viene esplicitato aggiungendo un’opportuna estensione al suo nome:
<nome>.<estensione>• L’estensione in genere è composta da tre o quattro
caratteri (es: .doc .xls .txt .c .ps .pdf)• L’uso delle estensioni è solo una convenzione
• comodità per l’utente• il sistema operativo usa le informazioni sulla natura
del file presenti all’inizio del file stesso
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
File System - Formato dei file
![Page 25: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/25.jpg)
25
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
File System - Operazioni sui file
• I file possono essere• creati• rinominati• aggiornati• aperti/chiusi• cancellati
• Sui file è possibile operare direttamente dall’interno delle applicazioni o dall’interprete dei comandi• rinomina, cancellazione, apertura
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
File System - Permessi sui file
• Gli utenti possono specificare i seguenti permessi di accesso ai file relativamente a vari gruppi di utenti• Read (R) indica se possono essere letti i contenuti di
un file o di una cartella• Write (W) indica se è possibile modificare il
contenuto di un file o di una cartella• Execute (X) indica se è possibile eseguire un file o
posizionarsi all’interno di una cartella
![Page 26: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/26.jpg)
26
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Le directory o cartelle
• Oltre ai file dati esiste un altro tipo di file:
le directory o cartelle o folder
• Sono dei contenitori logici di file
• Scopo: fornire all’ utente uno strumentoper organizzare i propri file
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Directory
![Page 27: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/27.jpg)
27
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Gerarchie di directory
• Le cartelle possono a loro volta contenere altre cartelle, che possono contenere altre cartelle e così via
• Si parla di Gerarchia ad Albero
• Il livello più alto è detto radice
C:
\Progetti \foto \Documenti
\Sicilia \Casa \laurea
Amici.jpg …
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
I path name dei file
• Ogni file all’interno del file system è individuato in base alla sua posizione nell’albero, cioè al cammino (pathname o path) che si deve percorrere per raggiungerlo a partire dalla radice• Per esempio la foto “Amici.jpg” è individuata dal
seguente cammino: C:\foto\Sicilia\
• I file di dati sono sempre all’estremità dell’albero, per questo sono detti foglie
![Page 28: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/28.jpg)
28
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
Gerarchie di directory
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
File system
Il file system gestisce anche la struttura fisica dei dischi e deve quindi:• trovare spazio sufficiente (non necessariamente
contiguo) per memorizzare i file• attivare il trasferimento dei dati• aggiornare opportune tabelle che poter accedere ai file
![Page 29: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/29.jpg)
29
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
File System - Operazioni sulle cartelle
• Crea• Creare una cartella ed assegnarle un nome
• Rinomina• Modificare il nome di una cartella
• Apri• per accedere al contenuto di una cartella
• Cancella• Rimuovere una cartella e tutto il suo contenuto• la cartella viene spostata nel cestino
• Sposta• Sposta la cartella in un altro punto della
struttura gerarchica
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
File System - Visualizzazione
• Quando si accende il personal computer ci si trova davanti una scrivania (desktop) su cui compaiono cartelle e documenti
• In Windows• La radice della struttura gerarchica è il desktop• I nodi di un pathname sono separati da \• Ogni disco è individuato da una lettera (es C:)
![Page 30: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/30.jpg)
30
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
S.O. - Utenti e privilegi
• Un sistema operativo che consente l’uso di un computer a più utenti prevede diverse tipologie di utenti• Amministratore• può fare qualsiasi operazione per poter gestire il sistema
• Utente comune• Ha delle limitazioni per contenere i danni che potrebbero
fare (rimuovere file di sistema, cancellare dati di altri utenti, cambiare l’ordine della coda di stampa, ecc.)
• Ospite• Ancora più limitazioni
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
S.O. - Utenti e privilegi
• L’amministratore del sistema può installare il swapplicativo in modo che tutti gli utenti lo possano usaree che il sw possa accedere alle risorse di cui ha bisogno
• Gli utenti comuni possono accedere solo ai propri file e installare localmente nelle proprie cartelle swapplicativo al quale gli altri utenti non possono accedere
![Page 31: COS’ È L’INFORMATICAhomes.di.unimi.it/~lanzarot/InfBase/Medicina/2X_001_SW.pdf · Intelligenza dei calcolatori artificiale Ingegneria del software Basi di dati e sistemi per](https://reader034.vdocuments.co/reader034/viewer/2022052019/6032a5671e143052501fe588/html5/thumbnails/31.jpg)
31
© Alberti, Boldi, Bruschi, Bucalo, Ferrari, Gaito, Lanzarotti, Palano,Provetti, Rosti, Zanaboni
S.O. - Utenti e privilegi
• L’amministratore di sistema può aggiungere nuoviutenti nel sistema o disabilitare quelli esistenti
• Gli utenti comuni non possono farlo perchè non hanno “privilegi” a sufficienza nel loro profilo