Implementação e Avaliação do Protocolo de Sincronização Immediate Priority Ceiling no Kernel do Linux

  • Andreu Carminati UFSC
  • Rômulo Silva de Oliveira UFSC
  • Luís Fernando Friedrich UFSC

Resumo


Em sistemas de propósito geral, como o mainline Linux, inversões de prioridades ocorrem frequentemente e não são consideradas nocivas, e nem são evitadas como em sistemas de tempo real. Na versão atual do kernel PREEMPT-RT o protocolo que implementa o controle de inversões é o Priority Inheritance. O objetivo deste trabalho é propor a implementação de um protocolo alternativo, o Immediate Priority Ceiling, para uso em drivers dedicados a aplicações de tempo real, por exemplo. Este artigo explica como o protocolo foi implementado no kernel de tempo real e compara testes feitos sobre o protocolo implementado e o Herança de Prioridade atualmente em uso no kernel de tempo real.

Referências

Baker, T. (1990). “A stack-based resource allocation policy for realtime processes”. In IEEE Real-Time Systems Symposium, volume 270.

Burns, A. and Wellings, A. (2001). “Real-time systems and programming languages: Ada 95, real-time Java, and real-time POSIX”. Addison Wesley.

Harbour, M. and Palencia, J. (2003). “Response time analysis for tasks scheduled under EDF within fixed priorities”. In Proceedings of the 24th IEEE International Real-Time Systems Symposium, page 200. Citeseer.

IEEE, C. S., editor (1998). “POSIX.13. IEEE Std. 1003.13-1998. Information Technology - Standardized Application Environment Profile - POSIX Realtime Application Support (AEP)”. The Institute of Electrical and Electronics Engineers.

Lampson, B. and Redell, D. (1980). “Experience with processes and monitors in Mesa”.

Molnar, I. Preempt-rt. [link] - Last access 01/21, 2009.

Rostedt, S. and Hart, D. (2007). “Internals of the RT Patch”. In Proceedings of the Linux Symposium.

Sha, L., Rajkumar, R., and Lehoczky, J. (1990). “Priority inheritance protocols: An approach to real-time synchronization”. IEEE Transactions on computers, 39(9):1175–1185.

Torvalds, L. (2010). “Linux Kernel Version 2.6.31.6”. [link] - Last access 03/21, 2010.

Yodaiken, V. (2003). “Against priority inheritance”. FSMLABS Technical Paper. disponível em [link].
Publicado
20/07/2010
CARMINATI, Andreu; OLIVEIRA, Rômulo Silva de; FRIEDRICH, Luís Fernando. Implementação e Avaliação do Protocolo de Sincronização Immediate Priority Ceiling no Kernel do Linux. In: WORKSHOP DE SISTEMAS OPERACIONAIS (WSO), 7. , 2010, Belo Horizonte/MG. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2010 . p. 1955-1966.