ANALISI

Lo studio di questi S.O. verte su due fronti:

  1. L’insieme dei Comandi, Strumenti o Servizi a disposizione dell’Utente per l’utilizzo di Applicativi
  2. Le interazione del Sistema con l’Hardware ( supervisore ) al fine dell’efficiente utilizzo degli Applicativi

In pratica seguiremo i seguenti aspetti:

 

DUE SISTEMI OPERATIVI A CONFRONTO

Il Sistema MS-DOS nasce nel 1981 come esigenza dell’IBM nella gestione di un Personal Computer per un unico Utente, capace di gestire poche unità come unità di elaborazione (CPU), memoria centrale (RAM FISICA), tastiera, monitor, Drive 5,5" per Dischetto. In pratica il Sistema Monotasking si è evoluto in Multitaskin virtuale ove per multitaskin si intendeva ritenere un programma a riposo o attesa durante l’utilizzo di un altro. In seguito l’evoluzione del Software MS-DOS ha seguito necessariamente l’evoluzione dell’architettura del PC.

La gestione dei processi:

Il S.O. operava con processore 80286 con 8 Mhz di velocità, ovvero con la capacità di svolgere una operazione ( ciclo ) in un 1/8 µs, con memoria centrale ram fissa e non espandibile di 640Kb, strutturata fisicamente come 10 settori di 64 Kb l’uno, e indirizzamento reale fisico della memoria su questi settori prelevando le istruzioni a 8 o 16 bit alla volta ( bus ). In seguito la Ram Fisica ? stata estesa a 1Mb, sino 2 e 4 Mb ed oltre fino ad un massimo di 16 Mb.

La gestione della Memoria:

Nell’ipotesi di una Ram di 16 Mb, la distribuzione della Memoria ? sintetizzata come schema:

Memoria libera

Schede I/O + ROM

Nucleo del Dos – S.O.

Buffer Cache + RAM

640 Kb

384 Kb

Da 1 Mb + 64 KB

Fino a 16 Mb

Memoria convenzionale

Memoria Superiore

Memoria Alta

Memoria Estesa

Il Driver che permette l’utilizzo della Ram è l’Himem.sys, mentre quello che che gestisce la Memoria Espansa, come parte di memoria superiore o una parte mappata della memoria estesa e il File EMM386.EXE , nonché lo Smartdrive per la creazione di Cache virtuale su Hard Disk e di RamDrive per la creazione di Ram Virtuale. Questi due gestori della memoria possono essere utilizzati per particolari procedure attraverso un programma, il Memmaker, che attraverso una routine, ci da la possibilità di decidere indirizzi privilegiati di memoria e in ogni caso di distribuirla nel modo ottimale.

Il primo Mb di memoria viene quindi distribuito per il Nucleo del S.O. Dos o caricato mediante Memmaker sulla memoria alta in questo modo:

640 Kb

Altra RAM

Vettore I/O

Io.sys

msdos.sys

Buffer Cache

Driver di dispositivo

Command.com

Programmi configurazione

Command.com

 

BIOS

 

BIOS

KERNEL

File System

Memoria Estesa

Parte residente

Autoexec.bat Config.sys

Parte Transitoria

 

Driver ROM

 

Il File System:

Per i primi sistemi Operativi che dovevano gestire solo una memoria di Massa contenuta su di un Dischetto di capacità esigue ( 180 Kb ), vi era il problema di non poter superare i 64 file o stringhe da poter caricare. Oggi, il S.O. , si compone di migliaia di Files che gestiscono una memoria che oltrepassa il Gb, caricato su una Ram di anche 32/64/128 Mb. Il File System del dos ha una struttura gerarchica ad albero, e la directory principale prende il nome di radice o root della struttura. In pratica ogni settore di memoria contenente dati è un a Stringa di blocchi di memoria così costituito:

BOOT

FAT 16/32

ROOT

Blocco1

Blocco2

BloccoN

Settore avvio

Informazioni sulla directory

Nome directory \

512 Kb

512 Kb

512 Kb

512 Kb

In partizioni dell’ Hard Disk costruite con FDISK in DOS così esemplificate:

BOOT

Partizione1

Partizione2

Per la razionalizzazione dello spazio fisico di memoria si utilizza il Comando Dos CHKDSK /F che opera una specie di Defrag fisica controllando i File in struttura dati, la loro integrità; inoltre con l’opzione /F si opera il ricollocamento di questi in spazi contigui o indirizzati con collegamenti lasciando spazi liberi e contigui per nuove registrazioni di dati.

L'ambiente Windows riprende molti concetti utilizzati da Macintosh, come l'interfaccia grafica, desktop, icone, menù a tendina, finestre, etc. al fine di migliorare la comunicazione uomo-macchina. In questo modo, Windows 3.x si avvicina ad un S.O., pur essendo solo un ambiente di sviluppo che si poggia sul Dos.

La Gestione della Memoria , in modo protetto, sfrutta l'utilizzo della memoria estesa oltre il muro del 1° Mb di Ram sino ai 16 Mb; inoltre utilizza anche la stessa virtualmente come Cache per i File di scambio.

Il Multitasking, simulato, in quanto utilizza sempre e solo un microprocessore per un processo alla volta. Windows 3..x è un Sistema Non-Preemptive, che si appoggia sul Dos per la gestione delle risorse; non dispone neppure di un File System proprio; quando si passa da una applicazione ad un'altra, non fa altro che mettere in attesa una per utilizzarne un'altra ( congelamento ); il passaggio che simula il Multitasking viene operato mediante una Lista di applicazioni in attesa, che possono essere richiamate secondo procedure Dos ( Alt + Tab ).

Il File System, non esiste e in sua vece vi è il File Manager, efficace e semplice, rispetto al Dos, per operare tutte le procedurte comunemente eseguibili, in pratica un traduttore ad interfaccia grafica.

Il Nuovo Sistema Windows 95/98 nato per rendere più semplice ed utilizzabile il PC, anche per coloro che non avevano conoscenze specifiche. Utilizza il sistema ad Oggetti e i menù Pulldown, la giuda in linea e il Plug & Play per il riconoscimento rapidop e automatico delle periferiche collegate. E' un vero e proprio sistema operativo integrato che include l'MS-Dos. Supera i problemi di attesa coordinamento fra Dos e Windows 3..x in quanto elimina la conflittualità delle Fat diverse utilizzandole in modo indipendente. Windows utilizza un processo dinamico di caricamento: carica Autoexec.bat e Config.sys , ma anche IOS.INI ( a 32 bit ) che si dedica al caricamento e scaricamento dei Device al momento dell'utilizzo dell'applicazione richiamata , ill tutto senza utilizzare memoria convenzionale, lasciandola quindi libera per le applicazioni e scambio.

Il Multitasking, è effettivo con sistema Preemptive creando un sistema di code di processi verso la CPU, attivando di volta in volta parti di processi ( thread ) , anche distinti e per applicazioni diverse in esecuzione.

La Gestione della Memoria, cambia nel modo di indirizzare i settori di memoria sulla Ram, ovvero, mentre nel Dos si parlava di segmenti, adesso si parla di indirizzamento lineare, utilizzando così tutta la memoria disponibile ed eliminando completamente le differenze ripartite sul Dos, In pratica non siamo più condizionati da settori di 64Kb ( segmenti ), ma adesso si utilizzano linee di Ram + Hard Disk di estensione evidentemente maggiore. Ulteriore salto di qualità si ottiene con l'accresciuta efficienza dello Swap ( File di scambio ), che utilizza inoltre una cache virtuale che si crea di volta in volta sull'Hard Disk in relazione alle necessità di spazio e al numero di code liste Thread in attesa alla CPU. Il File di Scambio diventa quindi dinamico.Il File System, è effettivo e gestisce le nomenclature di File e settori di memoria, in pratica utilizzando tutta la memoria disponibile.

Swapping Page in un sistema dinamico