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

aporia: tty kai getty


Turrican

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

Xairetai kai pali. Ews twra diavasa arketa eggrafa, kai guides alla exw kolisei se kati. Otan kanoume boot sto linux simvainoun ta eksis (xontrika):

 

*) ksekinaei o pirinas - se auto to stadio fortonotnai kai oi drivers gia to hardware

 

*) anoigei to prwto process - to init

 

*) to parapanw telika anoigei kapia child processes to kathena me to programma getty

 

*) to kathena apo auta ta processes dexetai ta stoixeia tou xristi kai an ola pane kala fortonetai to shell

 

Auto pou katalavainw einai pws p.x. to ttyS0 einai ena file pou dimiourgitai kata to prwto stadio kai antikatroptizei tis leitourgies tou driver gia tin seiriaki thira.

 

Auto pou den katalavainw einai ti eidous siskeues einai ta tty*, pia i sxesi tous me to getty alla kai oi diafores me ta ttyS*

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Βασικά το getty κάνει bind σε κάποια /dev/tty* για να σου δώσει το login prompt. Οι συσκευές /dev/tty* είναι terminal interfaces (TTY = Terminal Type), και είναι κληρονομιά από την εποχή που το UNIX έτρεχε σε mainframes και συνδέονταν πάνω του διάφοροι «χαζοί» clients (terminals).

Συνοπτικά, τα /dev/tty[0-9]+ αντιστοιχούν στις «εικονικές» κονσόλες που έχεις: το /dev/tty1 είναι η κονσόλα που βγαίνεις με Alt + (Ctrl +) F1 , η /dev/tty2 είναι αυτή που βλέπεις με Alt + (Ctrl +) F2, κλπ. Οι ttyS[0-9]+ είναι οι σειριακές θύρες του υπολογιστή (Serial TTY), οι οποίες μπορούν να χρησιμοποιηθούν για την προσθήκη serial console. Υπήρχαν και υπάρχουν ακόμα τερματικά, τα οποία συνδέονται στη σειριακή θύρα και δίνουν δυνατότητα χειρισμού του υπολογιστή από (σχετική) απόσταση.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ευχαριστώ φίλε apoikos. Δηλαδή τα tty0, tty1, ... tty63 είναι εικονικές σειριακές συσκευές που κάνουν map το keyboard για input και την video κάρτα για output; και αν ναι το keyboard και η video κάρτα υπάρχουν αυτόνομα σαν συσκευές στο /dev;

 

Έχω αρχίσει να την βρίσκω με το linux τελικά :)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Όχι, τα ttyX απλώς κάνουν "emulate" terminals για να μπορείς να κάνεις login. Τα περιφεριακά σου έχουν δικά τους device nodes μέσα στο /dev

 

Όπα μισό λεπτό εδώ. Οτι υπάρχει σαν αρχείο στο /dev αντιστοιχεί σε μια συσκευή. Η σειριακή, το πληκτολόγιο και η κάρτα video είναι υπαρκτές συσκευές και άρα λογικό να έχουν τα δικά τους αρχεία στο /dev. Σωστά;

 

Τώρα τι εστί terminal και τι εστί κάνω emulate terminal είναι που με μπερδεύει. Αυτό που καταλαβαίνω εγώ είναι το εξής:

 

terminal <=> ένα πρόγραμμα που δέχεται εντολές από το ληκτρολόγιο, εκτελεί και κάνει έξοδο στην οθόνη <=> command.com (windows) <=> getty / login / bash (linux).

 

Αυτά όμως είναι process όχι devices.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Όπα μισό λεπτό εδώ. Οτι υπάρχει σαν αρχείο στο /dev αντιστοιχεί σε μια συσκευή. Η σειριακή, το πληκτολόγιο και η κάρτα video είναι υπαρκτές συσκευές και άρα λογικό να έχουν τα δικά τους αρχεία στο /dev. Σωστά;

Δεν είναι ακριβώς έτσι. Δεν έχουν όλες οι συσκευές το αντίστοιχο αρχείο στο /dev, π.χ. οι κάρτες δικτύου δεν έχουν /dev entries. /dev entries γενικά έχουν οι συσκευές που έχει νόημα να θες να διαβάσεις/γράψεις από userspace σχετικά εύκολα.

 

terminal <=> ένα πρόγραμμα που δέχεται εντολές από το ληκτρολόγιο, εκτελεί και κάνει έξοδο στην οθόνη <=> command.com (windows) <=> getty / login / bash (linux).

Όχι, το terminal δεν είναι πρόγραμμα, είναι συσκευή (ή τουλάχιστον έτσι ξεκίνησε). Το πραγματικό, τοπικό terminal σε έναν υπολογιστή είναι ένα: ο συνδυασμός οθόνης πληκτρολογίου, τα οποία ελέγχονται απευθείας από τον πυρήνα και τα οποία και αντιστοιχούν στο /dev/tty κάθε φορά. Αν κάνεις ένα

>
[apoikos@laptop ~]$ ls -l /dev/tty1
lrwxrwxrwx 1 root root 4 2006-10-28 14:55 /dev/tty1 -> vc/1

θα δεις ότι τα tty1-n αντιστοιχούν σε virtual consoles. Είναι δηλαδή κάτι εικονικό: δεν έχεις 5 terminals στον υπολογιστή σου, αλλά με το Alt+F1-5 είναι σα να έχεις, αφού κάθε φορά ουσιαστικά γίνεται redirect η έξοδος ενός από αυτά στο /dev/tty. Κάθε πρόγραμμα από 'κει και πέρα είναι bound σε ένα τέτοιο virtual terminal, με την έννοια ότι διαβάζει και γράφει σε αυτό, ανεξαιρέτως του αν εσύ το βλέπεις ή όχι.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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