salve a tutti! sono nuovo nel forum, e lo trovo assai interessante sotto molti aspetti.
ho iniziato all'università un corso chiamato Sistemi operativi. (si tratta prevalentemente linux).
si parla (ovviamente) di OS nel dettaglio.
fatto stà che il docente l'altro giorno ha introdotto il concetto di system calls (che lo trovo assai interessante).
da quanto ho capito il ragionamento è il seguente :
tramite API (user-mode, win32api per win e posix per unix/linux/mac) invoco la relativa system call (interfaccia user/kernel, definita tramite tabella indicizzata) la qualche chiamerà a sua volta la relativa funzione implementata nel kernel (kernel-mode) che interagirà (per esempio) con l'hw.
tutto questo si fà per la protezione di accesso all'hw e sicuramente per semplicità di interagire con esso.
ora, sapendo che comunque il kernel è scritto in c, quello che mi chiedo è :
potrei (avendo sicuramente un'esperienza enorme) implementare una system call all'interno di un mio programma (sempre in user-mode) scritto in c? o il compilatore (che è appoggiato "sopra" al kernel) mi impedisce categoricamente di eseguire determinate istruzioni?
aspetto una risposta, perchè in base a questa domanda, sorgono ulteriori dubbi
grazie a coloro che mi aiuteranno a capire questa incomprensione! ciao \o