1.1 ΤΟ Χ WINDOW SYSTEM


Η δημοτικότητα των συστημάτων που υποστηρίζουν και προσφέρουν φιλικούς τρόπους επικοινωνίας με το χρήστη (ή αλλιώς user friendly interfaces) αυξάνεται συνεχώς με γρήγορο ρυθμό. Τα interfaces αυτά στηρίζονται στα γνωστά παράθυρα δηλαδή η επικοινωνία του χρηστή με τον υπολογιστή δεν γίνεται πλέον αποκλειστικά μέσω command line interfaces (όπως π.χ. το MS-DOS) αλλά και μέσω κατάλληλων γραφικών απεικονίσεων όπως παράθυρα, icons, push buttons, menus requesters κτλ. Η επικοινωνία επιτυγχάνεται με την χρήση ειδικού hardware και software. Το ειδικό hardware που απαιτείται είναι μία οθόνη γραφικών και ένα ποντίκι. Το software μπορεί να είναι είτε ενσωματωμένο στον ίδιο των υπολογιστή (βλ. Macintosh της Apple) είτε να αποτελεί ανεξάρτητο πακέτο (βλ. Microsoft Windows). Στην δεύτερη κατηγορία ανήκει και το Χ Window System.

Το Χ Window System είναι ένα τυποποιημένο σύστημα λογισμικού το οποίο δίνει την δυνατότητα στους προγραμματιστές να αναπτύξουν φορητά graphical interfaces. Ενα βασικό χαρακτηριστικό του συστήματος αυτού είναι η ανεξάρτησία του από το hardware. Επιτρέπει δηλαδή στα διάφορα προγράμματα να απεικονίζουν παράθυρα τα οποία να περιέχουν κείμενο και γραφικά σε οποιοδήποτε μηχάνημα που υποστηρίζει το πρωτόκολλο του Χ Window System (Χ Protocol) χωρίς να απαιτείται οποιαδήποτε μετατροπή ή μεταγλώττιση του προγράμματος. Αυτή η σημαντική ιδιότητα σε συνδυασμό με το γεγονός ότι το Χ Window System είναι ένα τυποποιημένο σύστημα αποδεκτό από όλες τις ενδιαφερόμενες κατασκευαστικές εταιρείες επιτρέπουν στις εφαρμογές που στηρίζονται στο σύστημα αυτό να λειτουργούν σε μια μεγάλη ποικιλία υπολογιστών που περιλαμβάνει προσωπικούς υπολογιστές, workstations και mainframes.

Το Χ Window System αναπτύχθηκε στο Ινστιτούτο Τεχνολογίας της Μασσαχουσέτης (MIT) με την υποστήριξη της Digital Equipment Comporation (DEC). Το όνομα του συστήματος καθώς και ορισμένες αρχικές ιδέες προήλθαν από ένα προηγούμενο παραθυρικό σύστημα που ονομαζόταν W και είχε γραφεί από τους Brain Reid και Paul Asente στο πανεπιστήμιο του Στάνφορντ. Το Χ Window System σχεδιάστηκε στο εργαστήριο Επιστήμης των Υπολογιστών του MIT για Πρόγραμμα Αθηνά (Project Athena) έτσι ώστε να ικανοποιήσει την ανάγκη του προγράμματος για ένα εκτεταμένο, ανεξάρτητο μηχανήματος, πλατφόρμα - interface. Οι πρώτες εκδόσεις του Χ χρησιμοποιήθηκαν κυρίως από το MIT και την DEC, αλλά φθάνοντας στην έκδοση 10 πολλοί κατασκευαστές έδειξαν ενδιαφέρον για το Χ Window System ως εμπορικό προϊόν. Οι πρώτες δέκα εκδόσεις του Χ σχεδιάστηκαν και υλοποιήθηκαν κυρίως από τους Robert Scheifler και Ron Newman από το MIT και τον Jim Gettys από την DEC. Στη συνέχεια η έκδοση 11 υποστηρίχθηκε από ένα κονσόρτσιουμ κατασκευαστών και προμηθευτών hardware και software οι οποίοι δέχθηκαν το Χ Window System ως την κοινή βάση για την ανάπτυξη interfaces στα μηχανήματά τους. Το συγκεκριμένο αυτό κονσόρτσιουμ ελέγχει και υποστηρίζει μέχρι σήμερα το Χ Window System. Ετσι το Χ είναι πλέον διαθέσιμο στα περισσότερα συστήματα UNIX, στους υπολογιστές VAX/VMS της Digital καθώς και σε πολλούς προσωπικούς υπολογιστές.

Η ειδοποιός διαφορά του Χ Window System σε σχέση με τα άλλα συστήματα που προσφέρουν παραθυρικό περιβάλλον είναι ότι το Χ δεν ορίζει ένα συγκεκριμένο στυλ επικοινωνίας παρά προσφέρει τους μηχανισμούς που υποστηρίζουν την λειτουργία ενός τέτοιου interface. Τα άλλα συστήματα όπως αυτό του Macintosh της Apple ή τα Microsoft Windows υποστηρίζουν ένα μόνο συγκεκριμένο στύλ επικοινωνίας το οποίο δεν μπορεί να αλλάξει. Σε αντίθεση με αυτά, το Χ Window System προσφέρει ένα πλήρες και ευέλικτο σύνολο από βασικές λειτουργίες για τον χειρισμό των παραθύρων και αποφεύγει να υπαγορεύσει την μορφή και την όψη του interface που θα χρησιμοποιήσει η κάθε εφαρμογή για την επικοινωνία της με τον χρήστη. Κατά συνέπεια, το βασικό Χ Window System δεν διαθέτει ευκολίες όπως button boxes, menus, dialog boxes που κατά την πλειοψηφία τους προσφέρουν τα άλλα συστήματα. Τέτοια χαρακτηριστικά προσφέρονται στον χρήστη μέσα από υψηλοτέρου επιπέδου βιβλιοθήκες κτισμένες πάνω από τον βασικό πυρήνα του συστήματος.


[prev] [up] [next] [contents] [index]