Titulo do Projeto
Escalonamento de Processos no Linux para Aplicações Multimídia Otimizado para o Processador Blackfin(PIB-E/080/2007)
Este projeto desenvolvido com recursos do CNPQ
Relatório Final
Slides da Apresentação Final
Autômatos Gerados
Grupo de Redes de Computadores e Multimídia
Fotos da Apresentação Final do PIBIC 2007/2008
Orientador
Prof. Dr. Edjard de Souza Mota
Justificativa do Projeto
Os computadores pessoais modernos executam os mais variados aplicativos e cada um deles pode ser dividido em tarefas chamadas threads. Em geral, threads de diferentes aplicativos compartilham o processador de modo a dar ao usuário uma ilusão de execução simultânea. É responsabilidade do escalonador de processos de um sistema operacional alocar os recursos do processador de forma que os threads de aplicativos de maior interesse ao usuário sejam priorizados (Tanenbaum 2003). Segundo (Webber 2004), era necessário propor mudanças no escalonador de sistemas operacionais que executassem aplicativos de multimídia, porque os dispositivos modernos para tais aplicativos possuem poucos recursos de hardware. No sistema operacional Linux isso é bastante crítico, pois o mesmo não foi concebido para aplicativos time-sensitive2 e as mudanças propostas que levaram a versão de código aberto com licença geral pública (GPL) geram acréscimos de processamento (overhead) (RTLinux 2008). Este projeto consiste em investigar o código-fonte do escalonador do Linux, para identificar a diferença entre processos comuns e de aplicações multimídia. A partir desta diferenciação, serão feitas alterações no código do Linux para priorizar processos de multimídia. Estas alterações terão por base algumas propostas recentes para mudar o núcleo (kernel) do Linux tais como (Etsion et al. 2006) e (Goel et al. 2002). Serão realizados experimentos executando aplicações multimídia com o novo escalonador para identi.car que aspectos do código podem ser modificados a .m de melhor utilizar as características inerentes à arquitetura Blackfin.
Palavras-chave: Escalonamento, Linux, multimídia, threads
Metodologia
Estudo sobre métricas de identificação de processos
Identificação da política de escalonamento atual no código Linux
Implantação de ambiente compilação do kernel e embutimento do Linux no Blackfin
Implantação de ambiente de emulação de plataforma (Qemu)
Modelagem de estruturas do Linux
Modificações no código-fonte do Linux
Algumas Referências:
Goel, A., Abeni, L., Krasic, C., Snow, J., Walpole, J. Supporting Time-Sensitive Applications on a Commodity Operating Systems. In 5th Symposium on Operating Systems Design and Implementation. USENIX Association, 2002.
Tanenbaum, A. Modern Operating Systems. 2nd Edition. Prentice Hall, 2001.
Linux Blackfin available at http://blackfin.uclinux.org/gf/
Love, Robert. Desenvolvimento do Kernel do Linux. Rio de Janeiro: Ed. Ciência Moderna, 2004
Bovet, Daniel P., Cesat, Marco.,Understanding the Linux Kernel, 3rd Edition. O'Reilly, 2005
E-mail: gabriel.leitao at gmail.com
Gabriel de Souza Leitão. 2009