Processos utilizados em Sistemas Operacionais

Olá pessoal…

Hoje irei falar sobre alguns conceitos de processos utilizados em Sistemas Operacionais (I/O Bound, CPU Bound, Cache Hit, Cache Miss, Best Fit, Worst Fit, First Fit, Last Fit e Next Fit).


$> I/O Bound e CPU Bound
Os processos executados pelo Sistema Operacional são classificados como CPU Bound e I/O Bound (ou IO Bound), de acordo com a utilização do processador e dos dispositivos de Entrada e Saída.

Quando o processo é classificado como CPU Bound (ligado à CPU) é quando passa a maior parte do tempo no estado de execução, ou seja, utilizando o processador. Esse tipo de processo realiza poucas operações de leitura e gravação e é encontrado em aplicações científicas que efetuam muitos cálculos.

Já quando o processo é classificado como I/O Bound (ligado à E/S – Entrada e Saída) é quando passa a maior parte do tempo no estado de espera, pois realiza um elevado número de operações de Entrada e Saída. Esse tipo de processo é encontrado em aplicações comerciais, que se baseiam em leitura, processamento e gravação.

$> Cache Hit e Cache Miss
Primeiramente temos que entender como funciona cache, que é algo muito simples, basicamente é colocado na memória os dados e instruções que são mais utilizados pelo computador, assim sendo mais fácil encontrar determinada informação, por isso, pode ser ‘lento’ abrir um aplicativo na primeira vez, mas nas vezes seguintes, será mais ‘rápido’ sua abertura.

A regra utilizada é cerca de 20/80, sendo 20% dos dados e/ou instruções utilizado em 80% das vezes no computador. Assim se esses dados e intruções estiverem na memória cache, o desempenho do micro será melhor.

O usuário não precisa se preocupar em colocar os dados mais utilizados na memória cache. Existe um circuito específico que faz isso automaticamente, chamado de Controlador de cache (que tenta até mesmo ‘adivinhar’ quais serão os dados solicitados pelo processador).

Se o processador precisa de uma informação e ela está no cache, a informação é acessada e o desempenho é alto. Quando isso acontece, chamamos de Cache Hit (algo como “Acerto na cache”). Porém se a informação não estiver no cache, ele vai ter que ser lida da memória RAM, que torna o processo um pouco mais lento, este caso é chamado de Cache Miss (algo como “Erro na cache”). A ideia é fazer com que o número de Cache Hit seja maior que o número de Cache Miss.

$> Best Fit, Worst Fit, First Fit, Last Fit e Next Fit

Quando se usa partições variáveis, elas são ajustadas dinamicamente às necessidades dos processos. O tamanho e o número de partições é variável conforme as especificações dos micros. O Sistema Operacional manté uma lista de áreas livres de memória para utilização por aplicações.

Basicamente a Best Fit, Worst Fit, First Fit, Last Fit e Next Fit são técnicas para percorrer a lista, com objetivo de alocação de memória.

Abaixo uma descrição de cada técnica:

Best Fit: A que deixa a menor sobra na memória disponível;
Worst Fit: A que deixa a maior sobra na memória disponível;
First Fit: A primeira área suficiente na memória disponível;
Last Fit: A última área suficiente na memória disponível;
Next Fit (ou Circular Fit): A próxima área suficiente na memória disponível, a partir da última alocação.

Bom pessoal, por hoje é só.
Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

2 Responses

  1. Fábio disse:

    Legal seu texto Atílio, eu que sou mais da área de consultoria e desenvolvimento aprendi muito com ele, valew!!

Deixe uma resposta

Terminal de Informação