Buscar

Aula 1 - Sistemas Operacionais - Conceitos Básicos

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Sistemas Operacionais
Introdução aos Conceitos Básicos
Universidade Federal do Piauí – UFPI
Campus Senador Helvídio Nunes de Barros – Picos –PI 
Bacharelado em Sistemas de Informação
1
Um sistema computacional moderno consiste em um ou mais processadores, memórias, discos e dispositivos de E/S.
Os programadores não entendem como cada dispositivo funciona e na maioria das vezes eles não são fáceis de gerenciar e manter o desempenho.
Por todas as dificuldades é necessário um dispositivo de software denominado “Sistema Operacional”.
O Sistema Operacional (S.O.) oferece um sistema computacional baseado em modelos simples e de fácil utilização, além de gerenciar em alto nível todos os recursos da máquina.
1. Introdução 
Existem vários Sistemas Operacionais no mercado, os mais conhecidos são:
Windows 
Linux
FreeBSD
Mac OS
Android
Google OS
O programa com o qual os usuários interagem diretamente e chamado de “shell” (interpretador de comandos) quando baseados em texto, e GUI (interface gráfica com o usuário) quando baseado em formas e ícones.
1. Introdução 
2. Panorama do Sistema Operacional
A maioria dos Sistemas Operacionais possuem dois modos de Operação:
Modo Supervisor: Acesso completo a todo o hardware, pode executar qualquer instrução;
Modo Usuário: Apenas subconjuntos de instruções podem ser executadas. Em particular, as instruções que afetam o controle da máquina são proibidas para programas de modo usuário. 
O Sistema Operacional opera diretamente no hardware, e uma das suas características e que o usuário pode escolher qualquer programa de seu gosto para instalá-lo no mesmo. Ex.: navegadores, processadores de texto, etc.
2. Panorama do Sistema Operacional 
Uma vez criado um S.O. os seus desenvolvedores dificilmente descartam o seu código-fonte para começar do zero, pelo fato de um programa como este possuir, em média, cerca de 5 milhões de linha de comando, por este motivo eles tem vida longa.
2. Panorama do Sistema Operacional
CPU 
3. Revisão sobre o Hardware
Memórias 
3. Revisão sobre o Hardware
Disco Magnético
3. Revisão sobre o Hardware
Disco Magnético
3. Revisão sobre o Hardware
Um endereço de hardware é uma combinação de número de cilindro, número de trilha, número de bloco.
O buffer de disco armazena um bloco de disco temporariamente enquanto ele é movido para outro dispositivo.
 As vezes vários blocos de disco contíguos são transferidos com uma unidade, através de cluster, neste caso o buffer é ajustado para receber esta quantidade de bytes. 
O mecanismo hardware que lê e grava é a cabeça de leitura e gravação do disco que é acoplada no braço mecânico. 
3. Revisão sobre o Hardware
Barramento
Um barramento, ou bus, nada mais é do que um caminho comum pelo qual os dados trafegam dentro do computador.
O tamanho de um barramento é importante pois ele determina quantos dados podem ser transmitidos em uma única vez. Por exemplo, um barramento de 16 bits pode transmitir 16 bits de dado, e um barramento de 32 bits pode transmitir 32 bits de dados a cada vez. 
3. Revisão sobre o Hardware
Uso de um programa que faz cálculos matemáticos
Usuário digita: 10+20*2
UC recebe estes dados
UC verifica que precisam ser calculados
UC envia para a ULA
ULA realiza o cálculo necessário
ULA retorna o valor 50 para a UC
UC armazena na memória
UC mostra o resultado no dispositivo de saída
4. Exemplo de como Funciona o Computador:
5. Memória Virtual
Na gerência de memória convencional feita pelo S.O. as páginas ou segmentos (unidades) de um programa são todos carregados para MP (memória principal) antes de sua execução.
Devido a localidade, um programa só precisa de algumas dessas unidades em um dado momento:
É possível gerenciar a memória de forma que só unidades necessárias em um dado momento estejam na MP.
Memória física pode ser melhor aproveitada, sendo possível:
Executar um programa maior que a MP;
Executar vários programas “ao mesmo tempo” que somados são maiores que a MP.
UCP gera endereços para espaço de endereçamento lógico maior que tamanho da MP física (daí o nome virtual).
Quando você liga o computador, o primeiro programa executado é, geralmente, um conjunto de instruções armazenadas na memória ROM. Este código examina o hardware do sistema para ter certeza de que tudo está funcionando corretamente. Este autoteste, conhecido como POST ele verifica a CPU, a memória, a BIOS (Sistema de Entrada e Saída Binário ), procura por erros e armazena o resultado em uma memória especial. 
15
6. A Inicialização do Sistema Operacional
Ao completar o POST, o software é carregado na memória ROM (às vezes chamado de BIOS ou firmware) ativa as unidades de disco do computador. Na maioria dos computadores modernos, quando o computador ativa o disco rígido ele encontra o trecho inicial do sistema operacional, conhecido como bootstrap loader (sistema de inicialização).
16
6. A Inicialização do Sistema Operacional
O bootstrap loader é um pequeno programa que tem uma única função. Ele carrega o sistema operacional na memória e permite que ele comece a operar.
17
6. A Inicialização do Sistema Operacional
18
7. Tipos de Sistemas Operacionais
Tipos de Sistemas
Operacionais
Sistemas
Monoprogramáveis / 
Monotarefa
Sistemas
Multiprogramáveis / 
Multitarefa
Sistemas com
Múltiplos
Processadores
Execução de um único programa.
Qualquer outro programa, para ser executado, deveria aguardar o término do programa corrente.
Tipicamente relacionado ao surgimento dos mainframes.
19
7.1 Sistemas Monoprogramáveis / Monotarefa
Mais complexos e mais eficientes.
Vários programas dividem os mesmos recursos.
Aumento da produtividade dos seus usuários e a redução de custos.
20
7.2 Sistemas Multiprogramáveis / Multitarefa
Caracterizam por possui duas ou mais UCPs interligadas, trabalhando em conjunto;
Fortemente Acoplado:
dois ou mais processadores compartilhando uma única memória e controlados por apenas um único S.O.
Fracamente Acoplado:
Dois ou mais sistemas de computação interligados, sendo que cada sistema possui o seu próprio S.O.
21
7.3 Sistemas com Múltiplos Processadores
Projetos de S.O. usados na prática:
Sistema Monolítico
Sistema de Camadas 
Micronúcleo
Sistema Cliente-Servidor
Máquinas Virtuais 
Exonúcleo
8. Estrutura de um S.O.
O S.O. é executado como um único programa.
As rotinas possuem interfaces definidas e cada uma tem a liberdade de chamar qualquer outra.
Os arquivos-objetos estão ligados (linker), onde não existe ocultação de informações, todas as rotinas são visíveis as outras.
Estrutura de chaveamento.
Para cada chamada existe uma rotina de serviço.
Suporte a extensões carregáveis (Ex.: drives de E/S, sistemas de arquivos, etc.).
8.1Sistema Monolítico
8.1 Sistema Monolítico
Este tipo de S.O. é desenvolvido em hierarquias de camadas. O nível mais baixo é o hardware e o nível mais alto é a interface.
Uma camada se relaciona com a outra abaixo;
Este tipo de sistema tem uma grande desvantagem, o tempo de espera por resposta do sistema é custoso, pelo fato das requisições passarem por todas as camadas abaixo do nível solicitante (overhead).
A única vantagem destes sistemas é o controle maior sobre o hardware.
8.2 Sistemas em Camadas 
8.2 Sistemas em Camada 
Ideias expressivas de melhorias do sistema monolítico e sistema de camadas. 
Impulsionado pela quantidades de erros no código-fonte do sistema que possivelmente pode parar a execução do mesmo.
Este projeto visa alcançar alta confiabilidade por meio da divisão do S.O. em módulos pequenos, bem definidos, onde apenas um desses módulos – o micronúcleo – é executado e o restante é executado como processos de usuários.
 Se executado um único módulo é possível minimizar as chances de acontecer erros catastróficos.
8.3 Micronúcleo
Não implementa política de processos e sim mecanismos de execução.
Um algoritmo de escalonamento de processos atribui prioridades a processos, sequencialmente, faz com que o núcleo
execute o de maior prioridade:
mecanismo: procura o processo (no núcleo).
política: pode ser feita de acordo com processo de usuários.
8.3 Micronúcleo
Ligeira variação do micronúcleo.
Duas classes de processos: cliente e servidor.
A comunicação entre cliente e servidor e feita através de mensagens. O processo cliente cria uma mensagem dizendo o que deseja e o servidor executa e envia retorno.
Este projeto pode ser implementado em uma única máquina executando os dois tipos de processos ou em máquinas diferentes, conectadas através de uma rede local ou não.
A sistemática e semelhante a nossa WEB de hoje.
 
8.4 Sistemas Cliente-Servidor
8.4 Sistemas Cliente-Servidor
Estes sistemas compartilham o tempo da CPU (sistema de tempo compartilhado).
Nestes modelo é criado uma camada intermediária entre o S.O. e o hardware. 
O monitor de máquina virtual (hypervisor) é executado diretamente no hardware e implementa a multiprogramação, provento não uma única máquina, mas várias máquinas virtuais.
Cada máquina virtual é uma cópia exata do hardware e cada uma delas pode executar diferentes sistemas operacionais.
8.5 Máquinas Virtuais
8.5 Máquinas Virtuais 
Em vez de clonar a máquina real, outra estratégia seria dividi-las e dar a cada usuário um subconjunto de recursos. 
Este modelo implementa a execução de um programa em modo núcleo denominado exonúcleo. Sua principal função e alocar recursos e assegurar que cada máquina virtual não tente executar recursos de outra. 
Cada máquina poderá executar qualquer S.O. como no modelo anterior, porém cada uma está restrita a usar somente o que pediu e os que foram alocados.
Separa com menor custo a multiprogramação.
9. Exonúcleo
9. Exonúcleo
Grande avanços são constatados em pesquisas sobre S.O.
Novos dispositivos surgem todos os dias e precisam de uma ferramenta de software para gerenciar.
Melhoria na utilização de dispositivos existentes.
Estima-se que quase todos os dispositivos necessitarão de um S.O.
10. Estudos em S.O.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando