> Questo significa niente semafori, niente accesso concorrenziale al
> disco, niente multitasking.
Non essere cosi' severo... Al limite occorre "multiplexare". Se un task,
per leggere un settore dal disco, deve chiamare la stessa routine, e la
routine (magari a interrupt) fa una cosa del genere:
push af
di
; ...
pop af
ret ; o reti, a seconda dei casi
allora fila tutto liscio (il "pop af" finale ripristina gli interrupt
cosi' com'erano). Altra soluzione, piu' cattiva:
push af
di
pop hl ; ora h=a originale, l=f originale
bit 6, l ; uh... non ricordo piu' quale e' il bit! help me!
jz erano_disabilitati_quindi_non_toccare_niente
; ...
A questo punto utilizzare il famoso "INC (HL)". Credo che per la
questione del disco, in 255 "accavallamenti" ci si stia abbastanza
larghi; e' difficile mettere 255 processi che, guarda caso, tutti
contemporaneamente, pretendano di leggere un settore dal disco. Certo
e' piu' probabile che succeda con altri tipi di routine, ma questo e'
un altro discorso.
alf