Essays.club - TCC, Modelos de monografias, Trabalhos de universidades, Ensaios, Bibliografias
Pesquisar

Pontos de Inflexão e Concavidade - Matemática

Por:   •  7/5/2018  •  849 Palavras (4 Páginas)  •  318 Visualizações

Página 1 de 4

...

o arquivo não vai poder ser lido nem modificado.

Foi utilizada vfs_fstat, que é uma system call utilizada para preencher os campos de uma struct kstat através de um file descriptor, só através desse recurso seria possível descobrir os major e minor numbers do dispositivo chamado no write. Para obter o PID da aplicação que chama a system call write utilizamos a system call “sys_getpid”, comparando-a com a variável global que possui o valor do processo que foi bloqueado pela system call que criamos.

Em nossas pesquisas, constatamos que todos os dispositivos, para sua identificação, possuem um major number, que o categoriza, e um minor number, que faz a identificação do tipo do dispositivo dentro dessa categoria. Depois de inúmeras pesquisas, notamos que o primeiro disco SCSI corresponde ao major number, e também engloba a categoria SATA, esse major number possui valor 8. Então, temos que MAJOR NUMBER é igual a 8, e MINOR NUMBER vai de 0 a 15, com isso, podemos afirmar que esse dispositivo é correspondente ao hard disk.

Por esse motivo utilizamos MAJOR(sb.dev) == 8 e MINOR(sb.dev) <= 15 em nossa verificação if.

O campo dev é do tipo dev_t e está presente na estrutura kstat, que é preenchida pela system call vfs_fstat. Esse campo faz a identificação do dispositivo, e possui o major e o minor number.

Após todos esses passos, atualizamos os components do sistema operacional, incluindo o gcc compiler através dos quarto commandos a seguir:

• sudo apt-get install gcc

• sudo apt-get install libncurses5-dev

• sudo apt-get update

• sudo apt-get upgrade

Feito isso, configuramos o kernel atual (antigo) com as configurações do kernel modificado, através do comando “sudo make menuconfig” e compilamos o kernel através do comando “sudo make” na pasta do diretório do kernel atual.

O processo de compilação tem uma faixa de tempo considerável, pois o kernel possui uma boa quantidade de arquivos .c. Após a compilação, atualizamos o kernel do Linux através do comando “sudo make modules_install install” e reiniciamos o computador já com o kernel modificado e com nossa system call implementada com o comando “sudo shutdown –r now”.

Para realizar o teste da system call que criamos, basta chamar a função syscall , tendo como parâmetro o número da system call que criamos de qualquer programa em C, juntamento com os parâmetros consequentes.

No nosso caso: syscall(351,PID).

...

Baixar como  txt (5.7 Kb)   pdf (132.5 Kb)   docx (13.3 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no Essays.club