J’essaie d’implémenter un appel système qui affiche hello “nom d’utilisateur actuel”. J’ai essayé d’utiliser getpwuid (getuid ()) mais n’a pas fonctionné car je n’ai pas pu inclure pwd.h ou unistd.h ou sys / types.h. Je n’ai actuellement aucune idée de comment faire le travail.
Je voudrais avoir le même effet dans mon programme que le bash (terminal) quand on le tue avec SIGKILL. Comme nous soaps que nous ne pouvons pas gérer SIGKILL dans nos programmes, chaque fois que je tue mon programme, ses enfants sont assignés à un processus init, il n’ya aucun moyen de le gérer pour […]
On m’a demandé de trouver une commande shell ne faisant aucun appel système. J’ai beaucoup cherché et j’ai finalement fini par me demander s’il existe une commande dans le shell Linux ou Unix qui n’appelle pas un appel système à l’arrière. Merci.
J’ai une idée de la réponse à cette question, mais je pense que j’ai besoin d’aide pour la réponse. Mon professeur à l’université m’a dit que le meilleur moyen d’apprendre un système d’exploitation était de «pénétrer» Linux. Quelqu’un pourrait-il me dire, en pratique, comment je pourrais y arriver? Je ne sais pas vraiment trop sur […]
On me donne cette information, mais je ne sais pas comment aborder ce problème: Double-Indirect Addressing Disk block size = 1k File Point is 64 bits (8 bytes) Block can hold 128 file pointers Inode holds 8 double-indirect ensortinges Toute explication ou tout sharepoint départ serait très apprécié … Je suis très confus.
J’étudie le système d’exploitation Unix. Et j’ai beaucoup de confusion concernant la structure des données de processus dans Unix. 1> Existe-t-il des tables de processus distinctes par processus ou seulement une que seul le kernel manipule actuellement le processus actif. 2> Le descripteur de fichier du processus réside-t-il dans sa zone u?
Ok, je veux imprimer le statut de retour de mon processus enfant une fois son exécution terminée. le code doit pouvoir imiter fondamentalement l’appel system() utilisant execl() . Mon problème est que la ligne printf(“The exit status of the process is : %d”,status); dans ma fonction principale n’exécute même pas, il attend 5 secondes à […]
#include #include #include #include #include #define LINE_MAX 255 #define ARG_MAX 10 #define SH_PROMPT “next> ” int run_command(char *[]); int getline(char *); void parse_line(char *, char*[]); int main(void) { char line[LINE_MAX+1]; char *argbuf[ARG_MAX+!]; int temp; do{ printf(SH_PROMPT); fflush(stdout); if ((temp = getline(line)) != -1){ parse_line(line, argbuf); run_command(argbuf); } } while (temp != -1); return 0; } […]
Supposons que nous appelions un appel système pour les E / S asynchrones. Au moment d’appeler l’appel système, le mode passe du mode utilisateur au mode kernel. Après l’invocation, le mode devrait immédiatement revenir en mode utilisateur pour que l’application utilisateur puisse continuer (car elle n’est pas bloquante). Maintenant, si le mode est changé en […]
J’ai trois questions qui me causent beaucoup de doutes: Si un thread dans un programme appelle fork() , le nouveau processus duplique-t-il tous les threads ou le nouveau processus est-il un seul thread? Si un thread appelle exec() , le programme spécifié dans le paramètre exec() remplacera-t-il le processus entier, y compris TOUS les threads? […]