Sistemas Operacionais
• 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
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 programas, sistemas e aplicativos usuários • Compartilhamento de recursos de forma organizada e protegida memória discos Hardware Sistema Operacional Sistema Operacional fitas
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).
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;
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;
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.)
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; - Inicio década de 50 introdução perfuradoras de cartão;
- 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). jobs/programas qual está pronto para ser executado).
- 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 Tipos de S.O´s
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 -Redução de custos porém implementação mais complexa
- 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
- 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
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.
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;
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 • Disponibilidade: manter o sistema em operação mesmo em caso de falhas;
• Balanceamento de carga: distribuição do processamento entre os diversos 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;
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
3.1- Sistemas fracamente acoplados - Exemplo:
Sistema Operacional - Tipos
Tipos de S.O´s
Monoprogramáveis/
Multiprogramáveis / Monoprogramáveis/ Com múltiplos
Monotarefas Multiprogramáveis / Multitarefas Com múltiplos processadores Fortemente Fracamente
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.
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.