1 Obiettivi di Windows 2000 Portabilita: scritto in C le chiamate al processore sono isolate codice dipendente dalla piattaforma isolato Estensibilita:

Slides:



Advertisements
Presentazioni simili
Programmazione ad oggetti
Advertisements

Memoria Virtuale in Linux
1 Introduzione ai calcolatori Parte II Software di base.
Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire.
Digital FX!32 Conte Davide Crivello Emanuele Ferrando Elisa.
Universita degli studi di Napoli FedericoII Facoltà di Scienze MM FF NN Corso di laurea in informatica Studenti: Bonaiuto Bruna 566/316 Capano Fabrizio.
Il Sistema Operativo.
Elaboratore e Sistemi Operativo
Massa Laura Mela Enrica
1 Casi di studio ISO 9660 FAT-12, FAT-16, FAT-32 NTFS.
Gestione del processore
DLL: Dynamic Linking Library
Realizzazione del file system
INTRODUZIONE AI SISTEMI OPERATIVI
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano © Fabio Salice Windows NT Introduzione Docente:
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Introduzione: Sistemi Operativi I
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Struttura dei sistemi operativi (panoramica)
I Thread.
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
Approfondimento delle classi
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario.
Le classi Definizione di classe Attributi e metodi di una classe Costruttori e distruttori Private e public Funzioni friend Il puntatore this.
Organizzazione della Memoria (Unix) Text contiene le istruzioni in linguaggio macchina del codice eseguibile, può essere condiviso in caso di processi.
Sistemi Operativi GESTIONE DEI PROCESSI.
Corso di Laurea in Ingegneria Informatica Laboratorio di Sistemi Operativi II anno, III periodo 2 crediti 13 ore di lezione 16 ore di esercitazione.
1 LINUX: struttura generale The layers of a UNIX system. User Interface.
Il sistema operativo Vito Perrone
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
Introduzione ad ASP.net
CORSO OPERATORE AVANZATO
C# LE BASI 2007 Prima lezione - Introduzione.
Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.
Il compilatore Dev-C++
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Inserire il CDROM CygWin nel lettore, aprite la directory cyg e lanciare in esecuzione (con un doppio click del pulsante sinistro del mouse sulla relativa.
Modulo 1 - Hardware u.d. 3 (syllabus – 1.3.5)
1 Scheduling in Windows 2000 Un thread entra in modalità kernel e chiama lo scheduler quando: Si blocca su un oggetto di sincronizzazione (semaforo, mutex,
Processi e Thread Job: Insieme di processi che condividono quote e limiti. Processo: Contenitore di risorse (una lista di thread, una lista di handle e.
Il Sistema Operativo (1)
Il Sistema Operativo: il File System
Lezione 1 Approccio al sistema operativo : la distribuzione Knoppix Live Cd Knoppix 3.6 Interfacce a caratteri e grafica: console e windows manager File.
Threads.
1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia.
Corso di Programmazione Grafica e Laboratorio Introduzione a OpenGL Prof. Daniele Marini.
Insegnamento “Tecniche audiovisive” Corso di Laurea in Ingegneria delle Comunicazioni Symbian Marco Teodori Assistente Ricercatore - Fondazione Ugo Bordoni.
Sistema Operativo (Software di base)
I processi.
Il nucleo del Sistema Operativo
Docente: G. Ianni Esercitatori: A. Martello (Sistemi Operativi), V. Lio (Reti) Sito del corso: Google ‘sistemi operativi e reti unical’ Gruppo FB («Sistemi.
1 Esercitazione Sistemi distribuiti: sistemi che risisedono su più calcolatori interconnessi da una rete di comunicazione Algoritmi distribuiti: programmi.
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
1 Processi e Thread Processi e thread in Windows 2000.
PiattaformePiattaformePiattaformePiattaforme Antonio Cisternino 28 Gennaio 2005 OpenSourceOpenSourceOpenSourceOpenSource e ProprietarieProprietarieProprietarieProprietarie.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Informatica Generale Marzia Buscemi
ISIA Duca degli Abruzzi a.s. 2010/2011 prof. Antonella Schiavon
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
I Sistemi Operativi. Definizione Per Sistemi Operativi (di seguito SO) si intendono quei pacchetti software, a loro volta costituiti da più sottoprogrammi.
La gestione della rete e dei server. Lista delle attività  Organizzare la rete  Configurare i servizi di base  Creare gli utenti e i gruppi  Condividere.
Obiettivi di Windows 2000 Portabilita’: Estensibilita’:
Transcript della presentazione:

1 Obiettivi di Windows 2000 Portabilita: 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

2 Caratteristiche di Windows 200 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

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

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

5 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 (hwnd) ; Il codice crea una finestra a partire dalle coordinate (10,10) di dimensione 200x200 e restituisce un handle alloggetto. Le successive operazioni (viene scritto ciao a tutti sulla finestra, poi la finestra viene chiusa) vengono effettuate tramite lhandle (handlewnd);

6 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).

7 La struttura del Registry

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

9 Hardware Abstraction Layer Alcune delle funzioni dellHAL

10 Kernel Rende il resto del sistema operativo indipendente dallhardware. Gestisce lo scheduling dei thread, la gestione degli interrupt, il recupero dopo la mancanza di corrente. 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, ecc..).

11 Executive E indipendente dallarchitettura. 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 lexecutive vi è il System services, che accetta le system call di Windows e le smista ai vari moduli sottostanti.

12 Gli Oggetti Un Oggetto non è altro che una struttura dati memorizzata in RAM. Un Oggetto e unistanza 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.

13 I Tipi di Oggetto Tipo Definito da ProcessProcess Manager ThreadProcess Manager SectionMemory Manager FileI/O Manager PortLPC Facility Access TokenSecurity system EventExecutive Supp. Services Event pairExecutive Supp. Services SemaphoreExecutive Supp. Services MutantExecutive Supp. Services TimerExecutive Supp. Services Object directoryObject Manager Symbolic linkObject Manager ProfileKernel KeyConfiguration Manager

14 Handle dellOggetto Un Oggetto puo essere utilizzato solo da Processi che abbiano aperto un Handle su esso LHandle 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 loggetto –Attacca un security descriptor che specifica cosa e consentito fare e da chi –Crea e mantiene un elenco di oggetti –crea un handle per loggetto e lo restituisce al chiamante

15 Struttura dellOggetto Ogni oggetto e composto da un Header, che contiene informazioni inizializzate e gestite dallObject 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, lOggetto tipo (Object Type) Lobject name space contiene informazioni sugli oggetti creati, i processi a cui appartengono, ecc..

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

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

18 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 dellapplicazione –Link dinamico: in qualunque momento mediante una opportuna funzione dellAPI (LoadLibrary) Se più applicazioni utilizzano la stessa DLL (come avviene per esempio con quelle di sistema) questa viene caricata in memoria una sola volta.

19 DLL: caricamento statico e dinamico Caricamento statico –Il linker inserisce nelleseguibile 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 laggancio vengono fatti esplicitamente chiamando alcune funzioni dellAPI

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