Existe-t-il de bons tutoriels (d'entrée de gamme) sur l'ajout d'appels système à FreeBSD via des modules chargeables par le noyau? Plus précisément, la forme requise des méthodes, obtenir des informations à partir des processus, etcCréation de nouveaux appels système via KLD dans FreeBSD
Répondre
Je suis vraiment heureux de voir que votre professeur vous donne de telles tâches pratiques. J'aimerais avoir de tels profs.
Quoi qu'il en soit, la chose est lorsque vous travaillez dans le domaine du noyau, vous pouvez à peine trouver trouver des ressources. Les personnes qui travaillent dans le domaine du noyau ne documentent pas les choses ou n'écrivent pas de tutoriels. Donc, il est vraiment difficile de trouver des documents "Entry Level". Aussi, même si vous trouvez un tel tutoriel, les choses dans le noyau continuent à changer et le document ne sera pas mis à jour. Quand j'ai commencé, j'ai dû apprendre des choses en lisant le code du noyau.
Une autre chose importante est que Linux est plus documenté que n'importe quel UNIX. Parfois, vous pouvez lire Linux et transmettre cette connaissance à UNIX. Assez avec la plainte. Maintenant, voici les ressources qui pourraient vous aider.
BSD UNIX:
- Dynamic Kernel Linker (KLD) Facility Programming Tutorial a "KLD Syscall mise en œuvre Skeleton"
- Designing BSD Rootkits: An Introduction to Kernel Hacking Cela vous enseigne une autre approche à l'aide Runtime kernel patching (chevaux de Troie utilisent généralement cette approche) pour patcher le répartiteur d'appels système et créer un appel système.
Linux:
- Adding A System Call to Linux Kernel: Une étape par étape tutoriel
- Kernel command using Linux system calls: Explorer l'interface d'appel système Linux (SCI), apprendre à ajouter de nouveaux appels système (et des solutions de rechange pour faire Donc)
Merci beaucoup! C'était très utile. – dckrooney
@dcmoebius: Je suis content que cela vous a aidé. Si vous n'avez aucun problème à partager votre code. Je vous suggère d'écrire un tutoriel/blog sur cette mission. Et donnez le lien ici. Cela aidera les autres. – claws
C'est une bonne idée. Je vais le faire, mais malheureusement, les devoirs ultérieurs sont basés sur celui-ci. Alors je vais attendre quelques semaines pour sortir une "solution": P – dckrooney
Je dois noter que ce n'est pas une tâche de devoirs en soi, mais est une partie d'une tâche plus importante. :) – dckrooney
Je suis juste curieux. Quelle est la mission complète? – claws
L'affectation complète implique la création d'un algorithme de planification de processus distinct. – dckrooney