Lezione 5: Software. Firmware Sistema Operativo. Introduzione all'informatica - corso E

Documenti analoghi
CdL in Medicina Veterinaria - STPA AA

Lezione 5: Software. Firmware Sistema Operativo. Laboratorio di Informatica

Il Sistema Operativo (1)

Corso di: Abilità informatiche

Corso di Informatica

Il software. Capitolo 3 La potenza non è nulla senza il software. Informatica di Base -- R.Gaeta 1

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il Software. Il software del PC. Il BIOS

Gestione del processore e dei processi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Informatica: il sistema operativo

Software di base. Corso di Fondamenti di Informatica

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI (NUCLEO) HARDWARE

GLI ARCHIVI DI DATI. File Un File è una sequenza di informazioni che costituisce una unità logica. Un file è un un contenitore di di informazioni

Gestione della memoria centrale

Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Fondamenti di Informatica

Funzioni del Sistema Operativo

Il sistema operativo

Indice degli argomenti del s.o. Software. Software. Buona lezione a tutti!! SISTEMI OPERATIVI

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO

Il computer: primi elementi

IL SOFTWARE. Giada Agostinacchio Classe 2^ Beat ISIS G.Meroni Lissone Anno Scolastico 2007/2008

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Laboratorio di Informatica

Il software. la parte contro cui si può solo imprecare. Il software

Sistemi operativi. Esempi di sistemi operativi

Introduzione all Informatica. Alfredo Cuzzocrea. Sistema Operativo

Parte V. Sistemi Operativi & Reti. Sistemi Operativi. Sistemi Operativi

Introduzione al sistema operativo Il file system: file, directory,...

Approccio stratificato

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Architettura hardware

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

Dispensa di Informatica I.1

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

MODULO 02. Iniziamo a usare il computer

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE

C. P. U. MEMORIA CENTRALE

PARTE 4 La Macchina Software

Infrastrutture Software

Informatica. Teoria. L architettura dei PC Storia dell informatica Periferiche Reti - Software. Marco Brama

HARDWARE. Relazione di Informatica

Informatica e Bioinformatica: Sistemi Operativi

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Architettura del calcolatore

Corso di Informatica

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

ECDL MODULO 1 Concetti di base della tecnologia dell informazione. Prof. Michele Barcellona

Il memory manager. Gestione della memoria centrale

CAPITOLO 1 I SISTEMI OPERATIVI

Architettura di un sistema operativo

Gestore di Memoria. Gestire le richieste di risorse di memoria Liberare le risorse non più utilizzate. Gestire la memoria virtuale (swap su disco)

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 25 febbraio Corso di laurea in Matematica

1.4b: Hardware. (Memoria Centrale)

Architettura dei computer

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi

Informatica per la Storia dell Arte. Anno Accademico 2014/2015

Fondamenti di Informatica: Sistemi Operativi 1. Introduzione

Sistemi operativi e reti A.A Lezione 2

Sistema Operativo Compilatore

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software:

Sistemi Operativi Kernel

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

Sistemi informatici. Informatica. Il software. Il sw di sistema. Il sw applicativo. Il sw di sistema. Il sistema operativo. Hardware.

Esame di INFORMATICA

Informatica - A.A. 2010/11

INFORMATICA, IT e ICT

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica

Il software: Istruzioni per il computer. I tre tipi di software di sistema. Compiti del sistema operativo

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Nozioni di Informatica di base. dott. Andrea Mazzini

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Il software. la parte contro cui si può solo imprecare. Funzioni principali del sistema operativo. (continua) Gestione della memoria principale

Corso di Sistemi di Elaborazione delle informazioni

Introduzione ai Sistemi Operativi

Architettura dei calcolatori II parte Memorie

Vari tipi di computer

Il Software... A.A Informatica 96

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Le parti hardware del computer

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Corso di Informatica

Elementi di Informatica e Programmazione

Transcript:

Lezione 5: Software Firmware Sistema Operativo

Architettura del Calcolatore La prima decomposizione di un calcolatore è relativa a due macrocomponenti: Hardware e Software Firmware: strato di (micro-)programmi che agiscono direttamente sullo strato hardware memorizzato dal costruttore su memoria permanente (ROM) Software applicativo Software di base Firmware Hardware Firmware permette la comunicazione tra il dispositivo in cui il firmware è integrato e il sistema operativo di un computer, traducendo le istruzioni ricevute in operazioni concrete (ad es: sposta la testina, scrivi un dato, leggi un dato). Il firmware della scheda madre è chiamato comunemente BIOS. 2

Firmware: il BIOS BIOS = Basic Input-Output System gestisce direttamente le risorse hardware ed offre delle funzionalità standard di accesso (terminal driver) risiede su un chip di memoria permanente ROM (e/o RAM + batteria di alimentazione) gestisce la procedura di avviamento (bootstrap) del calcolatore, consistente delle seguenti fasi 1. diagnostica (POST: Power-On Self Test) 2. inizializzazione delle risorse hardware (Setup) 3. caricamento (dal disco rigido verso la RAM) ed esecuzione della routine di bootstrap, che provvede quindi a caricare il sistema operativo 3

Procedura di avviamento Memoria di massa boot loader Sistema Operativo Memoria centrale BIOS POST Setup carica boot loader boot loader Sistema operativo ROM RAM 4

Sistema Operativo Software = insieme (complesso) di programmi. organizzato a strati, ciascuno con funzionalità di livello più alto rispetto a quelli sottostanti: Sistema Operativo è lo strato di programmi che opera al di sopra dell hardware (e del firmware) e gestisce l elaboratore Software applicativo Software di base Firmware Hardware 5

Sistema operativo (SO) Come Gestore delle Risorse controlla e gestisce tutte le funzioni del calcolatore in modo efficiente accetta e soddisfa le richieste degli utenti/programmi funziona come mediatore tra risorse in conflitto tiene traccia dell utilizzo delle risorse Come Macchina estesa simula una macchina estesa più facile da programmare, astraendo dai dettagli tecnologici dell hardware costituisce una base sulla quale è possibile scrivere programmi applicativi 6

Interazione dell utente con il SO Un utente "vede" l elaboratore solo tramite il SO, che simula una macchina virtuale diversi SO possono realizzare diverse macchine virtuali sullo stesso hardware aumenta l astrazione nell interazione utente/elaboratore senza SO: sequenze di bit con SO: comandi, programmi, dati Il S.O. traduce le richieste dell utente in opportune sequenze di comandi da sottoporre alla macchina fisica Il SO esplicita qualsiasi operazione di accesso a risorse hardware, implicitamente implicata dal comando dell utente 7

Interazione dell utente con il S.O. Utente esegui progr1 S.O. lettura comando da dispositivo di input risultato = 10 ricerca codice di progr1 su disco carica in RAM codice e dati <elaborazione> output su video 8

Interazione dell utente con il S.O. Interfaccia testuale Il S.O. interagisce con l utente mediante l interpretazione di linee di comando esempi: DOS, Linux Interfaccia grafica o GUI (Graphical User Interface) tutti i programmi e le funzioni sono mostrati sullo schermo mediante simboli immediatamente comprensibili (icone) esempi: Windows, MacOS (Macintosh) 9

Classificazione dei SO In base al numero di utenti: mono-utente (mono-user) un solo utente alla volta può utilizzare il sistema multi-utente (multi-user) più utenti in contemporanea interagiscono con la macchina il S.O. dà a ciascuno l'astrazione di un sistema dedicato In base al numero di processi: Mono-programmato (mono-task) si può eseguire un solo programma per volta Multi-programmato (multi-task) il SO permette di eseguire più programmi in contemporanea il SO gestisce la suddivisione del tempo fra i vari processi 10

Moduli del S.O. Moduli di un Sistema Operativo gestore dei processi gestore della memoria gestore delle periferiche gestore dei file (File system) interprete dei comandi Le funzioni del S.O. dipendono dalla complessità del sistema di elaborazione: gestione delle varie risorse hardware gestione della multi-utenza e del multi-tasking gestione della memoria centrale organizzazione e gestione della memoria di massa interpretazione ed esecuzione di comandi elementari 11

Gestione dei processi La CPU esegue programmi Si chiama processo l esecuzione di un programma Qualunque processo alterna fasi di esecuzione a fasi in cui è bloccato in attesa di qualche evento esterno attesa che sia terminata un operazione di input attesa per usare una risorsa al momento occupata 12

Strategie di esecuzione Strategie di esecuzione dei programmi mono-tasking: un processo per volta multi-tasking: più processi in contemporanea Limiti del mono-tasking Limitazione all uso del calcolatore un solo utente e una sola applicazione per volta Sotto-utilizzo del processore mentre il processo è bloccato in attesa di eventi esterni, il processore rimane inattivo (idle) i tempi di lavoro delle periferiche di I/O, e ancor più i tempi di reazione umani, sono maggiori di molti ordini di grandezza della velocità del processore 13

Multi-tasking tasking 14

Multi-tasking tasking Il tempo di lavoro della CPU è diviso tra i vari processi Ad ogni istante vi è un solo processo attivo Il processore alterna l esecuzione dei vari programmi Se l'alternanza tra i processi è frequente (es.10 ms), si ha l'impressione di un'esecuzione simultanea a livello macroscopico si ha quindi l'impressione della contemporaneità, mentre a livello microscopico si ha una semplice alternanza sequenziale molto veloce Il tempo totale di esecuzione di un singolo processo aumenta rispetto al caso mono-tasking a causa dell alternanza con gli altri processi 15

Gestione dei processi Stati di un processo: Selezione primo processo pronto dalla coda dei processi pronti creazione scambio esecuzione pronto in_esecuzione Termine quanto di tempo I/O terminato o risorsa disponibile terminazione richiesta I/O o risorsa in_attesa Problematiche di concorrenza fra processi Starvation: più processi potrebbero accedere alla risorsa condivisa ma solo alcuni di essi vi riescono Deadlock (blocco critico) un gruppo di processi rimane permanentemente bloccato senza che la risorsa contesa viene utilizzata da alcuni di essi Processo A: per concludere mi serve il risultato di B Processo B: per concludere mi serve il risultato di A 16

Esempio di esecuzione di un programma (vedi Lezione 3) Memoria centrale Registri CPU 1000 1001 1002 1003 3568 Load 3568 R1 Add R1 R2 Store R1 3568 Jump 1000 44 R1 R2 PC IR 30 1000 MAR Livello HARDWARE MDR 17

Gestione della memoria principale Visione astratta della memoria: un programma non deve conoscere la configurazione e le dimensioni della memoria reale e può essere eseguito su computer con dotazioni di memoria differenti il programma ignora gli indirizzi (fisici) delle celle di memoria effettivamente usate Nel caso multi-tasking la memoria deve essere condivisa da più processi: la memoria viene suddivisa in blocchi (paginazione) ad ogni programma si assegna un certo numero di blocchi (non necessariamente contigui) si può caricare un numero maggiore di programmi 18

Risoluzione degli indirizzi Indirizzi logici e indirizzi fisici: indirizzi logici: gli indirizzi presenti nei programmi indirizzi fisici: gli indirizzi RAM assegnati al programma quando viene caricato dal disco Risoluzione degli indirizzi Per poter essere caricato a blocchi il programma viene suddiviso in blocchi logici il SO associa ogni blocco logico ad uno fisico trasformando gli indirizzi logici in quelli fisici 19

Gestione della memoria principale: esempio Memoria centrale riservato P5/1 P1/1 P1/2 P1/3 P3/1 P3/2 P2/1 P2/2 Utente chiede di eseguire: 1) P5 2) P1 3) P3 4) P2 P1/1 P1/2 P1/3 P5/1 P3/1 P3/2 P2/1 P2/2 P2/3 P4/1 P4/2 P4/3 P4/4 P4/5 P4/6 P2/3 20

Gestione della memoria principale: esempio Memoria centrale riservato P1/1 P1/2 P1/3 P2/1 P2/2 Utente chiude: 1)P5 2)P3 Utente chiede di eseguire P4 P1/1 P1/2 P1/3 P5/1 P3/1 P3/2 P2/1 P2/2 P2/3 P4/1 P4/2 P4/3 P4/4 P4/5 P4/6 P2/3 21

Gestione della memoria principale: esempio Memoria centrale riservato P4/1 P1/1 P1/2 P1/3 P4/2 P4/3 P2/1 P2/2 Utente chiede di eseguire P4 P1/1 P1/2 P1/3 P5/1 P3/1 P3/2 P2/1 P2/2 P2/3 P4/1 P4/2 P4/3 P4/4 P4/5 P4/6 P2/3 22

Memoria virtuale Come è possibile eseguire uno o più programmi contemporaneamente che richiedono più memoria di quanta sia disponibile? Per eseguire un programma non è necessario caricarlo completamente in memoria: basta caricare in memoria principale solo le parti del programma e dei dati che servono durante una certa fase dell esecuzione Per gestire la memoria in modo virtuale, si usa: la memoria principale in cui tenere solo i programmi, o i pezzi di programmi, e i dati che servono in un certo istante (compreso il SO) un supporto di memoria secondaria in cui mantenere tutte le informazioni relative ai processi in esecuzione, non contenute nella RAM si usano i dischi rigidi perché sono abbastanza veloci e hanno accesso diretto 23

Memoria virtuale Le pagine sono caricate nella RAM indipendentemente, quando sono richieste per l esecuzione (on demand) Il SO stabilisce quali pagine eliminare dalla RAM per far posto a nuove pagine di processi in esecuzione se le pagine sono state modificate devono essere ricopiate sul disco Il processo di scambiare pagine tra memoria e disco si chiama swapping Lo swapping è costoso in termini di tempo e rallenta l esecuzione di un programma 24

Gestione delle periferiche Driver: programmi del SO per la gestione delle periferiche Funzioni assolte: Sincronizzazione fra calcolatore e ambiente esterno Asincronicità fra CPU-RAM e periferiche Accesso contemporaneo al calcolatore da parte di diverse periferiche Gestione di accessi contemporanei alle periferiche esempio: gestione delle richieste di stampa da parte di più processi attraverso code di spooling Astrazione/standardizzazione mascherare le differenze fra dispositivi dello stesso tipo 25

Gestione dei file (file( system) Si basa su una strutturazione logica del contenuto delle memorie di massa File: sequenze di bit, identificate da un nome Cartelle (directory): contenitori di file Unità di memoria di massa (a:, b:, c:, d:) Funzioni assolte: Astrazione/standardizzazione Reperimento efficiente Gestione degli accessi contemporanei Sicurezza e protezione 26

Alcuni sistemi operativi reali DOS IBM compatibili con architettura 80x86, monoutente, monoprogrammato Windows 3.1 Windows 9x Windows NT OS/2 Per le architetture a partire da 80386, monoutente, multiprogrammato Per le architetture a partire da 80486, monoutente, multiprogrammato Ambiente di rete per architetture da 80486, multiutente, multiprogrammato Ambiente per le architetture a partire da 80486, monoutente, multiprogrammato Unix Ambiente vasto e potente, capace di ospitarne altri, montato su gran parte delle workstation, multiutente, multiprogrammato MacOS Noto come Macintosh, monoutente, multiprogrammato 27

Classificazione dei calcolatori SUPER COMPUTER MINICOMPUTER NOTEBOOK, LAPTOP (Portatili) MAINFRAME WORKSTATION PERSONAL COMPUTER CLUSTER O RETI DI WORKSTATION Potenza di calcolo HANDHELD COMPUTER (Palmari) 28