Old:Low-latency 2.6 kernel per applicazioni audio realtime: differenze tra le versioni

m
typos
m (→‎Usare gli rlimits: messaggio di errore)
m (typos)
Riga 14: Riga 14:
La patch realtime-preemption (per quanto perfettamente usabile) continua ad essere sviluppata incessantemente, e le release sono spesso giornaliere. Il kernel a cui si applica la patch è sempre l'ultimo kernel stabile o, spesso, l'ultimo RC. Nella guida, a puro titolo esemplificativo, mi riferirò ad un kernel e ad una versione di patch specifica, anche se queste versioni diventeranno presto obsolete.  
La patch realtime-preemption (per quanto perfettamente usabile) continua ad essere sviluppata incessantemente, e le release sono spesso giornaliere. Il kernel a cui si applica la patch è sempre l'ultimo kernel stabile o, spesso, l'ultimo RC. Nella guida, a puro titolo esemplificativo, mi riferirò ad un kernel e ad una versione di patch specifica, anche se queste versioni diventeranno presto obsolete.  


{{Warningbox|Se non siete a vostro completo agio a compilare e patchare il kernel questa non è la via che fa per voi. Consiglio, in tal caso, di usare un setup per l'audio professionale pronto per l'uso, come la distrubuzione [http://64studio.com/ 64 Studio] (disponibile sia per processori 64 bit che per 32bit). Se volete invece informazioni dettagliate su come compilare il kernel alla ''debian-way'': [[Debian Kernel Howto]]. }}
{{Warningbox|Se non siete a vostro completo agio a compilare e patchare il kernel questa non è la via che fa per voi. Consiglio, in tal caso, di usare un setup per l'audio professionale pronto per l'uso, come la distribuzione [http://64studio.com/ 64 Studio] (disponibile sia per processori 64 bit che per 32bit). Se volete invece informazioni dettagliate su come compilare il kernel alla ''debian-way'': [[Debian Kernel Howto]]. }}


== Dal kernel stabile all'RC ==
== Dal kernel stabile all'RC ==
Riga 23: Riga 23:
* [http://demudi.agnula.info/wiki/Low-latencyKernelBuildingHowto Low-latency Kernel Building Howto].
* [http://demudi.agnula.info/wiki/Low-latencyKernelBuildingHowto Low-latency Kernel Building Howto].


La patch realtime-preemption più recente si applica solitamente ai kernel RC (Release Candidate). Questo perchè Ingo Molnar segue sempre il kernel più recente (quindi usa le RC come base di partenza per la sua patch). Quando viene rilasciato un nuovo kernel stabile Ingo Molnar rilascia pach per il nuovo kernel stabile, ma dopo alcune settimane passa nuovamente a seguire l'ultima RC uscita nel frattempo.  
La patch realtime-preemption più recente si applica solitamente ai kernel RC (Release Candidate). Questo perché Ingo Molnar segue sempre il kernel più recente (quindi usa le RC come base di partenza per la sua patch). Quando viene rilasciato un nuovo kernel stabile Ingo Molnar rilascia pach per il nuovo kernel stabile, ma dopo alcune settimane passa nuovamente a seguire l'ultima RC uscita nel frattempo.  


Quindi, si hanno due possibilità:
Quindi, si hanno due possibilità:
Riga 60: Riga 60:
== Modalità realtime e realtime scheduling ==
== Modalità realtime e realtime scheduling ==


La modalità realtime è un particolare privileggio di esecuzione che un'applicazione può avere . Questa modalità permette ad una applicazione di avere accesso alla CPU con la massima priorita (rispetto ad ogni altra applicazione in attesa) ogni volta che venga richiesto, impedendo inoltre che un'altra applicazione possa a sua volta interrompere l'esecuzione (a meno che non sia anch'essa realtime).  
La modalità realtime è un particolare privilegio di esecuzione che un'applicazione può avere . Questa modalità permette ad una applicazione di avere accesso alla CPU con la massima priorità (rispetto ad ogni altra applicazione in attesa) ogni volta che venga richiesto, impedendo inoltre che un'altra applicazione possa a sua volta interrompere l'esecuzione (a meno che non sia anch'essa realtime).  


Questo permette di tenere in esecuzione applicazioni a bassa latenza, senza il rischio che altre applicazioni non-realtime possano disturbarle. Si capisce come questa modalità sia importantisissima nelle applicazioni audio professionali (ad esempio una sessione di registrazione non verrà mai interrotta anche se molte applicazioni non realtime saturano la CPU!).
Questo permette di tenere in esecuzione applicazioni a bassa latenza, senza il rischio che altre applicazioni non-realtime possano disturbarle. Si capisce come questa modalità sia importantissima nelle applicazioni audio professionali (ad esempio una sessione di registrazione non verrà mai interrotta anche se molte applicazioni non realtime saturano la CPU!).


D'altro canto, questa modalità, pone dei seri problemi di sicurezza dato che un'applicazione potrebbe (a causa di un errore o di un comportamento malevolo) occupare la CPU per un tempo indefinito, senza poter essere interrotta, impedendo dunque la normale applicazione degli altri programmi.
D'altro canto, questa modalità, pone dei seri problemi di sicurezza dato che un'applicazione potrebbe (a causa di un errore o di un comportamento malevolo) occupare la CPU per un tempo indefinito, senza poter essere interrotta, impedendo dunque la normale applicazione degli altri programmi.
1 760

contributi