MacOS

Το macOS (IPA: , πρώην OS X') είναι μια σειρά γραφικών λειτουργικών συστημάτων που αναπτύσσεται, προωθείται και πωλείται από την Apple Inc. και συμπεριλαμβάνεται σε κάθε καινούριο υπολογιστή Macintosh (Mac). Το Mac OS X είναι η εξέλιξη του αρχικού Mac OS το οποίο ήταν το αρχικό λειτουργικό σύστημα της Apple την περίοδο 1984-1999. Σε αντίθεση με το αρχικό Mac OS, το Mac OS X είναι ένα UNIX λειτουργικό σύστημα το οποίο άρχισε να αναπτύσσεται στην εταιρία NeXT από τα τέλη του 1980 και μέχρι την εξαγορά της από την Apple το 1997.

Η πρώτη έκδοσή του κυκλοφόρησε το 1999 ως Mac OS X Server 1.0, ενώ η πρώτη έκδοσή του για επιτραπέζιους και φορητούς υπολογιστές, Mac OS X v10.0 "Cheetah" (Τσίτα), ακολούθησε τον Μάρτιο του 2001. Έκτοτε, το Mac OS X έχει δεχτεί 15 αναβαθμίσεις, που όλες (μέχρι τη v10.8) φέρουν ονόματα αιλουροειδών ενώ ξεκινώντας από την έκδοση 10.9 μέχρι και σήμερα φέρουν ονόματα από διάφορα αξιοθέατα των Η.Π.Α.

Το macOS δημιουργήθηκε για να λειτουργεί μόνο σε ηλεκτρονικούς υπολογιστές Macintosh, οι οποίοι κατασκευάζονται από την ίδια την Apple. Ωστόσο από το 2006 και μετά οι Macintosh χρησιμοποιούν σχεδόν το ίδιο hardware (υλικό) με αυτό των περισσότερων άλλων κατασκευαστών, δίνοντας τη δυνατότητα για μη εξουσιοδοτημένη χρήση του macOS σε μη-Apple υπολογιστές με τη χρήση hacks (Hackintosh). Άρα ο όρος  αναφέρεται σε υπολογιστές που δεν ανήκουν στην εταιρεία Apple αλλά έχουν εγκατεστημένο το λειτουργικό σύστημα macOS.

Το όνομα του συστήματος προέρχεται από το Mac (σντόμευση της λέξης Macintosh), το OS (αρχικά γράμματα του όρου Operating System, Λειτουργικό σύστημα) και τον λατινικό αριθμό X, καθώς πρόκειται για την εξέλιξη του Mac OS System 9.

Ιστορία 
Το Mac OS X βασίζεται στον πυρήνα Mach. Συγκεκριμένα κομμάτια από το FreeBSD και το NetBSD υιοθετήθηκαν στο Nextstep, που αποτέλεσε την βάση για το Mac OS X.
Το Nextstep ήταν ένα αντικειμενοστραφές (object-oriented) λειτουργικό σύστημα αναπτυγμένο από τη εταιρία του Στηβ Τζομπς "NeXT", την οποία δημιούργησε αφού έφυγε  από την Apple το 1985. Κατά την απουσία του Τζομπς, η Apple προσπάθησε να δημιουργήσει ένα "νέας γενιάς" λειτουργικό με το Taligent και το Copland, αλλά χωρίς ιδιαίτερη επιτυχία.

Τελικά, το λειτουργικό της NeXT, που είχε πλέον μετονομαστεί σε OPENSTEP, επιλέχθηκε ως η βάση του επόμενου λειτουργικού της Apple, και η Apple εξαγόρασε την NeXT. Ο Στηβ Τζομπς επέστρεψε στην Apple ως προσωρινός CEO (διευθυντής) και πάλι, αναλαμβάνοντας το έργο της μετατροπής του φιλικού-για-προγραμματιστές Openstep σε ένα σύστημα που θα μπορούσε να χρησιμοποιήσει η βασική αγορά της Apple, δηλαδή οι οικιακοί χρήστες και οι επαγγελματίες στο δημιουργικό τομέα. Αρχικά το έργο ονομάστηκε Rhapsody (Ραψωδία) και στη συνέχεια μετονομάστηκε σε Mac OS X.

Συμβαδίζοντας με την πολιτική της Apple όπου ο υπολογιστής αποτελεί το "digital hub" (ψηφιακός κόμβος), με κάθε καινούρια έκδοση, το Mac OS X εξελίχθηκε δίνοντας λιγότερη βάση στη συμβατότητα με παλιότερο λογισμικό και περισσότερη στις εφαρμογές "digital lifestyle" (ψηφιακός τρόπος ζωής) όπως το πακέτο "iLife", επιχειρηματικές εφαρμογές όπως το "iWork" και ενσωματώνοντας το συστήμα οικιακής ψυχαγωγίας "Front Row media center". Κάθε νέα έκδοση περιείχε γενικές μετατροπές στη διασύνδεση χρήστη (interface) όπως η brushed metal (στιλβωμένο μέταλλο) εμφάνιση που προστέθηκε στην έκδοση 10.2 και η ενοποιημένη εμφάνιση στο 10.4.

Περιγραφή 
Το macOS είναι μια ριζική αναχώρηση από τα προηγούμενα λειτουργικά συστήματα των Macintosh. Ο θεμελιώδης κώδικας και η δομή του είναι εντελώς διαφορετική από της προηγούμενες εκδόσεις. Η βάση του, με το όνομα Darwin (Δαρβίνος) είναι ένα ελεύθερο και ανοιχτού κώδικα UNIX λειτουργικό σύστημα χτισμένο πάνω στο XNU kernel, με τις τυπικές UNIX ευκολίες διαθέσιμες μέσα από τη γραμμή εντολών (command line interface). Πάνω στο Darwin η Apple πρόσθεσεαρκετά συστατικά όπως ο "Finder" και το γραφικό περιβάλλον "Aqua", ολοκληρώνοντας το βασισμένο σε γραφικό περιβάλλον λειτουργικό σύστημα που είναι το macOS.

Το macOS περιλαμβάνει αρκετά χαρακτηριστικά με σκοπό να κάνουν το λειτουργικό σύστημα πιο σταθερό και αξιόπιστο. για παράδειγμα το pre-emptive multitasking και η προστασία μνήμης (memory protection) βελτίωσαν τη δυνατότητα του λειτουργικού να τρέχει πολλαπλές εφαρμογές ταυτόχρονα χωρίς κάποια εφαρμογή να επεμβαίνει ή να ρίχνει το σύστημα. Πολλές πτυχές του macOS πηγάζουν από το Openstep, που σχεδιάστηκε να είναι "φορητό" - να διευκολύνει την μεταφορά του ανάμεσα σε διαφορετικές πλατφόρμες. Για παράδειγμα:
Το Nextstep μεταφέρθηκε από το αρχικό NeXT workstation που βασιζόταν σε 68k επεξεργαστή, σε άλλες αρχιτεκτονικές πριν εξαγοραστεί η NeXT από την Apple,
Το Openstep μεταφέρθηκε στην PowerPC αρχιτεκτονική ως μέρος του Rhapsody
Το Mac OS X v10.4 μεταφέρθηκε στην intel αρχιτεκτονική το 2006 για τα νέα Macintosh με intel επεξεργαστή
και το Mac OS X v10.5 μεταφέρθηκε στην αρχιτεκτονική ARM για την παραγωγή του iPhone, iPad και iPod Touch

Η πιο ορατή διαφορά ήταν το γραφικό περιβάλλον Aqua. Η χρήση κουμπιών σαν χρωματιστές σταγόνες, οι διαφάνειες και φωτορεαλιστικά εικονίδια έφεραν υφή και χρώμα σε σχέση με τα προηγούμενα λειτουργικά. Πολλοί χρήστες εξέφρασαν την αρνητική άποψη ότι ήταν πολύ "χαριτωμένο" χωρίς επαγγελματικό ερέθισμα. Άλλοι πίστεψαν ότι το Aqua ήταν ένα γενναίο και πρωτοποριακό βήμα σε  μια εποχή που τα γραφικά περιβάλλοντα ήταν απλά βαρετά. Παρόλο το διχασμό, η εμφάνισή του ήταν άμεσα αναγνωρίσιμη, ακόμα και πριν την πρώτη έκδοσή του Mac OS X, άλλοι προγραμματιστές άρχισαν να προσπαθούν να αντιγράψουν την εμφάνιση του Aqua.

Το macOS περιέχει δικό του πακέτο προγραμματισμού, με επίκεντρο το περιβάλλον προγραμματισμού Xcode. Το Xcode παρέχει περιβάλλοντα (interfaces) και compilers που υποστηρίζουν πολλές γλώσσες προγραμματισμού όπως C, C++, Objective-C, Java, Applescript, και πολλές άλλες με compilers τρίτων.

Εκδόσεις

Συμβατότητα

Λογισμικό (Software) 
Κατά τα τέλη της δεκαετίας του '90, για τη διευκόλυνση της μετατροπής των υφισταμένων εφαρμογών από το Mac OS 9 στο Mac OS X, ενσωματώθηκε στο Mac OS X το Carbon (Άνθρακας) API (Application Programming Interface - περιβάλλον προγραμματισμού εφαρμογών). Οι εφαρμογές γραμμένες με το Carbon τρέχανε κανονικά σε όλα τα συστήματα και οι εφαρμογές που είχαν σχεδιαστεί για το Mac OS 9 χρειάζονταν μόνο λίγες μετατροπές για να λειτουργούν με το Carbon API. Από την άλλη, τα πιο ισχυρά API του Mac OS X που προήλθαν από το Openstep δεν ήταν συμβατά με τις εκδόσεις που προηγήθηκαν του Mac OS X. Αυτά τα API αναφέρονται ως Cocoa (Κακάο). Αυτή η κληρονομιά είναι πολύ εμφανής στους προγραμματιστές με Cocoa, αφού τα περισσότερα Cocoa class ονόματα ξεκινούν με το συνθετικό "NS" από τη λέξη Nextstep.

Από το 2006 και μετά εγκαταλήφθηκε η Java ως το προτιμώμενο πακέτο λογισμικού. Στο Mac OS X η Java είχε πάντα ιδιαίτερη μεταχείριση. Εφαρμογές γραμμένες σε Java ενσωματώνονται όσο καλύτερα γίνεται στο σύστημα ενώ παραμένουν  cross-platform (ανεξάρτητης-πλατφόρμας) και γραφικά περιβάλλοντα γραμμένα με Swift φαίνονται σχεδόν ακριβώς το ίδιο με τα κανονικά Cocoa περιβάλλοντα. Παραδοσιακά οι εφαρμογές για το Mac OS X γράφονται με Objective-C, με την Java μόνο ως εναλλακτική. Όμως στις 11 Ιουλίου 2005 η Apple ανακοίνωσε ότι "τα χαρακτηριστικά που θα προστεθούν στο Cocoa μετά το Mac OS X v10.4 δεν θα προστεθούν στο Cocoa-Java API"

Υλικό (Hardware) 
Στις αρχές του Mac OS X, υποστηρίζονταν όλες οι αρχιτεκτονικές των τότε Macintosh υπολογιστών (φορητών, επιτραπέζιων και διακομιστών) που βασίζονταν σε επεξεργαστές PowerPC G3, G4 και G5. Μετέπειτα εκδόσεις διέκοψαν την υποστήριξη για το παλιότερο υλικό. Για παράδειγμα το v10.3 δεν υποστηρίζει τα "beige" (μπεζ) G3s, το v10.4 δεν υποστηρίζει τα συστήματα πριν από την έναρξη χρήσης των θυρών  FireWire από  την Apple και το v10.5 δεν υποστηρίζει το συστήματα παλιότερα των G4 στα 867 MHz, αν και κυκλοφόρησαν εργαλεία όπως το XPostFacto τρίτων που επιτρέπουν την αναβάθμιση χωρίς την υποστήριξη της Apple.

Το Mac OS X διατηρεί συμβατότητα με εφαρμογές γραμμένες για παλιότερες εκδόσεις του Mac OS παρέχοντας ένα περιβάλλον προσομοίωσης που λέγεται Classic, που επιτρέπει στους χρήστες να τρέχουν το Mac OS 9 ως κομμάτι του Mac OS X. Το Classic έπαψε να υποστηρίζεται 7 χρόνια μετά την έναρξη του Mac OS X, με την έλευση των βασισμένων σε Intel Macintosh.

Μεταφορά στους επεξεργαστές Intel 

Τον Απρίλιο του 2002,  το eWeek δημοσίευσε πληροφορίες ότι η Apple ετοίμαζε έναν νέο κώδικα του Mac OS X - ονομαζόμενο Marklar το οποίο έτρεχε σε επεξεργαστές Intel x86 . Η ιδέα πίσω από το Marklar ήταν να κάνει το Mac OS X να τρέξει σε μια διαφορετική πλατφόρμα, καθώς η Apple ήταν δυσαρεστημένη με την πορεία της πλατφόρμας PowerPC. 
Οι πληροφορίες αυτές είχαν ξεχαστεί μέχρι τα τέλη Μαΐου 2005, όταν διάφορα ειδησεογραφικά πρακτορεία, όπως η  Wall Street Journal 
και το CNET, 
ανέφεραν ότι η Apple θα γνωστοποιούσε το Marklar μέσα στους επόμενους μήνες.

Στις 6 Ιουνίου 2005, ο Διευθύνων Σύμβουλος Steve Jobs επιβεβαίωσε αυτές τις πληροφορίες, ανακοινώνοντάς  τες επίσημα στην ομιλία του στο ετήσιο Apple Worldwide Developers Conference και λέγοντας ότι η Apple θα έκανε την μεταφορά από τους PowerPC επεξεργαστές στους Intel επεξεργαστές μέσα στα επόμενα δύο χρονιά, και ότι το Mac OS X θα υποστηρίζει και τις δυο πλατφόρμες καθ'όλη την διάρκεια της αλλαγής. Την τελευταία φορά που η Apple άλλαξε οικογένεια επεξεργαστών — από τον Motorola 68K επεξεργαστή στον IBM/Motorola PowerPC— η Apple συμπεριέλαβε έναν Motorola 68K προσομοιωτή στο καινούργιο OS που έκανε σχεδόν όλα τα 68K προγράμματα να δουλεύουν αυτομάτως στο καινούργιο υλικό. Η Apple είχε υποστηρίξει το 68K προσομοιωτή για 11 χρονιά, άλλα σταμάτησε να το υποστηρίζει κατά την διάρκεια μετάβασης στους Intel επεξεργαστές. Ενσωματωμένο στο νέο OS για τους Intel-βασισμένους Mac είναι η Rosetta, ένα binary translation στρώμα το οποίο επιτρέπει προγράμματα γραμμένα για PowerPC Mac OS X να τρέχουν σε Intel Mac OS X μηχανήματα. Παρ' όλα αυτά, η Apple σταμάτησε να υποστηρίζει το Classic mode στους καινούργιους Intel Mac. Λογισμικό προσομοίωσης τρίτων κατασκευαστων όπως τα Mini vMac, Basilisk II και SheepShaver δίνουν υποστήριξη για κάποιες παλαιότερες εκδόσεις του Mac OS. Μια νέα εκδοσή του Xcode και νέους μεταγλωττιστές γραμμής-εντολών να υποστηρίζουν την δημιουργία universal binaries τα οποία θα τρέχουν και στις δυο αρχιτεκτονικές.

Λογισμικό το οποίο είναι μόνο διαθέσιμο για PowerPC υποστηρίζεται από την Rosetta. Παρ'όλα αυτά, η Apple παροτρύνει προγραμματιστές να δημιουργησουν universal binaries με υποστήριξη για PowerPC και x86. 
Το Universal binary λογισμικό πρέπει να τρέχει γρηγορότερα στους βασισμένους σε επεξεργαστές Intel Mac σε σχέση με το λογισμικό που τρέχει μόνο σε PowerPC μεσώ Rosetta. Επιπλέον, κάποιο PowerPC λογισμικό, όπως επεκτάσεις του kernel και System Preferences plugins, δεν υποστηρίζονται στους Intel Macs. Καθώς οι Intel Macs θα μπορούν να τρέξουν PowerPC, x86, και universal binaries, οι PowerPC Macs θα μπορούν να υποστηρίξουν μόνο universal και PowerPC builds.

Υποστήριξη για την πλατφόρμα PowerPC παραμένει και στο OS X v10.5. Ο Jobs επίσης επιβεβαίωσε ότι η Apple είχε φτιάξει εκδόσεις του Mac OS X να τρεχουν σε Intel επεξεργαστές στο μεγαλύτερο μέρος της ανάπτυξης του. Τέτοια cross-platform συμβατότητα πάντα υπήρχε στην πορεία του Mac OS X, όπως ειπώθηκε νωρίτερα; Το Openstep δούλευε σε πολλές αρχιτεκτονικές, συμπεριλαμβανομένου του x86, και το Darwin είχε υποστήριξη και για PowerPC και για x86. Παρ'όλο που η Apple δήλωσε ότι το Mac OS X δεν θα τρέξει σε Intel-βασισμένους προσωπικούς υπολογιστές εκτός από τους δικούς της, μια ανεπίσημα σπασμένη εκδοσή του OS συμβατό με τυπικό x86 υλικό έχει αναπτυχθεί από την OSx86 κοινότητα και είναι διαθέσιμο μέσα από δίκτυα διαμοίρασης αρχείων όπως είναι το BitTorrent.

Παραπομπές

BSD
MacOS