Obiettivi di Windows 2000 - PowerPoint PPT Presentation

About This Presentation
Title:

Obiettivi di Windows 2000

Description:

Title: Caratteristiche di NT Author: pc_37 Last modified by: icar-cnr Created Date: 9/25/1997 11:48:24 AM Document presentation format: Presentazione su schermo – PowerPoint PPT presentation

Number of Views:79
Avg rating:3.0/5.0
Slides: 21
Provided by: pc347
Category:

less

Transcript and Presenter's Notes

Title: Obiettivi di Windows 2000


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 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
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 tipo
Tipi di Accessi
Diritti di accesso
Quota
Sincronizzabile ?
Paginabile
Metodi Open Close delete Ecc..
Nome oggetto
Directory delloggetto
Sicurezza
Quota delloggetto
Lista dei processi
Contatore riferimenti
Puntatore al tipo
Dati specifici
17
Utility per gli oggetti
  • www.sysinternals.com (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)
Write a Comment
User Comments (0)
About PowerShow.com