Escolar Documentos
Profissional Documentos
Cultura Documentos
O núcleo do sistema é basicamente um conjunto de rotinas, que estão disponíveis para ser
usado pelo usuário e às suas aplicações. E as suas principais funções são:
Criação e eliminação de processos e threads; Sincronização e comunicação entre processos
e threads; Gerencia do sistema de arquivos; Segurança e auditoria do sistema;
Contabilização de uso do sistema; Tratamento de interrupções e exceções; Gerencia de
memória; Gerencia de dispositivos de entrada e saída; Suporte a redes locais e distribuídas;
O modo kernel é conhecido como instrução privilegiada por ter acesso a todo conjunto de
instruções do processador, ou seja, a todas as partes do hardware. Já o modo usuário, é
conhecida como instrução não-privilegiada que limita as ações para garantir a segurança e
não comprometer nenhuma parte do próprio sistema. Portanto neste modo, é mais difícil
de um aplicativo violar a privacidade de outro.
Este mecanismo, garante que nenhuma parte da memória será violada por outro aplicativo.
O processador executa todas as operações em modo kernel, mas para isso, é necessário
que as rotinas enviadas em modo usuário sejam carregadas e validadas e consideradas
seguras. Se algum dos passos falhar, o sistema operacional impede a execução da rotina e
sinaliza que a execução não é possível.
Por exemplo, se desejo salvar um arquivo, usando uma linguagem de alto-nível como
python, ruby e mando salvar, o sistema, em modo usuário tenta salvar, se o arquivo
comprometer a integridade do sistema operacional de alguma forma, então o sistema
lançara uma exceção, e não permitirá a alteração. A linguagem que programou esta
execução também receberá uma exceção mapeada para linguagem, que é resultado da
exceção lançada pelo modo kernel.
Desta forma, toda a vez que uma aplicação do usuário chamar uma rotina do sistema
operacional o mecanismo de “system call” é ativado e ele verifica se a aplicação do usuário
possui os privilégios necessários para executar a rotina desejada.
6. O que é uma system call e qual sua importância para a segurança do sistema?
Como as system calls são utilizadas por um programa?
O system Call ou “syscall”, é um mecanismo que chama o controle de execução das rotinas
do sistema operacional, o sistema operacional recebe um comando e possíveis
parâmetros. Como resposta, recebe um outro código, que pode indicar sucesso, falha ou
até mesmo o resultado do próprio comando.
No processo de receber o comando, o sistema identifica o aplicativo que fez a chamada e
verifica a sua permissão para execução do comando. Dada a permissão executa e retorna o
resultado.
7. Quais das instruções a seguir devem ser executas apenas em modo kernel?
Desabilitar todas as interrupções, consultar a data e a hora do sistema, alterar a
data e a hora do sistema, alterar informações residentes no núcleo do sistema,
somar duas variáveis declaradas dentro do programa, realizar um desvio para
uma instrução dentro do próprio programa e acessar diretamente posições no
disco.
1 - Desabilitar todas as interrupções;
3 - Alterar a data e a hora do sistema;
6 - Realizar um desvio para uma instrução dentro do próprio programa e acessar
diretamente posições no disco.
13. Por que a programação orientada a objetos é o caminho natural para o projeto
de sistemas operacionais?
Pois de comum acordo orientação a objetos é mais fácil de pôr em prática. Através
deste tipo de programação é possível simplificar os módulos programáveis e reutilizar
os recursos existentes.