Obiettivi di Windows 2000 Portabilita’: Estensibilita’:

Slides:



Advertisements
Presentazioni simili
Digital FX!32 Conte Davide Crivello Emanuele Ferrando Elisa.
Advertisements

DLL: Dynamic Linking Library
INTRODUZIONE AI SISTEMI OPERATIVI
Struttura dei sistemi operativi (panoramica)
1 Obiettivi di Windows 2000 Portabilita: scritto in C le chiamate al processore sono isolate codice dipendente dalla piattaforma isolato Estensibilita:
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
LA MEMORIA CENTRALE. La memoria nella struttura generale del calcolatore MEMORIA CONTROLLO INGRESSO E USCITA ARITMETICA E LOGICA CPU Dispositivi esterni.
IL PROCESSORE I MICROPROCESSORI INTEL Il microprocessore è un circuito integrato dotato di una struttura circuitale in grado di effettuare un determinato.
D. Talia - UNICAL 1. 1 Sistemi Operativi Domenico Talia Facoltà di Ingegneria Università della Calabria.
Giuditta Cantoni, 4 E S.I.A I DATABASE. Definizione databese In informatica, il termine database, banca dati o base di dati (a volte abbreviato con il.
CORSO elementare su DATABASE Applicativo utilizzato OpenOffice 3.0.
Orientamento. Il Kernel Il Kernel è un programma scritto in linguaggio vicino all'hardware che ha il compito di fornire ai processi in esecuzione sul.
Presentazione della piattaforma e - learning MOODLE a cura di Davide Afretti Bologna, 24 aprile 2013.
Il Sistema Operativo. Sistema Operativo (Software di base) Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità.
Gestione delle configurazioni Configuration management (CM) E` un processo che controlla le modifiche fatte a un sistema e gestisce le diverse versioni.
Gestione dei Software in GNU/Linux HackLab Catanzaro Installazione software da sorgente 8° Lezione GNU/Linux Base
IL SISTEMA OPERATIVO (seconda parte) PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI.
PGDay 2009 FSGateway Ing. Torello Querci Resp. Architetture SW - Negens S.r.l. 4 Dicembre 2009, Pisa.
Basi di dati - Fondamenti
Francesca Dei Cas/Federica Pelucchi/ Gioele Besio
PNSD - Modulo D1A marzo 2017 Piattaforme di e-­learning e cloud:​ installazione e gestione (azione #22) Prof. Rocca Marcello
PRESENTAZIONE di RICCARDO
08/01/2018.
WPC069 Il deployment automatizzato di Windows 10
Sistemi operativi.
Il Sistema Operativo Gestione dei Processi
I PROCESSI.
Il Sistema Operativo Ripasso
EasyGraph Dynamic web-based dashboard
Generazione di codice dinamico per la realizzazione di catene di servizi componibili Matteo Fazi – matr
Breve report su corso RedHat Enterprise Virtualization (RH318)
Programmazione per la Musica | Adriano Baratè
Terza Lezione → Navigare nel file System → parte 2
LE ARCHITETTURE NON VON NEUMANN
Microcontrollori e microprocessori
I microprocessori Il microprocessore è un circuito integrato costituito da silicio. Il microprocessore svolge fondamentalmente due funzioni: sovraintende.
The Virtual Machine Monitor Introduzione. Installazione. Utilizzo.
Condividere dati di Excel tramite l'esportazione in un sito di SharePoint
Giordano Scuderi Unico SRL - Messina,
Organizzazione fisica
I FILES AD ACCESSO SEQUENZIALE
Sviluppo di server web e sistema di caching per contenuti dinamici
LA GESTIONE DEI PACCHETTI
* Il Sistema Operativo GNU/Linux * Sistema Operativo e Applicazioni
Qt by Examples LINUX DAY
Asynchronous JavaScript and XML
SAS® OnDemand for Academics SAS Studio
analizzatore di protocollo
Laboratorio Informatico
Ardis e il sistema qualità
istalliamo l’ambiente di sviluppo - ide
Organizzazione di una rete Windows 2000
Introduzione alle basi di dati
Progetto di Tecnologie Web 2014/2015 THERMOWEB
Processi e Thread Meccanismi di IPC (1).
OBJECT ORIENTED DATABASE
ADO Per gestire i database con tecnologia ASP si utilizzano strumenti ADO (ActiveX Data Objects): un'architettura che fornisce oggetti.
Scheduling in Linux (Kernel 2.4 e 2.6)
Processi e thread in Windows 2000
File System ed Input/Output
APPUNTI SUL LINGUAGGIO C
LINUX: struttura generale
OpenLayers Client di mappe “non solo” WMS
Parti interne del computer
Programmazione e Laboratorio di Programmazione
Corso Java – Intoduzione
Scheduling (Schedulazione)
Unico 2009 – Esempi per la crisi
Programmazione e Laboratorio di Programmazione
File system Casi di studio (3).
Transcript della presentazione:

Obiettivi di Windows 2000 Portabilita’: Estensibilita’: scritto in C le chiamate al processore sono isolate codice dipendente dalla piattaforma isolato Estensibilita’: struttura modulare architettura ad oggetti supporto di caricamento dinamico di driver Compatibilita’: compatibilita’ binaria con DOS, Win 16bit, OS/2 compatibilita’ sorgente con applicazioni POSIX Affidabilita’ e sicurezza: Multiprocessing e scalabilita’ Elaborazione distribuita

Caratteristiche di Windows 2000 Sistema operativo a 32-bit, preemptive, multi-tasking Multiprocessing simmetrico Ogni applicazione a 32bit opera in un proprio Virtual Memory address space E’ disponibile su diverse CPU's: Intel x86, IBM PowerPC e DEC Alpha. E’ disponibile in differenti versioni: Limitazioni sul numero di utenti serviti, il numero di CPU supportate e la memoria

Win32 Application Programming Interface Le API di Win32 permettono di girare lo stesso programma su quasi tutti i sistemi Windows

API di Windows 2000 Le API sono librerie che forniscono una vasta serie di funzioni e differiscono leggermente da una versione all’altra di Windows. Abbiamo vari tipi di API per la gestione di file, processi, thread, pipe, sicurezza, e per la gestione dell’interfaccia grafica (tutti denominati oggetti). Le API che creano oggetti ritornano un handle,che può essere usato per operare sull’oggetto. Gli handle possono essere duplicati e passati ad un altro processo.

API di Windows 2000 Vediamo come esempio lo pseudocodice di un oggetto Windows aperto, utilizzato e chiuso: ……. handlewnd = CreateWindow ( “Prova", 10,10,200,200); WriteWindow (handlewnd,100,100,”Ciao a tutti”) ; …………… CloseWindow (handlewnd) ; Il codice crea una finestra a partire dalle coordinate (10,10) di dimensione 200x200 e restituisce un handle all’oggetto. Le successive operazioni (viene scritto ciao a tutti sulla finestra, poi la finestra viene chiusa) vengono effettuate tramite l’handle (handlewnd);

Il Registry Il Registry è un archivio che conserva informazioni su tutte le configurazioni del sistema (software installato, utenti, hardware). E’ organizzato in directory (chiamate key) e sottodirectory e infine i valori (values) che contengono le informazioni. Lo strumento per editare i parametri di sistema e’ regedit.exe. Oppure esistono API per usare il registro (RegCreateKeyEx, RegQueryValueEx).

La struttura del Registry

Architettura di Windows 2000 * La parte in grigio è denominata Executive.

Hardware Abstraction Layer Alcune delle funzioni dell’HAL

Kernel Aiuta a rendere il resto del sistema operativo indipendente dall’hardware. Gestisce lo scheduling dei thread, la gestione degli interrupt, il recupero dopo la mancanza di corrente, il context switch. Inoltre supporta i control object e i dispatcher object. I dispatcher object sono oggetti utilizzati per mandare messaggi o gestire la sincronizzazione del tipo semafori, eventi, timer, ecc. I control object gestistiscono le altre operazioni del kernel (processi, interrupt, stato della tensione e alimentazione ecc..).

Executive E’ indipendente dall’architettura. E’ composto da 10 manager: I/O manager, process manager, memory manager, security manager, cache manager, plug and play manager, power manager, configuration manager, local procedure call manager Il local procedure call manager si occupa della comunicazione fra processi. Sopra l’executive vi è il System services, che accetta le system call di Windows e le smista ai vari moduli sottostanti.

Gli Oggetti Un Oggetto non è altro che una struttura dati memorizzata in RAM. Un Oggetto e’ un’istanza singola in esecuzione di un Tipo di Oggetto Un Tipo di Oggetto e’ composto da un tipo di dati, i servizi che operano sulle istanze del tipo di dato, un insieme di attributi Un Attributo e’ un campo dati in un oggetto che ne definisce parzialmente lo stato La struttura interna di un Oggetto non e’ direttamente accessibile.

I Tipi di Oggetto Process Process Manager Thread Process Manager Tipo Definito da Process Process Manager Thread Process Manager Section Memory Manager File I/O Manager Port LPC Facility Access Token Security system Event Executive Supp. Services Event pair Executive Supp. Services Semaphore Executive Supp. Services Mutant Executive Supp. Services Timer Executive Supp. Services Object directory Object Manager Symbolic link Object Manager Profile Kernel Key Configuration Manager

Handle dell’Oggetto Un Oggetto puo’ essere utilizzato solo da Processi che abbiano aperto un Handle su esso L’Handle e’ unico nel contesto di un processo: il processo utente fa una chiamata al proprio ambiente (es. Win32), che passa la chiamata al gestore di oggetti, che Alloca la memoria per l’oggetto Attacca un security descriptor che specifica cosa e’ consentito fare e da chi Crea e mantiene un elenco di oggetti crea un handle per l’oggetto e lo restituisce al chiamante

Struttura dell’Oggetto Ogni oggetto e’ composto da un Header, che contiene informazioni inizializzate e gestite dall’Object manager, e da un Body, che contiene le informazioni peculiari del Tipo di Oggetto Le informazioni invarianti relative al tipo di oggetto sono contenute in un oggetto particolare, l’Oggetto tipo (Object Type) L’object name space contiene informazioni sugli oggetti creati, i processi a cui appartengono, ecc..

Struttura dell’Oggetto Nome tipo Tipi di Accessi Diritti di accesso Quota Sincronizzabile ? Paginabile Metodi: Open Close delete Ecc.. Nome oggetto Directory dell’oggetto Sicurezza Quota dell’oggetto Lista dei processi Contatore riferimenti Puntatore al tipo Dati specifici

Utility per gli oggetti www.sysinternals.com (sito di utilità di gestione per Windows) Fra le utilità preseenti vi è winobj, che permette di vedere l’object name space di windows. Potete scaricare altre utilità per vedere le dll, i processi aperti, i thread, i file, ecc..

Le DLL In Windows abbiamo due tipi di “eseguibili”: EXE e DLL DLL = Dynamic Link Library Le funzioni esportate da una DLL vengono agganciate a runtime e non durante la compilazione Abbiamo due modalità di aggancio di una DLL: Link statico: al caricamento dell’applicazione Link dinamico: in qualunque momento mediante una opportuna funzione dell’API (LoadLibrary) Se più applicazioni utilizzano la stessa DLL (come avviene per esempio con quelle di sistema) questa viene caricata in memoria una sola volta.

DLL: caricamento statico e dinamico Il linker inserisce nell’eseguibile informazioni sulle DLL utilizzate e sulle funzioni che vengono chiamate. Il loader, in fase di caricamento del programma, provvede a caricare in memoria anche le DLL necessarie (se non sono già presenti) e ad eseguire gli agganci con le funzioni. Caricamento dinamico Non viene inserita alcuna informazione in fase di linking e il loader non esegue alcun aggancio Il caricamento e l’aggancio vengono fatti esplicitamente chiamando alcune funzioni dell’API

Architettura: API e DLL Il sistema operativo è formato da una collezione di librerie ad aggancio dinamico (DLL). Il cuore dell’API è formato da 3 DLL: Kernel: memory manager, scheduler, loader User: sistema di windowing GDI: Graphics Device Interface Estensibilità: l’API si espande aggiungendo nuove DLL (per esempio WinSocket per la comunicazione su TCP/IP)