Escolar Documentos
Profissional Documentos
Cultura Documentos
System Calls
System Calls
era
Rotinas do sistema operacional e System calls
Chamadas de rotinas do sistema operacional cio
nai
s
Si
2º ano Sistemas de Informação
Alunos (a):
st Eduardo Oguido
Jader M. C. Garbelini
e
Vanessa Floriano
Willian C. Machado
m
as
Introdução
Uma grande preocupação no projeto de sistemas
operacionais se refere à implementação de
mecanismos de proteção ao núcleo do sistema e
também o controle de acesso aos serviços oferecidos
pelo sistema. Caso uma aplicação que tenha acesso ao núcleo realize alguma
operação que altere sua integridade, todo o sistema poderá ficar comprometido e
inoperante.
Por esse motivo a porta de entrada do núcleo do sistema operacional fica
protegida por um meio denominado Chamada de rotina do sistema operacional (
System Call).
Essas rotinas são muito importantes e por esse motivo são protegidas pelas
System call’s. Um programa não pode realizar uma tarefa que é de
responsabilidade do sistema operacional, se isso ocorresse, poderia comprometer
todo o sistema, veremos mais detalhes e exemplos dessas rotinas e chamadas.
Modo
Modo
Modo
protegido
protegid
protegido
o
Níveis de
(Kernel)
(Kernel)
(Kernel)
Modo
Modo Modo
Usuário
Usuário Usuário
Aplicações
Aplicações Aplicações
Aplicações
Privilégios Aplicaçõe
Aplicaçõe
s
Aplicações
Aplicações
Hardwar Hardwar
e e
Rotinas do sistema operacional
• As rotinas são basicamente funções que fazem parte do núcleo do
sistema e são responsáveis por tarefas importantes, intimamente
ligadas ao hardware. Sempre que um programa precisa acessar
uma rotina, ele fará uso de uma system call, passado parâmetros
para ela. Por sua vez, a system call recebe os parâmetros e os
repassa a função. A função é executada e depois retorna ao
mesmo ponto de onde estava antes da chamada. Por exemplo, o
comando mkdir, é uma chamada que aciona a rotina do núcleo do
sistema para a criação de diretórios. Esse comando recebe como
parâmetro o nome do diretório que se deseja criar e o repassa para
a rotina. A rotina é responsável por verificar o endereçamento e
alocar o espaço no disco. Depois de criado, o cursor é liberado
para se digitar novos comandos.
Biblioteca de rotinas
• Cada sistema operacional possui seu próprio conjunto de rotinas , com
nomes, parâmetros e formas de ativação específicos. Uma aplicação
desenvolvida utilizando serviços de um determinado sistema operacional
não pode ser portada diretamente para um outro sistema, exigindo algumas
correções no código-fonte.
• Para tentar resolver este impasse foi criado uma biblioteca de chamadas
objetivando uma padronização das chamadas pelos institutos ISO
(International Organization for Standardization) e IEEE (Institute of
Electrical and Electronics Engineers)que resultou num conjunto conhecido
como POSIX (Portable Operating System Interface for Unix). Isso permitiu
que uma aplicação desenvolvida seguindo esse conjunto de chamadas
pudesse ser portada para os demais sistemas.
• Alguns exemplos de sistemas operacionais que oferece algum suporte ao
padrão POSIX são : o MS Windows, IBM-AIX, Hp-UX e o SUN-Solaris.
Chamadas do Sistema
Operacional
• As chamadas, como foi dito anteriormente, são programas especiais
que enviam parâmetros para o núcleo do sistema operacional. O
processador trabalha com dois modos de execução de programas: o
modo usuário e o modo kernel. No modo usuário, o processador só
pode executar instruções não privilegiadas e tem acesso a um
número pequeno de instruções. Essas instruções não causam pane
no sistema. Já no modo kernel, o processador entra em modo
promiscuo e pode ter acesso as todas as suas funções. Essas
instruções podem causar pane no sistema. Para que isso não ocorra,
somente o sistema operacional tem a capacidade de mudar o
processador para o modo kernel, alterando o valor do registrador
psw. Esse registrador altera o modo de execução do processador de
acordo com seu valor.
Chamadas do Sistema
Operacional
Modo
Usuário Modo Kernel
Chamadas do Sistema
Operacional
• As chamadas a rotinas existem em todos os sistemas
operacionais, contudo, podem-se diferenciar em alguns. Nesse
trabalho, vamos citar somente as chamadas regulamentadas
pelo POSIX (Internacional Standard 99456-1). Segue abaixo
as chamadas as mais comuns: