Primeiro Teste Flashcards
O que são interrupções?
Sinal de um dispositivo que tipicamente resulta numa troca de contexto:
o processador pára o processo em execução para atender ao pedido do dispositivo que pediu a Interrupção.
O que é um pedido de interrupção(IRQ)?
É um sinal de hardware enviado ao processador.
Para que são usadas as interrupções de hardware?
Para manipular eventos como: escrita do teclado ou uso do mouse.
O que é um SO?
Camada de software que virtualiza hardware.
Como é que funciona?
- Gestor de Recursos
2. Interface para a Máquina Física (abstração)
Qual é a vantagem?
Produtividade o mais elevada possível de todo o hardware existente no computador.
Efetua uma grande quantidade de tarefas transparentemente.
Funcionalidades apresentadas uniformemente.
Fiabilidade nas ações que executa.
Otimização do desempenho com objetivos bem definidos para cada SO.
Primeira evolução histórica?
Monitor de controlo.
Existia um programa chamado Monitor que aceitava alguns comandos do utilizador, que tinha uso exclusivo da máquina.
Este Monitor permitia carregar programas na memória central, ou controlar periféricos onde a saída do programa era escrita.
Os resultados eram dados em impressões, cartões perfurados e mais tarde fitas magnéticas.
Segunda evolução histórica?
Tratamento por lotes (batch).
Na 1ª geração o sistema (processador) estava durante longos espaços de tempo inativo devido às operações de I/O de dados.
O Tratamento por Lotes colmatava isso através da utilização de outros computadores para I/O de dados.
Assim era possível paralelizar diferentes fases da execução
Terceira evolução histórica?
Sistemas Multiprogramados.
Passa a haver concorrência entre diversos programas além de com apenas dispositivos de I/O.
Programas que aguardam dados que estejam em dispositivos de I/O, dão tempo de processamento a outros que estejam prontos a ser executados.
Para que isso seja possível, os programas têm de estar em memória, de modo a serem executados de imediato.
Técnicas de gestão de memória foram desenvolvidas no contexto destes sistemas.
Quarta evolução histórica?
Time Sharing.
Sistemas interativos onde vários utilizadores partilham tempo de CPU com a ilusão de terem uma máquina dedicada.
Vários terminais estão assim ligados a um sistema central.
Isto é possível porque a capacidade de processamento do processador é largamente superior à entrada de dados a partir de um terminal por um utilizador (na altura apenas a partir de teclados).
Quinta evolução histórica?
Memória virtual.
Dão ao programador a abstração de um espaço de endereçamento virtual de elevada dimensão, independente da memória física disponível.
Anteriormente, o programador tinha de fazer a gestão da memória e endereços, de modo a não exceder a memória física.
Sexta evolução histórica?
Computadores pessoais.
Com a possibilidade de miniaturização dos transístores, foi possível desenvolver computadores pessoais mais pequenos e baratos
Sétima evolução histórica?
Presente e futuro.
Dispositivos baseados em AI, que dão origem a sistemas com capacidades como: reconhecimento de voz, imagens, vídeos…
Computação Quantum e Nanotecnologia.
Dispositivos que respondam a linguagem natural com capacidade de auto-organização/aprendizagem.
O que são System calls?
Para os programas acederem aos serviços do SO como: criar, apagar e utilizar objetos geridos pelo SO, como processos e ficheiros, utilizam System Calls.
Podem ser consideradas a interface programática (API) de um SO.
A cada System Call corresponde uma função da biblioteca que os programas podem utilizar.
O que é uma função TRAP?
Transfere controlo para o núcleo do SO, onde é implementada a System Call em causa.
Qual é a vantagem das Systems Calls?
O código das aplicações não tem acesso às estruturas de dados mantidas pelo núcleo, nem a instruções que permitam contornar os mecanismos de proteção que garantem o funcionamento do sistema.
O que é um processo?
Processo é uma entidade ativa controlada por um programa e que necessita de um processador para poder executar-se.
O que está associado ao processo?
- Espaço de Endereçamento:
- -Lista de localizações de memória que o processo pode aceder.
- -Engloba informação como:
- –1. Programa executável (código)
- –2. Dados do programa (variáveis globais e dados dinâmicos),
- –3. Pilha (stack)
- Estado Interno (contexto de execução):
- -Cada processo tem um estado que pode ser salvaguardado e posteriormente reposto, de forma a permitir a comutação entre processos.
- -Engloba informação como:
- –1. Contador do programa e Registos do CPU
- –2. Conjunto de Apontadores
- Conjunto de Recursos
- -Ficheiros abertos, etc.
O que contém uma process table?
Contém o conteúdo dos registos e outra informação necessária para recomeçar o processo.
Cada processo guardado na Process Table é denominado Process Control Block (PCB).
Há um PCB para cada processo contido na memória principal.
Um processo suspenso consiste no seu espaço de endereçamento, chamado Core Image, e na entrada na Process Table, que contém o conteúdo dos registos e outra informação necessária para recomeçar o processo.
As 3 seguranças dos processos?
- Isolamento entre processos
Cada processo só utiliza o seu espaço de endereçamento e só interatua com o SO e outros processos através de chamadas de sistema. - Dono do processo (owner)
Cada processo está associado a um utilizador.
Os privilégios do owner determinam em larga medida que ações este pode executar sobre objetos controlados pelo sistema. - Mediação pelo Núcleo
Todos os acessos aos recursos do SO são mediados pelo núcleo de modo a verificar que o owner do processo tem privilégios para os efetuar.
Quais são os estados do processo?
New: Novo processo é criado.
Ready: Processo está pronto para ir a CPU mas como outro está a utilizá-lo, este foi temporariamente suspenso.
Running: a utilizar o CPU no momento.
Blocked: Processo está suspenso por estar à espera de um acontecimento externo (p. ex. input).
Terminated: Fim da execução do processo.
Qual é a hierarquia de processos em Unix?
Todos os processos correspondem a uma única árvore, com o processo init (processo especial presente no “boot image”) como raiz.
Qual é a hierarquia de processos em Windows?
Não existe uma hierarquia de processos. Todos os processos são iguais.
Quando um processo é criado, é-lhe dado um token chamado “handler” que pode ser usado para o controlar. No entanto, este pode passar o token a outro processo, invalidando a hierarquia
O que é um sistema monoprocessado?
Um processo em memória de cada vez.
Esse processo tem todos os recursos do computador à disposição.
Não existe escalonador.
Exemplo: MS-DOS