Parte IX. Windows. Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 1



Documenti analoghi
La genealogia di Windows. Windows NT e Windows 95/98. Dimensioni del codice. Parte IX. Windows

Organizzazione Monolitica

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi

Architettura di un sistema operativo

CAPITOLO 5 - Sistemi Operativi Moderni

Il Software. Il software del PC. Il BIOS

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

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

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Il Sistema Operativo (1)

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

Sistemi operativi. Esempi di sistemi operativi

Esercitazione E1 Scheduling, deadlock, monitor

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

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

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

Pronto Esecuzione Attesa Terminazione

Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia

Gianluigi Magnasco easitec S.r.l. Parma, 16 Settembre 2010

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

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

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

Corso di Sistemi di Elaborazione delle informazioni

Approccio stratificato

CdL in Medicina Veterinaria - STPA AA

Esercitazione E6 Esercizi d esame

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

PARTE 4 La Macchina Software

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

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

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

La Gestione delle risorse Renato Agati

Computazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Il computer: primi elementi

Lo scheduler di UNIX (1)

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

Software di base. Corso di Fondamenti di Informatica

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Il Sistema Operativo

Componenti di Sistemi Operativi. System Call Programmi di sistema Componenti di un SO Servizi di SO

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

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

L API socket ed i daemon

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

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Approfondimenti. Contenuti

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Esame del Sistema Operativo Windows Architettura degli elaboratori 2 - T. Vardanega Pagina 204 # $ % &:,"( "(; "; 5 --$/-$0' 9 <43 --./-.

Introduzione ai Sistemi Operativi

Laboratorio di Informatica

Tesina per l esame di Sistemi Operativi a cura di Giuseppe Montano. Prof. Aldo Franco Dragoni

Modello dei processi. Riedizione delle slide della Prof. Di Stefano

Funzioni del Sistema Operativo

La memoria centrale (RAM)

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

VMware. Gestione dello shutdown con UPS MetaSystem

Potenza Elaborativa, Sistemi Operativi e Virtualizzazione

MODULO 02. Iniziamo a usare il computer

Capitolo 3: Strutture dei sistemi operativi

SISTEMI OPERATIVI THREAD. Giorgio Giacinto Sistemi Opera=vi

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

Corso di Informatica

Sistemi Operativi (modulo di Informatica II) Architettura

Mac Application Manager 1.3 (SOLO PER TIGER)

Introduzione ai sistemi operativi

STRUTTURE DEI SISTEMI DI CALCOLO

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

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

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Architetture software. Virtualizzazione

Cosa è un foglio elettronico

Esercitazione E2 Memoria virtuale

Sistemi operativi e reti A.A Lezione 2

Sistemi Operativi Il Sistema Operativo Windows (parte 3)

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

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Corso di Informatica

Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia ( e da un tutorial di Pierlauro Sciarelli su comefare.

Architettura di un sistema operativo

Introduzione alle applicazioni di rete

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

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

Scalabilità, Controllo distribuito e Console multiple

2. Strutture dei Sistemi Operativi

Organizzazione della memoria

Il Concetto di Processo

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

Sistemi Operativi di Rete. Sistemi Operativi di rete. Sistemi Operativi di rete

Architettura dei computer

Linux nel calcolo distribuito

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

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base)

Transcript:

Parte IX Windows Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 1

La genealogia di Windows DOS: sistema operativo monoutente Windows 3.1 interfaccia a finestre che gira su DOS Windows 95/98 (linea personal): Ancora molto codice a 16 bit Parte del codice del SO non rientrante Windows NT 4 (linea server): Stessa interfaccia di Windows 95/98 Architettura profondamente diversa Windows 2000 (unifica le due linee) Architettura basata NT Windows XP Windows Vista Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 2

Windows NT e Windows 95/98 Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 3

Dimensioni del codice G Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 4

Win32 API Chiamate di sistema non documentate Accesso indiretto tramite API (Application Programming Interface) Chiamate API supportate (in avanti) da tutte le versioni di Windows: portabilità del software Funzioni numerosissime: molti modi di fare la stessa cosa Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 5

Il registry file È un database che contiene tutte le informazioni relative a: Configurazione del sistema, driver delle periferiche Utenti, sicurezza Applicazioni installate, librerie usata, etc. Boot Struttura gerarchica del registro: Keys: directory Subkeys: subdirectory Values: contengono le informazioni Root keys: sono quelle a livello più alto Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 6

Il registry file: root keys Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 7

Architettura di Windows 2000 Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 8

Hardware Abstraction Layer (HAL) HAL: il computer di 2001 Odissea nello spazio (èla traslitterazione di IBM, scalando di una lettera) Incapsula tutte le caratteristiche della piattaforma HW Differenze a livello di chip Differenze a livello di scheda madre Tutto il resto del sistema operativo è scritto in maniera indipendente dalla piattaforma Una grande varietà di HAL sono distribuiti con il software di installazione Quello che viene installato si trova in \winnt\system32 nel file hal.dll Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 9

Windows 2000 Executive Solo l Executive gira in modo kernel Hardware Abstaction Layer: strato di disaccoppiamento fra SO e piattaforma hardware Microkernel: scheduling dei threads, gestione delle interruzioni, gestione del multiprocessamento Executive Services: moduli relativi ai vari tipi di servizi offerti dall Executive I/O Manager: gestisce code di I/O sulla base delle richieste dei processi Windows Manager: gestisce l interfaccia grafica a finestre System Services: interfaccia verso i processi Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 10

Evironmental subsystems Windows supporta applicazioni scritte anche per altri SO Interfacce multiple verso le applicazioni Garantisce la portabilità del software Win32: API di Windows, usate anche dagli altri sottosistemi MTVDM: MS-DOS NT Virtual DOS Machine OS/2: (in memoria di.) Win16: Windows a 16 bit POSIX: interfaccia standard, basata su UNIX e supportata da vari sistemi operativi Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 11

Dynamic link libraries (DLL) Windows supporta il collegamento dinamico delle procedure Vantaggi Più processi condividono la stessa DLL Librerie allocate solo una volta in memoria centrale Chiamate indirette tramite un transfer vector Perdita trascurabile di efficienza Semplicità di aggiornamento delle librerie Non occorre ricollegare gli eseguibili L uso delle DLL è memorizzato nel registro La stessa API è costituita da un insieme di DLL Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 12

Principali librerie Viene riportato il numero di funzioni visibili dall esterno Le chiamate a win32k.sys non sono esportate Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 13

Organizzazione ad oggetti Tutte le risorse del sistema sono viste come oggetti: Processi, thread Dispositivi, file aperti Semafori, code etc. Tutta la gestione degli oggetti passa per l object manager Accesso uniforme, tramite gli handle Centralizzazione i controlli di sicurezza Gestione uniforme della condivisione di risorse Individuazione delle risorse non più utilizzate Gli oggetti sono strutture in RAM, nel kernel space Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 14

Struttura degli oggetti Gli oggetti fanno riferimento a tipi, ed ai relativi metodi Reference counts: conta quanti handle sono aperti Quando è 0 l oggetto può essere deallocato Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 15

Tipi di oggetti Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 16

Handle Ogni chiamata che crea un oggetto restituisce un handle Lo handle è inserito nella handle table del processo Es: per ogni file aperto viene creato un oggetto, ed il relativo handle inserito nella tavola del processo Lo handle consente di accedere all oggetto Processi diversi possono aver handle sullo stesso oggetto Esempio: due processi condividono un oggetto di tipo mutex (semaforo binario) per sincronizzarsi Quando entrambi hanno finito di usarlo, il reference count va a 0 e l oggetto viene deallocato Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 17

Oggetti, tipi e handle Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 18

Processi, thread e fiber I processi sono contenitori di risorse, ed hanno un address space di 2GB privato + 2GB OS I thread girano in user mode, ma passano in kernel mode (protetto) quando fanno una system call I thread hanno due stack (user e kernel) ed un contesto I processi nascono con un thread, e ne creano altri Quando l ultimo thread termina, il processo muore Fiber sono thread leggeri schedulati a livello user Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 19

Comunicazione tra processi Pipe (tubo): un processo scrive e l altro legge Mailslot : come pipe ma anche broadcast Sockets: come pipe ma anche su macchine diverse Tramite socket, in base agli indirizzi IP, comunicano due qualsiasi macchine su Internet Semafori CreateSemaphore DuplicateSemaphore ReleaseSemaphore (up) WaitForSingleObject (down) Critical Section: fra thread, all interno di un processo Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 20

Processi e thread Oggetti, e quindi handle, gestiti a livello di processo Ciascun thread ha due stack: user e kernel Fiber gestiti all interno del thread: non visibili al kernel Access token: informazione di sicurezza, diritti di accesso I thread possono avere ed acquisire loro access token Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 21

Scheduling: priorità 32 livelli di priorità 6 classi a livello di processo 7 classi per i thread all interno di un processo La tavola mostra la priorità base con cui il thread nasce Solo i processi di sistema possono essere realtime Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 22

Scheduling: gestione delle code Scheduling a livello di thread Ciascuna coda servita RR a partire dall alto Code inferiori servite solo se le superiori sono vuote Correzione dinamica delle priorità user (0-15) Non c è scheduler: il thread gira lo scheduler quando lascia la CPU Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 23

Memoria virtuale Spazio di indirizzamento virtuale in pagine da 4 KByte 2 GByte privati del processo, per il codice ed i dati 2 Gbyte mappano in modo protetto nella kernel memory (i thread possono anche girare in modo kernel) I 2G di sistema non sono scrivibili in modo user Stati di una pagina virtuale free: non (ancora) utilizzata committed: contiene codice o dati, accessibile reserved: riservata, es. per la crescita di uno stack Altri stati specificano la leggibilità e scrivibilità Anche pagine committed non hanno posizioni riservate nel paging file: mappe gestite dinamicamente Possibile avere file mappati in memoria virtuale Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 24

Spazio di indirizzamento virtuale I 64 K più alti e più bassi non sono usati (usato per trappare errori) Tutti i processi condividono la parte kernel (salvo le page table) In Advanced Server e Datacenter, la parte user e fino a 3 Gbyte Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 25

Memory management Spazio virtuale organizzato in regioni (alcune fisse in memoria) Non paged pool : parte vincolata in memoria fisica Virtual Address Descriptor e tavole delle pagine a livello di regioni Working Set, a livello di processo: l insieme delle pagine del processo attualmente in memoria centrale Minimo da 20 a 50 pagine Massimo da 45 a 345 WS mantenuto tra una dimensione minima ed una massima Le soglie sono variate dinamicamente in base al Page Frame Rate Balance set manager : controlla la situazione ogni secondo Working set manager : se necessario rimodula i WS dei processi Anche il SO è trattato come gli altri processi Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 26

La cache Una singola cache per tutti I file system Di ogni file vengono mappati 256 K Se il blocco è nella parte mappata: tutto ok Altrimenti la cosa viene gestita come page fault Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 27