syscall trabalho
DEPARTAMENTO DE SISTEMAS DE COMPUTAÇÃO
SSC0140 – SISTEMAS OPERACIONAIS I
Profa: Kalinka Regina Lucas Jaquie Castelo Branco
Trabalho 1 – Confecção de um chamada de sistema
Especificação do trabalho de geração da sua System Call
Objetivos
Compreender o processamento inerente a uma chamada ao sistema. Conhecer as várias fases do processamento de uma chamada ao sistema no Linux (acredito ser mais fácil que no Windows). Saber como introduzir novos serviços (chamadas ao sistema) no Linux.
Compreender os mecanismos básicos internos ao Linux para gestão de processos
(bloqueio/suspensão de processos que não podem continuar e reativação do mesmos quando adequado).
Introdução
Neste trabalho pretende-se que o aluno implemente um novo serviço no núcleo do Sistema de Operação Linux. Este novo serviço deverá estar acessível a qualquer aplicação através de uma chamada ao sistema. O trabalho está definido em três fases, sendo a primeira relacionada à familiarização com o núcleo (kernel) do Sistema Operacional Linux. Para isso irá proceder-se à introdução de uma nova e muito simples chamada ao sistema, que no caso exemplo constitui em imprimir uma string pré-definida. Nas duas fases seguintes, irá: 1. aprender como se criam módulos para o Linux, e como estes podem ser carregados e removidos dinamicamente.;
2.
implementar a sua própria chamada de sistemas.
Adicionar um novo serviço ao núcleo do Linux
Um processo, executando em modo usuário, está bastante limitado no conjunto de operações que pode realizar (por exemplo, não pode acessar diretamente o hardware da máquina). Assim, para realizar operações mais delicadas, o processo deverá solicitar a execução de um serviço no núcleo do SO. Este serviço será executado pelo próprio processo, mas com o processador em modo kernel (seguro), podendo assim fazer uso das instruções privilegiadas.
Para realizar uma chamada ao sistema, o processo deverá gerar uma interrupção por