Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
- Escalonamento do CPU: o sistema tem de selecionar a tarefa que irá ser executada de entre todas
as tarefas prontas a executar.
3. O CPU pode executar em modo supervisor ou modo utilizador. Dê exemplo de
operações que necessitam de ser executados em modo supervisor. Justifique.
As interrupções têm de ser efetuadas em Modo Supervisor: possui total controlo sobre o CPU. Neste
modo supervisor, o SO é executado em modo modo de execução pode-se executar todas as instruções máquina e
supervisor. As instruções E/S só podem ser pode-se referenciar todas as posições de memória. O SO é executado
O Linux é considerado um SO monolítico uma vez que integra as componentes lógicas do SO num
único módulo, ou seja, todas as atividades básicas são executadas em modo kernel e as novas
funcionalidades são providas como módulos do kernel (procura maior eficiência ao evitar trocas
de contexto). No entanto tem menor flexibilidade e as dependências entre os seus componentes
podem fazer com que ocorrendo um defeito num deles paralise todo o sistema.
8. Num SO moderno é indispensável que um processo normal não possa controlar de forma
arbitrária o hardware, embora tenha que interagir indiretamente com ele. Como é que este
requisito é assegurado?
Uma das funções principais de um SO é a gestão de processos, onde este cria e termina processos,
acorda e suspende processos, oferece mecanismos de sincronização entre processos e mecanismos
de identificação de processos, estratégias de tratamento dos deadlocks, etc. Tudo isto ocorre sem
que o processo comunique diretamente ou manipule o hardware.
a) Numa arquitetura baseada num kernel modular, existem interfaces explicitas e bem
definidas entre os diferentes módulos do kernel;
b) Numa arquitetura baseada num kernel monolítico, os diferentes componentes são fáceis de
compreender, manter e alterar;
Threads.
12.2. Explique porque é que a soma de user e sys é menor que real.
O tempo real de execução inclui acessos ao disco, à memória, execuções do SO, mudanças de
contexto.
13. Utilizando sempre o mesmo sistema, uma máquina com S.O. multi-utilizador do tipo
Linux, efectuaram-se diversas medições do tempo de execução de um programa não
interactivo (após a sua invocação executa até ao fim sem necessidade de input do
utilizador). Os resultados mostraram que execuções sucessivas do mesmo programa no
mesmo sistema não tinham sempre a mesma duração, havendo sempre algumas variações
originadas por factores diversos no seu contexto de execução. Justifique.
Tal situação ocorre dado que devido ao escalonamento não é possível determinar a ordem de
execução dos processos, que de execução para execução pode variar, não apresentando sempre a
mesma linha de execução, e por isso, pode levar a um maior número ou menor número de
interrupções.
a) Um processo pode ter várias threads enquanto que um programa tem apenas uma thread;
b) Um processo pode ter várias threads enquanto que um programa pode ter vários processos e não
tem threads;
c) Um processo é um conjunto de instruções (e respectivos dados) em execução enquanto que um
programa é apenas um conjunto passivo de instruções e dados guardados no disco;
17. Indique qual das seguintes afirmações não corresponde a uma vantagem da utilização
de múltiplas threads no desenvolvimento de aplicações:
a) Os programas interactivos podem ser mais solícitos a responder aos pedidos dos utilizadores;