Os Sistemas Operacionais
Por: ANGEL RC • 24/9/2018 • Pesquisas Acadêmicas • 6.922 Palavras (28 Páginas) • 191 Visualizações
Porque precisamos de S.O?
Para controlar os dispositivos físicos do computador de forma correta e otimizada.
Não deixar todo o trabalho para o desenvolvedor de aplicações
- O tempo de desenvolvimento de aplicações aumentaria de forma absurda
- O desenvolvedor teria que aumentar seus conhecimentos, que até então só era na aplicação, teria que conhecer também hardware e comunicação de dispositivos...
- E teria riscos de terem aplicações semelhantes manipulando os dispositivos físicos de formas diversas sem garantia se estão corretas.
Estratégia
- Isolar a manipulação dos dispositivos em uma camada de software de mais baixo nível
- Essa camada de software é acionada pelas aplicações e execute as tarefas suas funções de forma transparente para cada aplicação.
Conceitos
Dispositivos físicos
- São os componentes eletromecânicos e eletrônicos do computador
- Exemplo: Chips, fios, fontes de alimentação ...
Microarquitetura
- São agrupamentos dos dispositivos físicos em unidades funcionais
- Exemplo: Registradores internos da CPU, unidade de lógica e aritmética ...
Linguagem de maquina
- É o conjunto de instruções que controlam a microarquitetura e alguns dispositivos físicos diretamente
- Possui um alto grau de complexidade para uso
Definição de S.O
- Um S.O é uma camada de software que oculta parcialmente o hardware e fornece um conjunto de instruções mais conveniente de manipular
- Oculta a complexidade existente
- Exemplos: enviar um comando que ordene a leitura de determinado bloco de arquivo é mais simples que comandar as cabeças de leitura do disco rígido do computador
Duas abordagens para entendermos melhor a situação de S.O
1- O S.O é uma MAQUINA VIRTUAL
- Funciona como uma máscara que simplifica a visão do hardware pelo usuário, simplificando a interação entre ambos
- Exemplo: um programa de aplicação não precisa saber qual a marca de memória usada pelo computador ou como manipular diretamente cada chip. Ele tem apenas o conhecimento de quanta memória existe disponível e os comandos para utilizá-la.
2- O S.O é um GERENCIADOR DE RECURSOS
- Controla o funcionamento dos dispositivos dentro de certos parâmetros pré-estabelecidos
- Organiza o compartilhamento de recursos disponíveis
- Exemplo: três programas distintos imprimindo simultaneamente na mesma impressora têm suas impressões enfileiradas
Tipos de S.O
Sistemas Monoprogramáveis / Monotarefa
- É uma ideia antiga, voltada para a execução de um único programa de cada vez.
- Sistemas Monoprogramáveis se caracterizam por permitir que processador, memória e periféricos permaneçam exclusivamente dedicados a execução de um único programa.
- É uma implementação simples, mas possui desvantagens de desempenho (processador ocioso, memória subutilizada, periféricos não compartilhados
Sistemas Multiprogramáveis / Multitarefa
- São uma evolução dos sistemas Monoprogramáveis baseados na ideia de compartilhamento dos recursos computacionais entre diversos usuários e aplicações.
- Oferecem vantagens de curso e desempenho, porém são mais complexos de implementar.
- Sistemas multiprogramáveis podem ser monousuário ou multiusuário.
Sistemas Batch
- São uma evolução dos sistemas Monoprogramáveis baseados na ideia de compartilhamento dos recursos computacionais entre diversos usuários e aplicações.
- A principal característica desta abordagem é a falta de interação com o usuário durante o processamento do programa, chamado de ‘Job’. O usuário submete seu Job para execução e apenas aguarda o resultado, que pode demorar segundos minutos, horas ou até dias.
- O tempo entre a submissão do Job e o retorno dos resultados é chamado de ‘turnaround’ e depende da quantidade de processamento requerida, do tempo de preparação necessário (alocação de recursos, por exemplo) para executar o Job e da quantidade de Jobs submetidos antes dele na fila de execução do sistema.
Sistemas de Tempo Compartilhado (Time-Sharing)
- Permitem que diversos programas sejam executados a partir da divisão do tempo do processador em pequenas fatias de tempo (time-slice). Caso essa fatia se esgote e seja insuficiente para a conclusão do programa, ele é interrompido e colocado em espera pelo sistema operacional e outro programa recebe sua fatia de tempo. O programa colocado em espera receberá outra fatia de tempo mais tarde.
- O sistema dá a cada usuário um ambiente de trabalho próprio, o que dá a impressão de que o ambiente está dedicado exclusivamente a ele.
- A alternância de fatias de tempo é rápida, o que permite uma boa interação com o usuário. Por causa disso, esses sistemas ficaram conhecidos como sistemas on-line.
Sistemas em Tempo Real
- São implementados de forma semelhante aos sistemas time-sharing. A diferença é o tempo exigido no processamento da aplicação.
- Nos sistemas em tempo real não existe o conceito de fatia de tempo. Um programa executa no processador pelo tempo que for necessário ou até que outro programa mais prioritário apareça. É a aplicação que define essa prioridade, e não o sistema operacional.
- Essa abordagem é frequentemente utilizada em controle de processos industriais ou qualquer aplicação onde o tempo de processamento é um fator fundamental.
Sistemas com múltiplos processadores
- Caracterizam-se por terem duas ou mais CPUs interligadas e trabalhando em conjunto. A grande vantagem disso é a possibilidade de múltiplos programas ou mesmo partes de um mesmo programa serem executadas em paralelo.
- Os conceitos de multiprogramação também são aplicados nessa abordagem, porém existem outras vantagens específicas desta solução, como a escalabilidade, disponibilidade e balanceamento de carga.
- Fatores-chave para o desenvolvimento de sistemas com múltiplas CPUs:
– Comunicação entre várias CPUs
– Compartilhamento de memória e dispositivos de entrada/saída
- Em função desses fatores podemos classificar estes sistemas em fortemente acoplados e fracamente acoplados.
Fortemente acoplados (tightly coupled)
- Vários processadores compartilham uma única memória física (shared memory)
- Alta taxa de transferência de informações entre processadores e memória.
- Dispositivos de entrada/saída gerenciados por um único sistema operacional.
- Conhecidos como multiprocessadores.
- Dois tipos:
– SMP (Symmetric Multiprocessors) : tempo uniforme de acesso à memória pelos processadores.
– NUMA (Non-Uniform Memory Access): diversos conjuntos de processador e memória principal. Cada conjunto ligado aos outros por meio de uma rede de interconexão. Tempo de acesso varia de acordo com a localização.
...