Sistemas operacionais
- Chamadas ao Sistema
O confinamento de cada aplicação em sua aréa de memória, imposto pelos mapeamentos de memória realizados na MMU (memory Management Unity), nos acessos em nivel usuário, prove robutez e confiabilidade ao siatema, pois garante que uma aplicação não poderá inteferir nas aréas de memória de outras aplicações ou do núcleo (KERNEL). Entretanto, essa proteção introduz um novo problema: - como chamar apartir de uma aplicação as rotinas oferecidas pelo nucleo para acesso ao HD, e suas abstrações? - como a aplicação pode acessar a placa de rede para enviar e receber dados se não tem privilêgio para acessar as portas de entrada-saida correspondentes, nem pode invocar o código do nucleo que implementa esse acesso?
Os processadores implementam uma instrução especial que permite acionar o mecanismo de interrupção de forma intencional, sem depender de eventos externos ou internos.
Ao ser executada, essa instrução comuta o processador para o nivel privilegiado e procede de forma similar ao tratamento de uma interrupção.
Por essa razão, esse mecanismo e denominado interrupção de softeware ou trap. Processadores modrernos oferecem instruções especificas para entrar e sair do modo privelegiado e também um conjunto de registradores (Memória interna do Processador) especificos para esta operação, o que permite a transferência rápida oa controle do nucleo, com o custo menor que o tratamento de uma interrupção.
No pentiun = INT
No MIPS = SYSCALL
No Pentiun 64bits = SYSCALL , SYSRET
A ativação de procedimento do nucleo usando interrupções de software (ou outros mecanismos corelataods) é denominada CHAMADA DE SISTEMA (SYSTEM CALL – SYSCALL).
Os Sos definem chamadas de sistemas para todas as operações envolvendo o acesso a recursos de baixo nivel (perifericos,arquivos,alocação de memória,etc.) ou abstrações logicas (criação e finalização de tarefas, operadores de sincronização e comunicação etc).