Exercicios de SO
Um conjunto de rotinas que oferece diversos serviços ao usuário, além do próprio sistema operacional. Suas principais funções são: tratamento de interrupções e exceções, criação e eliminação de processos de threads, escalonamento e controle dos processos e threads, gerência de memória, gerência do sistema de arquivos, gerência de dispositivos de E/S, suporte às redes locais e distribuídas, contabilização do uso do sistema, auditoria e segurança do sistema.
2. O que são instruções privilegiadas e não-privilegiadas? Qual a relação destas instruções com os modos de acesso?
Instruções privilegiadas são instruções que só devem ser executadas pelo SO ou sob sua supervisão, impedindo, assim, a ocorrência de problemas de segurança e integridade do sistema. As instruções não-privilegiadas não oferecem risco ao sistema.
Quando o processador trabalha no modo usuário, uma aplicação só pode executar instruções não-privilegiadas, tendo acesso a um número reduzido de instruções, enquanto no modo kernel ou supervisor a aplicação pode ter acesso ao conjunto total de instruções do processador.
3. Explique como funciona a mudança de modo de acesso e dê um exemplo de como um programa faz uso desse mecanismo.
Sempre que um programa necessita executar uma instrução privilegiada, a solicitação deve ser realizada através de uma chamada a uma chamada de sistema (system call – mecanismo para o controle de execução de rotinas do SO), que altera o modo de acesso do processador do modo usuário para o modo kernel. Ao término da execução da rotina do sistema, o modo de acesso retorna para o modo usuário.
4. Como o kernel do SO pode ser protegido pelo mecanismo de modos de acesso?
Através do modo de acesso de uma aplicação determinado por um conjunto de bits localizado no registrador de status do processador ou PSW. Através desse registrador, o hardware verifica se a instrução pode ou não ser executada pela aplicação,