fondamenti di informatica 4 - 1 e 2.pdf · eniac • primo calcolatore elettronico universale •...
TRANSCRIPT
28/02/2018
1
Fondamenti di informatica 4Federica Baroni
Università degli Studi di Bergamo
Dipartimento di Scienze umane e sociali a.a.2017/2018
Federica Baroni - Unibg
Contatti e ricevimento
Venerdì ore 13 previo appuntamento via email [email protected]
Federica Baroni - Unibg
Obiettivi del corso
Consapevolezza
Conoscenze
Abilità
Competenze
Perché anche noi?
Federica Baroni - Unibg
28/02/2018
2
Testo di riferimento
M. Lazzari et al., Informatica umanistica, McGraw-Hill, 2014 (II edizione)
Capitoli 1, 2, 3, 4, 5, 7, 8, 9, 11
www.ateneonline.it/lazzari2e
Nessuna distinzione frequentanti/non frequentanti
I materiali e la frequenza al corso integrano il libro di testo
Federica Baroni - Unibg
Piattaforma ConnectInfo http://dinamico2.unibg.it/cazzaniga/teaching.html
Slide sull'utilizzo della piattaforma
Accesso alla piattaforma per gli studenti di Fondamenti di Informatica 3 (25143)
Federica Baroni - Unibg
Indice
Parte I - Fondamenti di InformaticaCap. 1 Fondamenti di informatica e hardware Cap. 2 Il software Cap. 3 La rappresentazione dei dati per le scienze umane Cap. 4 Dalle reti a Internet Cap. 5 Il World Wide WebParte II - Temi per le scienze umaneCap. 6 La computazione linguistica Cap. 7 Arte e beni culturali nell'era digitale Cap. 8 Biblioteconomia e ricerca delle informazioni in Internet Cap. 9 Tecnologie educative Cap. 10 Informatica per la musica, l'intrattenimento e lo spettacolo Cap. 11 Qualità, usabilità e accessibilità del webCap. 12 Comunicazione digitale e turismo
Federica Baroni - Unibg
28/02/2018
3
Esame
Test informatizzato con risposte a scelta multipla (5)
18 domande in 18 minuti!
Dal primo appello disponibile dopo la fine delle lezioni
Prima della data d’esame, consultare i turni in bacheca online
Portare documento di riconoscimento, n.matricola e password!
Federica Baroni - Unibg
Terminologia: «Informatica»
«Informatique» (anni ‘60): Information + automatique [francese]
Disciplina tecnico-scientifica che si occupa di macchine in grado di elaborare automaticamente l’informazione
• Riduzione dei tempi e della fatica
• Maggior affidabilità
• Elaborazioni, anche difficili, che richiedono competenze
Federica Baroni - Unibg
«Informazione»
• Quantitativa (numerica) «calcolatore» «computer» [inglese]
Informatica o «Tecnologia dell’informazione» «Information Technology» (IT)
IT + telecomunicazioni (trasmissione dell’info a distanza) «Information & Communication Technology» (ICT, TIC)
«elaboratore»Elaborare
ComunicareFederica Baroni - Unibg
28/02/2018
4
Conoscenza: regole
Informazione: dato + proprietà = significato
Dato: insieme di simboli su supporto fisico
Simbolo
In relazione con…
Federica Baroni - Unibg
Esempio
• Simbolo: «3», «7»
• Dato: 37 come numero, insieme di simboli scritti su carta
• Informazione: 37 + proprietà fisica (temperatura corporea)
• Conoscenza: regole (febbre e suo trattamento)
Federica Baroni - Unibg
Linguaggi
Naturali
• Comunicazione tra uomini
• Potenziale polisemia
• Possibili ambiguità errori di interpretazione
• Disambiguazione dal contesto
Formali
• In specifici settori scientifici
• Evitare l’ambiguità
• Alfabeto finito di simboli
• Grammatica formale regole sintattiche per la combinazione di simboli
• Semantica formale significato alle frasi in linguaggio formale
Federica Baroni - Unibg
28/02/2018
5
Rappresentazione dell’informazione e simboli
La stessa informazione può essere codificata con simboli e modalità diverse
10
DieciFederica Baroni - Unibg
Nei calcolatori?
• Codifica dell’informazione in bit (da «binary digit» = cifra binaria)
• Alfabeto di due simboli: 0 e 1 notazione binaria
• Un bit può assumere due configurazioni possibili: 0 e 1
• Valori rappresentabili in dispositivi bistabili (= 2 stati)
• Tutte le informazioni sono rappresentate da sequenze di bit
Federica Baroni - Unibg
Dispositivi bistabili (es.)
• foro in una scheda
• polarizzazione magnetica
• carica elettrica
• passaggio di corrente
• passaggio di luce
Federica Baroni - Unibg
28/02/2018
6
Contare in base 10
Federica Baroni - Unibg
Contare in base 2
2 bit: 4 (22) sequenze possibili: 00, 01, 10, 11
3 bit: 8 (23) sequenze possibili: 000, 001, 010, 011, 100, 101, 110, 111
...
8 bit: 256 (28) sequenze possibili
n bit: 2n sequenze possibili
8 bit = 1 byte
Federica Baroni - Unibg
Quante informazioni?
• 1 bit: 0 1 2 info
• 2 bit 00 01 10 11 4 info
• 3 bit 000 001 010 011 100 101 110 111 8 info
• n bit 2n info
Federica Baroni - Unibg
28/02/2018
7
Multipli nel sistema binarioPrefisso Sistema binario
Kilo 210 (= 1024)
Mega 220 (= 1024 x 1024)
Giga 230
Tera 240
Peta 250
Exa 260
Zetta 270
Yotta 280
• La capacità di memoria di un calcolatore si misura in bit (b), byte (B) o multipli
Federica Baroni - Unibg
Elaborazione dell’informazione• Creazione (codifica)
• Modifica/eliminazione
• Confronto (se..allora..)
• Conservazione (memorizzazione)
• Trasmissione (diffusione)
Codifica dell’informazione (dati) su supporto
Trasformazione fisica del supporto
(nuovi dati)
Decodifica dei dati (nuova
informazione)
Processo che si avvale di algoritmi sequenze di istruzioni (in ling formale) che indicano le operazioni da eseguire (es.addizioniin colonna)
Federica Baroni - Unibg
Automazione
Carta e penna
Calcolatrice
Calcolatore
- Memoria
- Dati
- Istruzioni
Federica Baroni - Unibg
28/02/2018
8
Linguaggi di programmazione:
Linguaggi formali progettati per descrivere algoritmi (istruzioni) in modo da poter essere eseguiti da un moderno calcolatore
• Sintassi semplice
• Semantica limitata
• Assenza di ambiguità
Es. Basic, Pascal, C, C++, Java..
Federica Baroni - Unibg
Sistemi per l’elaborazione: storia
• Dita (10), falangi (12)
• abaco (rappresentazione numerica posizionale): 2000 a.c.
• regolo calcolatore (strumento di calcolo analogico): XVII – XX sec
• Pascalina (calcolatrice meccanica): 1642
• macchina analitica (primo calcolatore programmabile): 1812
• Dalla meccanica a disp elettrici: II Guerra Mondiale
• Colossus (primo calcolatore tot. elettronico): 1943-44 [Inghilterra]
• ENIAC: 1943-1945 [USA]
• EDVAC
Federica Baroni - Unibg
Regolo calcolatore
Federica Baroni - Unibg
28/02/2018
9
Pascalina
Federica Baroni - Unibg
ENIAC
• Primo calcolatore elettronico universale
• 18.000 valvole/30 tonnellate (5000 add/sott al secondo)
• programmabile da 6 persone su singoli interruttori e cavetti
General – purposeversatilità
Federica Baroni - Unibg
EDVAC
• Aritmetica binaria vs decimale
• Unico dispositivo di memorizzazione per dati e istruzioni
• Rif. all’architettura di von Neumann
Federica Baroni - Unibg
28/02/2018
10
MiniaturizzazioneTecnologia Tecnologia
Valvole 1945-1955
Transistor 1955-1965
Circuiti integrati (microchip) 1965-1980
Microprocessori 1980-
Anni ‘60
• Grandi centri di calcolo
• Macchine costose
• Specialisti
Anni ‘70
• Informatica centralizzata
• Un elaboratore per molti utenti
Anni ‘80
• Elaboratore monoutente per tutti
• Interfaccia grafica facilitata
1984
Anni ’90 – Oggi
• Computer = rete
• Internet
• Web• Web 2.0
• Multimedia
• Cloud
• Velocità• Dimensioni
(portabilità/mobilità)• Affidabilità
Federica Baroni - Unibg
Personal Computer
Federica Baroni - Unibg
Legge di Moore (1965)
Il nr di transistor in un circuito raddoppia ogni 2 anni circa
Federica Baroni - Unibg
28/02/2018
11
Calcolatore
• Macchina fisica: hardware (ferraglia)
• Macchina virtuale: software (istruzioni)
• Sistema di diffusione di informazioni: Web
• Comunicatore bidirezionale: Web 2.0
[Lazzari, 2012]
Federica Baroni - Unibg
Architettura di Von Neumann
• John von Neumann (1903-1957): matematico ungherese
• Progetto ENIAC EDVAC
• Bozza preliminare dell’architettura di nuovo modello di calcolatore
• Modello alla base dei calcolatori digitali
Calcolatore universale versatilità, multiuso
Dispositivo di memorizzazione in cui DATI e ISTRUZIONI hanno la stessa codifica
Aritmetica binaria
Separazione tra dispositivi di MEMORIZZAZIONE ed ELABORAZIONEFederica Baroni - Unibg
Sottosistemi che compongono il calcolatore
Cal
cola
tore
Processore (CPU)Trasforma i dati (in
memoria) eseguendo istruzioni (in memoria)
MemoriaCelle che possono
contenere dati o istruzioni
InterfacciaInterazione
utente/macchina (I/O)
Bus Canale per lo scambio di info
Federica Baroni - Unibg
28/02/2018
12
Macchina di Von Neumann
Input Memoria Output
CPU
Possibile collo di bottiglia di von Neumann: CPU (elab) > bus (trasferimento) se elaborazioni semplici su grande massa di dati
Operazioni su istruzioni (codifica in binario) Insieme di istruzioni = linguaggio macchinaCalcolatori compatibili se CPU con lo stesso l.m.
Federica Baroni - Unibg
HW/SW: terminologia
• «Componente dura» (hw) ferraglia
• «Componente morbida» (sw) Alan Turing II GM (istruzioni quotidiane per configurare Enigma scritte su carta solubile dai tedeschi) istruzioni (+ dati)
Federica Baroni - Unibg
Struttura del calcolatore
Unità centrale
case
ventola
alimentatore
scheda madre
Federica Baroni - Unibg
28/02/2018
13
Scheda madre
Federica Baroni - Unibg
Hw
1. Processore (CPU)
2. Memoria centrale (RAM)
3. Memorie di massa - Dischi e nastri magnetici (es.Disco rigido)- Dischi ottici- Memorie flash
4. Periferiche- Tastiera; dispositivi di puntamento- Video; audio- Stampanti; dispositivi per acquisizione img- Periferiche combinate
Federica Baroni - Unibg
1. Processore (CPU)
• Central Processing Unit
• Esegue istruzioni (in binario) prese dalla memoria centrale
• Modifica dati (in binario); risultati scritti nella memoria centrale
• Sfrutta registri (piccole veloci unità di memorizzazione interne)
• Ciclo (continuo) di 4 attività
• Operazioni scandite da dispositivo «clock» (impulso elettrico regolare) frequenza di clock (hertz): n.di impulsi al secondo (oggi GHz: miliardi) velocità CPU
Federica Baroni - Unibg
28/02/2018
14
Ciclo del processore
Lettura dell’istruzione dalla memoria
Decodifica dell’istruzione
Esecuzione
Scrittura nella memoria
• Memorizza l’istruzione nel registro IR (Instruction Register)
• Il PC (Program Counter) garantisce l’ordine di esecuzione, normalmente sequenziale
• Quale operazione eseguire• Su quali dati
ALU (Arithmetic Logic Unit) circuiti che eseguono le operazioni elementari
Federica Baroni - Unibg
2. Memoria centrale (RAM)
• Random Access Memory
• Centrale vs. «memorie secondarie» o «di massa»
• Interagisce con la CPU per leggere e scrivere istruzioni e dati (in binario)
• Insieme di unità elementari di memorizzazione (celle), ciascuna identificata da un indirizzo numerico (in binario)
• Circuiti integrati
• Volatilità, rapido accesso
• Accesso diretto (random access)
Memoria aggiuntiva ROM: Read OnlyMemory «Memoria di sola lettura» non volatile Contiene istruzioni di inizializzazione all’avvio + funzioni di diagnosi
Federica Baroni - Unibg
Memorie: tipi di accesso
• Sequenziale: per leggere una cella bisogna leggere quelle che la precedono (es. nastri magnetici)
• Diretto: accesso immediato, dato un indirizzo di cella (RAM)
• Misto: diretto + sequenziale (dischi magnetici)
• Associativo (memorie cache): accesso guidato dal contenuto ricercato su più celle
Federica Baroni - Unibg
28/02/2018
15
3. Memorie di massa (o secondarie)
• Dispositivi per la memorizzazione
• Memoria persistente
• Maggior capacità, minor costo, tempi di accesso più lunghi
• Rimovibili o fisse
• Contenuto più prezioso del supporto backup!
Federica Baroni - Unibg
Dischi e nastri magnetici
• Supporto con superficie con strato ferromagnetico + testina che magnetizza/scrive e legge i dati
1. Disco rigido «Hard disk»: uno o più dischi («piatti») interno o esterno; diametro di 3,5’’ per desktop e 2,5’’ per notebook; capacità da 100 GB a 2 TB
• Formattazione (primo uso)
• Deframmentazione (riorganizzazione dei blocchi)
• Ridondanza (duplicazione dati su più supporti)
2. Nastro magnetico (sequenziale; oggi per backup)
Federica Baroni - Unibg
Dischi ottici
• Supporti rimovibili in appositi drive (lettori) letti con luce laser
• Traccia a spirale su superficie iridescente; pit (fosse) / land (sup piana tra i pit) + testina
• ROM: sola lettura
• WORM: scrivibili (masterizzatore)
• RW: riscrivibili
CD (anni ’80: 700MB)
DVD (anni ’90: 4,7GB -8,5GB)
Blu-ray Disc (anni 2000: 25 – 50GB; HD)
Federica Baroni - Unibg
28/02/2018
16
Memorie flash
• EEPROM Electrically: contenuto scritto («programmato») o cancellato e riprogrammato per processi elettrici
• Costi e dimensioni contenute, buona capacità
• Memory card
• Drive USB
• non più di 1.000.000 di operazioni di scrittura
Federica Baroni - Unibg
Principio di località vs. collo di bottiglia
• Principio di località temporale: un programma facilmente torna a riusare la stessa cella quando rieseguito
• Principio di località spaziale: un programma facilmente usa celle vicine
• Una cache per M è una memoria più piccola e veloce di M, che mantiene copia degli ultimi dati usati in M
Velocità Efficienza
Federica Baroni - Unibg
Gerarchie di memoria
• registri della CPU (in CPU, centinaia di byte)
• cache di livello 1 (in CPU, decine di KB)
• cache di livello 2 (in CPU, >512KB)
• cache di livello 3 (in CPU, >2MB)
• memoria centrale
• dischi interni
• dischi esterni
+ velocità- capacità
- velocità+ capacità
Federica Baroni - Unibg
28/02/2018
17
4. Periferiche
• Dispositivi connessi all’unità centrale; supportano l’I/O
• Apposita interfaccia (es. integrata nella scheda madre in PC o su schede di espansione in laptop) collegata al bus e al dispositivo
Due tipi di comunicazione interfaccia – dispositivo:
• Seriale: 1 canale 1 bit alla volta
• Parallela: più canali simultanea trasmissione di gruppi di bit (1 byte)
• Per un tipo di dispositivo possibili diverse interfacce (es.stampante)
• USB oggi standard
Federica Baroni - Unibg
Connettori: tipologie
• connettori parallel ATA (HD, lettore CD, masterizzatore)
• connettori serial ATA e SCSI (HD)
• 2 connettori PS/2 (tastiera viola e mouse verde)
• connettore VGA (o DVI) (video)
• connettori minijack (audio)
• connettore seriale RS-232 (mouse, modem, terminale seriale)
• porta parallela (centronics rosa per stampante)
• connettore RJ11 (modem/fax interno a linea telefonica)
• connettore RJ45 (interfaccia di rete)
• connettori USB
• connettore FireWire (IEEE 1394) (simile a USB per dispositivi multimediali)
• dispositivo IrDA (infrarossi) e Bluetooth (onde radio)
Federica Baroni - Unibg
Tastiera
• Input
• Tasti alfanumerici; tasti modificatori usati in combinazione con altri (es. <Maiuscolo>, <Alt Gr>); tasti funzione per comandi rapidi in swapplicativo (es. <F5>); tasti freccia nell’editing
• Integrata o esterna (via cavo o wireless)
Federica Baroni - Unibg
28/02/2018
18
Video
• Output
• Matrice di pixel
• CPU – scheda grafica (mappa dello schermo per gestione info) – schermo
• Dimensione dell’immagine: diagonale in pollici (4’’, 15’’, 19’’, 27’’)
• Rapporto d’aspetto: rapporto b/a (4:3, 16:9)
• Risoluzione: nr di pixel visualizzabili (1024x768, 1280x1024..)
• Profondità di colore, luminosità, contrasto, frequenza di aggiornamento, angolo di visibilità
Raggi catodici, cristalli liquidi, plasma
Federica Baroni - Unibg
Dispositivi di puntamento
• Input
• GUI: interfaccia grafica
• Interazione tramite puntamento con oggetti grafici (controlli, interattori o widget) interazione point-and-click
Mouse (meccanico o ottico)
Trackball
Joystick
Touchpad
Pointing stick
Tavoletta grafica
Touchscreen
Federica Baroni - Unibg
Stampante
• Output
• Formato (A4 … plotter)
• Colori (monocromatiche, a colori)
• Risoluzione DPI (punti per pollice)
• Velocità ppm (pages per minute)
• Multifunzione, di rete
Getto, laser, impatto, 3D
Federica Baroni - Unibg
28/02/2018
19
Acquisizione immagini
• Input
• Digitalizzazione (codifica in pixel di un’img)
Scanner piano / manuale / per pellicola
• Risoluzione ppi (pixels per inch) 1200 / 5400
• Riconoscimento ottico dei caratteri (OCR)
Macchine fotografiche/videocamere digitali
Lettori di codici a barre
Federica Baroni - Unibg
Gestione dell’audio
• Input/output
• Convertitore digitale-analogico per invio del suono ad amplificatori e cuffie
• Suoni sintetizzati o campionati (da strumenti tradizionali)
• Sintesi vocale (testo parlato)
• Riconoscimento vocale (parlato testo)
• VoIP (Voice over Internet Protocol)
• Media center
• Dispositivi portatili (lettori mp3)
Federica Baroni - Unibg
Combinazione di periferiche
• Sistemi di realtà virtuale/realtà aumentata
• Google Glass
• CAVE (Cave Automatic Virtual Environment)
• LIM
Federica Baroni - Unibg
28/02/2018
20
Caratteristiche calcolatori (classi)
• velocità
• capacità di memoria
• affidabilità
• sicurezza
• periferiche
• connettività
• dimensioni (trasportabilità)
• modularità (sostituzione per standardizzazione)
• scalabilità (sostituzione per miglioramento)
• semplicità di interazione
• dotazione software
• prezzo
Federica Baroni - Unibg
Personal computer (PC)
• Anni ‘70
• Mono-utente
• Home computer
• Per non esperti con programmi pacchettizzati
Desktop
Tower
Small form factor
Federica Baroni - Unibg
Laptop
• Mobilità
• Componenti integrati
Notebook
Subnotebook
Ultrabook
Netbook
Tablet PC (tablet)
Federica Baroni - Unibg
28/02/2018
21
PDA (Personal Digital Assistant)
(palmtop, handheld, pocket PC)
• su un palmo di una mano
• tablet a dimensioni ridotte
• smartphone (PDA + telefono cell)
Federica Baroni - Unibg
Intrattenimento/alte prestazioni
Console per videogiochi
Media center
Workstation (es. CAD, elaborazioni matematiche, etc.)
Federica Baroni - Unibg
Computer multiutente
• Client/server
• Videoterminale
Minicomputer
Mainframe
Supercomputer
Federica Baroni - Unibg
28/02/2018
22
Istruzioni e algoritmo
• Memoria: Dati + istruzioni per l’elaborazione (software)
• Algoritmo: sequenza di istruzioni (elementari) che un esecutore (calcolatore) deve seguire (ordine ben preciso input – elaborazione –output); linguaggio comprensibile (o tradotto in linguaggio noto), non ambiguo, con numero finito di istruzioni e in un tempo finito; deterministico (input su stessi dati = output); parametrico (risolve non un solo problema, ma classi di problemi)
Federica Baroni - Unibg
Linguaggi di programmazione
• Linguaggio di programmazione: linguaggio formale impiegato per descrivere algoritmi in modo da poter essere eseguiti da un calcolatore
• Programmatore: «insegna» algoritmi ai calcolatori scrivendo programmi (file di testo)
• Linguaggio macchina: linguaggio di programmazione (linguaggio della CPU; sequenze di bit) linguaggio assemblatore (1 istruzione in binario codifica inglese)
Programma assemblatore: I (in ling assemblatore) O (linguaggio macchina)
Federica Baroni - Unibg
Traduttori
• Linguaggi di programmazione di alto livello (es. Basic, Pasca, Java ..PROGRAMMA SORGENTE) mediati da traduttori in linguaggio macchina (PROGRAMMA OGGETTO):
• Traduttori: traducono e consentono di eseguire lo stesso programma su calcolatori diversi (macchina astratta vs macchina fisica)Compilatore: intero programma
Interprete: singole istruzioni eseguite direttamente
Federica Baroni - Unibg
28/02/2018
23
Macchina di Turing
• Dispositivo (astratto) per l’elaborazione dell’informazione
• finalità: studiare le proprietà dell’elaborazione automatica dell’informazione e degli algoritmi
• alfabeto finito di simboli
• nastro di lunghezza infinita diviso in celle
• testina in grado di leggere e scrivere le celle
• insieme finito di stati (stato iniziale e finale)
• registro di stato (stato corrente)
• tabella delle azioni (registro delle azioni)
Federica Baroni - Unibg
Ingegneria del software e licenze
• Ciclo di vita del software
• Software house
• Licenza d’uso: uso limitato, copia vietata
• Licenza shareware: in prova per un certo tempo
• Licenza freeware: distribuito gratuitamente
• Software libero e software open source: distribuito gratuitamente con la versione sorgente per studio, modifiche e ridistribuzione
Federica Baroni - Unibg
Tipologie di software
• Sw di base: interazione utente-calcolatore (sistema operativo, compilatori e assemblatori)
• Sw applicativo: applicazioni che supportano l’utente in specifici campi applicativi (spesso in pacchetti)
Federica Baroni - Unibg
28/02/2018
24
Sw applicativo
videoscritturagestione di fogli elettroniciproduzione di presentazioni
multimedialidesktop publishing (volantini,
brochure, ...)gestione di basi di datieditor webgrafica e fotoritoccorealizzazione di diagrammigestione finanziaria
organizerproject managementapplicazioni legate a Internet e al
web (browser, posta elettronica, peer2peer, ...)OCRCADvideogiochifruizione e manipolazione
audio/video
Federica Baroni - Unibg
Sistema operativo
• Utilizzo generale
• Interazione h-m
• Gestione risorse
• Esecuzione sw applicativo
• Costituito da più macchine virtuali stratificate (interfaccia: nuove funzionalità agli strati superiori dalla macchina fisica ai programmi applicativi, all’utente)
onucleo (kernel): CPU
ogestore della memoria: RAM
ogestore dei dispositivi I/O: periferiche
ofile system: memorie massa
ogestore della rete: rete
ointerprete dei comandi: interazione utente
Federica Baroni - Unibg
Es.
Linux (ad es. Ubuntu): open source
Microsoft Windows
Microsoft Windows CE, Mobile, Phone
Mac OS
iPhone OS
Android
Federica Baroni - Unibg
28/02/2018
25
Gestione CPU
• Monoprogrammazione (esecuzione di 1 prog per volta, no SO, accesso al ling macchina su schede perforate) anni ‘60 multiprogrammazione (in RAM più programmi)
• Più terminali – 1 calcolatore: Timesharing e multitasking parallelismo virtuale (simulazione di una CPU per utente, simulazione di esecuzione parallela dei processi)
• Processo (dinamico): programma (istruzioni statiche) in esecuzione
✓pronto
✓in esecuzione (accede alla CPU, eseguite le istruzioni)
✓in attesa (del completamento del processo)
Federica Baroni - Unibg
• Context swapping (commutazione di contesto): cambio del processo in esecuzione: salvataggio stato del P1 + recupero stato del processo P2 per essere eseguito dalla CPU
• Videoterminali collegati contemporaneamente o in PC monoutente: virtuale contemporanea esecuzione di più processi (multitasking)
• 1 sola finestra attiva: processo in foreground
• altri processi in background
Federica Baroni - Unibg
Gestione RAM
La multiprogrammazione richiede alla RAM:
• controllo efficiente
• spazio garantito per i processi
• spazio protetto da intrusione di altri processi
• gestione di aree dati comuni a più processi e scambio di messaggi
Memoria virtuale (ogni programma opera come se avesse la RAM tutta per sé). In realtà:
• RAM suddivisa in pagine (blocchi di memoria)
• Programma rilocato in pagine libere della RAM gestite da Memory Management Unit (dispositivo hardware)
• Se non c’è memoria libera a sufficienza per i processi, si fa swapping su disco rigido (principio di località)
Federica Baroni - Unibg
28/02/2018
26
Gestione periferiche
• Periferiche virtuali: un processo opera come se la periferica fosse a sua completa disposizione
• Processo device independent (comandi di alto livello adatti al tipo di preriferica) grazie ai driver (il gestore trasforma comandi generici in istruzioni specifiche attraverso i driver)
• L’impiego di una periferica in un dato SO è dipendente dalla presenza di un driver specifico (oggi Plug and Play: riconoscimento, installazione e configurazione del driver appropriato)
Federica Baroni - Unibg
Gestione file
• Gestione dei file dal file system (gestione memorie di massa dal SO)• File organizzati gerarchicamente a partire da una cartella radice (root)• Struttura ad albero• File identificato univocamente tramite percorso (pathname)• File:formato dimensionedata e ora di creazionedata e ora dell’ultima modificaautorizzazioni
Federica Baroni - Unibg
Gestione rete
• Oggi SO integrano la gestione della rete: Network operating systems(NOS)
• Tipi di interazione:
uomo - calcolatore locale (no rete)
uomo - calcolatore remoto (es. client - server)
uomo-uomo (es. chat)
Federica Baroni - Unibg
28/02/2018
27
Interfaccia utente
• Gestisce l’interazione uomo/macchina
• Inizio sessione SO autenticazione utente dimostrando:
conoscenza (credenziali)possesso (smart card e simili)
caratteristiche fisiche (dati biometrici)
• Possibili diverse autorizzazioni:
amministratore di sistema
operatore di sistema (alcune operazioni)programmatore (applicazioni per altri utenti)
utente applicativo
• GUI e WYSIWYG (Acronimo di What You See Is What You Get)
Federica Baroni - Unibg
Software maligno (malware)
• Virus: blocco di codice infetto in un programma comune• Worm: intero programma che si diffonde e genera problemi sulla rete• Trojan: programma d’utilità che indebolisce il sistema • Spyware: raccoglie info sull’utente senza autorizzazione• Adware: proposta continua di pubblicità non richiesta• Crimeware: furto d’identità• hoax (bufala) e spam
• Firewall (hw o sw)• Antivirus
Federica Baroni - Unibg