Escalonamento de Processos no Linux Universidade Federal do Pará Prof. Regiane Kawasaki Escalonamento de Processos no Linux Equipe: Marissa Brasil Michell Cruz Nicoli Souza Renato Iori
Gerenciamento de Processos O Linux não diferencia processos de threads, todos são considerados tarefas. Não distingue processos interativos de processos batch, apenas os de tempo real. E privilegia processos I/O bound em relação aos CPU bound.
Gerenciamento de Processos Objetivo: - Ter uma vazão razoável (throughput) - Respeitar as prioridades - Manter alta a utilização e rendimento de recursos - Reduzir a sobrecarga de operações de escalonamento
Gerenciamento de Processos Prioridades: - Estática: exclusiva de processos em tempo real, definida pelo usuário. - Dinâmica: aplicada às demais tarefas, sendo sua prioridade calculada com a prioridade base do processo e o tempo restante de execução.
Gerenciamento de Processos As tarefas de prioridade estáticas são privilegiadas em relação as de dinâmicas. Faixas de prioridade variam de -20 a +19, sendo a -20 a mais alta. Apenas o administrador pode ajustar para prioridade negativa.
Escalonamento de Processos Algoritmos de escalonamento de tempo real e de multiprocessador Utilizam ponteiros, vetores e variáveis para chavear tarefas. Prioridade dinâmica: tarefas recentemente alocados tem prioridade reduzida e tarefas alocadas há mais tempo tem prioridade aumentada
Escalonamento de Processos Escalonamento de Tempo Real: - Diminuir o tempo de espera de uma tarefa ser selecionada para um processador. - Tarefas normais não podem provocar a preempção de tarefas tempo real - São escalonadas por meio do algoritmo round robin ou FIFO.
Escalonamento de Processos Escalonamento de Multiprocessador - Tarefas em fila de execução por processo em geral terão alta afinidade de processador - Entretanto, poderia permitir que um ou mais processadores fique ociosos - Para evitar isso, migra-se tarefas de um processador para outro. - Escalonador tenta selecionar aquelas tarefas cujos desempenhos serão menos afetados por trocar de processador.
Escalonamento de Processos Escalonamento Earliest Deadline First (EDF) - As tarefas são periódicas e independentes - O tempo de execução de cada tarefa é conhecido e constante. - ordenação das tarefas segundo os seus deadlines absolutos - a tarefa com maior prioridade é a que tem o deadline di mais próximo do tempo atual
Comandos ps – mostra todos os processos em execução pstree – mostra a hierarquia existente entre os processos ativos no sistema nice - configura a prioridade da execução de um comando/programa renice - configura a prioridade de um processo que já esteja em execução top – versão dinamica
Referencias Meira, Marcos Vinícios de. (2008) “Política de Escalonamento de Processos em Linux”. In Campo Dig. Pages 56-64. Tanenbaum, Andrews S. (2009) “Sistemas Operacionais Modernos”,3th Edição. Pearson Prentice Hall, São Paulo. Zanuz, L., Meneghel, M., Macon, F. and Borba, M.(2001) “Escalonador Linux” http://lzanuz.sites.uol.com.br/escalonamento.htm Duarte, A. (2009) “Sistemas Operacionais. Gerencia de Processos: Escalonamento de Processos” http://www.slideshare.net/alexandrend/escalonamento-de- processos, Setembro. Teixeira, Márcio A.(2009) “Sistemas Operacionais: Escalonamento de Processos” http://189.57.119.178/~marcio/ifsp/SO/Escalonamento.pdf.pdf, Dezembro.