Resumos Sistemas Operativos
Funções do SO
Fornecer uma interface de acesso/gestão dos recursos lógicos
Existem duas interfaces
Interface Operacional
Comandos para usar / criar / eliminar recursos
Biblioteca de Funções do SO
API para interagir com os recursos do SO
Objecto Processo
Propriedades
Identificador do processo
Programa em execução
Espaço de endereçamento
Valores do registos
Apontador para a prox instrução
Prioridade do processo
Processo pai
Canais de entrada e saída, ficheiros abertos
Quotas de utilizaçãoo de recursos
Contexto de segurança
Operações – Funções do sistema que actuam sobre os processos
Criar
Eliminar
Esperar pela terminação de um subprocesso
O processo com o PID 0 é o swapper (gestão de memória) e o 1 é o init
Quando o processo pai termina os subprocessos continuam a executar-se, são adoptados pelo processo de inicialização (pid = 1)
SINAIS
Quando é programado um handler, a tabela de sinais (que se encontra no PCB do respectivo processo) e alterada com a função definida no handler.
COMUNICAÇÃO ENTRE PROCESSOS
Os objectos podem ser com nome ou sem nome (neste caso comunicação só é possível entre processos relacionado – pai e filho);
A sincronização pode ser feita de forma automática pela “kernel” ou de forma explícita pelo programador;
Implementações
Memória Partilhada:
Muito rápida a troca de informação (muito eficiente) – os processos leem e escrevem do mesmo sítio, não havendo cópia dupla de info;
Sincronização complicada – se não houver informaçãoo no espaço de endereçamento e o processo consumidor tentar ler ocorre busy waiting;
Com utilização do kernel:
Sincronização mais facilitada – se não houver info no espaço de endereçamento e o processo consumidor tentar ler o kernel coloca esse mesmo processo em espera até que exista informaçãoo no canal. O mesmo tipo de comportamento acontece quando o buffer enche, sendo que o kernel manda parar a escrita de informação até que este esvazie.
A