• Non ci sono risultati.

Quali sono le funzioni di un SO ?

N/A
N/A
Protected

Academic year: 2021

Condividi "Quali sono le funzioni di un SO ?"

Copied!
22
0
0

Testo completo

(1)

I sistemi operativi

Università degli Studi di Salerno

Corso di Laurea in Scienze della Comunicazione

Informatica generale (matr. Dispari) Docente: Angela Peduto

A.A. 2005/2006

Il software

! Il termine software è utilizzato per indicare la parte immateriale del computer in opposizione a quella fisica definita hardware.

! Il software è diviso in due categorie:

! software di sistema

! software applicativo

! Si può dire che il software di sistema garantisce le funzioni base che permettono l’utilizzo del computer

! Il software applicativo viene utilizzato per risolvere specifici problemi, consiste nei programmi che

(2)

Angela Peduto - Informatica generale A.A. 2005/06

3

Cos’è un sistema operativo ?

Hardware Sistema Operativo

Applicazioni

È il livello di SW con cui interagisce l’utente e comprende

programmi quali : Compilatori Editori di testi Fogli elettronici Sistemi bancari Navigatori per Web

…..

Software

È il livello di SW che interagisce direttamente con l’hw e che si occupa di una uso corretto

ed efficiente delle risorse fisiche (processore, memorie, periferiche etc.)

Windows Unix/Linux Mac OS

gcc, Word, PowerPoint Excel, Explorer Fotoshop, Gimp

Quali sono le funzioni di un SO ?

! Esegue applicazioni :

! carica il programma binario prodotto della compilazione (e residente su disco) nella RAM,

! cede il processore all’applicazione da eseguire

! Facilita l’accesso ai dispositivi di I/O

! interagisce con le periferiche facendosi carico di tutti i dettagli fisici (es. modem, reti, video…)

! mette a disposizione operazioni di lettura/scrittura ad alto livello che possono essere usate senza conoscere i dettagli tecnici della periferica

(3)

Angela Peduto - Informatica generale A.A. 2005/06

5

Quali sono le funzioni di un SO ? (2)

!

Archivia dati e programmi :

! mette a disposizione dell’utente una visione astratta della memoria secondaria (il file system basato sulle astrazioni : file/archivi e folder/cartelle)

! gestisce la realizzazione di queste astrazioni sul supporto fisico (disco) gestendo tutti i dettagli legati alla lettura/scrittura dei settori

Quali sono le funzioni di un SO ? (3)

! Gestisce le risorse

! ripartisce le risorse disponibili fra le varie applicazioni (processore, RAM, periferiche)

! evita che ci siano malfunzionamenti dovuti all’uso contemporaneo di risorse

! es: un word processor e un web browser che inviano contemporaneamente dati alla stampante provocano una stampa erronea

! ottimizza le prestazioni scegliendo delle politiche che permettano di sfruttare al meglio tutte le parti del computer

(4)

Angela Peduto - Informatica generale A.A. 2005/06

7

Quali sono le funzioni di un SO ? (4)

! Gestisce malfunzionamenti del sistema

! rileva e gestisce situazioni anomale

! es: se il disco ha un settore difettoso, il SO può trasportare automaticamente le informazioni residenti su quel settore da un’altra parte

! es: se un’applicazione cerca di effettuare una operazione non permessa (come leggere i dati di un’altra applicazione) può bloccare l’applicazione segnalando all’utente la situazione erronea

! … i SO sono sistemi complessi che non sempre riescono a fare correttamente tutto quello che dovrebbero ….

Quali sono le parti di un SO ?

Gestore del processore

Gestore della

memoria Gestore delle File system periferiche

Interprete di comandi (shell)

Applicazioni Interfaccia grafica

(desktop)

(5)

Angela Peduto - Informatica generale A.A. 2005/06

9

I processi

! Quando un programma utente è stato attivato il processore esegue una dopo l’altra le istruzioni assembler che lo compongono

! Un programmain esecuzione viene detto ‘processo’

! Diversità tra programma e processo:

! 1 programma genera 1 o più processi

! il processo rappresenta lo stato di avanzamento del programma istante per istante.

! Processo utente: generato dall’esecuzione di un applicativo utente.

! Processo di sistema: generato dal SW di sistema (Sistema Operativo, utilities, ecc.).

Stato utente e stato supervisore

!

Stato utente :

! modalità di funzionamento del computer che permette l’accesso solo a un numero limitato di risorse

! es : un sottoinsieme delle istruzioni assembler (non si può accedere alle istruzioni che istruiscono le interfacce di I/O), una sola parte della RAM etc.

!

Stato supervisore :

! modalità che permette l’accesso a tutte le risorse

(6)

Angela Peduto - Informatica generale A.A. 2005/06

11

Stato utente e stato supervisore (2)

Gestore del processore

Gestore della

memoria Gestore delle File system periferiche

Interprete di comandi (shell) Applicazioni

Hw

Eseguiti in stato utente

Eseguiti in stato supervisore Interfaccia grafica

(desktop)

Stato utente e stato supervisore (3)

! I programmi che girano in stato utente richiedono servizi al SO tramite invocazione di

sottoprogrammi speciali

! system call o chiamate di sistema

! Il sistema operativo decide come e quando effettuare il servizio

! Il sistema operativo può interrompere un

programma che gira in stato utente per eseguire altri programmi o per effettuare operazioni di

‘gestione’ della macchina

(7)

Angela Peduto - Informatica generale A.A. 2005/06

13

Esecuzione di un programma

! Quando un programma utente è stato attivato il processore esegue una dopo l’altra le istruzioni assembler che lo compongono

! Un programma in esecuzione viene detto ‘processo’

! Problema : Come fa il Sistema Operativo a riprendere il controllo del processore dopo l’attivazione di un

processo?

! Terminazione (normale o erronea)

! Interruzione

Terminazione di un processo

! Un processo termina :

! Quando esegue una istruzione assembler di terminazione

! Quando effettua una operazione illecita (es. cerca di accedere a memoria privata di altri processi)

! Quando c’è un errore che non lo permette di proseguire (es. overflow, etc)

! In tutti questi casi il processore ricomincia

automaticamente ad eseguire il sistema operativo ad un indirizzo prefissato

(8)

Angela Peduto - Informatica generale A.A. 2005/06

15

Interruzione di un processo

! Il sistema operativo può bloccare un processo in un qualsiasi istante della sua esecuzione per effettuare qualche operazione di gestione della macchina

! Questo avviene attraverso il meccanismo hardware delle interruzioni

Interruzione di un programma (2)

! Come funzionano le interruzioni

! ogni periferica può ‘richiedere attenzione’ inviando un segnale di interruzioneusando le linee di controllo del bus

! alla fine dell’esecuzione di ogni istruzione assembler il processore controlla la presenza di una interruzione

! se è presente il controllo passa automaticamente al sistema operativo

(9)

Angela Peduto - Informatica generale A.A. 2005/06

17

Classificazione dei S.O.

! Classificazione dei S.O. in base alla modalità di gestione dei processi:

! mono-tasking

! multi-tasking:

! multi-tasking ‘semplice’

! time-sharing

" time-sharing con priorità

! real-time

Classificazione dei S.O. (2)

! Mono-tasking: esecuzione sequenziale dei processi

! Multi-tasking: Esecuzione “contemporanea”di più processi (molti programmi risiedono

contemporaneamente nella RAM)

! Semplice: mentre il processo i attende per un’op. di I/O viene mandato in esecuzione il processo j

! Time-sharing: si usa la tecnica dei quanti di tempo vengono mandati in esecuzione ciclicamente

! Real-time: suddivisione del tempo in quanti,

assegnazione di priorità statica ai processi (alle attività critiche valori alti di priorità).

(10)

Angela Peduto - Informatica generale A.A. 2005/06

19

Il gestore del processore

! Nei computer attuali, tutti i programmi che compongono il SO ed i programmi applicativi

‘avviati’ sono attivi contemporaneamente sul calcolatore (multiprogrammazione)

! es : Windows 2000 + Word + cd player ...

! Il gestore del processoresi preoccupa di far condividere il processore a tutti i programmi attivi in modo corretto

! lo scopo è dare l’impressione che ognuno abbia il suo processore dedicato

Il gestore del processore (2)

! Nei sistemi attuali sono in esecuzione più processi

‘contemporaneamente’.

! La CPU esegue comunque una sola istruzione per volta.

! Il S.O. gestisce l’avvicendamento dei processi in esecuzione: assegna la CPU ai vari processi istante dopo istante (lo scopo è dare l’impressione che ognuno abbia il suo processore dedicato)

(11)

Angela Peduto - Informatica generale A.A. 2005/06

21

Il gestore del processore (3)

!

Si usa la tecnica dei quanti di tempo

! es: 3 programmi attivi Prog1, Prog2, Prog3

! vengono mandati in esecuzione ciclicamente

Quanto 20-100 ms

Eseguo Prog1 Eseguo Prog2 Eseguo Prog3

Periferica ‘orologio interno’

Eseguo Prog1

Interruzione : il SO

riprende il controllo e decide chi eseguire nel quanto successivo

Il gestore della memoria

! Tutti i programmi che compongono il SO ed i programmi applicativi attivi usano

contemporaneamente la RAM

! Il gestore della memoria si preoccupa di fare condividere la RAM ai vari processi in

esecuzione in modo che :

! ogni processo abbia il suo spazio privato distinto dagli altri (e inaccessibile agli altri)

! ogni processo abbia abbastanza memoria per eseguire il proprio algoritmo e raccogliere i suoi dati

(12)

Angela Peduto - Informatica generale A.A. 2005/06

23

Il gestore della memoria (2)

! La gestione statica

! ricopiare interamente lo spazio di indirizzamento di un programma da memoria secondaria a RAM all’inizio dell’esecuzione

! abbiamo già visto un esempio :

Sistema Operativo Spazio programma 1

Area riservata, non accessibile in modalità utente

Una possibile

organizzazione della RAM con più programmi attivi contemporaneamente

0 AmpiezzaRAM - 1

Spazio programma 2 RAM vuota

Il gestore della memoria (3)

! Problemi della gestione statica

! non posso girare programmi con spazio di indirizzamento grande della RAM !

! Attualmente ogni programma usa almeno 4GB di spazio di indirizzamento, con RAM assai più piccole…

! Soluzione : gestione dinamica (a pagine)

! ad ogni istante carico in RAM solo i pezzi che mi servono per l’esecuzione corrente

(13)

Angela Peduto - Informatica generale A.A. 2005/06

25

Il gestore della memoria (4)

! Paginazione

! lo spazio di indirizzamento di ogni processo è diviso in

‘fette’ (pagine) tutte della stassa ampiezza

0 1 2 3 4 ..

Programma 1

Pagina : ‘fetta’ dello spazio di indirizzamento (1-4K)

0 1 2 3 4 ..

Programma 2

0 1 2 3 4 ..

Programma 3

Il gestore della memoria (5)

! Paginazione

! ad ogni istante solo le pagine necessarie sono caricate in memoria (località!)

RAM vuota

0 1 2 3 4 ..

Programma 1

0 1 2 3 4 ..

Programma 2

0 1 2 3 4

(14)

Angela Peduto - Informatica generale A.A. 2005/06

27

Gestione delle periferiche

Ogni periferica è gestita da due entità cooperanti :

! il controllercontroller :

un dispositivo hardware che colloquia direttamente con la parte elettrico/meccanica della periferica

! il driverdriver :

un programma software che fa parte del sistema operativo e che conosce le caratteristiche della periferica ed è capace di colloquiare con il controller

Gestione delle periferiche (2)

! Solitamente il driver non è sviluppato da chi

costruisce il SO (es. Microsoft) ma da chi costruisce il dispositivo

! Quando viene acquistata una nuova periferica il driver corrispondente deve essere inserito nel Sistema Operativo (installazione)

! operazione rischiosa, perché se il nuovo driver è difettoso può rovinare il vostro sistema (il driver essendo nel SO ha accesso a tutta la macchina senza restrizioni!….)

(15)

Angela Peduto - Informatica generale A.A. 2005/06

29

Driver e controller (3)

! Quando si installa un nuovo driver bisogna fornirgli delle informazioni a basso livello per permettergli di colloquiare correttamente con il resto del sistema (configurazione)

! es: stabilire quali linee del bus utilizzare per inviare una interruzione ...

! Periferiche plug&play : quelle per cui la

configurazione può essere fatta automaticamente dal sistema

! sono generalmente tutte così nei PC odierni

Il File system

(16)

Angela Peduto - Informatica generale A.A. 2005/06

31

File System

!

È la parte del SO che

! permette di memorizzare dati e programmi in modo persistente

! permette di organizzare dati e programmi in modo da renderne agevole la localizzazione da parte dell’utente umano

! può essere modificata per cancellare dati obsoleti, aggiornare l’organizzazione etc ..

File System (2)

!

Le astrazioni fornite sono :

! il filefile(o archivio) : una sequenza di byte che contiene dati o programmi rappresentati con una opportuna codifica binaria

! il folderfolder/directory (o cartella) : astrazione che permette di collezionare insieme più file e/o folder

(17)

Angela Peduto - Informatica generale A.A. 2005/06

33

File System (3)

!

Esempio : una possibile organizzazione dei file relativi ai diversi corsi che insegno

File:

lucidi lez1

File:

lucidi lez2

File:

compiti e voti Folder : inf_gen

Folder : sis_op Folder : corsi

File System (4)

!

La struttura è gerarchica (ad albero)

File:

lucidi

File:

compiti Folder : inf_gen

Folder : corsi

Folder : sis_op

File:

lucidi Contenuto del

folder ‘corsi’

(18)

Angela Peduto - Informatica generale A.A. 2005/06

35

File System (5)

!

La struttura è gerarchica (ad albero)

File:

lucidi lez2

File:

compiti e voti Folder : inf_gen

Folder : corsi

Folder : sis_op

File:

lucidi lez1 Contenuti dei

due folder inf_genesis_op

File

!

Come si crea un file

! utilizzando una applicazione

! editori di testi per creare file di testo secondo diversi formati (doc,html,text) es. Word

! applicazioni per gestire grandi quantità di dati persistenti (basi di dati) es. Access

! fogli elettronici es. Excel

! dando comandi diretti al SO

! es. chiedendo di duplicare un file esistente (taglia e incolla …) via shell o interfaccia grafica

(19)

Angela Peduto - Informatica generale A.A. 2005/06

37

File (2)

! Nome di un file

! ogni file ha un nome (eslez1.doc, lez2.pptetc)

! il nome deve essere unico nel folder che contiene il file

! la parte dopo il punto (.) si chiama ‘estensione’

di solito l’estensione da informazione sul formato del file e/o sull’applicazione utilizzata per crearlo

lez2.ppt

estensione

File (3)

!

Nome di un file (cont.)

! alcuni SO (come Windows) non mostrano normalmente l’estensione

! lez1.docviene mostrato come ‘lez1’

! tuttavia l’estensione è presente e serve al sistema per capire che tipo di file è e quale applicazione attivare quando desideriamo

‘leggerlo’

! es. un doppio click su un file lez1 attiva automaticamente Word per visualizzarlo

(20)

Angela Peduto - Informatica generale A.A. 2005/06

39

Folder

!

Anche i folder sono identificati univocamente da nomi

! es inf_gen, corsi

! non usano estensioni

! contengono solo informazioni sui file/folder

contenuti (il formato di queste dipende dal dal file system usato, e quindi dal SO)

! non dobbiamo discriminare fra codifiche diverse

Folder (2)

! Per creare un folder basta invocare una opportuna funzione del SO

! es. scegliere una opportuna opzione (new folder,nuova cartella) in un menu dell’interfaccia grafica

! Per cancellare file/folder basta invocare una opportuna funzione del SO

! es. trascinarli con il mouse fino al cestino

! I file/folder possono essere spostati da un folder all’altro

(21)

Angela Peduto - Informatica generale A.A. 2005/06

41

Sicurezza

! Come evitare che i nostri file siano letti da altri utenti che hanno accesso al sistema?

! Assegnare ad ogni utente : Account (nome unico identificativo) e password (segreta, abbastanza complessa!)

! Ogni file appartiene ad un utente

! Il proprietario può specificare se un file può essere letto o scritto anche da altri

! Il file system al momento dell’accesso controlla che l’operazione sia effettivamente consentita

Sicurezza (2)

! Il superutente (root,administrator)

! E’ l’account dell’amministratore del sistema

! Può accedere in maniera non ristretta dappertutto

! I file del sistema operativo sono generalmente dell’utente root e non sono accessibili da nessun altro utente

! …… ovviamente il superutente è oggetto di numerosi tentativi di violazione

! termini come attack, hacker si riferiscono a questo

(22)

Angela Peduto - Informatica generale A.A. 2005/06

43

Sicurezza (3)

! I vecchi sistemi Windows (3.1,95,98) non avevano alcun meccanismo di protezione

! tutto gira in stato kernel

! da cui la facilità di danneggiare il sistema operativo o i file utente (es. con virus)

! molto pericoloso in connessioni Internet non sporadiche

! Windows NT, 2000, XP sono protetti

! è necessario però creare utenti non privilegiati

! Sistemi Unix/Linux protetti fino dagli anni 70

Riferimenti

Documenti correlati

In questa specifica applicazione, così come più in generale, sembra auspicabile progredire nella integrazione tra teoria e pratica, e quindi anche nella individuazione di

presenta il seguente “Piano Tecnico-operativo di esecuzione” 1 per illustrare le modalità tecnico operative con cui verrà eseguita la fornitura e posa in opera

OGGETTO: PIANO TECNICO-OPERATIVO DI ESECUZIONE PER LA FORNITURA E POSA IN OPERA DI ARREDI E ALLESTIMENTI PER L'URBAN CENTER DELLE IMPRESE DI CORSO CAVOUR 2/2 – TRIESTE -

SAPIENZA - Università di Roma – Dipartimento di Ingegneria Informatica Automatica e Gestionale Antonio Ruberti (DIAG).. Via Ariosto 25 - 00185 Roma –

Stefano Mancuso, neurobiologo vegetale lo racconta in uno dei suoi libri ("L'incredibile viaggio delle piante", Laterza) e ci rammenta come un ginkgo biloba

MS-DOS, UNIX: Tutte le risorse del sistema (contenuto delle memorie di massa e periferiche) vengono viste in termini di file, e l'interazione utente-macchina virtuale avviene

Il Seminario ha l’obiettivo di presentare agli operatori del settore le attività di ricerca e di trasfe- rimento tecnologico in fase di svolgimento nell’ambito del Progetto

• Controlla l’allocazione della memoria centrale ai diversi programmi che possono essere contemporaneamente in esecuzione, al fine di risolvere le relative esigenze dei vari