120 likes | 268 Views
Εργαστήριο Λειτουργικών Συστημάτων Φροντιστήριο 5– System Calls. Ντίρλης Νικόλαος. Minix Kernel. System Calls (1). System Calls. System Calls (2). A user-level process cannot directly access a disk. Instead it asks the kernel to obtain data from a file for it (the read system call).
E N D
Εργαστήριο Λειτουργικών ΣυστημάτωνΦροντιστήριο5– System Calls Ντίρλης Νικόλαος
System Calls (1) System Calls
System Calls (2) • A user-level process cannot directly access a disk. Instead it asks the kernel to obtain data from a file for it (the read system call). • A user-level process cannot create another process. Instead, it asks the kernel to create one for it. • To Minixέχει ένα σετ από system calls που μπορούμε να βρούμε στο table.c • usr/src/servers/vfs/table.c • αλλά και pfs/table.c και mfs/table.c
System Calls – Βήματα • Βρίσκω μια κενή θέση στο κατάλληλο table.c
System Calls – Βήματα • Βρίσκω μια κενή θέση στο κατάλληλο table.c • Δηλώνω το system call μου στο proto.h
System Calls – Βήματα • Βρίσκω μια κενή θέση στο κατάλληλο table.c • Δηλώνω το system call μου στο proto.h • Kernel Modification
/usr/include/minix/callnr.h • #define MYCALL (NUMBER) • Increase (number of calls) by 1
System Calls – Βήματα • Βρίσκω μια κενή θέση στο κατάλληλο table.c • Δηλώνω το system call μου στο proto.h • Kernel Modification • Inform the library