Guia de Arquitetura ISA e Sistemas Operacionais
Classificado em Computação
Escrito em em
português com um tamanho de 11,49 KB
1) PPT 1 – Nível ISA
O que significa?
Significa Nível da Arquitetura do Conjunto das Instruções ou Nível ISA (Instruction Set Architecture).
Em uma máquina multinível, onde ela se localiza?
Ela está localizada acima do Nível da Microarquitetura (2) e abaixo do Nível do Sistema Operacional (4).
Quais as características de um bom projeto de Nível ISA?
Definir um conjunto de instruções que possa ser implementado com eficiência tanto nas tecnologias atuais como nas futuras, além de fornecer uma interface eficiente com o compilador e com o hardware.
Quais são as propriedades do Nível ISA?
As instruções do nível ISA são aquelas para as quais o compilador deve gerar código.
Qual a principal característica do Nível ISA?
É o seu conjunto de instruções de máquina. Essas instruções controlam tudo aquilo que a máquina pode fazer. LOAD e STORE são instruções usadas para permitir o movimento de dados entre a memória e os registradores.
Formato das Instruções
Um programa é constituído de uma sequência de instruções, cada uma especificando alguma ação em particular. As instruções contêm, obrigatoriamente, "códigos de operação" que irão gerar a ação desejada. Em algumas máquinas, todas as instruções têm o mesmo tamanho; o fato de possuírem o mesmo número de bits simplifica muito o projeto do hardware.
Quais são os critérios para a determinação do formato das instruções?
Instruções curtas são melhores que as longas por serem menos complexas e ocuparem menos memória. Cada memória tem uma determinada taxa de transferência, a qual é maior para instruções mais curtas, o que aumenta a velocidade de processamento.
Para que serve a Expansão dos Códigos de Operação?
A técnica da expansão dos códigos de operação é utilizada para permitir que todas as instruções de um conjunto possam manter o mesmo tamanho.
Endereçamento
Uma instrução pode ter mais de um endereço associado a ela. As formas de se endereçar uma determinada posição de memória ou registrador são diversas e dependem da operação a ser executada.
Tipos de Endereçamento:
- Endereçamento Imediato;
- Endereçamento Direto;
- Endereçamento do Registrador;
- Endereçamento Indireto;
- Endereçamento Indireto Múltiplo;
- Endereçamento por Indexação;
- Endereçamento por Base Deslocamento;
- Endereçamento por Pilha.
Fluxo de Controle
Entende-se por fluxo de controle a sequência na qual as instruções são dinamicamente executadas no decorrer de um programa. Se não houver desvios ou chamadas de procedimentos, as instruções são executadas na sequência. Se houver chamada, ocorre alteração no fluxo de controle, fazendo com que o procedimento corrente pare de ser executado e comece a execução do novo procedimento.
Fluxo de Controle - Procedimentos (Sub-rotina)
O procedimento (sub-rotina) é a técnica mais importante para a estruturação de programas. Uma chamada a procedimento altera o fluxo de controle, mas, ao contrário do desvio, quando termina sua tarefa, retorna o controle para o comando ou instrução seguinte à instrução de chamada. Uma sub-rotina é um grupo de instruções que executa uma tarefa e pode ser chamada em vários pontos; ao final, há uma instrução de retorno ao programa chamador.
Fluxo de Controle - Co-Rotinas
Os dois procedimentos podem considerar um ao outro como procedimento chamador e chamado. Quando uma co-rotina é retomada, a execução começa no comando suspenso anteriormente, e não no início.
Fluxo de Controle - Traps
Um trap é uma chamada a procedimento automática, iniciada sempre que ocorrer alguma condição específica causada pela execução de um programa (ex: divisão por zero, violação de proteção, código de operação inválido). O trap é disparado para evitar que uma anormalidade cause danos, detectando o problema e alertando para a ocorrência, mas não possui recursos para recuperação ou reinicialização.
Fluxo de Controle - Interrupções
As interrupções são modificações no fluxo de controle causadas por um evento externo ao processamento do programa, usualmente relacionados a operações de E/S (Entrada e Saída).
Fluxo de Controle - Trap x Interrupções
Se um programa for processado milhões de vezes com as mesmas entradas, os traps ocorrerão nos mesmos instantes relativos. Já a ocorrência das interrupções variará a cada processamento, dependendo das ações dos dispositivos de E/S.
PPT 2 – Só tinha exercícios (acho que não cai na prova)
PPT 3 – Nível ISA, Interrupções
Ações do Hardware
- O controlador do dispositivo ativa uma linha de interrupção no barramento do sistema.
- O processador ativa no barramento um sinal de reconhecimento da interrupção.
- O controlador coloca um pequeno valor inteiro (vetor de interrupção) nas linhas de dados para sua identificação.
- O processador remove o vetor de interrupção do barramento e salva seu valor temporariamente.
- O procedimento coloca na pilha o conteúdo do registrador Contador de Programa e da PSW (Program Status Word).
- O processador localiza um novo Contador de Programa com a ajuda do vetor de interrupção (índice para uma tabela na memória baixa).
Ações do Software
- A rotina de tratamento deve salvar o conteúdo de todos os registradores (na pilha ou tabela) para restauração posterior.
- O número do terminal causador é identificado pela leitura de um registrador do dispositivo.
- Informações extras, como códigos de estado, são obtidas.
- Tratamento de eventuais erros de E/S.
- Geração de código especial para informar ao controlador que a interrupção está sendo processada.
- Restauração dos valores originais dos registradores.
- Execução da instrução RETURN FROM INTERRUPT, retornando o processador ao estado anterior.
PPT 4 – Nível do Sistema Operacional
Em uma máquina multinível, onde ele se localiza?
Está localizado acima do Nível ISA (3) e abaixo do Nível da Linguagem de Montagem (5).
O que é um SO?
Um Sistema Operacional (SO) é um programa que adiciona um conjunto de novas instruções e funcionalidades além das suportadas no nível ISA. Uma Chamada de Sistema ativa um serviço prestado pelo SO ao nível da aplicação.
Memória Virtual
É uma estratégia de utilização combinada da memória principal com a memória secundária, dando aos processos a impressão de utilizarem uma memória principal muito maior do que a real.
O que são Overlays?
São pedaços de um programa que ficam em disco e são chamados para a memória no momento da execução. A evolução deste método é a Paginação.
Paginação
Técnica de "overlay" automático onde o espaço de endereçamento lógico é dividido em páginas de tamanho fixo. A memória física também é dividida em páginas de mesmo tamanho. Não existe fragmentação externa, somente interna.
Fragmentação Interna
É a memória alocada e não utilizada pelo programa, ocorrendo quando o programa não utiliza toda a memória disponível na partição alocada.
Swapping
No swapping, segmentos são trazidos do disco para a memória conforme a necessidade. Se não houver espaço, segmentos atuais são retirados e escritos de volta no disco.
Segmentação
Técnica onde programas são divididos em segmentos de tamanhos variados. A alocação depende da lógica do programa e ocorre fragmentação externa.
Fragmentação Externa
Ocorre entre segmentos devido à sucessiva troca de blocos, criando intervalos ociosos. É tratada através da compactação.
Controle de Espaço em Disco
O SO utiliza dois métodos: a Lista Livre e o Mapa de Bits.
Processos
Quando um programa roda, ele o faz como parte de algum processo. Na criação de processos, existem duas possibilidades:
- O processo-pai cria e mantém controle sobre o processo-filho (necessita de instruções virtuais para parar, retomar ou terminá-lo).
- O processo-pai cria o processo-filho e este torna-se independente.
PPT 5 – Nível do Sistema Operacional
Paginação por Demanda
As páginas são trazidas para a memória principal apenas quando são referenciadas (requisições explícitas). Se o processador buscar uma instrução não presente, ocorre uma falta de página (page fault).
Memória Virtual no Pentium II
Suporta paginação por demanda, segmentação pura e segmentação com paginação. Utiliza duas tabelas principais:
- LDT (Local Descriptor Table): Tabela de Descritores Locais (própria de cada programa).
- GDT (Global Descriptor Table): Tabela de Descritores Globais (compartilhada por todos os programas).
PPT 6 – Nível do Sistema Operacional
UNIX e suas funcionalidades
Destaque para portabilidade, memória virtual paginada, nomes de arquivos com até 255 caracteres e criação do protocolo TCP/IP.
UNIX – Estrutura de seu sistema
Na base estão os drivers de dispositivos. Acima deles, o sistema de arquivos (gerencia nomes, diretórios e blocos de disco) e a cache de blocos. O Kernel gerencia processos e a comunicação entre eles (IPC). A interface original era o shell (baseado em texto), que roda no nível do usuário e não faz parte do kernel.
PPT 7 – Nível do Sistema Operacional
Windows NT (New Technology)
Diferente das versões 3.x (que eram interfaces sobre o MS-DOS), o Windows NT era um sistema de 32 bits real. O microkernel visava a portabilidade e independência de hardware, permanecendo residente na memória sem sofrer preempção.
Componentes do Executivo:
- Gerente de Objetos: Trata processos, threads, arquivos e semáforos.
- Gerente de E/S e Cache: Provê ambiente de controle e acelera acesso a blocos de disco.
- Gerente de Memória Virtual: Implementa paginação por demanda.
- Gerente de Segurança: Responsável por autenticação e controle de acesso.
- Gerente de Interface Gráfica: Trata imagens e janelas.
Serviços do Sistema: Implementam a interface para o Executivo, aceitando chamadas de sistema do NT.