TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Os Sistemas Operacionais

Por:   •  24/9/2018  •  Pesquisas Acadêmicas  •  6.922 Palavras (28 Páginas)  •  196 Visualizações

Página 1 de 28

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.

...

Baixar como (para membros premium)  txt (45.2 Kb)   pdf (271.7 Kb)   docx (37.8 Kb)  
Continuar por mais 27 páginas »
Disponível apenas no TrabalhosGratuitos.com