Você está na página 1de 3

O que Kernel RT?

Algumas distribuies de Linux para udio possuem Kernel RT e outras no. O que isto
significa?

Um sistema operacional Multi-tarefas
Durante muito tempo os sistemas operacionais no suportavam a execuo de vrios
programas simultaneamente. Estes sistemas operacionais, como o MS-DOS, eram chamados
de Mono-tarefa.
Boa parte dos sistemas operacionais atuais permitem a execuo de vrios programas ao
mesmo tempo. bastante comum que, por exemplo, voc esteja navegando na Internet e
ouvindo msica ao mesmo tempo. Estes sistemas operacionais, como o Linux ou o Windows,
so chamados Multi-tarefas.
Bem, sabendo que o seu computador possui apenas um processador, como ele capaz de
executar vrios programas ao mesmo tempo? A resposta simples: Ele no . Sim, seu
computador executa apenas um programa de cada vez, porm, alterna entre os vrios
programas que esto executando deixando uma fatia de tempo (time slice) para cada um
deles. como o cinema, vrias fotos piscando rapidamente do a impresso de movimento.
Vrios programas alternando rapidamente do a impresso de multi-tarefa. A realidade que
apenas um deles ir executar por vez. O responsvel por alternar entre as vrias tarefas o
sistema operacional, ou mais especificamente, seu escalonador.

O escalonador
O escalonador uma parte do sistema operacional que ir cuidar da diviso das fatias de
tempo (time slice) do processamento entre os vrios programas em execuo. H uma srie de
algoritmos diferentes para escalonamento como, por exemplo, SJF ou FIFO e nem todos
trabalham com fatias de tempo. Alm de usar fatias de tempo, alguns destes algoritmos de
escalonamento tratam os programas em execuo com prioridades diferentes. O Linux utiliza
esta abordagem. Assim, se um programa for mais importante, ele poder executar por mais
tempo e se ele for menos importante ele executar por menos tempo.

Prioridades
Para garantir que processos (ou tarefas, ou programas) mais importantes executem sempre
que for necessrio, h a possibilidade de atribuir-lhes uma prioridade maior. Os processos do
Sistema operacional, por exemplo, costumam possuir maior prioridade que os processos do
usurio. No Linux, os processos mais importantes possuem prioridade 0 (isto mesmo, zero) e
conforme este valor cresce a importncia do processo diminui. Os programas que no esto
executando ficam esperando em uma fila. Os algoritmos de escalonamento fazem uma conta
para tentar dividir de uma maneira justa o processador para todos os processos. Quem est
esperando a mais tempo, por exemplo, pode ser chamado primeiro que algum com maior
prioridade. Para alterar entre um processo e outro, o escalonador utiliza um recurso chamado
preempo.

Preempo
A preenpo a alternncia entre os vrios processos da fila. Partimos da idia de que apenas
um deles est no processador. O escalonador pode preemptar um processo que j executou
por tempo bastante e garantir com isto a sensao de multi-tarefa. Porm, alm dos processos
da fila, o usurio tambm pode requisitar algum processamento. Isto feito, por exemplo,
digitando no teclado ou movendo o mouse pela tela. Isto chamado de interrupo
deHardware. Logicamente que cada dispositivo tem um endereo (chamado IRQ) que
identifica se esta interrupo est vindo do teclado, da placa de rede, do mouse ou da placa de
som, por exemplo. O tempo entre voc pressionar uma tecla e o computador responder por
isto, ou seja, atender a esta interrupo, o que chamamos de latncia.

Latncia
Latncia, como dito anteriormente, o tempo que o computador demora para responder
quando, por exemplo, uma tecla pressionada no teclado. Nem todos computadores querem
trabalhar com latncia baixa. Imagine um servidor da Internet. Normalmente estes
computadores no possui nem teclado nem mouse. Usurios no operam estas mquinas e,
logicamente, elas no trabalham com preempo forada. Isto significa que ningum "fura fila"
de execuo. Seria o mesmo que dizer: Computador, faa isto. E ele responder: Agora no
posso, estou gravando um arquivo. Para um servidor, mais importante gravar o arquivo. A
Latncia, neste caso, bastante alta.
Computadores Desktop trabalham com preempo voluntria do Kernel. Isto significa que,
quando h uma interrupo dos usurio, o programa voluntariamente cede seu espao no
processador para que esta seja executada. Talvez ele termine de fazer o que estava fazendo se
julgar que isto seja importante. A Latncia, neste caso, menor.
Aplicaes que exigem que o tempo de resposta do processador sejam menor necessitam de
uma alterao no Kernel do mesmo. Sistemas operacionais como o MacOS e o Windows no
permitem alteraes em seu Kernel. O Linux permite. Ento temos um Kernel preemptvel de
baixa latncia que, como seu prprio nome diz, ele possui uma latncia ainda menor devido ao
mesmo permitir preempo.
Foi com a inteno de diminuir este tempo de latncia que um Hngaro chamado Ingo Molnar,
desenvolvedor da Red Hat americana, iniciou o projeto de um Kernel com preempo
completa, tambm chamado de Kernel RT.

Ento este o Kernel RT?
Sim, o Kernel RT foi modificado para permitir preempo completa e acelerar assim o tempo
de resposta do processador as interrupes. Voc no corre o risco de ouvir do computador
"Espera um pouco" quando pedir ao mesmo para executar uma tarefa. S para exemplificar,
um dos parmetros que o escalonador utiliza para a preempo o System Timer
Resolution. Existe um intervalo de tempo (time slice) para cada tarefa que o processador
recebe para fazer. Cada sistema utiliza uns milsimos de segundos para gerenciar estes
intervalos de tempo. Assim um sistema gasta 1/n segundos por intervalo; algo como 1/33 para
o W95, 1/100 para a srie o Windows NT, 1/250 para o Linux padro e 1/1000 para o Linux
com Kernel RT.

E aonde entra a parte Multimdia?
O tempo de resposta do processador afeta especialmente as aplicaes grficas e multimdias,
no apenas em velocidade, mas tambm em qualidade. Com a utilizao de um Kernel RT so
menores as chances de um programa multipista no conseguir executar suas 18 faixas
"simultaneamente". Com o tempo de 0,001 segundos de preempo entre uma faixa e outra
far o resultado final, com certeza, soar como um nico som. O mesmo se aplicaria para
gravaes. normal em um ambiente de produo musical gravar uma faixa enquanto se ouve
outras 5 ou 6.
Devido a utilizao mais pesada do processador, o Kernel RT s funciona com processadores
mais recentes, no funcionando, por exemplo, com Pentium II.

devido esta diferena de abordagem que algumas distribuies de Multimdia que possuem a
finalidade de trabalhar com produo sonora optam por um Kernel RT e outras, que planejam
executar em qualquer tipo de computador, no possuem tal caracterstica.

Você também pode gostar