Το ξέρω ότι χάθηκα παιδιά αλλά για καλό λόγο
Διάβαζα!
Είμαι φοιτητής στο Πολυτεχνείο Κρήτης και μόλις τελείωσα το project του μαθήματος Λειτουργικά Συστήματα στο οποίο έπρεπε να φτιάξουμε ένα μικρό λειτουργικό σύστημα που είναι παρόμοιο με το Unix.
Το project μπορείτε να το βρείτε
στο github. Καλό είναι να το τρέξετε σε ubuntu 16.0.4 για να έχει συμβατότητα ο compiler. Γενικά πρέπει να υποστηρίζεται το πρότυπο C11.
Γενικά πρέπει να τρέχει σε οποιδήποτε Linux distribution αλλά είναι δοκιμασμένο σε Ubuntu.
(
Δεν τρέχει σε windows!!!)
Το project είναι open source αλλά ο δημιουργός του είναι ο καθηγητής μας
Βασίλης Σαμολαδάς.
Εμείς έπρεπε να υλοποιήουσουμε τον
scheduler,
πολυνηματικές διεργασίες και τα
system calls pipes,
sockets,
sysinfo.
Για τον scheduler χρησιμοποιήσαμε τον αλγόριθμο
multilevel feedback queue.
Για να κάνεται compile το project (Επίσης δείτε και το readme στο github):
cd project_path
touch .depend
make depend
make
Μπορείτε να τρέξετε ένα basic shell και να τρέξετε και μερικά προγράμματα για να το τεστάρετε ως εξής:
cd project_path
./tinyos_shell 1 0
Μέσα στο tinyos_shell υπάρχει το πρόγραμμα
ls που σου λιστάρει όλα τα προγράμματα που μπορείς να τρέξεις από αυτό.
Αυτό θα τρέξει το λειτουργικό χρησιμοποιώντας ένα shell για επικοινωνία με τον χρήστη με 1 πυρήνα και 0 terminals.
Για να δείτε το documentation δείτε τις οδηγίες στο github.
Οι δικές μου υλοποιήσεις είναι στα αρχεία:
kernel_proc.c / .h
kernel_sched.c / .h
kernel_pipe.c
kernel_socket.c
kernel_threads.c
Ελπίζω να σας αρέσει.