Fondamenti di informatica 4 - 1 e 2.pdf · ENIAC • Primo calcolatore elettronico universale •...

27
28/02/2018 1 Fondamenti di informatica 4 Federica 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

Transcript of Fondamenti di informatica 4 - 1 e 2.pdf · ENIAC • Primo calcolatore elettronico universale •...

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