Sistemas Operacionais 01 Introdução e Conceitos
Definição: É um software que atua como intermediário entre o usuário e o hardware do computador e, serve também como intermediário entre os softwares aplicativos e o hardware. Objetivo: Tornar o uso do sistema de computação conveniente. Uma meta secundária é usar o hardware do computador de forma eficiente.
Exemplos de S.O s:
Sistema Operacional - Funções Facilidade de acesso aos recursos do sistema: A utilização dos diversos dispositivos ( impressoras, scanners, mouse, etc...) é abstraída dos usuários. programadores e analistas usuários Usuários programas, sistemas e aplicativos Sistema Operacional Compartilhamento de recursos de forma organizada e protegida - Execução de diversas tarefas ao mesmo tempo memória UCP impressoras Hardware discos fitas monitores
Sistema Operacional Máquina de Camadas (Abstração de recursos) Cada hardware tem sua particularidade Cabe ao sistema operacional gerenciar as particularidades do hardware - Um processador de texto não deve deter o conhecimento de como gravar um arquivo (disquetes, pen drive, hd s).
Sistema Operacional
Sistema Operacional -responsabilidades Gerencia de Processos Chamamos de programas em execução de processos; Escalonamento de processos; O S.O. dar suporte aos processos da seguinte forma: - Criando e destruindo processos; - Alterando a prioridade; - Comunicação entre processos; - Sincronização entre processos;
Sistema Operacional -responsabilidades Gerencia de Memória Evitar desperdício de memória; O S.O. atende as solicitações de alocação e liberação de memória: - Solicitação de memória adicional; - Liberar memória de volta para o S.O. - Solicitar áreas de memória para serem compartilhadas entre processos;
Sistema Operacional -responsabilidades Gerencia de Dispositivos de E/S Esses dispositivos quase sempre são utilizados entre vários processos; Ao gerenciá-los, fornece serviços aos processos, tipo: - Abrir ou associar um dispositivo a um processo; - Ler ou gravar dados de um dispositivo; - Fechar e liberar um dispositivo;
Sistema Operacional -responsabilidades Gerencia do Sistema de arquivos Ao gerenciá-los, fornece serviços de: - Abertura e leitura de um arquivo; - Gravação e fechamento de um arquivo; - Leitura ou modificação dos metadados de arquivos (nome, tamanho, propriedade e etc.)
Sistema Operacional -responsabilidades Gerencia de Segurança O S.O. não pode permitir que um processo encerre o outro; Que um processo não grave no espaço de memória do outro; As aplicações podem solicitar: - Configura politicas de segurança; - Autenticar-se em um sistema remoto; - Criptografar e decriptografar mensagens; (transmitidas em redes
Sistema Operacional - Histórico Primeira Geração: 1945 1955 - Surgimento computadores digitais (300 válvulas);computador Z3 relés; Mark; Eniac; primitivos e lentos levavam segundos para efetuarem cálculos simples; - A manutenção desses equipamentos era feita em código de maquina (nem mesmo assembly existia); - Inicio década de 50 introdução perfuradoras de cartão;
Sistema Operacional - Histórico Segunda Geração: 1955 1965 - Transistores e Sistemas em lote (batch) - Mainframes; - Execução de tarefas - Surgimento Fortan ou Assembly; - Desperdício de recursos e tempo - Sistemas em lote (batch)
Sistema Operacional - Histórico Terceira Geração: 1965 1980 - Circuitos integrados - Multiprogramação (spooling, timesharing) - Gerenciamento de memória (O sistema deve alocar e liberar a memória para vários jobs/programas). - Escalonamento da CPU (O sistema deve escolher entre os vários jobs/programas qual está pronto para ser executado). - Alocação dos dispositivos
Sistema Operacional - Histórico Quarta Geração: 1980 presente - Chips com milhares de transistores; - Computadores pessoais; - Sistemas operacionais de Redes; - Sistemas Operacionais distribuídos;
Sistema Operacional - Tipos - Os tipos e suas evoluções, estão associados diretamente com as evoluções de hardware e das aplicações por eles suportadas Tipos de S.O s Monoprogramáveis/ Monotarefas Multiprogramáveis / Multitarefas Com múltiplos processadores
Sistema Operacional - Tipos 1 - Sistemas Monoprogramáveis / Monotarefas -Primeiros sistemas, voltados para a execução de um único programa; -Dedicação exclusiva dos recursos de hardware (memória, processador, etc...), a um único programa;
Sistema Operacional - Tipos 2 - Sistemas Multiprogramáveis / Multitarefas -Evolução dos sistemas monoprogramáveis; -Recursos computacionais compartilhados entre usuários e aplicações (gerenciamento de recursos); -Redução de custos porém implementação mais complexa
Sistema Operacional - Tipos 2 - Sistemas Multiprogramáveis / Multitarefas - Redução total do tempo de execução das aplicações; - A partir do número de usuários, podemos classificar como monousuário ou multiusuário; -Multiprogramáveis monousuários: computadores pessoais, estações de trabalho, apenas um usuário interagindo com o sistema; -Multiprogramáveis multiusuários: diversos usuários conectam-se ao sistema simultaneamente;
Sistema Operacional - Tipos - Sistemas Multiprogramáveis podem ser classificados pela forma com que suas aplicações são gerenciadas; Sistemas Multiprogramáveis Sistemas Batch Sistemas Tempo Compartilhado Sistemas Tempo Real
Sistema Operacional - Tipos 2.1 - Sistemas Batch - Foram os primeiros multiprogramáveis (década de 60); - Programas chamados de Jobs (cartões perfurados); - Podem ser bastante eficientes (melhor utilização do processador); 2.2 - Sistemas de Tempo Compartilhado (time-sharing) - Execução diversos programas a partir da divisão do tempo do processado em pequenos intervalos, fatia de tempo (time-slice);
Sistema Operacional - Tipos 2.3 - Sistemas Tempo Real (real time) - Similar aos sistemas de tempo compartilhado, porém o tempo exigido no processamento das aplicações, podem comprometer a execução das mesmas; - Tempo de processamento dentro de limites rígidos; - Não existe fatia de tempo; Aplicação é a prioridade. -Ex.: Refinarias de petróleo, Sistemas hospitalares;
Sistema Operacional - Tipos 3 - Sistemas com múltiplos processadores - Duas ou mais CPU s interligadas e trabalhando em conjunto; - Vários programas sendo executados ao mesmo tempo, ou um mesmo programa seja dividido em partes; -Ex.: Processamento científico, desenvolvimento aeroespacial, empresas petrolíferas;
Sistema Operacional - Tipos 3 - Sistemas com múltiplos processadores - Características: Escalabilidade: ampliar poder computacional adicionando novo processadores; Disponibilidade: manter o sistema em operação mesmo em caso de falhas; Balanceamento de carga: distribuição do processamento entre os diversos processadores.
Sistema Operacional - Tipos 3 - Sistemas com múltiplos processadores - Tipos: A forma de comunicação entre as UCP s e o grau de compartilhamento da memória e dos dispositivos de E/S, possibilita uma sub-divisão Sistemas c/ Múltiplos Processadores Sistemas Fortemente Acoplados Sistemas Fracamente Acoplados
Sistema Operacional - Tipos 3.1- Sistemas fortemente acoplados (multiprocessadores) - vários processadores compartilhando uma única memória física e dispositivos de E/S;
Sistema Operacional - Tipos 3.1- Sistemas fortemente acoplados (multiprocessadores) - Exemplos:
Sistema Operacional - Tipos 3.1- Sistemas fracamente acoplados - possuem dois ou mais sistemas computacionais conectados através de linhas de comunicação; - Cada sistema funciona de forma independente (S.O. gerenciando seus próprios recursos
Sistema Operacional - Tipos 3.1- Sistemas fracamente acoplados - Exemplo:
Sistema Operacional - Tipos Tipos de S.O s Multiprogramáveis / Multitarefas Monoprogramáveis/ Monotarefas Com múltiplos processadores Batch Tempo Compartilhado Tempo Real Fortemente Acoplados Fracamente Acoplados
Exercícios 1- Quais as principais dificuldades que um programador teria no desenvolvimento de uma aplicação em um ambiente sem SO? 2- Defina o conceito de uma máquina de camadas. 3- Cite 3 tipos de SO s e explique. 4- Explique a diferença entre sistemas mono e multiprogramáveis. 5- Por que dizemos que existe subutilização de recursos em sistemas monoprogramáveis? 6- Um sistema monousuário pode ser um sistema multiprogramável? Explique. 7- Explique a diferença entre sistemas fracamente acoplados e sistemas fortemente acoplados.