Newsgroup: it.comp.os.dos
Titolo: Protected mode, real mode, ecc.

Ciao,
vorrei sapere cosa sono le modalida'
real mode
protected mode
modalita' avanzata
infine, cosa si intende per memoria espansa
in ms-dos e come avviene la sua gestione?


Probabilmente staro' dicendo qualche inesattezza, comunque:
la real mode è la modalita' che da' accesso a tutte le risorse
hardware con tutti i rischi che ne conseguono
La modalità protetta limita molte funzioni al solo sistema
operativo (mi sembra dal 386 in poi)
e inoltre da' l'accesso alla memoria estesa ( quella sopra a 1Mb)
Se ci sono inesattezze aspetto correzioni o aggiunte.


 in ms-dos e come avviene la sua gestione?
Grazie alla lungimiranza dei suoi creatori (...) fu creato un S.O. in 
grado di allocare direttamente 'fino' a 640kb di ram, il Dos appunto.
Se questo quantitativo di ram poteva sembrare enorme nel 1979, non lo 
era già nel 1980! Ecco quindi il proliferare di software +o- stabile per 
l'allocazione di memoria oltre i primi 640kb.
Il gestore di memoria espansa o EMS (EMM386.EXE)fu la risposta (molto 
poco felice) di M$ per risolvere il problema. In pratica tutta la ram 
'espansa' veniva allocata a pagine di 64kb con un dispendio pauroso di 
cicli macchina.
Successivamente (era già uscito OS/2!) venne fornito il gestore di 
memoria estesa (l'HIMEM.SYS che soppiantò il miglior QEMM) che 
consentiva finalmente di allocare tutta la ram over 1024kb in un unico 
segmento di memoria.
Doc.

 segmento di memoria.
Uhm... Non mi semba corretto. HIMEM nasce PRIMA di EMM386 (oltretutto EMM386 
non parte senza HIMEM!). Himem funziona anche su 286 mentre non è così per 
emm386.
-- 
IBM: Ifs Buts Maybys
News 2000 [v 2.06] - 
http://www.akapulce.net/socket2000

Due di Picche wrote:
 >
 > Il Real mode è la modalità normale di funzionamento dei processori 8086
 > (l'unica possibile). Il protected mode parte col processore 286.
Confermo. Ho risposto a memoria, e ho una certa età :)
 > L'indirizzamento a 8 bit non credo esista nel 8086 che ha 20 linee di
[...]
 > l'indirizzamento... l'ho sempre odiato). Non ha alcuna modalità 
'protetta'.
Allora se hai programmato quei 'cosi' anche tu hai una certa età :D
L'8086 ebbe breve vita commerciale soppiantato dal meno costoso 8088 ( 
8+8bit sul bus dati e 20bit sul bus indirizzi). Confermo la follia di 
dividere la memoria indirizzabile in due banchi: alta (d15-d8) e bassa 
(d7-d0) con segmenti da 64kb.
 > Esiste anche il V86 mode (Virtual), a partire dal 386. Tale modalità 
permette
 > di eseguire codice in real mode pur rimanendo in protected mode.
Vero, la V86/VM86 mode permette l'emulazione dell'8086 non supportando 
le istruzioni 'pericolose' vedi LGDT, LIDT, LLDT... evitando così i 
crash di sistema. Inoltre l'uso della MMU consente il funzionamento di 
più macchine virtuali.
 > Uhm... Non mi semba corretto. HIMEM nasce PRIMA di EMM386 (oltretutto 
EMM386
 > non parte senza HIMEM!). Himem funziona anche su 286 mentre non è 
così per
 > emm386.
Corretto anche questo, himem.sys viene distribuito dalla versione di 
Windows 2.10 mentre emm386.exe (ex emm386.sys) si vide per la prima 
volta con Windows 3.0.
Non pensavo che la mia memoria fosse così 'bucata'. Forse l'uso 
intensivo di WinZozz :D
Doc.