Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

OS Linux

Directe kernel aanroep

danieldk
6 antwoorden
  • Hallo,

    Ik wil vanuit C een directe kernel aanroep doen om een directory te creeren. Hoe pak ik dit aan, in C lukt het al met mkdir(x,y) en syscall(SYS_mkdir…); maar hoe kan ik nu direct (dus zonder tussenkomst van libraries) op de kernel de mkdir functie aanroepen?

    Ik ben al een tijd aan het zoeken geweest maar kom telkens op assembly code uit, het lijkt mij dat dit in C moet kunnen.

    Met vriendelijke groet,
    Marcel van Leeuwen
  • Een system call is de meest rechtstreekse manier om de kernel te benaderen. Zo werken libraries als glibc ook. Maar het is verstandig van de abstractie van C libraries gebruik te maken, het maakt software veel beter portable tussen verschillende unices.
  • Klopt je hebt volledig gelijk…. maar de opdracht is nu eenmaal om een directe system call te plaatsen….

    Bedankt,
    Marcel
  • Er is ook een hele sectie aan man pages over alle kernel calls. En kijk anders even in het boek "Unix system programming". Daar staat alles in. Maar ik neem aan dat je zo'n soort boek al hebt, aangezien dit een (school)opdracht is.
  • Dan leren ze hem slechte gewoonten ;).
  • Het doel van (school)opdrachten zijn ook om kennis te verwerven en niet direct super universele bruikbare software te schrijven :lol:

    Zou jij toch moeten weten van universiteiten daniel ;)

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.