Politica De Escalonamento Do Sistema Operacional Android
Trabalho Universitário: Politica De Escalonamento Do Sistema Operacional Android. Pesquise 862.000+ trabalhos acadêmicosPor: folhapapel • 1/9/2013 • 970 Palavras (4 Páginas) • 3.111 Visualizações
1.0 INTRODUÇÃO
Na última década, o número de dispositivos embarcados vem crescendo muito rapidamente. Estes sistemas são encontrados nas mais diversas aplicações. Estas aplicações também estão se tornando mais complexas. Com esta complexidade, surge a necessidade de termos sistemas operacionais capazes de tornar a utilização dos recursos desses sistemas mais simples e eficientes.
Os sistemas embarcados são em quase toda sua totalidade sistemas de tempo real. Estes sistemas apresentam restrições sérias de tempo. Para um sistema de tempo real, uma resposta só é considerada correta se apresentar a funcionalidade esperada, mas também for entregue no tempo predefinido em caso contrário, dizemos que o sistema falhou. Os sistemas de tempo real estão divididos em duas classes: os sistemas de tempo real críticos (hard real-time systems) e os não-críticos (soft real-time systems) isto significa que um apresenta certa tolerância à falhas e o outro não. Também é importante salientar a diferença existente entre um sistema de tempo real e um sistema operacional de tempo real. Um sistema de tempo real é constituído de vários elementos (hardware, sistema operacional, aplicativos) que devem atender os requisitos de tempo impostos pela aplicação.
Este trabalho irá focar no sistema operacional de tempo real. Mais especificamente no escalonador. O escalonador é o componente do sistema operacional responsável por gerenciar a utilização do processador pelas tarefas existentes na aplicação. É a maneira com que o escalonador gerencia estes recursos que permite que todos os processos tenham suas restrições de tempo atendidas dentro de um sistema de tempo real. A maneira como estes recursos são gerenciados é chamada “política de escalonamento” este será o enfoque dado a este trabalho. Implementar várias políticas de escalonamento para aplicações críticas, sobre o sistema operacional modernos
2.0 LINUX
Linux é um sistema operacional, responsável pelo funcionamento do computador, que faz a comunicação entre hardware (impressora, monitor, mouse, teclado) e software (aplicativos em geral).
O kernel é o coração do Sistema Operacional Linux. Ele é o responsável por garantir que todos os programas terão acesso aos recursos de que necessitam (memória RAM, por exemplo) simultaneamente, fazendo com que haja um compartilhamento concorrente, mas sem oferecer riscos à integridade da máquina. O conjunto de um kernel e demais programas responsáveis pela comunicação com este é o que denominamos sistema operacional.
Desenvolvido pelo finlandês Linus Torvalds, o Linux tem seu código fonte disponível sob licença GPL para qualquer pessoa utilizar, estudar, modificar e distribuir de acordo com os termos da licença. O Linux é um sistema operacional derivado do Unix.
2.1 POLITICA DE ESCALONAMENTO
A prioridade de um processo no Linux está em constante alteração, o escalonador se mantém informado sobre o que os processos estão fazendo e assim torna-se possível ajustar a prioridade. Dessa maneira os processos que ficaram proibidos de utilizar o CPU por um longo intervalo de tempo, tem sua prioridade incrementada automaticamente, contrariamente os processos que passaram um longo período dentro do CPU são penalizados tendo sua prioridade decrementada.
Quando tocamos no assunto escalonamento é importante notar que os processos são classificados como da Forma E/S e Forma CPU. O primeiro faz uso extenso dos recursos de entrada e saída, isso significa que grande parte do seu tempo é utilizado no aguardo da conclusão das operações de Entrada e Saída, já o segundo são processos que necessitam de um longo tempo dentro do CPU.
Uma classificação alternativa define três classes de processos:
Processos Interativos :Os processos que estão em constante interação com o usuário, sendo assim eles perdem grande parte do tempo esperando uma atividade do usuário, como um clique do mouse ou o aperto de uma tecla.
...