Sistemas Operacionais Abertos e Mobile
Profº Esp. Fernando A G Bueno
AULA 2
Sistemas Operacionais Abertos e Mobile
5. Gerencia de recursos
É uma função crucial em sistemas operacionais, envolvendo a alocação,
controle e liberação de recursos como CPU, memória, dispositivos de I/O, e
espaço de armazenamento. Aqui estão exemplos aplicados ao uso de um
computador para ilustrar como o gerenciamento de recursos funciona em
prática:
Profº Esp. Fernando A G Bueno
Sistemas Operacionais Abertos e Mobile
5. Gerencia de recursos | Gerenciamento CPU
Cenário: Multitarefa em um Computador Pessoal
Imagine que você está usando um computador para executar várias tarefas ao mesmo tempo: edição de texto,
navegação na web, e renderização de vídeo.
Problema:
A CPU, sendo um recurso limitado, precisa ser distribuída entre essas tarefas de forma eficiente para garantir que
o sistema permaneça responsivo.
Solução:
O sistema operacional usa escalonamento de processos para gerenciar a CPU. Pode aplicar diferentes algoritmos,
como Round Robin para distribuir tempo igualmente entre processos, ou Priority Scheduling para garantir que
processos críticos (como a renderização de vídeo) recebam mais tempo de CPU.
Resultado:
O computador pode executar todas as tarefas de forma responsiva, sem que uma tarefa monopolize a CPU.
Profº Esp. Fernando A G Bueno
Sistemas Operacionais Abertos e Mobile
5. Gerencia de recursos | Gerenciamento de memória
Cenário: Execução de Múltiplos Programas
Suponha que você tenha aberto um editor de texto, um navegador da web com várias abas, e um programa de
edição de imagem ao mesmo tempo.
Problema:
A memória RAM é limitada, e se todos esses programas tentarem ocupar a memória simultaneamente, pode
ocorrer uma falta de memória, resultando em um desempenho lento ou até travamentos.
Solução:
O sistema operacional utiliza gerenciamento de memória com técnicas como paginação e swapping. Quando a
memória RAM está cheia, partes menos usadas dos programas (como abas inativas do navegador) podem ser
transferidas para o disco rígido (swap) para liberar espaço na RAM para os programas ativos.
Resultado:
O sistema pode continuar funcionando de maneira eficiente, permitindo que você trabalhe com vários programas
ao mesmo tempo sem esgotar a memória disponível.
Profº Esp. Fernando A G Bueno
Sistemas Operacionais Abertos e Mobile
5. Gerencia de recursos | Entrada e Saida (I/O)
Cenário: Transferência de Arquivos e Impressão Simultânea
Imagine que você está transferindo um grande arquivo para um disco externo enquanto imprime um documento.
Problema:
Os dispositivos de I/O (disco externo e impressora) precisam ser gerenciados de forma que ambos possam operar
eficientemente, sem que uma operação bloqueie a outra.
Solução:
O sistema operacional usa buffers e filas de I/O para gerenciar essas operações. Ele pode colocar os dados a
serem transferidos para o disco em um buffer e, ao mesmo tempo, gerenciar a fila de impressão para que as duas
operações possam ocorrer simultaneamente sem interferências.
Resultado:
A transferência de arquivos e a impressão ocorrem de forma eficiente, sem atrasos significativos em qualquer
uma das operações.
Profº Esp. Fernando A G Bueno
Sistemas Operacionais Abertos e Mobile
5. Gerencia de recursos | Armazenamento
Cenário: Instalação de Softwares e Organização de Dados
Você está instalando um novo software enquanto cópia grandes quantidades de dados para diferentes pastas no
disco rígido.
Problema:
O espaço de armazenamento é finito, e o sistema operacional precisa gerenciar a alocação de espaço em disco
para garantir que os arquivos sejam armazenados de forma eficiente e que o sistema não fique sem espaço.
Solução:
O sistema operacional utiliza sistemas de arquivos para organizar e alocar espaço no disco rígido. Ele pode
desfragmentar o disco periodicamente para garantir que os arquivos sejam armazenados de forma contígua,
melhorando o desempenho de leitura/escrita.
Resultado:
O software é instalado corretamente, e os dados são organizados no disco sem ocupar mais espaço do que o
necessário.
Profº Esp. Fernando A G Bueno
Sistemas Operacionais Abertos e Mobile
6. Mudança de contexto
Quando a CPU troca de um processo para outro, é necessário realizar uma
mudança de contexto, que envolve salvar o estado do processo atual
(registradores, contador de programa, etc.) e carregar o estado do próximo
processo. Esse processo deve ser rápido para minimizar a sobrecarga no
sistema.
Profº Esp. Fernando A G Bueno
Sistemas Operacionais Abertos e Mobile
6. Mudança de contexto
Quando a CPU troca de um processo para outro, é necessário realizar uma
mudança de contexto, que envolve salvar o estado do processo atual
(registradores, contador de programa, etc.) e carregar o estado do próximo
processo. Esse processo deve ser rápido para minimizar a sobrecarga no
sistema.
Profº Esp. Fernando A G Bueno
Sistemas Operacionais Abertos e Mobile
Mais de onde surgiu os
sistemas operacionais ?
Profº Esp. Fernando A G Bueno
Sistemas Operacionais Abertos e Mobile
Cronologia sistemas operacionais
Profº Esp. Fernando A G Bueno
Sistemas Operacionais Abertos e Mobile
Profº Esp. Fernando A G Bueno
Sistemas Operacionais Abertos e Mobile
Tipos de sistemas operacionais
Sistemas Monotarefa
• Os primeiros sistemas operacionais eram voltados tipicamente
para a execução de um único programa. Qualquer outra
aplicação, para ser executada, deveria aguardar o término do
programa corrente. Neste tipo de sistema, o processador, a
memória e os periféricos permanecem exclusivamente dedicados
à execução de um único programa.
• Era muito clara a desvantagem deste tipo de sistema, no que diz
respeito à limitação de tarefas (uma de cada vez), o que
provocava um grande desperdício de recursos de hardware.
Profº Esp. Fernando A G Bueno
Sistemas Operacionais Abertos e Mobile
Tipos de sistemas operacionais
Exemplo
Ms-dos
Profº Esp. Fernando A G Bueno
Sistemas Operacionais Abertos e Mobile
Tipos de sistemas operacionais
Sistemas Multitarefa
• Permite que vários programas utilizem os recursos da máquina de
modo concorrente, ordenado e protegido.
• As vantagens do uso deste tipo de sistema são a redução do
tempo de resposta das aplicações, além dos custos reduzidos
devido ao compartilhamento dos recursos do sistema. Apesar de
mais eficientes que os monoprogramáveis, os sistemas
multitarefa são de implementação muito mais complexa.
• Podem ser monousuário ou multiusuário.
Profº Esp. Fernando A G Bueno
Sistemas Operacionais Abertos e Mobile
Tipos de sistemas operacionais
Exemplo
Windows
Profº Esp. Fernando A G Bueno
Sistemas Operacionais Abertos e Mobile
Tipos de sistemas operacionais
Sistemas de Tempo Compartilhado (time-sharing)
Permitem que diversos programas sejam executados a partir da
divisão de tempo do processador em pequenos intervalos,
denominados fatia de tempo (time-slice).
Caso a fatia de tempo não seja suficiente para a conclusão do
programa, este é interrompido pelo sistema operacional e
substituído no processador por outro, enquanto aguarda nova fatia
de tempo.
Geralmente permitem interação do usuário com a aplicação e o
tempo de resposta da aplicação é variável.
Também conhecidos como sistemas "on-line". Profº Esp. Fernando A G Bueno
Sistemas Operacionais Abertos e Mobile
Tipos de sistemas operacionais
Exemplo
Unix
Profº Esp. Fernando A G Bueno
Sistemas Operacionais Abertos e Mobile
Tipos de sistemas operacionais
Sistema de tempo real
No sistema de tempo real não existe a ideia de fatia de tempo. Um
programa ocupa o processador o tempo que for necessário ou até
que apareça um outro com um nível de prioridade maior.
Esta prioridade de execução é definida pela própria aplicação e não
pelo sistema operacional.
Estes sistemas são utilizados em aplicações de controle de
processos, como monitoramento de refinarias de petróleo, controle
de tráfego aéreo, de usinas, ou em qualquer aplicação onde o
tempo de resposta é fator fundamental.
Profº Esp. Fernando A G Bueno
Sistemas Operacionais Abertos e Mobile
Tipos de sistemas operacionais
Exemplo
VxWork
Profº Esp. Fernando A G Bueno
Sistemas Operacionais Abertos e Mobile
Conceito de interrupção
• É sempre gerada por um evento externo ao programa e, sendo
assim, independe da instrução que está sendo executada.
• Ao término de cada instrução a Unidade de Controle do
processador verifica a ocorrência de algum tipo de interrupção.
Neste caso o programa em execução é interrompido e seu
controle é desviado para uma rotina do sistema operacional
responsável por tratar o evento ocorrido.
• É o mecanismo que permitiu a implementação da concorrência
nos computadores, sendo o fundamento básico dos sistemas
multitarefa.
• Exemplo: interrupção de término de operação de entrada/saída
Profº Esp. Fernando A G Bueno
Sistemas Operacionais Abertos e Mobile
Controle E/S
• Nos primeiros sistemas computacionais, a comunicação entre o
processador e os periféricos era direta, sendo o processador
responsável por efetuar as operações de E/S nos dispositivos.
• O surgimento do controlador de E/S permitiu ao processador agir
de maneira independente dos dispositivos de E/S.
• Os comandos de E/S são passados ao controlador e este executa
as ações necessárias independente do processador.
Por exemplo, o driver de uma impressora gerencia as instruções
de impressão enviadas pelo computador para a impressora.
Profº Esp. Fernando A G Bueno
Sistemas Operacionais Abertos e Mobile
Buffering
• Consiste na utilização de uma área em memória principal, denominada
buffer, criada e mantida pelo sistema operacional, com a finalidade de
auxiliar a transferência de dados entre dispositivos de E/S e a memória.
• O buffer deve permitir o armazenamento de vários registros de dados, de
forma que o processador tenha à sua disposição dados suficientes para
processar sem ter que interromper o programa a cada leitura/gravação no
dispositivo de E/S.
• Otimiza as operações de E/S pois enquanto o processador está tratando os
dados no buffer, o dispositivo de E/S pode estar realizando outra operação.
Exemplo o vídeo é carregado em um buffer antes de ser reproduzido,
prevenindo interrupções.
Profº Esp. Fernando A G Bueno
Sistemas Operacionais Abertos e Mobile
Spooling
• Esta técnica atualmente tem a função de armazenar o resultado da
impressão dos programas em execução em disco.
• O sistema operacional mantem uma grande área em disco com a finalidade
de simular uma impressora. Desta forma, os programas imprimem para
este arquivo em disco, liberando a associação dos dispositivos de
impressão diretamente aos programas que estão executando.
• Os relatórios vão sendo liberados para impressão pelo operador do
sistema, de forma ordenada e sequencial.
Exemplo quando um documento é enviado para impressão, ele é
armazenado temporariamente no spooler, que gerencia a ordem de
impressão dos documentos.
Profº Esp. Fernando A G Bueno