Sistema Operativo
Cose che non si possono non sapere!
Pablo Genova
I. I. S. “Angelo Omodeo”
Mortara
A. S. 2015 – 2016
Software di sistema e software applicativo
Il software di sistema o sistema operativo o
software di base è il software indispensabile
affinché il calcolatore funzioni.
Il sistema operativo in particolare:
● gestisce le risorse hardware
● gestisce l'interfaccia tra l'hardware e l'utente
Il software applicativo invece non è necessario per
far funzionare il sistema, ma gestisce specifici
compiti richiesti dall'utente es. word, excel, paint
Al momento del BOOT, BIOS!
Quando si avvia un computer c'è una fase iniziale detta
BOOT, o bootstrap, durante la quale il
BIOS Basic Input Output Sistem
esegue dei test diagnostici, carica delle informazioni dalla
ROM e avvia il SISTEMA OPERATIVO
Schermata iniziale
Scarpa con bootstrap
Il termine bootstrap deriva dall'espressione: to pull oneself up by one's bootstraps che è un po'
come dire chi fa da sé fa per tre, fai da solo quello che devi fare, il computer si avvia da solo...
SISTEMI OPERATIVI PIU' COMUNI
Per i computers ricordiamo almeno:
WINDOWS
MICROSOFT DOS (“padre” di Windows)
LINUX
UNIX (“padre” di Linux)
MACINTOSH OS abbreviato in Mac OS
e tanti altri. Di ciascun S. O. ci sono tante versioni
Sugli smartphones, tablets (etc etc) troviamo anche:
ANDROID, cugino di Linux
WINDOWS PHONE, analogo a Windows
iOS, per gli iPhone della Apple, cugino dei Mac
e tanti altri...
La versione di un programma o di un S. O. si chiama release
N. B. Tanti dispositivi hanno un loro sistema operativo ad es. il navigatore
dell'auto (Tom Tom), molti strumenti di misura (anche dal meccanico! o in
laboratorio... li possiamo trovare quasi dappertutto!)
STRUTTURA DI UN SISTEMA OPERATIVO
LA STRUTTURA DI UN SISTEMA
OPERATIVO TIPICAMENTE E'
A LIVELLI (O A CIPOLLA)
VEDREMO SOLO BREVI CENNI SUI LIVELLI PRINCIPALI
CIASCUN LIVELLO
L'hardware è dunque “ricoperto” da tanti livelli
software.
Ciascun livello:
- usa le funzionalità del livello sottostante
- fornisce servizi ai livello che segue nella
gerarchia
- gestisce
delle risorse mediante
operazioni invisibili ai livelli superiori
delle
NELLE SLIDES SUCCESSIVE DESCRIVIAMO BREVEMENTE I LIVELLI
PIU' IMPORTANTI
GESTIONE CPU
Il livello più basso (vicino all'hardware) è quello del kernel (nucleo)
Questa parte del sistema operativo si occupa della
gestione dei programmi
Un programma in esecuzione è detto processo
Il kernel distribuisce le risorse di calcolo tra i vari processi attivi
MULTITASKING
TIPICAMENTE I SISTEMI OPERATIVI ODIERNI SONO
MULTITASKING:
RIESCONO A GESTIRE TANTI PROCESSI
CONTEMPORANEAMENTE
TASK = PROCESS = PROCESSO DA ESEGUIRE
MULTITASKING = FARE MOLTE COSE CONTEMPORANEAMENTE
Task Manager o Gestione Attività: programma di Windows,
attivabile anche premendo CTRL + ALT + CANC, che permette di
visualizzare tutti i processi (tasks) in corso ed eventualmente
uccidere (kill) quelli che non si vogliono far proseguire, si sono
bloccati, utilizzano troppa memoria etc etc
GESTIONE MEMORIA
La memoria è una risorsa essenziale e limitata
Essenziale: ogni programma in esecuzione ovvero ogni
processo deve essere caricato in memoria
Limitata: le risorse sono comunque finite e tanti processi
funzionano contemporaneamente
Pertanto il sistema operativo deve trovare spazio per i
vari processi, allocare opportunamente lo spazio, ridurre
la frammentazione della memoria
Tutto ciò avviene nel livello della gestione della memoria
GESTIONE I/O (INPUT OUTPUT)
L'accesso alle periferiche di I/O viene gestito in un
opportuno livello del sistema operativo.
In questo livello sono presenti i drivers di periferica:
specifici programmi che permettono il funzionamento del
dispositivo collegato al PC (scanner, stampante, disco
esterno etc etc)
Come è noto, senza aver installato il driver, il dispositivo non
funziona. Di solito il driver è fornito dal costruttore e si può
installare scaricandolo dalla rete (tipicamente in modo automatico
o semi automatico, ma NON sempre).
Errori di I/O: sono errori legati al funzionamento delle
periferiche di I/O, ad es. carta mancante, non è possibile scrivere
su disco, toner esaurito, disco danneggiato, non formattato etc etc
GESTIONE FILES, FILE SYSTEM
Un file è un insieme di informazioni memorizzate su disco fisso,
identificate da un nome assegnato in fase di salvataggio e da
un'estensione (vedi anche slide 13).
Il sistema operativo memorizza in modo organizzato i dati in files
(e cartelle), salvandoli in modo permanente sulle memorie di massa
(determinati bit e bytes del disco fisso sono logicamente collegati e
costituiscono il files, i bit non sono neccessariamente contigui sul
disco fisso, tecnicamente sono frammentati)
La struttura e le regole utilizzate per gestire i dati in files si chiama
file system (o filesystem) e dipende dal tipo di sistema operativo.
In particolare il file system permette di:
- creare, copiare o cancellare files (copy, save, delete)
- leggere, scrivere, esegure file (read, write, execute)
- gestire più utenti (se è multiutente), controllare gli accessi degli
utenti
DIRECTORIES (= CARTELLE) E FILES
I files sono contenuti in cartelle o directories (in inglese cartella si
dice directory, plurale directories)
A sua volta una cartella può contenere altre sottocartelle etc etc
La struttura dei files è gerarchica: a partire da una directory
“madre” detta radice o root del file system, entro di essa si
annidano le varie directory, fino ai files del singolo utente.
Il percorso assoluto di un file (absolute path) identifica la
posizione del file nel filesystem. Esempio in Windows
C:\Users\pablo\Documents\Omodeo\presentazioni\mio_file.pdf
La prima è una lettera che rappresenta l'unità di memoria di massa
utilizzata A: (B:) sono floppy C: disco fisso principale D: E: etc altri
dischi fissi (chiavette usb etc) le cartelle sono separate da “\”
Si vede la struttura gerarchica (ad albero) delle directory
IMPORTANTE: Il percorso corrente è indicato nella barra
dell'indirizzo (o degli indirizzi) della finestra Windows
ESTENSIONE DI UN FILE
Un file è univocamente identificato da un nome e da
un'estensione separati da un . nome.estensione:
Esercizio.docx
Il nome non può contentere i caratteri ? / \ * “” : > < |
Attenzione agli spazi che possono dare problemi:
meglio Esercizio_1.docx di Esercizio 1.docx
(spazio consentito, ma può dare problemi talvolta)
L'estensione è la parte del nome completo del file che segue il punto ed
identifica il tipo di programma che crea il file, tipicamente è costituita da
un certo numero di lettere.
CAUTELA NEL CAMBIARE L'ESTENSIONE DI UN FILE!
ESTENSIONI E TIPI DI FILE DA SAPERE
Un po' di files che potete incontrare è che è bene sapere
riconoscere
.doc o .docx
Microsoft Word
.xls o xlsx
Microsoft Excel
.ppt o .pptx
Microsoft Power Point
.mdb o .accdb
Microsoft Access (Data Base)
.exe
Eseguibile Microsoft
.zip o .rar
File o cartella compressa
.gif, .jpeg, .jpg, .bmp, .tif, .svg
File di tipo grafico
.mpg .avi .mpeg
File di tipo video
.mp3, .wav, .midi
File di tipo audio
.txt o .dat
File di testo/dati
.pdf
File Acrobat Reader/Writer
Portable Document Format
OPERAZIONI SUI FILES E
CARATTERI JOLLY
PER LE OPERAZIONI SU FILES VEDI LIBRO
(VOLUME 1) PAGINE 63 E SEGUENTI
Vi spiega come copiare, selezionare, incollare, ordinare
files e directory...
PROVA...
A pagina 69 trovate l'uso dei comodi caratteri jolly nelle
ricerche:
Il carattere * vuol dire qualsiasi tipo di carattere in numero illimitato
Il carattere ? vuol dire un solo carattere qualsiasi
*.xls → cerca qualsiasi file che termina per xls (excel) (pippo.xls pablo.xls
ciao.xls omodeo.xls etc etc)
ci?o.xls → cerca un file tipo ciao.xls o cito.xls ciX.xls una sola lettera
ci*o.xls → cerca ciao.xls, ma anche ciaooooo.xls …. capito?
Prova, prova, prova!
LA GUI GRAPHYCS USER INTERFACE
La GUI è l'interfaccia grafica del Sistema Operativo
Le famose finestre (windows) di Windows sono appunto le finestre
grafiche che si aprono e permettono di guardare i files e le
applicazioni
L'utente medio utilizza la GUI per interagire con il sistema operativo,
d'altra parte è bene ricordare che non tutto può essere fatto con la
GUI e la GUI stessa per funzionare richiede risorse di memoria.
Se ho poca memoria disponibile → minimizzare l'uso della grafica!!
Esempio di GUI
di Windows 7
BARRE NELLA GUI DI WINDOWS
Esercizio: apri una GUI di Windows ad esempio la
cartella Documenti oppure Gestione Risorse ed individua
le varie barre presenti nella GUI.
Ad esempio: la barra superiore o del titolo, la barra
dell'indirizzo (o degli indirizzi), eventuali barre di
scorrimento laterali, la barra dei comandi.
Talune di queste barre possono non essere visibili a
seconda di come è configurato il sistema.
E'
bene
sapere
la
loro
funzione
(scoprila
sperimentalmente, il nome stesso lo suggerisce).
VEDI PAGINA 49 del Libro (Volume 1)
STAMPA DI FILES, GESTIONE STAMPE
Su questo importante processo di I/O INPUT/OUTPUT (o meglio
di OUTPUT) diciamo almeno che è gestito dal
print spooler o spooler di stampa
L'utente manda molte stampe e più utenti possono mandare tante
contemporaneamente, bisogna che ci sia un programma, il print
spooler, che gestisca le code di stampa ovvero decida un ordine
ai processi (il processo di stampa richiede tempo, molto di più del
clic per lanciare la stampa stessa, potrebbe essere necessario
interromperlo, potrebbe finire il toner o la carta etc etc).
Esercizio: apri, a partire dal pannello di controllo, il print spooler
vedendo se ci sono code di stampa e quali opzioni sono previste
per i processi in stampa (sospendi, riprendi, riavvia, annulla)
GESTIONE ATTIVITA' IN WINDOWS
Gestione attività è un programma importante che permette di vedere i
processi e le attività in corso sul vostro computer.
Prova ad aprirlo, a seconda della versione di Windows è diverso.
Si può attivare anche digitando CTRL ALT CANC contemporaneamente
LICENZE vedi pag 31 del libro (vol 1)
Il software commerciale comunemente utilizzato è
accompagnato da una LICENZA D'USO
La licenza d'uso è un contratto che stabilisce l'uso che è
consentito fare del programma in questione.
Attenzione che violare la licenza d'uso è illegale e comporta
sanzioni.
Spesso i programmi commerciali hanno un costo, per poterli
utilizzare bisogna COMPRARE una licenza, viene fornita una
chiave d'accesso Product Key e un codice di identificazione
mediante il quale l'utente può utilizzare legalmente il
programma
EULA: End-User License Agreement “contratto con l'utente
finale” è il contratto che l'utente firma quando installa il
programma. Prevede diritti, ma prescrive obblighi
E se non posso pagarmi la licenza?
Posso utilizzare il SOFTWARE LIBERO!
Software creato da programmatori che NON richiedono
il pagamento di licenze o altro, si può usare liberamente
e gratuitamente, that's freeware (“merce libera”)
Freeware: software gratuito
(un po' l'equivalente del copyleft per i libri)
Software libero open source = software a SORGENTE
APERTO: non solo è gratuito, ma si può vedere e
modificare liberamente la parte interna, il codice
sorgente, ovvero l'insieme delle istruzioni, scritte in
linguaggio di programmazione, che fanno funzionare il
programma.
Esempio di software libero open source: LibreOffice
(con cui ho creato tutte queste slides)
CONCETTO DI SHELL (CENNI)
Prova ad aprire il PROMPT dei comandi DOS, ti comparirà
una finestra così:
Questa è al shell dei comandi DOS. Si può interagire col
sistema operativo con opportuni comandi di shell che
permettono fare tutte le cose che siamo abituati a fare con la
GUI ad esempio copiare file, aprire un programma etc etc
Il programmatore esperto USA LA SHELL per fare quello che
deve fare col sistema operativo (è più efficiente in molti casi)
sappiate almeno che esiste!!
MONDO LINUX
Tux
Per concludere questo nostro studio sui sistemi
operativi, diciamo almeno due parole sul
sistema operativo LINUX.
Il sistema operativo della MICROSOFT è commerciale, protetto da licenza
d'uso (che va pagata alla Microsoft) e il sorgente NON è visibile. Certe
modifiche l'utente NON potrà MAI farle.
Il suo punto di forza è la diffusione e la semplicità di utilizzo.
Tuttavia esiste anche un'altra filosofia di vita (informatica), legata ai
sistemi di software prima UNIX e poi LINUX.
Il sistema operativo Linux è open source, gratuito, permette un
maggiore controllo dei processi e del sistema.
Il “prezzo” da pagare è una maggiore complessità di utilizzo per
l'utente alle prime armi.
Tuttavia ci sono delle versioni di Linux come UBUNTU
linux che sono facili da installare ed utilizzare.
Filosofia dell'ubuntu: Umuntu ngumuntu ngabantu:
"io sono ciò che sono in virtù di ciò che noi tutti siamo"