Andrique Amorim www.andrix.com.br professor@andrix.com.br Classificação dos Sistemas Operacionais
Classificação Os sistemas operacionais podem ser classificados segundo diversos parâmetros e perspectivas.
Classificação: alguns parâmetros Tamanho Velocidade Suporte Usuários Acesso à rede Etc.
Classificação Muitos SO se enquadram em mais de uma das categorias apresentadas.
Classificação dos Batch (de lote) Tempo Compartilhado De rede Distribuído Multi-usuário Desktop Servidor Embutido Tempo Real NÃO É UMA ABORDAGEM CRONOLÓGICA
Batch (de lote)
Classificação BATCH (de lote) - Sistemas mais antigos - Todos os programas a serem executados eram colocados em uma fila - Ficavam sempre residentes em memória
Classificação BATCH (de lote)
Classificação BATCH (de lote) - O processador recebia os programas (dados e informações) - Sem interação com o usuário - Alto grau de utilização do sistema
Classificação BATCH (de lote) - CPU fica ociosa e inativa por conta da lentidão dos dispositivos
Classificação BATCH (de lote)
Classificação BATCH (de lote) EXEMPLO: -Primeiros computadores - Transações bancárias
Tempo Compartilhado
Classificação Tempo Compartilhado Time-sharing permitem a interação dos usuários com o sistema Vídeo, teclado e mouse
Classificação Tempo Compartilhado Permitem que diversos programas sejam executados a partir da divisão do tempo de utilização do processador em pequenos intervalos, denominados fatias de tempo (time slice).
Classificação Tempo Compartilhado
Classificação Tempo Compartilhado Para cada tarefa, o SO aloca uma fatia de tempo do processador; Caso a tarefa não esteja concluído nesse intervalo de tempo, ela é substituída por outra tarefa; e fica esperando por uma nova fatia de tempo.
Classificação Tempo Compartilhado
Classificação Tempo Compartilhado Não só o processador é compartilhado neste sistema, mas também a memória e os periféricos, como discos e impressoras.
Classificação Tempo Compartilhado Time sharing consiste em alternar entre diferentes processos de forma que o usuário tenha a percepção que todos os processos estão sendo executados simultaneamente, permitindo a interação com múltiplos processos em execução.
Rede
Classificação de Rede - Deve possuir suporte à operação em rede - Oferecer às aplicações locais recursos que estejam localizados em outros computadores da rede (arquivos e impressoras)
Classificação de Rede - A maioria dos sistemas operacionais atuais oferece esse tipo de funcionalidade. - O Unix e MacOS já tem esses recursos embutidos.
Classificação de Rede EXEMPLOS: Microsoft Windows Server Windows NT Novell Netware
Distribuído
Classificação Distribuído É um modelo onde aplicações distribuídas são executadas em múltiplos computadores interconectados.
Classificação Distribuído Comunicação e Colaboração
Classificação Distribuído - Recursos de cada máquina estão disponíveis globalmente - O sistema é quem decide onde executar tarefas e armazenar arquivos de forma transparente
Classificação Distribuído - São potencialmente mais confiáveis (em caso de falha de um componente) Disco Processador
Classificação Distribuído Os sistemas distribuídos permitem o tratamento de erros de hardware e software de forma eficiente.
Classificação Distribuído EXEMPLOS: Amoeba Clouds
Multi-usuário
Classificação Multi-usuário Várias pessoas utilizam o mesmo sistema (computador) no mesmo instante ou em momentos diferentes
Classificação Multi-usuário Deve suportar a identificação do dono de cada recurso dentro do sistema (arquivos, processos, áreas de memória, etc)
Classificação Multi-usuário - Fundamental para a segurança dos sistemas operacionais de rede e distribuídos. - Grande parte dos sistemas atuais são multi-usuários
Classificação Multi-usuário Muitos usuários podem reduzir a performance
Classificação Multi-usuário O sistema operacional deve garantir que as tarefas dos usuários estejam separadas e não haja interferência entre as mesmas.
Classificação Multi-usuário EXEMPLOS: Unix Linux
Desktop
Classificação Desktop SO de de mesa é voltado ao atendimento do usuário doméstico e corporativo para a realização de atividades corriqueiras.
Classificação Desktop Edição de textos Navegar na internet Gráficos Etc
Classificação Desktop Interface gráfica Suporte à interatividade Operação em rede
Classificação Desktop EXEMPLOS: Windows XP Ubuntu MacOsX Linux
Servidor
Classificação Servidor Sistema Operacional específico para executar em servidores Arquitetura Cliente/Servidor
Classificação Servidor Gestão eficiente de grandes quantidades de recursos Impor prioridades e limites sobre o uso dos recursos pelos usuários e seus aplicativos.
Classificação Servidor Suporte a rede Multi-usuários
Classificação Servidor EXEMPLOS: Linux Windows 2008 server Free BSD
Embutido
Classificação Embutido Embedded - operar sobre um hardware com poucos recursos de processamento, armazenamento e energia.
Classificação Embutido Telefones Celulares Controladores industriais e automotivos Equipamentos eletrônicos de uso doméstico
Tempo Real
Classificação Tempo Real Não precisa ser necessariamente ultra-rápido Tempos de resposta devem estar dentro de limites rígidos
Classificação Tempo Real Não existe ideia de fatia de tempo Um programa detém o processador o tempo que for necessário, ou até que apareça outro prioritário em função de sua importância no sistema.
Classificação Tempo Real Dois tipos: 1. Soft real-time systems 2. hard real-time systems
Classificação Tempo Real Soft real-time systems (NÃO CRÍTICO) Falha é aceitável A perda de prazos implica na degradação do serviço prestado
Classificação Tempo Real Hard real-time systems (CRÍTICO) Perda de prazos pelo sistema pode perturbar o objeto controlado Com graves conseqüências humanas Econômicas ou Ambientais
Classificação Tempo Real
Classificação Tempo Real Aplicações: Monitoramento de refinarias de petróleo Usinas termoelétricas e nucleares Controle de tráfego aéreo ou Qualquer aplicação onde a fator tempo de resposta é crítico e fundamental.
Classificação Tempo Real EXEMPLOS DE SO: QNX RT-Linux VxWorks
Classificação Tempo Real A diferença dos sistemas de tempo real para os sistemas de tempo compartilhado é a definição do tempo de execução de cada programa. Nos sistemas de tempo compartilhado, quem define o tempo de processamento dos programas é o sistema operacional. Já nos sistemas de tempo real quem define o tempo de execução do programa é o próprio programa.