Επόμενο Περιεχόμενα
Η εποχή αυτή είναι η εποχή των ερευνητικών ομάδων και των
πανεπιστημίων, της ατομικής συνεισφοράς και τρέλας, αλλά
κυρίως της ελεύθερης διάθεσης του κώδικα, αυτή που ο
Stallman νοσταλγούσε όταν ξεκίνησε την προσπάθειά του να
ελευθερώσει το λογισμικό από τις πατέντες των εταιριών.
Και όταν ακόμα η AT&T κατέστησε το Unix αμιγώς
εμπορικό προϊόν, το επιστημονικό ενδιαφέρον έπαιζε για
αρκετό καιρό ακόμα σημαντικότερο ρόλο στην κατεύθυνση που
ακολούθησε η εξέλιξη του Unix, από τις αποφάσεις του
τμήματος marketing των εταιριών.
Στα τέλη της δεκαετίας του 1960, το Τεχνολογικό
Ινστιτούτο της Μασσαχουσέτης (ΜΙΤ) μαζί με τα διάσημα
Bell Labs της AT&T ανέπτυσσαν ένα εξελιγμένο
λειτουργικό σύστημα για το mainframe 645 της General
Electric, υπό την ονομασία Multics (Multiplexed
Information and Computing System). Για το ίδιο mainframe
ο Ken Thompson (εργαζόμενος στα Bell Labs) είχε γράψει
ένα παιχνίδι το οποίο προσομοίωνε το ηλιακό σύστημα με
τον τίτλο Space Travel, αλλά η εκτέλεση του παιχνιδιού
από τον 645 ήταν απογοητευτική. Έτσι, αφού μαζί με τον
Dennis Ritchie εξασφάλισε πρόσβαση σε έναν DEC PDP-7,
ξαναέγραψαν το παιχνίδι για να τρέχει στον PDP-7 και
ταυτόχρονα, αξιοποιώντας πλήθος ιδεών από το Multics,
δημιούργησαν ένα νέο λειτουργικό με μία πρώιμη γραμμή
εντολών και το δικό του filesystem. Το λειτουργικό αυτό
μπορούσε να χρησιμοποιηθεί από δύο χρήστες ταυτόχρονα και
ο Brian Kernighan του έδωσε χιουμοριστικά το όνομα Unics
(Uniplexed Computing and Information System), που το 1970
άλλαξε στο πασίγνωστο πλέον Unix.
Με τον όρο να περιλαμβάνει utilities επεξεργασίας
κειμένου, τα Bell Labs χρηματοδότησαν την μεταφορά του
Unix στον ταχύτερο PDP-11/20. Το 1972 το Unix, μαζί με το
runoff (που εξελίχθηκε στο σημερινό troff), και τα δύο
γραμμένα σε assembly, έτρεχε σε 10 mainframes. Το
μεγαλύτερο, ίσως, άλμα στην εξέλιξη του Unix ήταν η
δημιουργία της γλώσσας προγραμματισμού C από τους
Kernighan και Ritchie. Ο τελευταίος, μαζί με τον
Thompson, ξαναέγραψε τον πυρήνα του Unix το 1973
χρησιμοποιώντας την C, καθιστώντας το έτσι εύκολο στη
συντήρηση και μεταφορά σε άλλες πλατφόρμες hardware. Στις
επόμενες εκδόσεις (editions) του συστήματος, τις οποίες η
AT&T διέθετε σε εκπαιδευτικούς οργανισμούς, εταιρίες
και κρατικές υπηρεσίες για ένα ονομαστικό κόστος, η μία
καινοτομία διαδεχόταν την άλλη, ώστε η έβδομη έκδοση του
Unix περιελάμβανε το Bourne shell και το προτόκολο UUCP.
Βασισμένο σε αυτή την έκδοση, το Unix System III ήταν το
πρώτο Unix που η AT&T διέθεσε εμπορικά.
Ταυτόχρονα με τη διάθεση του SIII, από τα τμήματα έρευνας
της AT&T, γίνονταν διαθέσιμες σε πανεπιστήμια και
εργαστήρια ανεπίσημες εκδόσεις που εισήγαγαν πειραματικά
χαρακτηριστικά, ώστε ήταν δύσκολο για τον κάθε χρήστη ή
προγραμματιστή να γνωρίζει αν τα προγράμματα που
ανέπτυσσε θα ήταν συμβατά με τις επόμενες εκδόσεις ή αν
το user interface θα παρέμενε το ίδιο. Με την έκδοση του
System V, πέρα από τις όποιες τεχνολογικές καινοτομίες, η
AT&T φρόντισε κυρίως να μετριάσει το fragmentation,
εγγυόμενη πως το SV θα είχε προς τα εμπρός συμβατότητα με
τις επόμενες επίσημες εκδόσεις.
Η σημασία της απόφασης αυτής δεν καθίσταται άμεσα εμφανής
- τουλάχιστον όχι μέχρι να σκεφτούμε πως σε οποιαδήποτε
παραλλαγή του Unix και αν χρειαστεί να εργαστούμε, θα
βρούμε τουλάχιστον το παλιό-καλό Bourne shell τα ίδια
ονόματα για τις βασικές εντολές και τα utilities (ls,
grep, sed, more, κ.α.). Μάλιστα, σε ένα ακραίο
παράδειγμα, ένας χρήστης Unix αυτής της εποχής θα
μπορούσε να εργαστεί χωρίς σημαντικό πρόβλημα στο κέλυφος
και να εκτελέσει scripts που έγραψε προ δεκαετιών.
Στην τεχνική πλευρά τώρα, η SVR1 ενσωμάτωνε πολλά από τα
στοιχεία του BSD, με σημαντικότερο όλων τον editor vi, ο
οποίος έμελλε να καθιερωθεί σαν ο standard editor των
Unix συστημάτων. Η έκδοση System V Release 2 εισήγαγε το
file locking. Ακόμα πιό επηρεασμένη από το BSD ήταν η
SVR3 που απορρόφησε πολλές από τις καινοτομίες των
4.xBSD's ιδιαίτερα όσες αφορούσαν τις τεχνολογίες
δικτύωσης. Η SVR4, η τελευταία μαζί με την 4.2 που
εκδόθηκαν από την AT&T, ενσωμάτωνε το προτόκολο
TCP/IP και τις BSD r* εντολές, όπως και τα NFS, RPC από
το SunOS. Η SVR5 εκδόθηκε από την Santa Cruz Operation
(SCO).
Περνώντας από το τμήμα επιστήμης υπολογιστών του
Πανεπιστημίου του Berkeley, o Thompson μετέφερε την έκτη
έκδοση του Unix σε έναν PDP-11/70. Έχοντας πλέον άμεση
πρόσβαση στο λειτουργικό σύστημα, οι φοιτητές Bill Joy
και Chuck Halley ξεκίνησαν την ανάπτυξη των δικών τους
εφαρμογών εξελλίσοντας τον line-editor ed, στον ex, τον
πρώτο editor με visual mode που επέτρεπε στο χρήστη να
βλέπει μία οθόνη με το κείμενό του (σημαντική προσθήκη
για την εποχή!) και ο οποίος εξελίχθηκε από τον Joy στον
αγαπημένο σε όλους (καλά, ίσως όχι σε όλους :) μας vi.
Ακόμα, ανέπτυξαν το C shell, που είναι το default για τα
BSD συστήματα και το οποίο πρόσφερε δυνατότητες
αδιανόητες για τους χρήστες του Bourne shell: λίστα των
τελευταίων εντολών, command line editing, συνώνυμα
(aliases) και ξεχωριστό login και rc file.
Περιλαμβάνοντας στα παραπάνω και έναν pascal compiler, οι
Joy και Halley συνέθεσαν μία δική τους διανομή Unix που
την διέθεσαν ως Berkeley Software Distribution.
Ακολούθησε το 1978 η 2BSD, ενώ η 3BSD εισήγαγε μία ριζική
καινοτομία, την εικονική(ιδεατή) μνήμη που έκανε
διαθέσιμη στο λειτουργικό πολλαπλάσια ποσότητα μνήμης από
την φυσική.
Σταθμός στην εξέλιξη του Unix μπορεί να θεωρηθεί η
απόφαση του DARPA (Defence Advanced Research Projects
Agency) να αναθέσει στο πανεπιστήμιο του Berkeley την
ανάπτυξη του λειτουργικού του αμυντικού του δικτύου
υπολογιστών. Στο πλαίσιο αυτής της συνεργασίας το DARPA
χρηματοδότησε την εξέλιξη του 4BSD, η τρίτη έκδοση του
οποίου(4.2) το 1983 ενσωμάτωνε υποστήριξη για το δικτυακό
πρωτόκολλο TCP/IP και τις πασίγνωστες remote commands
(rsh, rlogin, rcp etc.) και τις DARPA commands ftp και
telnet που, παρά τα προβλήματα ασφάλειας,
χρησιμοποιούνται ακόμα και σήμερα. Στο 4.2BSD στηρίχθηκε
εν πολλοίς και το SVR4, όπως και το SunOS, ενώ πάνω στην
τελευταία έκδοση από το πανεπιστήμιο του Berkeley (4.4BSD
ή 4.4BSDLite λόγω νομικών προβλημάτων) βασίστηκαν και τα
open source FreeBSD, NetBSD, OpenBSD μαζί με το εμπορικό
BSD/OS (συνέχεια περισσότερο του 386BSD).
Επόμενο Περιεχόμενα