Πώς φτιάχνεται ένας γκαϊφές: Λογισμικό
Description: This is issue 01 of Magaz, the Hellenic LinuxMagazine
Keywords: magaz hellenic greek hellas greece hellug linux magazine

Magaz, The Greek Linux Magazine
Τεύχος #01
Περιληπτικά Περιεχόμενα Αναλυτικά Περιεχόμενα Mirrors Links Πληροφορίες Συντάκτες Αναζήτηση Επικοινωνία
Επόμενο Προηγούμενο Περιεχόμενα ### 3. Λογισμικό 'Εφτασεεεε... ### 3.1 Πρόγραμμα σε C Φτιάξτε ένα εκτελέσιμο, που θα κάνει χοντρικά τα εξής: Θα παίρνει τα κατάλληλα δικαιώματα για την διεύθυνση I/O, με αίτηση στον πυρήνα, μέσω της ioperm: πχ ioperm( BASE, range ,1); θα εκτελεί το κατάλληλο out request, για να επιβάλει την σωστή τάση στην παράλληλη θύρα. πχ outb( 1, BASE ); Θα περιμένει κατάλληλο χρονικό διάστημα για να ψηθεί ο καφές, ( καλόν θα είναι αυτό να το διαβάζει από την γραμμή εντολών ) στην συνέχεια θα κλείνει την καφετιέρα. outb( 0 , BASE ); Προαιρετικά, θα δίνει πίσω την θύρα με ioperm( BASE, range, 0); Όπου BASE = 0x3bc για /dev/lp0, 0x378 για /dev/lp1, και 0x278 για /dev/lp2, range=8. Καλόν θα είναι να το κάνετε setuid, για να μπορεί όλος ο κόσμος να φτιάχνει καφέ. ### 3.2 Σαν device driver Δεν έχετε παρά να διαβάσετε το kernel hacker's guide, να υλοποιήσετε έναν device driver (μπορεί να είναι και user space). Πλιιζ, κάνετέ το module, να μην κάνουμε compile όλη την ώρα. Μετά θα γράφετε:
    echo baryglykos >/dev/coffee
Και θα έχετε ζεστό καφέ σε 1 λεπτό. Θυμηθείτε να δώσετε τα σωστά permission στο /dev/coffee, ανάλογα με το εάν θέλετε να φτιάχνει καφέ μόνο ο root ή όχι. Το πλεονέκτημα αυτής της μεθόδου είναι ότι επιτρέπει να χρησιμοποιηθεί το ACK της παράλληλης θύρας, ώστε οι "έξυπνες" καφετιέρες να μπορούν να παράγουν interrupt. Αφήνεται σαν άσκηση. ### 3.3 Διασύνδεση με Internet Αφού έχετε υλοποιήσει το πρόγραμμα σε C (βλέπε παραπάνω), δεν έχετε παρά να φτιάξετε ένα cgi τσι σειράς (ας είναι και β' διαλογής), που θα καλεί το προγραμματάκι για να φτιάξει τον καφέ. Τι web server? apache φυσικά... Επόμενο Προηγούμενο Περιεχόμενα