[Linux-Biella] che distro per P200?
Marco Ermini
linux@ml.bilug.linux.it
Tue, 15 Jun 2004 17:12:28 +0200 (CEST)
PaulTT disse:
[...]
>>Magari tu intendi una cosa diversa?
>>
> io intendo per pe ke sia pe anke per i kernel task e non solo user level.
> cioe' che anche se qualcosa gira come chiamata al kernel, puo' essere
> interrotto da qualcosa piu' importante e non attende la fine
> dell'esecuzione della chiamata stessa....
Non l'ho capita - o meglio, non capisco dove, come e perché un task del
kernel debba e possa essere "pre-empitato" (sicuramente questo non avviene
in Linux), ma non fa nulla :-)
> ma ora che scrivo forse c'e' un effettiva confusione di termini.
> quest'ultima roba la chiamo preemptible, e si parlava di 'preemptive',
> che probably non sono la stessa cosa, direi. indi stiamo facendo un
> discorso sterile. kiedo venia
L'unico "preempitive" che io conosca, comunque lo si scriva, secondo me (e
secondo il Pippolini-Soda o quegli altri testi del cavolo che non ricordo
sui sistemi operativi...) significa che la CPU può sospendere il task e
trasferirlo ad un altro task, secondo un certo definito algoritmo di
time-slicing codificato nel kernel dell'OS.
In Windows 3.1, dovevi eseguire il famoso loop di dispatch dei messaggi di
Windows, della serie (se non ricordo male):
while (GetMessage(&msg, ...)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
se non facevi una roba del genere, il "kernel" di Windows 3.x non riceveva
mai il "controllo" della CPU, in quanto se lo teneva il task stesso nel
momento in cui lo riceveva, quindi un programma scritto male (o molto più
semplicemente una condizione di errore non controllata... roba molto
frequente nei PC in quegli anni, bastava togliere il floppy ;-) poteva
effettivamente bloccare tutto il sistema. Era quindi un multitasking ma
"zoppo" perché non preempitive.
Un OS preempitive invece è un multitasking time-sharing, in cui il kernel
distribuisce il tempo di esecuzione ai vari processi, senza che essi
debbano fare nulla. Quindi si parla di un qualsiasi OS come Unix, Minix,
Linux, OS/2, Windows NT e successivi.
Ciao.
--
Marco Ermini
http://www.markoer.org
Dubium sapientiae initium. (Descartes)
<< This message is for the designated recipient only and may contain
privileged or confidential information. If you have received it in
error, please notify the sender immediately and delete the original.
Any other use of the email by you is prohibited. >>