Προς το περιεχόμενο

Πρόγραμμα σε C (linux) πυρήνας μικρού λειτουργικού


JohnyDude

Προτεινόμενες αναρτήσεις

Δημοσ.

Γειά σας

Θα ήθελα τη βοήθεια σας όσον αφορά ένα πρόγραμμα που είχα να υλοποιήσω σε γλώσσα C σε KDevelop (linux). Έχω τελειώσει το πρόγραμμα, ώστε να βγάζει σωστά αποτελέσματα, αλλά δεν τερματίζει όπως θα έπρεπε. Αντί να μου εμφανίζει το printf που θα έπρεπε μου βγάζει ένα Segmentation Fault! Αν δεν κάνω λάθος αυτό το είδος λάθους έχει να κάνει με ένα δείκτη. Συγκεκριμένα το πρόβλημα προκύπτει στην γραμμή 278 του αρχείου kernel.c (τουλάχιστον έτσι πιστεύω), όταν η εντολή setcontext πάει να φορτώσει ένα context που σώσαμε στην αρχή.

Βασική προϋπόθεση ήταν να μην αλλάξουμε καθόλου το αρχείο mtask.c( το οποίο αποτελεί υποτυπώδη διεργασία που πρέπει να διαχειρίζεται ο πυρήνας μας kernel.c).

Φότρωσα σε ένα .zip τα απαραίτητα αρχεία.

Επειδή η εκφώνηση της άσκησης είναι κάπως μεγάλη και δε μπόρεσα να τη φορτώσω στο forum, εάν κάποιος μπορεί να με βοηθήσει, υπάρχει στο πιο κάτω link:

http://www.ece.tuc.gr/~opsys/project1.pdf

 

Αν θέλετε οτιδήποτε να με ρωτήσετε παρακαλώ κάντε το.

Σας ευχαριστώ!

help.zip

Δημοσ.

Αλλάζοντας παντού το όνομα της μεταβλητής saved_context σε boot_context (με search & replace) παίζει. Μη ρωτήσεις γιατί, δεν ξέρω. Ή πέτυχες κανένα bug ή οι compilers έχουν αρχίσει και έχουν γούστο :-/

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...