Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
24 Anatomie Technisches zur Hardware der Macs 24 DieProzessoren 32 DerChipsatz 32 Firmware 35 InterneSchnittstellen 36 Peripherie-Schnittstellen 39 Netzwerk-Schnittstellen
40 Psychologie Technisches zum Betriebssystem Mac OS X 40 DasSchichtenmodell 41 Programmumgebungen 46 Grafik 48 Speicher-undProzessverwaltung 51 Voreinstellungen 52 Massenspeicherverwaltung 52 Partitionsschemata 52 DasDateisystem 56 Bundles 58 Objektattribute 64 GrafischeBenutzeroberfläche 65 DerFinder 66 HumanInterfaceGuidelines
68 Willkommen! Der Systemstart
24 AnatomieTechnisches zur Hardware der Macs
Technik
24 Technik
Die ProzessorenZumBetriebeinesComputerswerdenverschie-deneKomponentengebraucht.DiewichtigstenKomponentendabeisindderProzessorundderChipsatz.DerProzessoristdiezentraleRecheneinheit
einesComputers.ErführtBefehleaus,nimmtBerechnungenvorundverteiltAufgabenandieverschiedenenSubsysteme.DerimPowerPC-MacverwendetePowerPC-
ProzessorwurdeAnfangder90erJahrevonApple,MotorolaundIBMaufBasisdesPOWER,welchenIBMinGroßrechnernverwendete,entwickelt.Deraus11ChipsbestehendePO-WERwurdezueinemChipzusammengefasstundumeinenvonMotorolaentwickeltenBusergänzt.Der»Core«bzw.»Core2«indenMacsmitIntel-Architekturisteinx86,erentstandineinerlangenEvolutionausdem8086(sieheSeite20,Geschichte).DerPowerPCimMacistTeileinergroßenFa-
miliemitunterschiedlichstenEinsatzgebietenundvonverschiedenenHerstellern.PowerPCswerdenunteranderemauchinEmbedded-Computern(wiederMotorsteuerungimAuto),indenaktuellenSpielekonsolenoderauchinSupercomputern(woerdieoberstenPlätzederListederschnellsten500Computerdominiert)undinMainframesverwendet.Derx86dage-genistpraktischeinreinerPersonal-Computer-Prozessor.FürdieanderenEinsatzgebietehatIntelandereProzessorenimProgramm–dieRISC-ProzessorenItaniumundXScale(wurdejedoch2006andieFirmaMarvellabgestoßen).XScalebasiertaufdem»ARM«(AdvancedRISCMachine),demProzessorimiPodundiPhone.
Prozessortechnik – oder – wie funktioniert ein Prozessor?EinProzessorbestehtausverschiedenenfunk-tionalenEinheiten,dieerstdasAbarbeitenvonProgrammenermöglichen.MankannhierzwischendemFrontendunddemBackend unterschieden.DasFrontendistdafürzustän-dig,demProgrammablaufzufolgenunddasBackendmitdenBefehlenundDatenausdemArbeitsspeicherzuversorgen.DasBackendübernimmtdieeigentlicheBerechnungderDa-tenanhandderBefehle.
ProgrammablaufAlleProzessorenarbeitennachdemgleichenAblauf–Fetch,Decode/Dispatch,Execute,Writeback:EinProzessorbefehlwirdvoneinerbestimmtenSpeicheradresseangenommen,abgefertigtundverarbeitet(d.h.aufbestimmteDatenangewendet).DannwirddasErgebniszurückgeschrieben.GleichzeitigwirdderPro-grammzählerumEinserhöht,unddernächsteBefehlimProgrammablaufindernächsthö-herenSpeicheradressewirdangenommen.DieseSequenzdurchläuftderProzessorimmerundimmerwieder,vondemZeitpunkt,andemderComputereingeschaltetwirdbiszumAus-schalten.
RegisterRegistersinddieSpeichereinheiteninnerhalbdesProzessors,dereinzigeSpeicher,aufdenderProzessordirektenZugriffhat.BefehlekönnennuraufDatenangewendetwerden,diesichinRegisternbefinden.JederBefehlunddiezubearbeitendenDatenmüssenzuerst
AnatomieTechnisches zur Hardware der Macs
DasneueLogoderPower.
org,einemZusammen-schlussallerHerstellervonPow-
erPC-Prozes-sorenundKomponen-tenfürdenPowerPC.
3 32Chipsatz
Applever-wendet
diesesLogoanstelledesoffiziellenIntel-Logos.
3 28RISC
Technisches zur Hardware der Macs 25
ineinRegistergeladenwerden.UmDatenausdemArbeitsspeicherindieRegisterzuladen,werdenLade-Befehleverwendet,bzw.Speicher-Befehle,umDatenausRegisternindenArbeitsspeicherzuschreiben(Load/Store-Befehle).DieunterschiedlichenRechen-einheitenfürFestkomma-,Fließkomma-undVektor-BerechnungenbesitzenjeweilseigenenSatzanRegistern.SpeicheradressenwerdenindenFestkomma-Registerngespeichert.Zusätz-lichgibtesBefehlsregister,sowieStatus-undSteuer-Register(z.B.fürdenProgrammzähler).
ProgrammverzweigungenNormalerweisewirdeinBefehleinesPro-grammesnachdemanderenabgearbeitet.InbestimmtenSituationenkommtesjedochzuSprüngenoderSchleifen.DiesewerdenvonderBranch-Unitbearbeitet.EinBranch-BefehlsetztdenProgrammzählerunterbestimmtenUmständenaufeinenanderenWert,sodassdiefolgendenBefehlevoneineranderenSpeicher-adressegeladenwerden.
Aufbau von Prozessor-BefehlenEinBefehlbestehtauseinerReihevonInforma-tionen.DieersteInformationistdieKennung,
der»Opcode«.Dieserbestimmt,welcheBe-rechnungausgeführtwerdensoll(z.B.Addiere,LadevonAdresseetc.).DahinterfindensichRegisteradressenfürdieQuelleunddasZielderBerechnung.EinigeBefehlebeinhaltenaucheinesogenannte»Immediate«,eineZahl,diebeimÜbersetzendesProgrammsschonbe-kanntwar.
Techniken in der Mikroarchitektur1Pipelines:BeidenallererstenProzessorenwurdeeinneuerBefehlerstangenommen,wenndervorherigeBefehlfertigbearbeitetwar.DamitverbringtabereinTeildesProzes-sorseinenGroßteilderZeitmitLeerlauf.Da-heristmanaufdieIdeederBefehlspipelinegekommen.DernächsteBefehlwirdschonangenommen,wenndererstesichnochinBearbeitungbefindet.DamitsindimmeralleFunktionseinheitenausgelastet.DiekleinstePipelinebestehtausvierStufen(dieklas-sischeRISC-Pipeline–fürdievierPhasenderBearbeitungeinesBefehls:Fetch,Decode/Dispatch,Execute,Writeback).DieserAblaufkannwiederuminkleinereEinheitenunter-teiltwerden.(DerersteG4hatteebendiese4Stufen,diespäterauf7erweitertwurden.
SchematischeDarstellungeinessuperscalarenRISC-Prozessors.InvierPipeline-StufenundmitvierparallelenRecheneinheitenwerdendieDaten(blau)mit-hilfederBefehle(rot)verarbeitet.DieLSUberech-netdieAdressen(gelb)fürdenSpeicherzugriff.BR=Befehls-Register
BU=BranchUnitFPU=FloatingPointUnitVPU=VectorProcessingUnit
LSU=Load/StoreUnitALU=ArithmeticLogicalUnit
26 Technik
DerG5-unddieIntel-Core-Prozessorenha-ben12bzw.16Pipeline-Stufen.DielängstePipelinebesitztIntelsPentium4.Dortsindesbiszu31Stufen.)LängerePipelineser-möglicheneinehöhereTaktfrequenz,dadiekleinerenBearbeitungsschrittewenigerZeitbenötigen.Allerdingsfunktioniertdasnurgut,so-
langeeskeineAbhängigkeitenvondenErgebnissenvorherigerBefehleoderVer-zweigungengibt.DannmüssenschoninBearbeitungbefindlicheBefehlewiedergelöschtwerden,esentstehenBlaseninderPipeline,sogenannte»Bubbles«.JelängerdiePipeline,destoöftertretendieseaufundgrößersindsie.
1Sprungvorhersage:BeiSprung-Befehlenistesabermöglich,umVerzögerungendurchBubbleszuvermeiden,bestimmteBefehleschonaufVerdachtauszuführen.Beispiels-weiseistdieWahrscheinlichkeit,dasssicheineSchleifewiederholtungleichhöher,alsdassdieSchleifeverlassenwird(z.B.wirdbeimUmwandelneinesBildesmit1000PixelndieSchleife999malwiederholt,abernureinmalverlassen).ModerneProzessorenhabeneineeigeneRecheneinheit,diedaraufspezialisiertist,zuberechnen,welcherZweigamwahrscheinlichstenalsnächstesgenom-menwird(denBranch-Predictor).
1Superscalare Prozessoren:DieerstenProzes-sorenbesaßennureineRecheneinheitimBa-ckend,mitderjedeArtvonDatenberechnetwurden.Später,alsdieZahlderTransistorenzunahm,wurdenindenProzessorzuerstzweigleicheRecheneinheiteneingebaut,diedieDatenparallelberechnenkonnten.NochspäterwurdendieRecheneinheiteninUnter-EinheitenfürunterschiedlicheArtenvonBerechnungengeteilt(z.B.eineEinheitfürdieeinfachenBerechnungenAddition,SubtraktionundMultiplikation,pluseinefürdiekomplizierteDivision).BeimPowerPC970undIntelCorearbeiten12bzw.13unter-schiedlicheRecheneinheitenparallel.Mo-derneProzessorenarbeiten»superscalar«.DamitkannderProzessorbeieinemTaktnichtnureinenBefehl,sondernmehrereaus-führen.EinsuperscalarerProzessorbrauchtjedocheinezusätzlicheSteuereinheit,dieda-fürsorgt,dassdieErgebnisseinderrichtigenReihenfolgeausgegebenwerden.
1Weitere Techniken:ImLaufederweiterenEntwicklungwurdenweitereTechnikenerfunden,diedieLeistungsfähigkeitdesProzessorssteigernsollten,wiedasUmsor-tierenderBefehle(OutofOrderExecution,OoOE)vordemAusführenoderdasAusfüh-renvonBefehlenaufVerdacht(SpeculativeExecution),unsichtbareRegister,indenen
PowerPC-970-Prozessor(G5)
Abbildungen:Freescale,IBM
PowerPC-74xx-Prozessor(G4)
Technisches zur Hardware der Macs 27
Datenzwischengespeichertwerden,wenneinRegisterbelegtist(Rename-Register)o.ä.AllerdingskommeneinigemoderneProzessordesigns(wiediePowerPC-basiertenProzessoreninderXBox360undderPlaysta-tion3)vonmanchendieserTechnikenwiederab,daman–wieinden80erJahrenbeiCISC–geradefeststellt,dasssieu.U.mehrKosten,alsNutzenbringen.
SpeicherWieobenbeschriebenhatderProzessornuraufdieRegistereinendirektenZugriff.Zu-griffaufdenArbeitsspeicheristnurüberdenSpeicherbusanhandvonAdressenmöglich.AuchEin-undAusgabegeräte(dieFestplatte,dieTastatur,dieGrafikkarteo.ä.)werdenüberAdressenbehandelt.InProgrammenfindensichjedochkeineabsolutenSpeicheradressen(dieseändernsich,z.B.janachdemwiegroßdereingebauteArbeitsspeicherist).FürdasUmrechnenderindenProgrammengespei-chertenAdresseninabsoluteAdressenbesit-zenheutigeProzessoreneineeigeneFunktions-einheit,dieLoad/Store-Unit.
CacheRegulärerArbeitsspeicheristumeinVielfacheslangsamer,alsderProzessor.EsgibtzwarschnellerenSpeicher,dochderisterheblichteurer(jeschneller,destoteurer).DamitderProzessorsowenig,wiemöglichaufdenlang-samenArbeitsspeicherwartenmuss,wirdschnellerSpeicherinmehrerenStufenalsCachefürdenlangsamenArbeitsspeicherver-wendet(wobeiderArbeitsspeicherwiederumeinCachefürdieFestplatteist).ImCachewer-denKopienderaktuellbenötigtenDatenundProgrammbefehlezwischengespeichert.EsgibtfolgendeCachestufen:Amschnellsten,aberauchamkleinstenistderLevel-1-Cache(L1),eristinProzessorintegriert.ImL1werdenBefehle
undDateningetrenntenBereichengespei-chert.Auchdergrößere,etwaslangsamereL2befindetsichbeiheutigenProzessorenzusam-menmitdemProzessoraufeinemChip.BeimanchenProzessoren(imMacbeibestimmtenVersionendesG4)stehtzusätzlichnocheinLevel-3-CachezuVerfügung.DieVerwaltungdesL1-undL2-(undevtl.L3-)-CacheübernimmtderProzessor,sieistvonProzessorzuProzessorunterschiedlich.MithilfederCache-HierarchiewirdderSpeicherzugriffstarkbeschleunigt.WiestarkwirdnichtnurdurchdieGrößedesCaches,sondernauchdurchseineOrganisationbestimmt.
BefehlssätzeJedeProzessorfamiliearbeitetmiteinemeige-nenSatzvonProzessorbefehlen(InstructionSetArchitecture,ISA).DieISAwurdeerstmalsinden60er-JahrenimIBMSystem/360ein-geführt,umdieProgrammierungvondereigentlichenHardwareunabhängigzuma-chen.DieISAliegtalsAbstraktionslayerüberderMikroarchitekturdesProzessors.VorhermussteeinProgrammimmerfürdieMikroar-chitekturangepasstwerden,selbstbeieinerkleinenÄnderungdesProzessorsmusstendieProgrammeneugeschriebenwerden.MitEin-führungderISAkonntevorhandenenSoftwareauchaufneuerHardwaremitdergleichenISAverwendetwerden.DieBefehlederISAwurdendabeizuerstmithilfederMikrocodeEngineverarbeitet.DieseisteineArtProzessorimProzessor,derausjedemBefehleineReihevonBefehlenerzeugtunddiesedanndemBackendzugeführt.MitderLösungdeseinenProblemswurde
jedocheinneuesgeschaffen:DerMarkterfolgeinesProzessorswurdevondervorhandenenSoftwareabhängig.Sokonntederx86,obwohlseineISAmitmodernenProzessortechnikenab-solutinkompatibelist,sichtrotzdemweiterhin
48 3Software, Speicherver-waltung
28 Technik
amMarkthaltenundsichgegendiemodernenProzessorenimRISC-Designbehaupten.
CISCDieMöglichkeiten,diesichdurchdieISAerga-benwurdeninden70er-JahrenaufdieSpitzegetrieben.Grunddafürwaru.a.Speicherzusparen–SpeicherwarrarundteuerundPro-zessorlogikbilligerzuproduzieren,alsSpeicher.AußerdemsolltedemProgrammierer,derdamalsnochaufProgrammiereninder–sichmehranderMaschine,alsamMenschenorien-tierenden–Sprache»Assembler«angewiesenwar,dieArbeiterleichtertwerden.Daherwur-demehrereBefehlezusammengefasstundBe-fehleeingeführt,mitdenenSpeicheradressendirektmanipuliertwerdenkönnen.DieBefehleeinersolchenCISC-ISA(ComplexInstructionSetComputing)könnenvomProzessornichtdirektverarbeitetwerden.DamitwurdendieProzessorenimmerkom-
plexer.DadieRessourcenbeschränktwaren,istdieZahlderRegisterstarkbeschränkt.HeutzutageistdieEinsparunganSpeicherplatzirrelevant,beieinemMac-OS-X-Programmbeträgtsie,wennüberhaupt,nurwenigePro-zent.AußerdemwirdheutzutagenichtmehrinAssemblerprogrammiert,sonderninHoch-sprachen,wie»C«oder»C++«bzw.»ObjectiveC«fürCocoa.BeimErzeugeneinesProgrammssorgtderCompilerdafür,dieHochspracheindieProzessorspracheumzusetzten.
RISCMitderRISC-Technologie(ReducedInstructionSetComputing)–dieinden80er-Jahrenent-worfenwurde,umdieGrenzen,diedurchCISCgesetztwurden,zuüberwinden–besannmansichaufdieEinfachheitderProzessorenausderZeitvorCISC.DasKonzeptderISAwurdebeibehalten,dieISAabersoangelegt,dassdieBefehledirektvomProzessorverarbeitetwer-denkönnen.DerProzessorkommtohneeineMicrocodeEngineaus,dieverfügbarenTransis-torenkonntenstattdessenfürdieeigentlichenRecheneinheitenverwendetwerden.RISCsollteeinehöhereTaktgeschwindigkeit,aberauchhöhereRechengeschwindigkeitproTaktermöglichen.Techniken,wiePipelinesundsu-perscalareProzessorenwurdenerstdurchRISCmöglich.BeiRISCgibtes,bisaufdiespeziellenLoad-undStore-Befehle,keinenZugriffaufSpeicheradressen.DieZahlderRegisteristun-gleichgrößer,alsbeimCISC.AusdergleichenLängeundStrukturderBefehle(bzw.dersichdarausergebendenfixenLängedesOpcodes)ergibtsichaberaucheinebeschränkteAnzahlvonBefehlen.FürdenAssembler-Programmie-rerbedeutetRISCeinengrößerenProgram-mieraufwand.
Eigenschaften des x86 BefehlssatzesIntelsx86-ArchitekturisteinLehrbuchbeispielfüreinen»komplexenBefehlssatz«CISC.DieBefehlehabeneineextremunterschiedliche
x86-undPowerPC-Code.Imx86-Code(rot)habenBefehleeineunterschiedlicheLänge.BeimPowerPC
(blau)sindalleBefehlegleichlang.SiehabenauchdiegleicheStruktur.DamitderIntel-ProzessordieBefehleeffektivverarbeitenkann,musserdenx86-CodeinterninCodeumwandeln,dersoähnlichaussieht,wiederPowerPC-Code.(DieBilderzeigenechtenMaschinen-code.DiesesCode-SegmentwirdbeimStarteneines
Mac-OS-X-Programmsaufgerufen.)
3 42Cocoa
Technisches zur Hardware der Macs 29
Länge(zwischeneinemund17Bytes;imDurchschnitt3,5,intatsächlichverwendetemProgramm-CodekannderWerthöheroderniedrigersein).HäufiggebrauchteBefehlesindkurz,umSpeicherzusparen.DadieZahlderkurzenBefehlereinmathematischbeschränktist,gibtes–ummöglichstvieleBefehlezuermöglichen–zusätzlichseltenergebrauchte,längereBefehle.ZumTeilhandeltessichumzweiVersionendesgleichenBefehls:EinkurzerBefehl,derautomatischaufeinbestimmtesRe-gisterangewendetwirdundeinlanger,deraufjedesbeliebigeRegisterangewendetwerdenkann.Derx86-BefehlssatzenthältauchBe-fehle,dieSpeicherinhaltedirektberechnen(derProzessormussdieInhaltenatürlichtrotzdemindieRegisterladen,umsieberechnenzukön-nen).ProFunktionseinheitstehen8Registerim32-bit-ModuszurVerfügungbzw.16im64-bit-Modus.Beimx86mussderProgrammiereralsoimmerdaraufachten,dassdieRegisternichtüberlaufen.Derx86kenntnurBefehlemitzweiOperanden,derInhalteinesRegisters(oderei-nerSpeicheradresse)wirdmitdemInhalteinesanderenverändert(nachdemSchemaA+BpA).Derx86bearbeitetDaten»LittleEndian«.D.h.wenndasWort»UNIX«ein64-bit-Wertwäre,würdeesindenRegisternim32-bit-Mo-dusals»NU«und»XI«bzw.im64-bit-Modusals»XINU«gespeichert.
Heutige x86-ProzessorenBeiheutigenx86-Prozessorenwerdendiex86-CISC-BefehleimProzessorzuMikrobefehlenumgewandeltunddannabgearbeitet.DieseMikrobefehlebesitzenähnlicheEigenschaften,wieRISC-Befehle(dennsieorientierensichwiedieseandenArbeitsabläufeneinesmodernenProzessors).AufdieMikrobefehleistjedochweiterhinkeindirekterZugriffmöglich,siesindauchunterschiedlichjenachx86-Prozessortyp.Dabeigibtesbeiheutigenx86-Prozessoren
mehrereEinheitenzurUmwandlungderCISC-BefehleindieinternenBefehle.EinfacheBefehlewerdenvonmehrerenparallelarbei-tendeneinfachenUmwandlungseinheitenineinoderzweiinterneBefehleumgewandelt,diekomplexerenBefehlewerdenübereinMikroprogrammineineSequenzvon–teilsduzenden–internenBefehlenumgerechnet.Heutigex86-ProzessorennehmendieBefehlePaketweisean.BevordieseweiterverarbeitetwerdenkönnenmussderProzessorimmerzuerstanhanddesInhaltsfeststellen,obessichdabeiumeinenodermehrereBefehlehandelt.DurchexzessiveAnwendungmoderner
Prozessor-TechnikenTechnikennachdemUmwandelnderx86-BefehleinMikro-Befehle,wurdederCISC-Nachteilbeidenheutigenx86ernzumTeilwiederwettgemacht.FürdieseUmwandlungwerdenjedochweiterhinvieleRessourcenverschwendet.EinPentiumPro,ausdemdieaktuellenCore-Prozessorenentwickeltwurden,brauchte40%seinerTransistoren,umdiemitdermodernenProzessortechnikinkom-patiblenx86-Befehlezuübersetzen.Dadiever-fügbarenRessourcensichmitjederProzessor-Generationvervielfachen,dachteman,mankönntediesenOverheadbaldvernachlässigen.HeuteaberwirdmehraufStromsparengeach-
IntelCore-2-Duo-Prozessor
Abbildung:Intel
30 Technik
tetundLeistungssteigerungenbeiProzessorenwerdennichtmehrdurchVergrößerneinesein-zelnenProzessorsundhöhereTaktungerreicht,sonderndurchMehrprozessor-Technik.MitderVervielfachungkompletterProzessorkernesteigtdieMengedervonderx86-Überset-zungshardwareverbrauchtenRessourcennundochwiederan.
Eigenschaften des PowerPCDerPowerPC-ProzessorbenutztimGegensatzzumx86einen»reduziertenBefehlssatz«RISC.ImPowerPC-BefehlssatzsindalleBefehlevierByteslangundgleichstrukturiert.Z.B.istderOpcodeimmer6bitlang.DaherkannderPro-zessordieBefehlewieeinengleichmäßigenDatenstromannehmen.EinPowerPCbesitzt32universelleRegisterproRecheneinheit.BeimPowerPChabendiemeistenBefehledreiOpe-randen(A+BpD),einige,speziellVektor-Be-fehle,auchvierOperanden(A+B+CpD).WiebeiRISCüblichmussimmereinZielregister(D)angegebenwerden(welchesaberauchiden-tischmiteinemderQuellregisterseinkann).
RecheneinheitenEinProzessorbestehtnichtnurauseinerRe-cheneinheit,sondernausverschiedenen,diefürunterschiedlicheRechen-undSteueraufgabenzuständigsind.FrühereProzessorenbesaßenalsRecheneinheitnurdieEinheitfürGanzzahl-Berechnungen(ALU,ArithmeticLogicalUnit).SeitlängerementhaltenProzessorenmitderFPUzusätzlicheineEinheitfürFließkomma-BerechnungenindoppelterGenauigkeit(d.h.für64bit-Fließkomma-Werte).AlleEinheitenkönnenauchmehrfachvorhandensein.
Vektor-EinheitenHeutigeProzessorenenthaltenzusätzlichzudenbekanntenRecheneinheitenfürGanzzahl-undFließkommaberechnungeneineweitere
Recheneinheit,mitdermultipleDatenbzw.VektorengleichzeitigmiteinemBefehlbear-beitetwerdenkönnen(SIMD–SingleInstruc-tion,MultipleData).1AltiVec:DieAltiVec-bzw.VMX-EinheitbeimG4bzw.G5–vonAppleauchVelocityEnginegenannt–ist128bitbreit.Damitkannbei-spielsweiseeinBefehlfür16Datenworteà8bitLängeoderauch4Datenworteà32bitaufeinmalausgeführtwerden.WenndiezuverarbeitendenDateneszulassen,machtAltivecdenG4bzw.denG5zueinemderschnellstenProzessorenüberhaupt.BeiderBerechnungvonrc5-Schlüsselnfür<distri-buted.net>berechneteinG4mehralsdiedoppelteAnzahlanSchlüsselnwieeindop-peltsoschnellgetakteterx86-Prozessor.DaAltivecimG4besserumgesetztist,übertrifftderhiersogardenschnellergetaktetenG5.
1SSEerfülltbeimIntel-ProzessorteilweiseähnlicheAufgabenwieAltiVecbeimG4.ZusätzlichführtSSEauchnormale32-und64-bit-Fließkomma-Befehleaus,ähnlichwiedieFließkomma-Einheit,dieinjedemPow-erPCvorhandenist.MitSSEkönnenjedochvieleRechenoperationenbeiWeitemnichtsostarkbeschleunigtwerden,wiemitAltiVecbeimPowerPC.
MulticoreDieProzessorenimletztenG5-PowerMacundindenIntel-MacssindDualcore-Prozessoren.BeieinemDualcore-ProzessorsindzweiPro-zessorkerneaufeinengemeinsamenChipzusammengefasst.WiebeieinemComputermitmehrereneinzelnenProzessorenkannda-durchdieRechenleistunggesteigertwerden.Sieverdoppeltsichjedochnicht,dazusätz-licherVerwaltungsaufwandentsteht.MehrereProzessorkerneaufeinenChipzubringenhatgegenübereinzelnenProzessorendenVorteil,dassdieProzessorendirekt,ohnedenUmweg
7 21 Geschichte,
x86, Erweite-rungen
7 21 Geschichte,
x87
Technisches zur Hardware der Macs 31
überdieNorthbridge,kommunizierenundaufeinengemeinsamenCache-Speicherzugreifenkönnen.DerersteDualcore-Prozessorwurdeschon
imJahre2001eingeführt.EswarderPOWER4vonIBM,ausdemspäterderPowerPC970(G5)–paradoxerweisezuerstalsSinglecore-Prozes-sor–entwickeltwurde.
32 bit – 64 bitMitdemPowerMacG5wurdemitdemPow-erPC970der64-bit-PowerPC-ProzessoramMaceingeführt.AlleälterenPowerMacsver-wenden32-bit-Prozessoren.(DieBezeichnung64-bit-ProzessorbeziehtsichnuraufdieBreitederRegisterfürdieALU.)Ein64-bit-ProzessorbringtinersterLiniedenVorteil,dassmehrals4GBanArbeitsspeicheradressiertwerdenkönnen,essindtheoretisch16Exabytemöglich.DerPowerPCwarschonvonvornehereinals64-bit-Prozessorgeplantworden,die32-bit-VersionistnureineUntermenge.Dererste64-bit-PowerPC-Prozessorwurdeschon1995inderIBMAS/400verbaut.AusdiesemGrundegibtesbeimG5keine
ProblememitderKompatibilität.Allealten32-bit-ProgrammewerdeninvollerGeschwindig-keitausgeführt.Auchmussbeieinemneuen
64-bit-ProgrammnichtjederProgrammteilaus64-bit-Codebestehen.Im64-bit-Programm-Moduskönnenalle32-bit-Befehleausgeführtwerden.Eskönnensogarin32-bit-Programmeeinzelne64-bit-Befehleeingefügtwerden.DieindenerstenMacsmitIntel-Architektur
verbautenCore-Duo-Prozessorensind32-bit-Prozessoren.DieModellemitCore-2-Prozes-sorenenthalteneineursprünglichAnfang2003vonAMDeingeführte64-bit-Erweiterung–beiIntelEMT64genannt.ÜberverschiedeneIni-tialisierungsschrittewirdder32-bit-Prozessorzueinem64-bit-Prozessor.Im64-bit-ModuserscheintderProzessoralseinandererProzes-sor,alsim32-bit-Modus,u.a.mitderdoppeltenAnzahlanRegistern.32-bit-ProgrammelaufendannineinemKompatibilitätsmodus.LautIntel-Dokumentationkanndie64-bit-
Erweiterungnurvoneinem64-bit-Kernelmit64-bit-Erweiterungenbetriebenwerden,32-bit-Erweiterungenfunktionierendannnichtmehr.UnterMacOSXjedochwirdderProzessormiteinem32-bit-Kernelunddenvorhandenen32-bit-Erweiterungenbetrieben.Trotzdemlaufen64-bit-Programme.ApplehateinpaarHacksindenx86-Kerneleingebaut,umdiesesProblemzuumgehen(beimPowerPCistkeinHacknö-tig,dortistdieseMöglichkeitsovorgesehen).
BlickinsInneredesPowerPC-970MP
Dualcore-Prozessors.HierkannmandiebeidenCoresunddieunterschied-lichenRechenein-heitenerkennen.DergroßeBereich
ganzobenistderL2-Cache-Speicher.
50 3Software, 32-bit – 64-bit
32 3Northbridge
32 Technik
Der ChipsatzAufdemMainboarddesMacsbefindensichnebendemProzessorweitereKomponenten,diezumBetriebeinesvollwertigenComputersgebrauchtwerden.BeidiesenKomponentensprichtmanvom»Chipsatz«.EinChipsatzbestehtmeistauszweiHaupt-
komponenten.DieNorthbridgekontrolliertdenSpeicherundverbindetdenProzessormitdemlokalenBus.AußerdemistdieGrafikhardwareüberdieNorthbridgeangebunden.DieSouth-bridgeistfürdieVerwaltungderI/O-Schnitt-stellen,wieFestplatten,USB-,FireWire-unddieNetzwerk-Schnittstellenzuständig.North-undSouthbridgesindüberdenPCI-Busbzw.übereinenspeziellenBusverbunden.BeimPowerPC-MacwurdendieHaupt-Chips
fürdenChipsatzvonAppleselbst,aufdenjeweiligenMaczugeschnitten,entworfen–sietragenNamen,nichteinfachnurNummern.IndenG4-basiertenMacssinddieFireWire-
unddieGigabit-Ethernet-SchnittstelledirektindieNorthbridgeintegriert.BeieinigenModellensinddieNorth-undSouthbridgezueineneinzigenChip–demSystem-Controller–zusammengefasst.IndererstenGenerationUni-NorthundKeylargozuPangea,ineinerspäterenU2undKeylargozuIntrepid.DieMacsmitIntel-Prozessordagegenver-
wenden–wiediemeistenPCs–aucheinenChipsatzvonIntel.IndenmeistenIntel-Macsfindetder945-ChipsatzVerwendung.DerChipsatzisteigentlichfür32-bit-Prozessorengedachtundkanndaher–selbst,wennmehreingebautist–nurbis3GBSpeicherverwalten.(BeimdrittenModelldesMacBookProbzw.iMacwurdeaufden965-Chipsatzgewechselt.DieserkannmehrSpeicherverwalten.)InderVariante945GM,welchebeimMacminiundbeimMacBookVerwendungfindet,enthältderChipsatzeinenindieNorthbridgeintegrierten
Grafikprozessor(GMA950).DieserGrafikpro-zessorbesitztimGegensatzzunormalenGra-fikprozessorenkeineeigeneSpeicherschnitt-stelle,ergreiftaufeinenreserviertenTeildesHauptspeicherszu.AußerdemfehlenRechen-einheitenfürbestimmteGrafikberechnungen,sodassderGMAdieseBerechnungenandenHauptprozessorzurückgebenmuss.IndieSouthbridgesICH7undICH8sindledig-
lichFestplatten-undUSB-Schnittstelleninte-griert.DieControllerfürdieNetzwerk-Schnitt-stellensindüberPCIeangebunden,FireWiresogarnurüberdenlangsamenPCI-Bus.ImMacPro,indemXeon-Server-Prozessoren
verbautwurden,wirdderChipsatz5000Xverwendet.DieseristdereinzigeChipsatzvonIntel,derdenBetriebmehrererProzessorenerlaubt.ErstelltdenPCIe-SteckplätzendeutlichwenigerPCIe-LaneszurVerfügung,alsderimPowerMacG5eingesetzteChipsatzvonApple.
FirmwareDamiteinComputerstartenkann,brauchtdasMainboardeineigeneskleinesBetriebssystem,dasdasaufderFestplattebefindlicheSystemstartenkann.DiePowerPC-Macsverwendenhierfürdie»OpenFirmware«,dieIntel-Macsverwenden»EFI«.
Open FirmwareDieOpenFirmwareisteinvonderFirmaSUNentwickelterIndustriestandard,deresermög-licht,aufeinemComputerohneProblemeun-terschiedlicheBetriebssystemeverwendenzukönnen(z.B.MacOSX,BSD-UNIX,Linuxetc).DieOpenFirmwarebildetanhandderan-
gemeldetenKomponenteneinenDevice-Tree–eineBaumstruktur,inderalleKomponentenverzeichnetwerden.AnhanddiesesDevice-TreeslädtderMac-OS-X-Kerneldiefürdie
3 68Systemstart
3 35ffSchnittstellen
3 35PCIe-Lanes
Technisches zur Hardware der Macs 33
DasDesigndesMainboardsimIntel-iMacentsprichtdemdesMacBookProbzw.ohnedenGrafikprozessorund-speicherdemdesMacminiundMac-Books–unddemDe-signdermeistenPC-NotebooksmitIntel-Pro-zessor.
DiewichtigstenKomponentenundihreVer-bindungenaufdemBoardeinesiMacG5(iSight).
34 Technik
3 255Praxis, Shell
KomponentenaufdemBoardunddieSteckkar-tennotwendigenTreiber.DieOpenFirmwareistvonAppleaufden
jeweiligenMacangepasst.SiewirdineinemspeziellenFlash-Speicherchipgespeichert,mit-telsUpdateskannApplesoeventuelleFehlerbehebenoderErweiterungenhinzufügen.DieOpenFirmwarebieteteineeigeneShell,
eineKommandozeilen-Oberfläche,mitdersieprogrammiertwerdenkann.SiekannmitderTastenkombinationacOFbeimRechnerstartaufgerufenwerden.
EFIIndenMacsmitIntel-ProzessorübernimmtEFI(ExtensibleFirmwareInterface)diegleichenAufgaben,wiedieOpenFirmware.Beimx86-PCistdafürnormalerweisedasBIOSzuständig,dasmittlerweileschon25Jahrealtist.EswurdezwarimLaufederZeiterweitert,setztaberim-mernochden»Realmode«desx86-Prozessorsvoraus(derProzessorverhältsichwieein8086,mitentsprechendgeringenMöglichkeitenbe-züglichdesadressierbarenSpeichersundderProgrammiersprache).EFIwurdevonIntelursprünglichalsFirm-
warefürden64-bit-Server-ProzessorItanuimentwickelt.Beimx86isteseineAbstraktions-schichtundeinInterface-AufsatzfürdasBIOS,dasimGegenzugaufdasgeringstmöglicheMaßreduziertwerdenkann.EFIbietetfürdenSystemstartähnlicheMöglichkeiten,wiedieOpenFirmware–esermöglichtdasAuffindenderStartdateiaufderFestplatteundeskönnenFirmware-Programme(hier»EFI-Module«ge-nannt)ausgeführtwerden.DenZugriffaufdieKommandozeillen-OberflächeistjedochbeiIn-tel-Macsnichtohneweiteresmöglich,daAppledieseMöglichkeitgesperrthat.AußerdemerstelltEFIkeinendynamischenDevice-Tree,derdieaktuelleHardwarewiderspiegelt.Der
Mac-OS-X-Kernelerstelltstattdesseneinen»fakePPCDeviceTree«.EinesderModule,diebeimStartausgeführt
werdenkönnen,liefertdasBIOS-Interface.DiesesistzumStartvonWindowsnotwendig.(BeidenmeistenPCsandererHerstellermitEFIistdiesesCompatibilitySupportModule(CSM)daseinzigeEFI-Programm,dasausgeführtwird.EsliefertdortauchdieimPC-Bereichbe-kannteBIOS-Bedienoberfläche.)EFIistfürdenBetriebvonMacOSXnicht
notwendig,MacOSXläuftmitwenigenÄnde-rungenaufjedembeliebigenPCmitIntel-oderAMD-Prozessor.AllerdingsversuchtAppledieszuverhindern.
Firmware-ProgrammeOpenFirmwarebzw.EFIkönnenaberauchalseigenständigeskleinesBetriebssystemfungie-ren.ImFirewire-Targed-Modus,wenndieAus-wahlfürdasBoot-Systemaufgerufenwurde(beimStartenmitgedrückterb-Taste)oderbeimHardware-TestmitderHardware-Test-CDstellenOpenFirmwarebzw.EFIdiebenötigtenHardware-TreiberunddiegrafischeBenutzero-berfläche.FürdenlaufendenBetriebkönnteEFIdem
BetriebssystemsogareinekompletteTreibe-rumgebungliefern,sodassdasBetriebssystemkeineeigenenHardware-Treibermehrbesitzenmuss.MacOSXnutztEFIabernurfürdenRechnerstartundbenutztimBetriebdieeige-nenTreiber.
NVRAMDieEinstellungenderOpenFirmwarebzw.desEFIwerdenimNVRAMgespeichert,einemnicht-flüchtigen(engl.non-volatile)Flash-SpeicherbausteinaufdemMainboard.Siekön-nenauchimTerminalvonMacOSXmitdemBefehl»nvram-p«betrachtetwerden.
3 80 Praxis,
Firewire-Tar-ged-Modus
7 20 Geschichte,
x86, BIOS
3 86 Praxis,
BootCamp
3 286Praxis,
NVRAM-Reset
3 261Praxis,
Flash-Speicher
Technisches zur Hardware der Macs 35
PCI-Express-x1-Karte(1Lane)mitzweieSATASchnittstellen
PMU, SMU bzw. SMC MacshabenaufdemMainboardeinenspezi-ellenBaustein,derunteranderemdieBatterieunddieLüfterüberwacht.BeidenPowerBooksundiBooksistdasdiePMU(PowerManage-mentUnit).BeidenG5-iMacsund-PowerMacsistdiesdieSMU(SystemManagementUnit).
Interne Schnittstellen
PCIAlsinterneErweiterungssteckplätzestehenbeieinigenMacsPCI-SteckplätzezurVerfügung.Eskönnen32-und64-bit-PCI-Kartenverwendetwerden.DieKartenmüssendabeieineMac-kompatibleFirmwarebesitzenundesmusseinTreiber(Kernel-Extension)vorhandensein,damitsieamMacbetriebenwerdenkönnen.EinigeKarten-Typen(z.B.Netzwerk-Karten)
könnenjedochauchindernormalenx86-PC-Versionundohnezusätz-lichenTreiberbetriebenwerden.
ImIntel-MachatApplenachIntel-VorgabedenSMC(SystemManagementController)verbaut,einkomplettvomBetriebssystemunabhän-gigesSystemauseinemkleinenRISC-ProzessormitintegriertemArbeits-undFlash-Speicher,indemeineigeneskleinesBetriebssystemge-speichertist.
PCI-XDerPowerMacG5dererstenGenerationenbe-sitzteineverbesserteVariantedesPCI-Busses,PCI-X.DiesebietetdeutlichhöhereGeschwin-digkeiten,istaberauchzu3,3V-PCI-Kartenkompatibel.Ältere5V-PCI-KartenpassennichtindenSteckplatz,kombinierte3,3V-und-5V-Kartenwerdenmit3,3Vbetrieben.
AGPDieGrafikkartesitztimAGP-Steckplatz,einerbesonderenPCI-Variante,dieeinenhöherenDatendurchsatzzulässtundderGrafikkartediezusätzlicheMöglichkeitgibt,direktaufdenHauptspeicherzuzugreifen.
PCIeDiedritteGenerationdesPowerMacG5undderMacProverwendenalsinterneSchnitt-stellenPCIe–auchPCIExpressgenannt.PCIearbeitetmitPunkt-zu-Punkt-Verbindungen,sogenanntenLanes.Kartenbzw.Steckplätzekön-nen1,2,4,8oder16Lanesbesitzen.PCI-,PCI-X-undAGP-KartensindnichtkompatibelzuPCIe.
286 3Praxis, PMU-, SMU- bzw. SMC-Reset
57 3Kernel- Extension
36 Technik
Peripherie- Schnittstellen
JederMacbesitzteineReihevonSchnittstellen,überdieermitderAußenweltkommuniziert.EinigedieserSchnittstellensindbeijedemMacvorhanden,anderenurbeibestimmtenModellen.HierwerdenalleSchnittstellentypenundihreSteckerbeschrieben.
USBAmUniversalSerialBus(USB)werdendieEingabegeräte–Tastatur,Maus–sowieandere»langsame«Gerätewie
Modem,Drucker,Scannerusw.angeschlossen.USBisteinseriellerBus,andemdieGerätedurchHubsverbundenangeschlossenwerden.ImlaufendenBetriebkönnenbiszu127Geräteangeschlossenwerden.USB-Gerätekönnennichtdirekthintereinan-
derangeschlossenwerden.SiemüssenimmeraneinemHub(deninternenimComputerodereinenexternen)angeschlossenwerden.DieGerätekönnennichtdirektmiteinanderkom-munizieren.DieKommunikationläuftimmerüberdenComputer,selbst,wenndieGeräteandengleichenHubabgeschlossensind.
USB 2USB2isteinestarkbeschleunigteVariantevonUSB.HierkönnenauchschnelleGeräte,wieFestplattenetc.
angeschlossenwerden.HierfürsolltenSieaberFireWiredenVorzuggeben.(USB2wurdevonIntelentwickeltumFireWirezuverdrängen.USB2bleibtabertrotzdemnureineaufge-bohrteTastaturschnittstelle,ohneeinefüreineHochgeschwindigkeitsschnittstellegeeigneteBus-Topologie.Wegender–umwenigeCent–billigerenHardwarewerdenhäufigGerätestattmiteinerFireWire-miteinerUSB-2-Schnittstelleausgestattet.)
IDEDieinternenFestplatten,CD-Laufwerkeetc.werdenandieIDE-Schnittstelleangeschlossen.DiezweiinternenBussesindunterschiedlichschnell,einlangsamer(ATA33)fürdasCD-Lauf-werk(unddasZIP-Laufwerk)undeinschneller(ATA66oderATA100)fürdieFestplatten.EskönnenzweiIDE-GeräteproBusangeschlossenwerden.Einesmussals»Master«,dasandereals»Slave«konfiguriertwerden.HängenzweiunterschiedlichschnelleGeräteaneinemBus,wirddieGeschwindigkeitvondemlang-samerenGerätbestimmt.
Serial ATADieMacsmitG5-undIntel-Architekturverwen-denSerialATAalsFestplatten-Schnittstelle.HierwerdendieDatenseriellübertragen.AneinenAnschlusskannnureineFestplattean-geschlossenwerden,siebrauchtnichtkonfigu-riertzuwerden.Serial-ATA-Festplattenkönnenauchextern
inspezielleneSATA-Gehäusenangeschlossenwerden.DaApplejedochkeineexternenAn-schlüsseeinbaut,müsstedafüreineeSATA-Schnittstellenachgerüstetwerden.DasistnurbeimPowerMacoderMacPromittelseinerPCI-bzw.PCIe-Kartemöglich.
3 264 Praxis,
Festplatte installieren
3 262Praxis,
Bustypen
USB-Anschlussstecker:A-(fürAnschlussbuchseamMac)undB-Form(beieinigenPeripheriegerätenverwendet)
Technisches zur Hardware der Macs 37
FireWireIndenmeistenneuerenMacsistmitFireWire(IEEE1394)eineHoch-geschwindigkeitsschnittstellezu
finden.FireWireisteinseriellerBus,andenimlaufendenBetriebbiszu63Geräteange-schlossenwerdenkönnen.FireWirekannbei-spielsweisezumAnschlussvonexternenFest-plattenunddigitalenCamcordernverwendetwerden.AmMacwerdendie6-PoligenSteckerverwendet,dieauchdieStromversorgungent-halten.FireWire-GerätesindmeistmitzweiSchnitt-
stellen–undeinemsogenanntenRepeater,derdieSignaleweiterleitet–ausgestattet,sodassmehrereGerätehintereinanderineinerKettebetriebenwerdenkönnen.ImGegensatzzuUSB2könnendieGerätedabeiauchdirektmit-einanderkommunizieren,derComputermussdieKommunikationlediglichanstoßen.
FireWire 800MitFireWire800wurdedieGe-schwindigkeitderFireWire-Schnitt-stellenocheinmalverdoppelt.Dabei
werdenaberauchandere(9-Polige)Steckerverwendet.FireWire-400-GerätekönnenjedochmiteinemAdapterangeschlossenwer-den.
PC-CardPowerBookssindmiteinerPC-Card-Schnittstelleausgestattet.IndiesepasseneinbiszweiPC-Cards
vomTyp2odereinePC-CardvomTyp3.DiePC-Card-SchnittstellebedientzweiNormen:PCMCIAundCard bus.Dasältere,langsamerePCMCIAentsprichteinerIDE-Schnittstelle,dasneueren,schnellereCardbusentsprichteinerPCI-Schnittstelle.
ExpressCard/34DasMacBookProbesitztstattderPC-Card-SchnittstelleeineExpress-Card-Schnittstelle.ExpressCard
kombinierteinePCIe-SchnittstellemiteinerUSB-2-SchnittstelleineinemSteckplatz.SieistnichtkompatibelzuPC-Card.ImMacBookProkönnenlediglichdieschmalerenExpress-Card/34-Kartenverwendetwerden,nichtdiebreiterenExpressCard/54-Karten.
FireWire-Anschlussstecker:FireWire400(4-Polig),FireWire400(6-Polig)undFireWire800
38 Technik
MonitorMonitorewerdenbeineuerenMacsüberdieDVI-Schnittstelleange-schlossen.HierbeiwirddieKonfigu-
rationDVD-Iverwendet,dienebendenPinsfürdasdigitaleMonitorsignalauchPinsfüranalogesSVGA-Monitorsignalenthält.FürdenAnschlusseinesanalogenMonitorsliegtmeisteinAdapterbei.EinigeModellebesitzeneineMini-DVI-
Schnittstelle,andieDVI-oderVGA-MonitoremiteinemAdapterangeschlossenwerdenkönnen.DerAppleDisplayConnector(ADC),welcher
imPowerMacG4verwendetwird,vereintdasdigitaleMonitorsignalmitderSpannungsver-sorgungundeinemUSB-AnschlussineinemStecker.FürdenAnschlusseineszweitenMonitors
stehtbeieinigenModelleneinezusätzlicheDVI-Schnittstellebzw.einzusätzlicherMoni-toranschlussnachderSVGA-Industrienorm–beiwenigenModellenalsMini-VGA-zurVerfügung.MonitoremeldensichüberDDCamMacan;
soerkenntMacOSXautomatischdenMoni-tortyp.
Video EinigeMacshabenalsZusatzaus-stattungeinenVideoein-bzw.-ausgang.FürComposit-Videowird
einChinch-Steckerverwendet,fürS-VideoeinMiniDIN8-Stecker.BeieinigenModellenkanndieDVI-,Mini-
DVI-oderMini-VGA-SchnittstellemittelsAdap-teralsVideoausgangverwendetwerden.
BluetoothBluetoothisteinKurzstreckenfunk,dereigentlichfürdieKommunikationzwischeneinemMobiltelefonund
Komponentenkonzipiertist.HierkönnenaberauchanderePeripheriegeräteangeschlossenwerden.DieneuestenMacshabenBluetootheingebaut,älterekönnenmiteinemAdapternachgerüstetwerden,derandieUSB-Schnitt-stellegestecktwird.BluetoothbieteteineÜbertragungsgeschwindigkeitvonmaximal723kbit,mitderneuerenVersion2.0wurdedieGeschwindigkeitverdreifacht.
IrDAÜberdenInfrarotanschlusskönnenandereComputeroderDruckerdrahtlosmitdemMacverbunden
werden.DieserAnschlussistbeieinigenPower-Booksvorhanden.DieindenIntel-Macsver-bauteIR-Schnittstellefürdie»AppleRemote«FernbedienungistnichtmitIrDAkompatibel.
Monitor-Anschlussstecker:VGAundDVI-I(Singlelink)
3 204 Praxis, Daten-
austausch mit dem
Handy über Bluetooth
3 348Referenz,
Kontrollfeld Monitore
Technisches zur Hardware der Macs 39
Netzwerk-Schnittstellen
EthernetSchonseitvielenJahrenwerdenMacsmiteinerEthernet-Schnittstelleausgerüstet.FürdenAnschlussan
das10BaseT-,100BaseT-bzw.1000BaseT-NetzstehteineBuchsefürRJ45-SteckerzurVerfü-gung.
AirPortMacshabenmitder(jenachModelloptionalenoderserienmäßigen)Air-Port-KartedieMöglichkeit,Netzwerk-
verbindungenüberFunkherzustellen.AirPortbenutztdasEthernet-Protokoll.
FireWireBeiBedarfkannauchdieFireWire-SchnittstellezurÜbertragungvonEthernet-Paketenverwendetwerden.
ModemDiemeistenPowerPC-Macssindmiteinem56k-Modemausgestattet.Dieseskannmiteinemhandelsüb-
lichenModemkabelmitRJ11-SteckerandasanalogeTelefonnetzangeschlossenwerden.
158ff 3Praxis, Netzwerk
350ff 3Referenz, Kontrollfeld Netzwerk
iSightDeriMacG5derzweitenGenerationunddieIntel-iMacsund-NotebookssindmiteinerintegriertenKamera
ausgestattet,diebeiAppleiSightgenanntwird.DieseistinternüberUSBangeschlossen.ÄltereGerätekönnenmiteinerexterneniSightüberFireWireausgestattetwerden.AlternativkönnenauchUSB-KamerasandererHerstel-lerverwendetwerden.FürdieiSightstelltMacOSXverschiedeneSoftware-FunktionenzurVerfügung.
TonSchonderersteMachatteeineinte-grierte»Soundkarte«.AlleneuerenMacskönnenmitihrerSoundaus-stattungCD-Qualitätproduzieren.AlleMacshabeneinenLine-Ausgang–mancheModelleauchzusätzlich
einenKopfhörerausgangundeinenLine-Ein-gang–mit3,5-mm-Miniklinken-Steckern.(DerLine-EingangisteinHigh-Level-Eingang,keinMikrofoneingang.DiemeistenMikrofonebrau-chenhiereinenVorverstärker.)DerPowerMacG5verfügtaußerdemjeweils
übereinenoptischendigitalenAudioeingangundeinenAudioausgangmitToslink-Anschlüs-sen.
Apple Remote (Infrarot-Schnittstelle)DeriMacG5derletztenGenerationunddieIntel-Macs(außerMacPro)sindmiteinerInfrarot-Schnittstelle
fürdieFernbedienung»AppleRemote«ausge-stattet.DieseistnichtmitIrDAkompatibel.AlsBatteriefürdieFernbedienungwirdeine
CR2032-Knopfzelleverwendet.
372f 3Referenz, Kontrollfeld Ton
321 3Referenz, Audio-MIDI-Konfi gura-tion
Ethernet-Stecker
40 Technik
PsychologieTechnisches zum Betriebssystem Mac OS X
enthältlediglichdieKomponentenfürSpeicherundProzessverwaltung.TreiberwerdeninFormvon Kernel-Extensions (KEXT)demKernelhinzugefügt.Diesekönnendynamischgeladenundentladenwerden.DerKernelunddieExtensions–zusammenauchXNUoder Ker-nel-Environment genannt–verhaltensichzu-sammenwieeinsogenanntermonolithischerKernel.SieliegenbeispielsweiseineinemgemeinsamenSpeicherbereich,wasVorteileinderGeschwindigkeitbringt.NurdasKernel-
Aqua
Kernel-Environment
Core-Services
Application-Services
QuickTime
Carbon Cocoa
Java(JDK)
BSD
Pro gram mum ge bun genMach-Kernel(Ein-/Ausgabe,Treiber)
Dateisystem
Netzwerk
Das Schichtenmodell
MacOSXistausverschiedenstenWurzelnzusammengewachsen.EinTeilistklassischesUNIX,einTeilkommtvonNeXTStep,wiedereinandererTeilausdemMacOS.MacOSXistinSchichtenaufgebaut,diever-
schiedeneAufgabenbeiderVerarbeitungderDatenübernehmen.DabeiliegendieSchichtenjedochnichtwirklichaufeinander,eineSchichtkannmitjederanderenkommunizieren.DieuntersteSchichtistder Mach-Kernel,
einsogenannterMicro-Kernel.DerKernselbst
Technisches zum Betriebssystem Mac OS X 41
EnvironmentdarfdirektmitderHardwarekommunizieren.AlleanderenProzesselaufenabgeschirmt.Hierwerdenbeispielsweiseverschiedene
DateisystemedirektoderüberdasNetzwerkangeschlossenerDatenträgerineingemein-samesvirtuellesDateisystemübersetzt,mitdemdieProgrammedannarbeitenkönnen,ohnesichumdietatsächlicheStrukturküm-mernzumüssen.AufdemKernel-Environmentliegendie
Core-Services,diedenProgrammumgebungennicht-grafischeDiensteanbieten.(DasKernel-EnvironmentzeigtsichzusammenmiteinemTeilderCore-ServicesalsVariantevonBSDundistvonAppleunterdemNamen»Darwin«alsQuellcodefreigegebenworden.BSD–BerkeleySoftwareDistribution–isteinimQuellcodefreiverfügbaresUNIX-artigesBetriebssystem.)ÜberdenCore-ServicesliegendieApplication-Services.DiesestellendenProgrammendiegrafischeUmgebungzurVerfügung.DieProgrammeselbstbenutzendieverschie-
denen,wiederumineinerübergeordnetenSchichtliegendenProgrammumgebungen.JedeProgrammumgebungisteineSammlungsogenannter»APIs«(ApplicationProgramming
Interfaces,SchnittstellenfürProgramme),aufdiedieProgrammezugreifenkönnen.WenneinProgrammeinebestimmteFunk-
tionbenötigt,dieschonTeildesSystemsist,kannesdieseaufrufen.DankdieserTechnikmüssenvielewichtigeRoutinennichtfürjedesProgrammneuprogrammiertwerden.DasProgrammmusslediglicheineAnfrageandenzuständigenTeilseinerProgrammumgebungrichten.SobrauchteinProgrammbeispiels-weisekeineeigenenRoutinen,dieFensteroderSchaltflächenerzeugen.EsmussnurdieFunk-tionenerzeugen,diemitderSchaltflächeimFensteraufgerufenwerden.
ProgrammumgebungenDaMacOSXeinausunterschiedlichenWur-zelnzusammengewachsenesSystemist,existierenhierverschiedeneProgrammumge-bungennebeneinander.WelcheUmgebungeinProgrammbenutzthängtdavonab,welcheProgrammiertechnikderProgrammiererbe-vorzugt.FürdenAnwendermachtespraktischkeinenUnterschied,inwelcherProgrammum-gebungeinProgrammläuft.ErkanneinfachzwischendenProgrammenwechselnoder
AnihremAussehenlassensichdieProgrammumgebungennichtun-terscheiden.VonLinksnachRechts:SafariistCocoa,iTunesistCarbon.
DerFinderinLeopardisteinMixvonbeidenUmgebungen.
Hexley,einSchnabeltier,istdasMas-kottchenvonDarwin.
42 Technik
Datenzwischenihnenaustauschen.DerFunk-tionsumfangvonCarbonundCocoaistaußer-demimmerinetwaaufdemgleichenStand.SeitMacOSX10.2könnenCocoa-ProgrammeauchCarbon-Interface-Elementeenthaltenbzw.Carbon-ProgrammeCocoa-Elemente.
Cocoa CocoaistdieausNeXTStepentstandenePro-grammumgebung.SieverwendetdieeigensmitNeXTStepzusammenentwickeltePro-grammierspracheObjective-C.Dieseisteine
DieProgrammumgebungenCocoaundCarbonbietendenProgrammenannä-hernddiegleichenMöglichkeiten.Siesindjedochunterschiedlichorganisiert.DieseAbbildungenstammenausdem»InterfaceBuilder«,einemProgramm,mitdemdieBenutzeroberflächenvonCarbon-undCocoa-Programmenzusammen-gestelltwerdenkönnen.EsistTeilderkostenlosenEntwicklersoftwareaufderDeveloper-Tools-CD.
verhältnismäßigeinfachzuprogrammierendeundsehrleistungsfähigeobjektorientierteProgrammiersprache,diejedochnichtsehrver-breitetist.AlternativkannaberauchJava,dasdanninXCodeinObjective-Cumgesetztwird,unddasneueObjectiveC++alsProgrammier-spracheverwendetwerden.
Carbon CarbonisteinefürdasMacOSXangepassteVersionderMac-OS-Programmumgebung.EingroßerTeilderAPIsentsprichtdenendes
3 206fPraxis, Daten
zwischen Programmen austauschen
Technisches zum Betriebssystem Mac OS X 43
klassischenMacOS.InMacOSXwerdendieseAPIsweiterentwickeltundeskommenvieleneuehinzu.FürdenProgrammiererbrachteCarbondenVorteil,dasserseinProjektaufvor-handenemCodeaufbauenkonnte.AußerdemkonnteerseineausdemMacOSvertrautenProgrammierwerkzeugebenutzen.UmCarbon-ProgrammefürIntelzuerzeugen,müssendieProjektejedochindieXCode-Entwicklungsum-gebungimportiertunddortweitergeführtwer-den.CarbonistdiegeeignetereUmgebungfürdiePortierungvonWindows-Programmen.Carbon-Programmekönnenaufunterschied-
licheWeiseprogrammiertwerden.ReineMac-OS-X-Carbon-ProgrammewerdendirektgegendenMach-Kernelverlinkt(Carbon-Mach-O).NurdieseProgrammekönnendieMöglich-keitenvonCarbonunterMacOSXvollnutzen.Carbon-Programme,diesowohlaufMac
OSXalsauchmitderSystemerweiterung»CarbonLib«aufMacOS8und9laufenkön-nensollen,werdengegeneineweitereZwi-
schenschicht,den»CodeFragmentManager«,verlinkt(Carbon-CFM).DerCodeFragmentMa-nageristeinessentiellerBestandteildesklas-sischenMac-OS-SystemsundistinMacOSXimPowerPC-TeildesCarbon-FrameworksfürdieKompatibilitätenthalten.DieseProgrammekönnennichtfürdenIntel-Prozessorangepasstwerden,dadasDesigndesCodeFragmentManagersstarkandieMöglichkeitendesPowerPC-Prozessorsangelehntwar.SiesinddeshalbnichtalsUniversal-Binaryerhältlich.SielaufenaufeinemMacmitIntel-ProzessornurunterRosetta.
JavaAlsweitereProgrammumgebungstehteineJava-VM(VirtuelleMaschine)zurVerfügung.JavawurdevonderFirmaSUNmitdemZielentwickelt,dassProgrammiererProgrammeschreibenkönnen,dieaufjederbeliebigenPlattformausgeführtwerdenkönnen.Solchein»100%pureJava«programmiertenProgramme
ApplesXCodeistseitdemWechselzurIntel-ArchitekturdieeinzigeEntwicklungsumge-bungzumErzeugenvonMac-OS-X-Pro-grammen.
44 3Rosetta
44 Technik
laufenalsoohnejedeÄnderungauchunterWindowsoderLinux.SiewerdenimQuelltextgeliefertunderstbeiderProgrammausführungfürdenentsprechendenProzessorübersetzt.
QuickTimeFürMultimedia-InhaltebietetAppleseinbekanntesQuickTime.QuickTimekannmitunterschiedlichstenArtenvonMultimedia-Datenumgehen.DiesewerdendannineinemContainerandieProgrammeweitergegeben.DasProgrammselbstmussdafürnichtmitdenMultimedia-Formatenumgehen.DerQuick-Time-ContainerkannbeispielsweisemehrereparalleleVideo-undAudiospurenenthalten,dieinverschiedenenFormatenmitunter-schiedlichenCodecsdigitalisiertwurden.ImProgrammwirdlediglicheinVideoabgespielt.SokönnenProgramme,diedieDienstevon
QuickTimeinAnspruchnehmen,miteinerneuenVersionvonQuickTimeauchDateifor-mateverarbeiten,mitdenensievorhernichtumgehenkonnten.QuickTimegibtesaußerfürMacOSXauch
fürWindowsund–ineinerälterenVersion–fürdasklassischeMacOS.
BSD-KommandosDasBSD-SubsystemgreiftdirektaufdasKer-nel-Environmentzu.EsumgehtdamitdieCore-ServicesunddieGrafik-Layer.DieUNIX-ShellkannüberdasTerminal-Programmbedientwerden.AuchdieDaemons–unsichtbareHinter-
grundprozesse,dieDienstebereitstellen–laufeninderBSD-Umgebung.(DieNamendieserProzesseendenidR.miteinem»d«,z.B.ist»diskarbitrationd«einDaemon,derfürdasautomatischeAnmeldenvonexternenFest-plattensorgt.DasWort»Daemon«leitetsichnichtvommittelalterlichchristlichenDämonenabsondernvomAltgriechischenbzw.vondersokratischeninnerernStimme»Daimonion«.)
RosettaDadieIntel-ProzessorenmitanderenBefehlenarbeitenalsdiePowerPC-Prozessoren,könnendieseeigentlichkeinenProgrammcodeausfüh-ren,derfürPowerPCerstelltwurde.UmdiesesProblemzulösen,wurdeinMacOSXfürIntel-ProzessorenRosettaeingeführt.Rosettaüber-setztdafürdenPowerPC-CodedesProgrammsinx86-Befehle.DieserProzesspassiertunsicht-
3 255ffPraxis, Shell
DerausführbareCodedesProgramms»QTAmateur«istalsUniversalBinarygerade
mal112kBgroß.TrotzdemkanndasProgrammmitdenunter-schiedlichstenVideoformaten
umgehen.
7 27Befehlssätze
Technisches zum Betriebssystem Mac OS X 45
barimHintergrund,sodasssichProgramme,diemittelsRosettaausgeführtwerden,nichtandersverhaltenalsandereProgramme.DerBenutzermerktkeinenUnterschied.AllerdingswerdenProgrammeunterRo-
settaaufgrundderÜbersetzungmiteinergeringerenGeschwindigkeitausgeführtalsProgramme,diefürdenIntel-Prozessorerstelltwurden.BeimWechselvom68k-ProzessorzumPow-
erPCwaresdurchdieMöglichkeitendesPow-erPC-Prozessorsmöglich,nurTeileeinesPro-grammesaufdenneuenProzessoranzupassen.Dasistmitdemx86-Prozessornichtmöglich.HiermussderCodeeinesProzessesimmerimGanzenfüreineArchitekturvorliegen.DaherkönnenKernel-ExtensionsundProgramme,dieaufeineKernel-Extensionangewiesensind,Plug-InsundErweiterungenfürdieSystemein-stellungen(PreferencePanes),sowiebestimmteJava-AppletsnichtunterRosettaausgeführtwerden.AuchgibteseinpaarEinschränkungenda-
bei,welcheArtvonCodeüberRosettaausge-führtwerdenkann.G3-undG4-Programmcode
wirdausgeführt,nichtjedochProgrammcode,deraufdenG5-Prozessorangewiesenist.RosettaübersetztdenProgrammcodenach
BedarfinHäppchen.BeimStartdesProgrammswirdderdabeiverwendeteCodeübersetzt,optimiertundineinenCachegeschrieben.WennimLaufedesProgrammbetriebseinandererTeildesCodesgebrauchtwird,wirddieserzusätzlichübersetztundindenCachegeschrieben.
X11OptionalkanninMacOSXmitX11eineweitereProgrammumgebunginstalliertwerden.X11istdieStandard-GrafikumgebungfürUNIX-Pro-gramme.ApplesX11-ProgrammbildetdabeidieX11-GrafikeninAqua-Fensternab.
ClassicDieClassic-Programmumgebung,inderaufPowerPC-MacsProgrammefürdasklassischeMacOSunterMacOSXausgeführtwerdenkönnen,wirdvonMacOSXLeopardnichtmehrunterstützt.
DerEmulationsmoduszumAusfüh-renvonMac-OS-X-ProgrammenfürPowerPCaufIntel-ArchitekturwurdenachdemSteinvonRosettabenannt.AufdiesemSteinausdemJahre196vorChristusfindetsichderselbeTextingriechisch,demotischundägyp-tischeingemeißelt.DerSteinvonRo-settabrachtedenDurchbruchbeiderEntschlüsselungderägyptischenHi-eroglyphen.
259 3Praxis, X11
46 Technik
Grafi kMacOSXverwendetfürdieDarstellungderObjekteaufdemBildschirmverschiedeneTech-nologien.JenachArtdesObjektsundvomPro-grammiererbevorzugterTechnologiekommensieparallelzumEinsatz.
Quartz QuartzbasiertaufdemvonAdobeent-wickeltenPostScript-Format»PDF«(PortableDocumentFormat),indemLayoutsunab-hängigvonderverwendetenComputer-plattform(oderdemDrucker)immergleichdargestelltwerden.InPDFwerdenObjekteanhandvonVektorenundmathematischen
Formelnbeschrieben.DadurchkönnenalleObjektebeliebigskaliertwerden.SiewerdeninjederGrößegleichscharfdargestellt.
QuickDrawZurDarstellungvonzweidimensionalenOb-jekteninälterenCarbon-ProgrammenbietetMacOSXeineerweiterteVersionvon Quick-Draw,demGrafiksystemdesklassischenMacOS.Dieseswirdaberseit10.4nichtmehrwei-terentwickelt.
Open GLZurDarstellungvondreidimensionalenOb-jektenverwendetMacOSX Open GL.OpenGL
UnterQuartzExtremewerdenalleObjektederBenutze-roberflächezuOpenGL-3D-Objekten.Diesewerdenvon
derGrafikkartemiteinanderarrangiert.
Technisches zur Hardware der Macs 47
wurdevonSiliconGraphicsalsplattformunab-hängigeBibliothekzurDarstellungvon3D-ObjektenentwickeltundistmittlerweilederIndustrie-Standardfür3D-Darstellung.Moder-neGrafikkartenkönnenOpen-GL-ObjekteohneHilfedesHauptprozessorsberechnen.VieleSpieleund3D-ProgrammefürWindows
oderUNIXverwendenOpenGL.DieselassensichrelativeinfachaufMacOSXportieren,dadieRoutinenfürdieDarstellungder3D-Objektenichtverändertwerdenmüssen.ImUnterschiedzuWindowsundLinuxistOpenGLinMacOSXdirektindasSystemintegriertundwirdnichteinzigundalleinevondemSpielbzw.3D-Programmbenutzt(siehenächstenAbsatzzuQuartzExtreme).Daherkannesvorkommen,dass–obwohlMacOSXdiemo-dernsteOpenGL-Implementationüberhauptbesitzt–dieseSpieleaufdemMacwenigerschnelllaufenalsaufeinemvergleichbarenPC.
Quartz ExtremeAbMacOSX10.2dieGrafikmitQuartzEx-tremeaus.QuartzExtremeverwendetOpenGLzurGrafikausgabe.DieObjekte(z.B.Fenster)
werdenals3D-Objekte,dieInhaltederObjektealsTexturen(Oberflächen)derGrafikkartezu-geführt.SobaldjetzteinObjektbewegtwird,kanndieGrafikkartemitihremeigenenProzes-sordieObjekteneuanordnen,derHauptpro-zessorwirdvondieserRechenarbeitentlastet.QuartzExtremebenötigtATI-Radeon-oder
NVidia-Geforce-Grafikkartenmitmindestens16MBGrafikspeicher.EswirdbeiälterenGra-fikkarten–wiederATIRage128,dieinvielenPowerMacsverbautwurde–nichtaktiviert.ÄlterenGrafikkartenfehlenwichtigeFunk-tionenimGrafikprozessor,wiebestimmteTransparenzeffekteetc.EineinfachesBeispielsindunterschiedlichgroßeTexturen:DajedesFensterunterschiedlichgroßist,istauchderFensterinhaltunddamitdieTexturfürdasFensterunterschiedlichgroß.DieältereGra-fikkartekannjedochnichtmitunterschiedlichgroßenTexturenumgehen,alsobleibtQuartzExtremeabgeschaltetunddasnormaleQuartzwirdbenutzt.AuchderimIntel-Mac-miniundimMacBook
eingesetzteIntel-GrafikprozessorGMA950beherrschtnichtalleFunktionenmoderner
DiekleineBeispielapplikation»CoreImageFunHouse«indenDeveloperToolszeigtdieMög-lichkeitenvonCoreImage.
48 Technik
Grafikhardware.ErsuggeriertjedochdemSy-stem,dasserdieFunktionenbeherrscheundgibteinenTeilderBerechnungendannwiederandenHauptprozessorab.InMacOSX10.5werden–wenneinegeeig-
neteGrafikkartemit64MBSpeicherodermehrvorhandenist–zusätzlichauchdieFensterin-halteaufderGrafikkarteberechnet(Quartz2DExtreme).
QuickTimeZurDarstellungvonMultimedia-InhaltenwieVideosetc.dientQuickTime.QuickTimearbeitetjedochnichteigenständig,sondernbrauchtinjedemFallzumDarstellenderMulti-media-InhalteeineHost-ApplicationinFormeinesAnwendungsprogrammsbzw.einesBrowsers.
CoreImage, CoreAudio, CoreVideo und CoreAnimationMitCoreImage,CoreAudioundCoreVideohatAppleFunktionenfürBildbearbeitungs-,Audio-undVideo-BearbeitungsprogrammeindasBetriebssystemintegriert.CoreAnimationermöglichtAnimationseffekteindergrafischenOberfläche.EntsprechendprogrammierteProgrammekönnen,statteigeneFilterzube-nutzen,dieindasBetriebssystemintegriertenUnitsverwenden.DasbesondereandenUnitsvonCoreImage,CoreVideoundCoreAnimati-onist,dassdieFilterfunktionendirektinderGrafikkarteausgeführtwerden.(Dasistjedochnurmöglich,wenndieGrafikkarteeinendafürgeeignetenGrafikprozessorbesitzt.)DamitwerdenAnwendungenvonFiltern,derBerech-nungselbstaufeinenG5einigeZeitbenötigt,inEchtzeitmöglich.GleichzeitigbleibtderPro-zessorfürandereAufgabenverfügbar.
Speicher- und ProzessverwaltungDerArbeitsspeichersowiesämtlicheinternenChipsundexternenGerätewerdenseitensderComputerhardwareüberSpeicheradressenangesprochen.DieZugriffeaufdieseSpeicher-adressenjedochmüssenvomBetriebssystemverwaltetwerden.DasBetriebssystemistaberauchfürdieVer-
waltungderverschiedenenlaufendenProzessezuständig.
SpeicherverwaltungDerMach-KernvonMacOSXbesitzteinedereffektivstenSpeicherverwaltungeninderge-samtenComputerwelt.ErteiltjedemProzesseinenvirtuellenSpeicherbereichzu,derjeweilsbiszu4GBgroßseinkann–beieinem64-bit-ProzessaufdemPowerPCG5sogarbiszu16Exabytesbzw.beimIntelCore2256Terabytes(beimx86istwegenderprozessorinternenSpeicherverwaltungderzeitnureinvirtueller48bit-Adressraum,ein65536stel,verfügbar).DervirtuelleSpeicherbereichwirdinkleineTeile(Pages)à4KBeingeteilt.DerMach-KernelverstehtdenArbeitsspeicherunddieAuslage-rungsdateienaufderFestplattealsCachefürdenvirtuellenSpeicher:NurdietatsächlichbenutztenPageswerdenindenphysikalischenArbeitsspeicherdesMacgeladen.SolltedieAnzahlderverwendetenPagesdieGrößedesphysikalischenArbeitsspeichersübersteigen,werdendieamseltenstenbenötigtenPagesaufdieFestplatteausgelagert–inMacOSXineine(odermehrere)Auslagerungsdatei,diesichineinemunsichtbarenOrdnerbefindet(/var/vm/swapfileX).UnterallengeladenenPageswerdenregelmäßigdiejenigenaussortiert,dienichtmehrbenötigtwerden(Garbage-Coll-ection).WennzweiidentischeObjekteimAr-beitsspeicherliegen(z.B.zweiInstanzeneinesProgrammsoderwenneinObjektkopiertwird)
3 316Praxis,
QuickTime Player
7 27Hardware,
Speicher
Technisches zum Betriebssystem Mac OS X 49
istessogarmöglich,dassdasnureinesderbei-denObjektekomplettimSpeicherliegtunddasandereObjektnuralsVerweis.DasProgrammarbeitetimmernurmitsei-
nemvirtuellenSpeicherbereich.EserhältkeineInformationendarüber,anwelcherStellesichseineObjektetatsächlichimSpeicherbefinden.DurchdiesesSystemwirdderArbeitsspeicherimmereffektivgenutzt.Programme,diebeson-dersvielArbeitsspeicherbenötigen,stellenkeinwirklichesProblemdar.
SpeicherschutzDadievirtuellenSpeicherbereichederverschie-denenProgrammestriktvoneinandergetrenntsind,kannkeinProgrammversehentlichindenBereicheinesanderenschreiben.Einab-stürzendesProgrammkannalsokeinanderesProgrammodergardasSystemmitindenAb-grundziehen.
MultitaskingDerMach-KerndesMacOSXverwaltetau-ßerdemauchdieProzessorzeit.Erteilthoch-herrschaftlichjedemProzesseinebestimmteZeitzu.IstdieseZeitabgelaufen,gehtdieProzessorzeitaneinenanderenProzessüber.
DieseFormderVerwaltungderProzessorzeitwirdalspräemptivesMultitaskingbezeichnet.(ImGegensatzdazustehtdaskooperativeMul-titasking–wieesbeispielsweiseimklassischenMacOSverwendetwurde–beidemderaktiveProzessvonsichausdenProzessorfreigebenmuss.)DurchdiesesMultitaskinglässtsichbeispiels-
weiseineinemProgrammweiterarbeiten,währendeinanderesgestartetwird.GenausogutkanneinabstürzendesProgrammbeendetwerden,obwohlesnichtmehrreagiert.
MultiprocessingAußerdemkönnenvomMach-KernelProzesseaufmehrereProzessorenverteiltwerden,ohnedassdasProgrammdafürspeziellprogram-miertwerdenmüsste.
Kommunikation zwischen ProgrammenDasdemMacOSXzugrundeliegendeSystemausMachundBSDbasiertaufMessaging.EslaufenvieleunterschiedlicheProzesse,dieallemitdemKernel,aberauchuntereinanderkom-munizieren.DieseEigenschaftkannvonAn-wendereinfachmitdenFunktionenderShellundmitShell-Scripts,aberauchaufwendiger
MitdemProgramm»BombApp«ausdenDeveloperToolsdererstenMac-OS-X-Ver-sionenkanndieEffektivitätdesSpeicher-
schutzesleichtüberprüftwerden.
50 Technik
mitdenUNIX-Skriptsprachen–PHP,TCLundPerlsindschoninstalliert–genutztwerden.EinezusätzlicheMöglichkeitunterMacOSX
(unddemklassischenMacOS)stellendie»Apple Events«dar.MöchteeinMac-Pro-grammeineFunktioneinesanderenPro-grammsinAnspruchnehmen,verschicktesalsAnfrageeinAppleEvent.SobalddaszweiteProgrammdieseFunktionausgeführthat,ver-schickteseinAppleEventalsAntwort.SokannbeispielsweiseautomatischeinePPP-Verbin-dunggeöffnetwerden,wenneineAdresseineinemInternetbrowsereingegebenwird.Auch»AppleScript«steuertProgrammfunktionenüberAppleEvents.DasTerminalschafftmitdemAppleScript-
Befehl»doscript«eineVerbindungzwischenAppleEventsunddemUNIX-Messaging.
32-bit – 64-bitNachderEinführungdesG5-Prozessorsvoll-ziehtAppleeinenschrittweisenÜbergangvon32-bitnach64-bit.InPanther(MacOSX10.3)konntedasSystemmitden64-bit-Hardware-AdressendesPowerMacG5umge-hen.SeitTigerkönnenUNIX-ProzesseinderBSD-Umgebungim64-bit-Modusarbeiten.Ein64-bit-ProgrammmitBenutzeroberflächemussteaberauszweiTeilenbestehen–einem64-bit-Hintergrundprozessundeinem32-bit-ProgrammfürdiegrafischeOberfläche.UnterLeopardstehenauchdieFrameworksfürdie
grafischeProgrammumgebungCocoain64bitzurVerfügung,sodassauchgrafischeMac-OS-X-Programmeineiner64-bit-Versionerstelltwerdenkönnen.TrotzdemistauchLeopardkein64-bit-
System"vonGrundauf"(wieSteveJobsbe-hauptet).DerKernelistweiterhin32bit.DasistinsofernkeinProblem,daderKernel-ProzessrechtwenigSpeicherverbrauchtundinab-sehbarerZeitnichtmehrals4GBvirtuellenSpeicherzugeteiltbekommenmuss.BeimPo-werPCistdasauchvomDesignhersovorgese-hen–der32-bit-Kernelkannim64-bit-ModusdesProzessorsausgeführtwerden.Beimx86jedochistder32-bit-KompatibilitätsmodusausdrücklichnurfürBenutzerprozessegedacht,nichtfürKernel-Prozesse.ApplesetztsichhierüberVorgabenIntels(bzw.AMDs)hinweg.
Universal BinarysMacOSXbietetdieMöglichkeit,ProgrammefürPowerPCundfürx86zueinemeinzigenProgrammzusammenzufassen.BeieinemGroßteilderDateienimProgramm-BundlehandeltessichumDateienfürdiegrafischeBenutzeroberflächedesProgramms,wieFens-ter,Menüs,Symboleetc.DatendieserArtsindvonsichausplattformunabhängig.NurdieBinärdateiinContents/MacOSenthältplatt-formabhängigenCode.MitdenUniversal-Binaryskannaberauchdi-
eseDateiplattformunabhängiggestaltetwer-den.InderDateiistdannsowohlderCodefürdenIntel-ProzessoralsauchderfürdenPower-PC-Prozessorenthalten,bei64-bit-fähigenProgrammenjeweilsin32-und64-bit-Version.BeimKompilierendesProgrammswirdderCodehintereinanderindieDateigeschrieben.ImDatei-HeaderfindensichInformationen,fürwelcheArchitekturenCodevorhandenistundwoinderDateisichderjeweiligeCodefindet.
3 248ffPraxis,
AppleScript
7 31Prozessoren,
32-bit– 64-bit
3 57Programm-
Bundles
EinPro-grammin
derfalschenArchitektur
Technisches zum Betriebssystem Mac OS X 51
VoreinstellungenVoreinstellungenvonProgrammenwerdeninMacOSXfürjedenBenutzerseparatineinzelnenDateienimOrdner»Privat/Library/Preferences«angelegt.(DieVoreinstellungenderProgramme,dievorderAnmeldungderBe-nutzergestartetwerden,befindensichimOrd-ner»/Library/Preferences«.)BeimStartendesProgrammswerdendieVoreinstellungsdateiengelesenunddieentsprechendenVoreinstel-lungenvorgenommen.JedesProgrammkanneineodermehrereVoreinstellungsdateienan-legen.DiesekönnenSieinderRegelamNamenihremErzeugerzuordnen.Voreinstellungsdateienkönnendabei–wie
jedesandereObjekt–ausdemOrdnerheraus-bewegtoderindenPapierkorbgelegtundge-löschtwerden.DasentsprechendeProgrammkanndanndieVoreinstellungennichtlesenundlegteineneueVoreinstellungsdateimitdenimProgrammgespeichertenStandard-Vor-einstellungenan.
InderprivatenallgemeinenVoreinstel-lungsdatei».globalpreferences.plist«werdenu.a.dieSpracheinstellungengespeichert.Der»PropertyListEditor«ausdenDeveloperToolsstelltden
Inhaltübersichtlichdar.ImunterenTeilsehenSiedenoriginalenXML-Text.
VoreinstellungenvonMac-OS-X-Program-menwerdenalsTextdateieninXMLverfasst.SieerhaltendenNamendesProgrammpakets(z.B.»com.applecalculator.plist«fürden»Rech-ner«).Siekönnenz.B.im»PropertyListEditor«ausdenDeveloperToolsbearbeitetwerden.MitdemBefehl»plutil-lint«könnensieinderShellaufSyntaxfehlerhinüberprüftwerden.AbMacOSXTigerwerdendieDateienbeimZugriffdurchdasSystemkomprimiert.VoreinstellungenkönnenauchdurchKo-
pierenderVoreinstellungsdateiindenPrefe-rences-OrdnereinesanderenBenutzersodergareinesanderenMacübertragenwerden.(Carbon-Programme,dieauchunterdemklas-sischenMacOSlaufen,verwendendasselbeFormatwieimklassischenMacOS.SokönnenSieauchVoreinstellungenvonProgrammen,diesieschonunterdemklassischenMacOSverwendethaben,inMacOSXübernehmen.)VoreinstellungenvonUNIX-Programmen
werdeninConfig-Dateien,reinenASCII-Text-dateien,gespeichert.
284 3Praxis, Vor ein stel -lungs da tei defekt
256 3Praxis, Konfi gdateien
52 Technik
Massenspeicherverwaltung
BeiFestplatten,CDsundDVD,USB-Sticksetc.sprichtmanvonMassenspeichern.Diesewer-denzumeinenvomBenutzerverwaltet,derDateienanlegtunddieseinOrdnerlegt.ZumanderenabermussauchdasBetriebssystemdieMassenspeicherverwalten,umaufdieDatenzugreifenzukönnen,wennsieaufdenBildschirmgebrachtodervomProzessorverar-beitetwerdensollen.
PartitionsschemataAmAnfangeinesjedenDatenmediumsfindetsicheinEintragüberdieaufdemMediumvorhandenenVolumes–diesogenannteParti-tionstabelle.Dabeiverwendendieunterschied-lichenRechnerarchitekturenunterschiedlicheFormate.DerMacmitPowerPCverwendetdieApple-Partitionstabelle(ApplePartitionMap,APM),dernormalePCmitBIOSdieMBR-Parti-tionstabelle(MasterBootRecord)undderMacmitIntel-ArchitekturdieGUID-Partitionstabelle(GPT),dieinIntelsEFI-Standardvorgegebenist.MBRundGPTkönnenzusammenaufeinemMediumexistieren.AlleMacsmitMacOSXseit10.4.4könnenmitdemApple-,demGUID-unddemMBR-Partitionsschemaumgehen.MacsmitälterenSystemenaberevtl.nurmitdemApple-unddemMBR-Partitionsschema.DasApple-PartitionsschemaistinkompatibelmitDOS-formatiertenVolumes.DOS-forma-tierteVolumessindnuraufFestplattenmitdemMBR-oderdemGUID-Partitionsschemamöglich.DamitjedocheinVolumeaufdemMediumindemjeweiligenMacstartfähigseinkann–zudemZeitpunkt,andembeimSystem-startdasersteMalaufdieFestplattezugegrif-fenwerdenmuss,läuftMacOSXnochnicht–mussfürdenPowerPC-MacdasApple-Parti-
tionsschemaundfürdenMacmitIntel-Archi-tekturdasGUID-Partitionsschemaverwendetwerden.EntgegenApplesoffiziellerAussagestarteteinMacmitIntel-ArchitekturaberauchvonmitdemApple-Partitionsschemapartitio-niertenMedien,wiederMacOSXDVD–odereinerFirewire-Festplatte,aufdiemiteinemPowerPC-MacMacOSXinstalliertwurde.
Das DateisystemZumVerwaltenderDatenaufderFestplatteundandererSpeichermedienbenötigtjedesBetriebssystemeinDateisystem.DiesesDat-eisystemistnichtzuverwechselnmitdemDateisystem,welchesderBenutzerz.B.überdenFinderzusehenbekommt.EsbietetjedochmitseinerStrukturdieGrundlagefürdieHier-archiendesFinders.WiejedesBetriebssystembenutztMacOSX
eineigenes,anseineBedürfnisseundFähig-keitenangepasstesDateisystem.DasDateisys-temvonMacOSXträgtdenNamen»HFS+«(HierarchicalFileSystem).HFS+organisiertdieDatenaufderFestplatteübersogenannteB*-Bäume(balancierterBaum),diebesondersschnellesAuffindenderEinträgeermöglichen.JedesObjekt,egalobOrdneroderDatei,besitzteineID-Nummer(CatalogNodeID,CNID).WiebeieinerSeriennummererhältjedesneueOb-jekteineneueID.IDsvongelöschtenObjektenwerdennichtmehrvergeben(esseidenn,diegrößtemöglicheZahlfürdieID-Nummerwur-deüberschritten),eineneueNummerierungwirderstbegonnen,wenndasVolumeinitiali-siertwird.ZugriffeaufDateienundOrdnerer-folgenanhandderID-Nummer–nichtanhanddesDateinamens.ImKnoten(dieEinträgeimB-Baum)istzujedemObjektalszusätzliche
3 265Praxis, Parti-tionsschema
3 264Praxis, Spei-chermedien formatieren
3 263Praxis,
Dateisysteme
Technisches zum Betriebssystem Mac OS X 53
InformationdieIDdesOrdnersgespeichert,indemessichbefindet.SokannderFinderdiegesamteHierarchiezurückverfolgen,indersicheinObjektbefindet.FürdenZugriffaufdieindenDateiengespeichertenDaten,istimBlatt-knotendiePositionderDatenaufdemDaten-mediumgespeichert.AuchUNIX-DateisystemeverwendenDatei-
nummern(hieriNode-Nummern)fürdieVer-waltungderDateien,benutzendabeijedocheinfache,überdieFestplatteverteilteTabellen.NurdasMS-DOS-Dateisystem FATverwaltetdieDateienanhandihrerNamenundPfade,ineinereinzigengroßenTabelle.
Blöcke und ZuteilungsblöckeFestplattenwerdenmittelsmagnetischerLini-eninBlöckeeingeteilt,diejeweils512BytesDa-tenenthaltenkönnen.DaaberzuvieleBlöckedieArbeitdesDateisystemsverlangsamenundaucheinerFragmentierungvorgebeugtwerdenmuss,fasstdasDateisystemalsKompromisszwischenPlatzundGeschwindigkeitmehrereBlöckeaufderFestplattezuZuteilungsblöckenzusammen(auchClustergenannt).BeiFest-platten,welcheinHFS+formatiertsind,z.B.ist
dieBlockgröße4kB,beieinerunterMacOSXgebranntenDaten-CD2kB.ImungünstigstenFallebelegtdamiteine1BytegroßeDatei4kBaufderFestplatte.HFS+benutztfürdieAdres-sierungderZuteilungsblöckeeine32bitlangeZahl.Eskannalsobiszu4.294.967.296Blöckeadressieren.BeimMS-DOS-DateisystemFAT32sind4KBdiekleinsteClustergröße,fürVolu-meskleiner,als8GB.BeigrößerenVolumessinddieCluster8,16oderbiszu32kBgroß.
HFS+DasHFS+-DateisystembestehtausmehrerenB*-Baum-Dateien.Imgrößten,demKatalog(CatalogFile),wirdderAufenthaltsortjedereinzelnenDateiaufderFestplatteeingetra-gen.IneinerweiterenDatei(ExtentsOverflowFile,ineinerälterenVersiondesFestplatten-Dienstprogrammsaufdeutsch»ZusatzdateifürDateiaufbau«genannt)wirdfürfragmentierteDateien–Dateien,dienichtalseinzusam-menhängendesStückaufderFestplatteliegen–verzeichnet,anwelcherStellesichweitereTeiledieserDateibefinden.HinzukommtnocheineB-Baum-Datei,indererweiterteAttribute,verzeichnetwerdenkönnen.
EineFestplatteistdurchmagnetischeLinieninkleineBlöcke
aufgeteilt.
54 Technik
AmAnfangdesVolumesstehtderHeader–dieVolume-Informationen.IndiesemBereichwirddasVolumealsMac-Volumeidentifiziert,sindderNamedesVolumesundverschiedeneandereInformationenabgelegt,z.B.dieGrößeundPositionderDateisystems-Dateien,dieNummer,diedasnächsteObjektbekommt,unddieObjektnummerdesaktivenSystem-ordners(des»blessedFolders«).
HFSXMitPantherneuhinzugekommenistHFSX,dasgegenüberHFS+weitereMöglichkeitenbietet.ImplementiertistzurzeitabernurdieMöglich-keit,dasDateisystemCase-sensitiveanzulegen,d.h.eingleicherkleinerundgroßerBuchstabewerdenunterschiedlichbehandelt.
JournalSeitMacOSX10.2.2kannfürHFS+-VolumesaucheinJournalaktiviertwerden.WenndasJournalaktiviertist,werdendieletztenÄnde-rungenamDateisystemnocheinmalzusätzlichineineDatei(dasJournal)geschrieben.BeieinemeventuellenAbsturzkannderzuletzt
geänderteTeildesDateisystemsanhandderDatenimJournalüberprüftundrepariertwer-den.EinDurchlaufvonfsck,derdasgesamteDateisystemüberprüft,istsonichtnötig.
Adaptive Hot Files ClusteringMitPantherwurdefürHFS+-VolumeseinSystemeingeführt,dasdieZugriffszeitenaufDateienaufderFestplatteoptimiert.AufFest-plattenbefindensichtausendeDateien,kleineundgroße.Abernuraufwenige,meistkleineDateienwirdganzbesondershäufigzugegrif-fen.AußerdemwirdsehrhäufigaufdasDatei-systemzugegriffen.WennalsodieDateien,aufdiebesonders
häufigzugegriffenwird,naheamDateisystemliegen,erspartdasdemSchreib-LesekopfvieleWege.DamitwerdendieZugriffebeschleunigt.MacOSXführtdaherineinereigenenDaten-bank(/.hotfiles.btree)BuchüberdieZugriffeundverschiebtDateien,aufdieganzbesondershäufigzugegriffenwird(die»heißesten«Da-teien),ineinenBereichdirekthinterdemDatei-system.UmgekehrtwerdenaberauchDateien,aufdienichtmehrsohäufigzugegriffenwird,
SchematischeDarstellungeinerFestplattemiteinemeinzelnenHFS+-Volume.
PartitionstabelleVolumeInformationVolumeBitmapOverflowB-BaumKatalogB-BaumAttributeB-BaumJournalHotFilesDatenbereich
MetadataZone
HFS+-Volume
3 274Praxis,
Journal Aktivieren
3 55Case-
sensitivity
Technisches zum Betriebssystem Mac OS X 55
wiederindennormalenBereichderFestplatteverschoben.DieseFunktionnenntsich»adap-tivehotfilesclustering«.
Metadata ZoneBeimInitialisiereneinesVolumesreserviertMacOSXamAnfangdesVolumesdenPlatz,derfürdasDateisystem,dasJournalunddieHot-Filesbenötigtwird.DieserBereichwird»MetadataZone«genannt.
Datei-FragmentierungHFS+verhindertdieFragmentierungvonDa-teienschonvonvorneherein.DasVolumeBit-map–einAbbilddesVolumes,indembelegteundunbelegteBlöckeanhandder»Farbe«(schwarzbzw.weiß)erkanntwerdenkönnen–ermöglichtesdemDateisystem,einenBereichaufderFestplattezufinden,dergroßgenugfüreinezuschreibendeDateiist.AußerdemverwendetHFS+sogenannteExtents.FüreinespätereErweiterungwirdbeimSchreibenei-nerDateieingrößererBereichreserviert,alseigentlichnötig.SolltendieseMaßnahmennichtreichen,greiftdieOn-the-fly-Defragmen-tierung.BeimZugriffaufDateienbiszueinerbestimmtenGrößeüberprüftMacOSX,zuwelchemGraddiesefragmentiertist.Wirdda-beieinbestimmterWertübertroffen,wirddieDateiautomatischdefragmentiert,indemsiekomplettaneinenfreienPlatzaufderFestplat-teverschobenwird.
Andere DateisystemeNebenHFS+kannMacOSXmiteinigenwei-terenDateisystemenwiedemälterenMac-Dat-eisystemHFS,demUNIX-DateisystemUFS,denWindows-DateisystemenFATundNTFS(NTFSnurlesend),sowieUDF(UniversalDiskFormat)fürDVDs,ISO9660/JolietaufWindows-CD-ROMsusw.umgehen.
SieallebesitzenunterschiedlicheEigen-schaftenbesitzen.DamitwederdieProgrammenochdieAnwenderdieBesonderheitenderun-terschiedlichenDateisystemeberücksichtigenmüssen,legtMacOSXüberalleverwendetenDateisystemeeinvirtuellesDateisystemundkonvertiertdieDateinamenundDatenstruk-turenfürdastatsächlichverwendeteDateisy-stemimHintergrund.IndasvirtuelleDateisy-stemwerdenauchdieNetzwerk-Dateisystemeeingebunden,dievondenNetzwerkprotokollenderFile-Servererzeugtwerden.BeiAudio-CDsgeneriertMacOSXsogarein
Dateisystem,obwohlaufderAudio-CDgarkei-nesvorhandenist(eineAudio-CDenthältnureinendurchgehendenDatenstrom).Dafürbe-nutztesdieTrack-InformationenimTOC(TableofContents).
Case-sensitivityHFS+ist»CaseinsensitivebutCaserespec-ting«.DasDateisystemspeichertzwardiegroßenundkleinenBuchstaben,verwendetbeimSuchenabereinenAlgorithmus,dersiebehandelt,alswärensiegleich.UNIX-Dateisystemejedochsind»Casesensi-
tive«,sieunterscheidenzwischengroßenundkleinenBuchstaben.Bei»Text.txt«und»text.txt«handeltessichdortalsoumzweiverschie-deneDateien.MitHFSXgibtesdieMöglichkeiteinCasesensitivesMac-Dateisystemanzule-gen.
Daten und Ressourcen, benannte ZweigeEineklassischeMac-DateiistinderRegelinzwei»Zweige«(Forks)unterteilt:indenDaten-zweigunddenRessourcenzweig.SeitLeopardverwendetMacOSXauchdie»NamedForks«(benannteZweige),welchebereitsbeimEnt-wurfvonHFS+vorgesehenwaren.
275 3Praxis, Defragmen-tierung
56 Technik
DerDatenzweigenthältreineTextinforma-tionenoderBinärdaten,wiedieDateienvonanderenBetriebssystemenauch.DerRessourcenzweigisteineBesonderheit
desMacOSunddesMac-DateisystemsHFS.RessourcenenthaltenbeispielsweiseDatei-informationen,SymboleoderVorschaubilder.DieRessourcenwerdenineinerArtDatenbankverwaltet,sieentsprecheneinervorgegebenenStruktur.SiekönnendaherauchvonanderenProgrammengelesenwerden.BeiklassischenMac-Programmenkamen
nochMenüeinträge,DialogfensterundderenInhaltusw.hinzu.AucheinigeProgramme,dieunterMacOSundunterMacOSXlaufen(Car-bonCFM)machenweiterhinGebrauchvomRessourcenzweig.ReineMac-OS-X-ProgrammejedochverwendendenRessourcenzweignicht.InNamedForkswerdenerweiterteDatei-
eigenschaftengespeichert.SiesindnachdemumgekehrtenDNS-Schemabenannt.(z.B.com.apple.TextEncodingfürdieText-KodierungineinerTextdatei,sieheBildSeite60).Auchdie
ResourcenundklassischenMac-Attributewer-deninLeopardinbenannteZweigeumgesetzt.
BundlesEinBundleisteigentlichnureinOrdner,derjedochimFinderalsDateierscheint.EinOrdnerwirddadurchzueinemBundle,dassseinemNameneinSuffix(z.B.».app«beieinemPro-gramm)hinzugefügtwird.InnerhalbdesOrd-nerswerdendieDatennacheinerbestimmtenStrukturabgelegt.DieseStrukturwirdinanderenBetriebssystemen(Windows,Linux,MacOS8)sichtbar,unterMacOSXsiehtderAnwenderjedochnureinProgramm,daserperDoppelklickstartenkann.MitdemKontext-menü-Befehl»Paketinhaltanzeigen«könnenSiesichdenPaketinhaltalsOrdneranzeigenlassen.NebendenProgramm-Bundlesgibtesin
MacOSXnochweitereTypenvonBundles:Kernel-ExtensionsundFrameworks,sowiever-schiedensteandereBundle-Typen.Sopacktbei-spielsweiseTextEditRTF-DateienmitBildern
VorschaubilderundSymbolewerdeninRessourcengespeichert.Mitdemkos-tenlosenRessourcen-Editor»Rezilla«könnenRessourcengeöffnetwerden.
3 58Objekt-
attribute
Technisches zum Betriebssystem Mac OS X 57
inein.rtfd-Bundle,undauchdieDateienderApple-Textverarbeitung»Pages«sindBundles.SolcheBundleswerdenerstalsBundleerkannt,wenndasentsprechendeProgrammaufdemMacvorhandenist.Sonstwerdensiealsnor-maleOrdnerangezeigt.
ProgrammbundlesBeiMac-OS-X-ProgrammenwerdendieDatenundRessourcendesProgrammsineinzelnenDateienindenUnterordner»Contents«des.app-Bundlesgepackt.ImOrdner»MacOS«befindetsichderDatenteil,imOrdner»Resour-ces«sindineinzelnenDateiendieverschie-denenRessourcen.DasProgramm-SymbolunddieDatei-Symbolebeispielsweisewerdenin.icns-Dateiengespeichert.SprachspezifischeRessourcenderunterschiedlichenSprachver-sionenwerdeninden.lproj-Ordnerderjewei-ligenSprachegepackt.HinzukommennochDateienmitInformationenzumInhaltdesBundlesundzudenDokumententypen(Info.plist),derType-undCreator-Kennung(PkgInfo)
undderVersionsinformation(Version.plist).AlleDateiendesBundlesbefindensichimDa-tenzweig.Carbon-undCocoa-Programmeunterschei-
densichkaum.Carbon-ProgrammeverwendenzumTeildiein.rsrc-DateiengespeicherteRessourcen-StrukturdesMacOS.DievomIn-terface-BuildererzeugtenRessourcen(Menüs,Fensteretc.)derCocoa-ProgrammeaberauchneuerCarbon-Programmesindin.nib-Dateiengespeichert.Bilderu.Ä.werdenalseinzelneDateiengespeichert.
ErweiterungenInMacOSXwerdenTreiberfürKomponentendesMainboardsundfürPCI-Kartenoderbe-stimmteProtokolleinFormvonErweiterungen(Kernel-Extensions,KEXT)demSystemkernhinzugefügt.DieErweiterungenbefindensichimOrdner»/System/Library/Extensions«.EineErweiterungbestehtausmehrerenDateienineinem.kext-Bundle–demTreiber,derInfodateiunddenRessourcen.
DieProgramm-BundlesdesCocoa-ProgrammsTextEditunddesCarbon-ProgrammsiTunes.
DasSymboleinerKernel-Extension
Dasall-gemeineProgramm-symbol
58 Technik
3 60Type/Creator
FrameworksRoutinen,dievonmehrerenProgrammenbenutztwerdenkönnen,werdennichtindenProgrammcodeintegriert,sonderninFormvonBibliothekenalseigeneDateigespeichertunddynamischmitdemProgrammcodeverlinkt.(ImklassischenMacOSheißensieLibrariesoderSharedLibraries,unterWindowssindesdieDLLs.)ImMacOSXwerdenBibliothekenalsFra-
meworksorganisiert.WieinanderenBundlesbefindensichauchhierdieDatenunddieRessourceningetrenntenDateienineinemgemeinsamenOrdner(.framework).IneinemFramework-BundlekönnensichmehrereVersioneneinerBibliothekbefinden,sodassProblememitderKompatibilitätverschiedenerProgrammeundunterschiedlicherVersionen(wiesiez.B.unterWindowsnichtunüblichsind)ausgeschlossenwerden.DieaktuelleVersionwirddabeibesondersmarkiert.Frame-workswerdenimOrdner»/System/Library/Frameworks«gespeichert.
ObjektattributeDerMacgibtjedemObjekteinenInfostringmiteinerReihevonInformationenmit.Diebe-kanntestensindnatürlichderObjektname,dasErstellungsdatum,dasÄnderungsdatumunddieGröße.BeiUNIX-SystemenkommendazudieDateirechte.ImMac-DateisystemHFS+enthaltenObjektezusätzlichzudiesenInfor-mationennochdie»FinderFlags«,einigeBits,dieweitereInformationenwiez.B.SichtbarkeitoderEtikettkodieren.AuchdieBenutzerrechtesindalsObjektattributeimDateisystemange-legt.AlledieseInformationenwerdenimMac-DateisystemHFS+indenKnotendesDateisys-temsgespeichert.AuchderDateitypkannbeimMacalsInfor-
mationimDateisystemgespeichertwerden.ErwirdmitderType-undderCreator-Kennungkodiert.
ObjektnamenJedesObjektimMacOSXträgteinenNamen.DiedafürverwendetenObjektnamendürfenbiszu255Zeichenlangsein.JedesZeichendarfverwendetwerden–miteinerAusnahme:dem
FrameworkskönneninverschiedenenVersionenzusammengefasstwerden.DieAliaseaufderoberstenEbenever-weisenaufdieentsprechendenOrd-nerderaktuellenVersion,derAlias»Current«verweistaufdenOrdner
»A«,denndiesistdieaktuelleVersion.
3 154fPraxis,
Etiketten
Technisches zum Betriebssystem Mac OS X 59
Doppelpunkt.ErwirdzurTrennungderPfad-namenbenutzt.DerFindererzeugttrotzdembeidemVer-
such,einenDoppelpunkteinzugeben,keineFehlermeldung–erersetztihneinfachdurcheinenStrich.DerDoppelpunktwirdsogardannautomatischdurcheinenStrichersetzt,wenneinName,dereinenDoppelpunktenthält,durch»KopierenundEinsetzen«vergebenwird.AuchindenSichern-DialogenlässtsichderDoppelpunktnichteintippen.Dateiendürfenbeliebigbenanntwerden.
Dateityp-Suffixe,wieWindowssiebenutzt,brauchtderMacnichtunbedingt.DieseFunk-tionenkönneninMacOSXdieType-undCrea-tor-Kennungenübernehmen.TrotzdemsolltenSieSuffixeanhängen,damitbeispielsweisebeiderÜbertragungüberdasInternetnochzuer-kennenist,welcherArtdieDateiist.
OrdnerlokalisierungenImFinderundindenÖffnen-undSichern-DialogenderProgrammewerdendievomSystemangelegtenOrdnerlokalisiertange-zeigt.DasgeschiehtmithilfederVorgabeninderDatei»SystemFolderLocalizations.strings«fürdieausgewählteSprache(aufdeutschin
»/System/Library/CoreServices/SystemFolder-Localizations/de.lproj«).MiteinerunsichtbarenHinweis-Datei».localized«,dieindemzulokalisierendenOrdnerliegt,wirddasSystemangewiesen,denNamendiesesOrdnerslokali-siertanzuzeigen.ProgrammewerdenanhanddesNamensinderDatei»Infoplist.strings«desSprachpaketslokalisiert.
Volumenamen BeimMactragennebenDateienauchalleVo-lumeseinenNamen.LogischeLaufwerkewie»C:«beiWindowsgibtesnicht.Volumes,diekeinenNamenhaben,erhaltendenNamen»OhneTitel«.DerNameeinesHFS-Volumesdarfhöchstens63Zeichenlangsein.Theore-tischkönnenalleVolumesdenselbenNamenhaben,wasaberausGründenderÜbersicht-lichkeitnichtempfehlenswertist.
DateirechteAuchdieDateirechtesindObjektattributedesDateisystems.DieUNIX-DateirechtewerdenimKataloggespeichert.MitdiesenkönnendemEi-gentümer,einerGruppeundjedermannRechtefürDateienundOrdnerzugeteiltwerden.DanebenisteineverfeinerteZugriffsteuerung
DerAufbaueinerKernel-Extension
212ff 3Praxis, Da ten -aus tausch mit dem Windows-PC
129 3Praxis, Dateirechte bestimmen
60 Technik
überACLs(AccessControlLists–Zugangskon-trolllisten)möglich.HierkönneninFormeinerListeRechtefürweitereBenutzerundGruppendefiniertwerden.DieDateisystemeFATundHFSkennenkeine
Dateirechte.
Type und CreatorAufeinemComputerwerdenverschiedensteDateitypenverwendet.ZwarbestehenalleDateienausFolgenvonEinsenundNullen;Systemdateien,ProgrammeoderDokumenteverhaltensichjedochganzunterschiedlich.EswirdalsoeineMethodebenötigt,mitder
sichdieeinzelnenDateitypenaufAnhiebun-terscheidenlassen.DereinfachsteWegist,ei-nenTeildesDateinamenszuverwenden.DieseMethodewirdbeispielsweiseunterWindowsinFormeinesdreiZeichenlangenSuffixesverwendet(Dateiname.xxx).Windows-DateienbrauchenunbedingtdiesesSuffix,damitdasSystemsieeinemProgrammzuordnenkann.DieseLösungistunflexibel,dasievoraus-
setzt,dassimmernureinProgrammeinenDa-teityperzeugenkann.AußerdemkannderAn-wenderdenDateitypversehentlichverändernundsodieDateiunbrauchbarmachen.DerMacgehthiereinenanderenWeg.
ImDateisystemsindimInfostringderDateizweivoneinanderunabhängigeKennungenverzeichnet.(ImMac-OS-X-Programm-BundlebefindensichdieKennungeninderDatei
»PkgInfo«)DieType-KennungkodiertdenDateityp,dieCreator-KennungdasProgramm,dasdieseDateierzeugthat.DadurchkönnenDokumentegleichenTypseindeutigeinemEr-zeugerprogrammzugeordnetwerden.EinPhotoshop-EPSundeinFreeHand-EPS
könnenbeispielsweisebeidegleichzeitigperDoppelklickmitdemjeweiligenProgrammge-öffnetwerden.DieType-unddieCreator-Kennungbestehen
jeweilsausvierBuchstaben.AlleZeichenkönnenverwendetwerdenk,großeundkleineBuchstabenwerdenunterschiedlichbehandelt.HiereinigeBeispielefürType-undCreator-Ken-nungen:1 Type-Kennungen:EineTextdateibekommtdieKennung»TEXT«,einPict-Bild»PICT«odereinProgramm»APPL«(fürApplicationProgram).
1 Creator-Kennungen:»ttxt«stehtfürdasErzeugerprogramm»TextEdit«(»ttxt«stehteigentlichfür»TeachText«,späterbekanntals»SimpleText«),»GKON«fürden»Graphic-Converter«oder»8BIM«für»Photoshop«.
AnhanddieserbeidenAngabenkannderFin-derBeziehungenzwischenProgrammenundDokumentenherstellenundinderListendar-stellungoderinderInfoboxeineAngabeüberdieObjektartmachen.SoisteineDateimitType»PICT«undCreator»ttxt«einSimpleText-Bild,abermitCreator»GKON«einGraphicCon-verter-PICT-Bild.
InderShellwerdendie»NamedForks«unddie»Ac-cessControllLists«von»ls«mitdenOptionen»@«bzw.
»e«angezeigt.(HiersehenSiedieAusgabe
desBefehls»ls-l@e«.)
Technisches zum Betriebssystem Mac OS X 61
AlleProgrammebekommendieType-Ken-nung»APPL«undihreCreator-Kennung.InMacOSXwirddieseKennungjedochnichtmehrkonsequenteingesetzt,einigePro-grammevergebenkeineType-Creator-Ken-nungenmehr.AußerdembesitzenDateien,dievonanderenPlattformenkommen,dieseCodesnicht.MacOSXbesitztdeshalbdieFähigkeit,DateitypenanhandihresSuffixesoderihresTy-peszuzuordnen,aberauchanhandeinerKom-binationvonTypebzw.SuffixmitdemCreator.
LaunchServicesMacOSXführtüberdieVerbindungenzwi-schenDokumentenundProgrammenBuch.Dafürbautesüberdie»LaunchServices«eineDatenbankauf,indersichInformationendar-überbefinden,welchesProgrammwelchenDateitypöffnenkannundwelcheSymboledieProgrammeundihreDokumentebekommen.JedesMac-OS-X-Programmenthältinsei-
nemBundleeineDatei–»Info.plist«(Infor-mationsPropertyList)–inderverzeichnetist,welcheArtvonDokumentenesöffnenkann.BewegtderAnwenderjetzteinDokumentmiteinergeeignetenType-KennungoderDateina-menserweiterungaufeinProgrammsymbol,aktiviertderFinderdasProgrammsymbol.SobaldderAnwendernundasDokumen-tensymbolüberdemProgrammsymbollos-lässt,öffnetdasProgrammdasDokument.IstderTypdesDokumentsnichtverzeichnet,wirddasProgrammsymbolauchnichtaktiviert.InderDatei»Info.plist«kannderFinder
außerdemerkennen,welcheSymboledenDateienzugewiesenwerdensollen,dievondie-semProgrammerzeugtwurden,undwiedieserDateitypbenanntwerdensoll.DerMac-OS-X-FinderspeichertdieseInformationenfürjedenBenutzereinzeln.DafürliesterzuerstnurdieStandard-OrdnerfürProgrammeaus.Weitere
InformationenwerdenindenverschiedenenOrdnernerstausgelesen,wennderAnwenderineinenneuenOrdnernavigiert.
Uniform Type IdentifiersSeitMacOSX10.4werdenvondenLaunch-servicesverschiedeneSuffixeundTypes–aberauchdieMIME-Typen,dieimInternetverwen-detwerden–diegleicheDateitypenkodieren,nacheinemausgeklügeltenSystemgegeneinen»UniformTypeIdentifier«(UTI)aufgelöst(z.B.dieSuffixe».txt«und».text«zu»public.plain-text«oderdasSuffix».pdf«undderType»PDF«zum»com.adobe.pdf«).
Ressourcen und Objektattribute in flachen DateisystemenDasHFS+-DateisystembietetdemMacmitdemRessourcenzweigunddenObjektattribu-tenbzw.denbenanntenZweigenBesonder-heiten,dieandereDateisystemenichtkennen.DahermussMacOSXzueinemTrickgreifen,umdieDaten,diedortgespeichertsindauchaufanderenDateisystemenzuerhalten:DasAppleDouble-Format.WirddieDateiaufeinflachesDateisystem
ohneZweigekopiert,wirdunterMacOSXzu-sätzlichzurDatei,diedenDatenzweigenthält,einezweiteDateimitgleichemNamen,abermitdemPräfix»._«angelegt.Indiese._-DateiwerdendieRessourcenundAttribute,dieimDateisystemHFS+indenZweigengespeichertsind,transferiert.
Ressourcen und Objektattribute und andere BetriebssystemeWirddasKopierenoderdieÜbertragungeinerMac-DateimitverschiedenenZweigennichtvonMacOSXausinitiiert,ergibtsicheinProblem:AndereBetriebssysteme(Windows,UNIX)undnormaleÜbertragungsprotokolle
212ff 3Praxis, Daten-austausch mit dem Windows-PC
62 Technik
3 140ffPraxis,
Spotlight, Dateien
fi nden
erkennendieVerbindungzwischendemDa-tenzweigunddenanderenZweigeneinerMac-Dateinicht.InderRegelwirdnurderDatenteilkopiert,derRessourcenteilunddieAttributeabergehenganzverloren.WennDateienüberdasInternetverschickt
werdensollen–dasjanurzueinemkleinenTeilausMacsbestehtundzumgrößtenTeilaus»normalen«UNIX-Rechnern–,musseineVerbindungzwischendenZweigengeschaffenwerden.DafürwerdenMac-DateienvordemVerschickenkodiert.SiewerdensozureinenText-bzw.Binärdaten,diespäterwiederzuMac-Dateiendekodiertwerdenkönnen.
SpotlightNebendenObjektattributenimHFS+-Datei-systemgibtesinnerhalbvielerDateienweitereMetadaten.DiesestellenInformationenübereigentlichenDateninderDateibereit–z.B.dieEXIF-DateninBilddateien,ID3-TagsinMP3-MusikdateienaberauchCopyright-Infor-mationen.DieseDatenwerdenvonSpotlight
zusammenmitdenObjektattributenineinerDatenbankgesammelt.IneinerweiterenDateiwirdeinIndexderTextinhaltevonTextdateienangelegt.DieseDatenstehendamitallenSpotlight-fähigenProgrammenzurVerfügung.SelbstinderKommandozeilekannüberdieBe-fehle»mdls«und»mdfind«aufSpotlightzuge-griffenwerden.MitdenBefehlen»mdimport«und»mdutil«kannSpotlightzumerneutenIndizierenveranlasstwerden–komplettodernurmiteinembestimmtenImportfilter–sowieein-undausgeschaltetwerdenetc.
Alias, Symbolic Links und Hardlinks SeitSystem7bietetdasMacOSdemAnwenderdieMöglichkeit,Alias-Dateienanzulegen.DieseDateiensindVerweiseaufeineOriginaldateiodereinenOrdner.AliasekönnenvonjedembeliebigenObjekt
angelegtwerden,auchvonObjekten,diesichaufeinemanderenVolumeoderirgendwoimNetzwerkbefinden.AliasebesitzendieselbenEigenschaftenwieihrOriginal.Deshalbkönnen
3 203Praxis,
FileSharing, Daten
kodieren
SpotlightsammeltdieMeta-informationenausDateien.IndiesemInfofensterwerdendie
EXIF-InformationeneinerBilddateiaufgelistet.
Technisches zum Betriebssystem Mac OS X 63
siebeispielsweisegenausowiedasOriginalzumÖffnenperDrag&Dropbenutztwerden.AliasesindzuerkennenaneinemkleinenPfeilanderunterenlinkenEckedesSymbols.DieVerbindungzumOriginalwirdinder
»alis«-RessourcederAlias-DateialsPfadab-gespeichert.ImInfofensterwirddieserPfadangezeigt.ErgänzendwirdhieraberauchdieID-NummerdesOrdners,indemsichdieOri-ginaldateibefindet,gespeichert.SowirddasOriginalauchdannwiedergefunden,wennesverschobenundumbenanntwurde.Dasfunktioniertsogar,wennsichdasOriginalaufeinemanderenVolumebefindet,daswährenddesVerschiebensundUmbenennensnichtgemountetwar.(EinzigeAusnahme:WenneinObjektmitdengleichenEigenschaftenundgleichemNamenamselbenOrterstelltunddasOriginalgelöschtwurde.)MitdemBefehl»Originalfinden«(aR)könnenSiesichdasOriginalzumAliasanzeigenlassen.Damitbei
53 7 i-Node
AliasenohneType-undCreator-KennungendasSymbolnichtverlorengeht,schreibtMacOSXzusätzlicheine»icns«-RessourcemitdemSymboldesOriginalsindieAlias-Datei.InUNIX-Dateisystemenverweisen»Symbolic
Links«aufandereDateien.DieseerfüllendiegleichAufgabewieAliaseimHFS,siebesitzenjedochandereEigenschaften.SymbolicLinkskönneninMacOSXebenfallsaufgelöstwer-den.DerMac-OS-X-FinderkannjedochkeineSymbolicLinkserzeugen;ererzeugtstattdesseneinAlias.SymbolicLinkskönnenimPro-gramm»Terminal«inderShellmitdemBefehl»ln-s«erzeugtwerden.ZusätzlichwirdinUNIX-Dateisystemen
mitHardlinksgearbeitet.MitHardlinksistesmöglich,dasseineDateisozusagenmehrereNamenhat.HardlinkswerdenimMac-Dateisy-steminI-Node-Dateienverwaltet,diesichimunsichtbarenOrdner»HFS+PrivateData«aufderoberstenEbenederFestplattebefinden.
InderRes-sourceneinesAliasistderPfadzumOriginal(rot)unddieIDdesOrdners,indemessichbefindet(blau)ge-speichtert,sowiedaspassendeSymbol.
98 3 Praxis, Alias
64 Technik
Grafi sche Be nut zer ober fl ä che
DerGesichtssinnistderausgeprägtestedermenschlichenSinne.DieGrenzenderSpracheerfahrenSierechtschnell,beispielsweisebeidemVersuch,jemandemeinenGegenstandgenauzubeschreiben,denSienichtsehen.Soistesz.B.einfacher,durchZeigenaufeineBesonderheithinzuweisen,alssiemitWortenzuerklären.ÄhnlichistesbeiderArbeitamComputer.SeinevisuelleOrientierungmachtesfüreinenMenscheneinfach,einenOrdnerzuaktivieren,indemerperMausklickdaraufzeigt.Erkannsichdannumsehen,obsichdasgesuchteObjekt–vielleichteineDateiodereinandererOrdner–indiesemOrdnerbefindet.(DasPrinzipwirdinApples»HumanInterfaceGuidelines«treffend»SeeandPoint«genannt.)MitWorten,diederComputerauchnochver-stehenmuss,denWegzueinemObjektzube-schreiben,istdadochbedeutendkomplizierter.EineersteIdeezueinergrafischenBenutze-
roberflächepräsentierteDougEngelbartschonimJahre1968amStanfordResearchInstitute.ImXerox-EntwicklungszentrumPARCwurde1973derAlto,einPrototypeinesRechnersmit
grafischerBenutzeroberfläche,gezeigt.AppleergänztedieseIdeenumwesentlicheElementewiez.B.Pull-Down-MenüsundDrag&Drop.DamitwarderStandardgesetzt,seitdemgabeskeineumgreifendenÄnderungenmehr.AußerdemwurdedieMausweiterentwickelt.DieursprünglichverwendeteDreitastenmauswurdeaufgrundderErfahrungenbeiXeroxzurEintastenmaus,nochheuteeinherausragendesMerkmaldesMacs.DiesegrafischeBenutzerschnittstellewar
dasimwahrstenSinnedesWortesaugenfäl-ligsteMerkmaldesMac.VordemMacgabeskeinenerschwinglichenPersonalcomputermitdieserEigenschaft.IndendarauffolgendenJahrenhatsichdiegrafischeBenutzerschnitt-stelleaufallenComputerplattformendurch-gesetzt.DieBesonderheitdesMac-Systemswar,dass
dieseOberflächeeinintegralerBestandteildesSystemsist.InMacOSXdagegengibteseineTrennungdeseigentlichenSystemsvondergrafischenOberfläche.ProgrammekönnenüberdieBefehlszeiledesTerminal-Programms
3 255ffPraxis, Shell
Der»X-YPositionIndicatorforaDisplaySystem«,
dessenPatentierungmitdieserPatentschrift1967vonDougEngelbartbean-tragtwurde,istheuteals
»Maus«StandardanjedemPersonalComputer.
DieBenutzeroberflächedesXeroxAltovon1974lässtnurerahnen,wohindie
Entwicklunggehenwürde.DasGUIwurdeüberdreiMaustastenbedient.
Technisches zum Betriebssystem Mac OS X 65
angesteuertwerden,BSD-ProgrammelaufensogarkomplettohnegrafischeOberfläche.EchteMac-OS-X-Programme(CarbonoderCocoa)sindjedochtrotzdemohnegrafischeBe-nutzeroberflächenichtvorstellbar.InMacOSXistdieIntegrationdergrafischenOberflächesokonsequentdurchgezogenworden,dassselbstgrundlegendeÄnderungendesSystemsüberdieseOberflächevorgenommenwerdenkön-nen–durchBewegenvonObjektenoderAnkli-ckenvonSchaltflächen.DernormaleAnwenderkommteigentlichniemitdemMacOSXzugrundeliegendenUNIXunddessenShellinKontakt.
Der FinderDerfürdenAnwenderwichtigsteProgramminMacOSXistderFinder.DerFinderliefertdemAnwenderdenSchreibtischunddieVolumesmitdenOrdnerfensternunddenDokumen-tensymbolen.ErbietetdemAnwenderdieMöglichkeit,indenHierarchienderFestplattenzunavigierenunddiesezumanipulieren.DerFinderbildetalsodieSchnittstellezwischendemDateisystemunddemAnwender.DerFindergibtdemAnwenderdieMöglich-
keit,seineDateienübersichtlichzuordnen.Wieinden»HumanInterfaceGuidelines«auchfürandereProgrammeempfohlen,verwendetderFinderdafüreineMetapherausdemnor-malenLeben:Den(Büro-)Schreibtisch.AlleDokumentelagerninAktenschränken(denVolumes)inOrdnern.UmEinblickineinenOrd-nerzubekommen,wirddieserausdemAkten-schrankherausgenommenundmanblättertinseinemInhalt.UmeinbestimmtesDokumentzubetrachten,wirdesausdemOrdnerheraus-genommenundaufdenTischgelegt.EinDo-kument,dasnichtmehrgebrauchtwird,landetimPapierkorb.
ZwarbefindetsichderPapierkorbnormaler-weisenichtüberdemSchreibtischundwirwer-fenauchnichteinenganzenAktenschrankindenPapierkorb.AberkleineAbweichungenvonderRealitätdienenderKonsistenz,wennsiedasSystemeinfachermachen.GleicheHand-lungenerzeugendenselbenEffekt.
Fenster-Darstellungs-Informationen DamitderFinderdieFensterdereinzelnenOrdnerindervomBenutzergewünschtenFormöffnenkann,musserdieInformationenzudenDarstellungeninnerhalbderFenster–z.B.PositionundGrößederIcons,GrößedesFensters,Darstellungsartetc.–merken.DieInformationenwerdeninnerhalbdesje-weiligenOrdnersinderunsichtbarenDatei».DS_Store«gespeichert.Dadie».DS_Store«-DateisichindemzuöffnendenOrdnerbe-findetundsomitauchmitkopiertwird,kannauchbeispielsweisefüreinDiskimageodereinServervolumeeinebestimmteDarstellungvor-gegebenenwerden.DieDarstellungendesSchreibtischsundim
Fenster»Computer«werdeninderVoreinstel-lungsdateidesFindersgespeichert.
88 3 Praxis, Finder
DerXeroxStar,dererstekommerzi-elleCom-putermitgrafischerBenutzer-berflächeerschien1981,zweiJahreJahrevorderLisa(jedochnacheinemBesuchvonApple-Mit-arbeiternbeiXerox).
66 Technik
Hu man Interface Gui de li nes
SchonvonAnfanganhatAppledetaillierteRichtlinienherausgegeben,wieeinProgrammaufdemMacauszusehenhat.DafürwurdenintensiveergonomischeStudiendurchgeführt.AusdemErgebnisdieserStudienentstandeneinigegrundlegendePrinzipien.1 Direct Manipulation:DerAnwendermanipu-liertimmerdasObjektselbstundsiehtdirektdieAuswirkungen.Beispiel:BeimVerschiebeneinesObjekts
bleibtdiesesObjektsichtbar.DasObjekt,aufdasesgezogenwird,wirdaktiviert.
1 See-and-Point:DerAnwenderbekommtim-meralleMöglichkeitenpräsentiertundkanndannzwischendiesenauswählen.Beispiel:MenüspräsentierenBefehle,un-
terdenendannausgewähltwird.1 Consistency:WennzweiObjektedasgleichetun,sehensieauchgleichaus.Reagierensieunterschiedlich,sehensieauchunter-schiedlichaus.SokannderAnwenderschon
ausdemAusseheneinesObjektsschließen,wieessichverhaltenwird.Beispiel:ProgrammeundErweiterungs-
bundlesunterscheidensichdadurch,dassProgrammevomAnwendergestartetwer-den,ErweiterungenjedochvomSystem.DeshalbhabensieauchunterschiedlicheSymbole.
1 User Control:DerAnwender,nichtderCom-puter,kontrolliertdenVerlaufeinerAktion.Beispiel:DieHilfeerklärtdemAnwender
lediglich,wieeineEinstellungamObjektvorgenommenwird.DasnächsteMalkannderAnwenderdieseodereineähnlicheEin-stellung(Consistency)ohneHilfeausführen.EristnichtaufGedeihundVerderbeinemAssistentenausgeliefert.
1 Forgiveness:DerAnwendermusseinenSchritt,denerausgeführthat,wiederrück-gängigmachenkönnen.
Technisches zum Betriebssystem Mac OS X 67
NebendenhieraufgeführtenPrinzipiengibtesnochvieleweitere.Inden»HumanInterfaceGuidelines«wer-
denaberauchganzkonkreteAngabenzuAus-sehenundFunktionvielerObjektegemacht.Diefür»Aqua«überarbeiteten»HumanIn-
terfaceGuidelines«werdenmitdenDeveloperToolsalsPDF-undalsHTML-DokumentaufIhrerFestplatteinstalliert(»/Developer/Docu-mentation/UserExperience/Conceptual/Aqua-HIGuidelines«).
Beispiele aus den Interface Guidelines1 Menüs:DiebeidenerstenMenüs»Ablage«und»Bearbeiten«sindalsStandardvorge-geben,ebensowiedieReihenfolgederStan-dardbefehleinnerhalbdieserMenüs.AuchdieTastaturkürzelfürdieGrundfunktionensindstandardisiert.DieseVorgabenwurdenunverändertvomklassischenMacOSinMacOSXübernommen.
1 Abfragen:AuchfürdieSicherheitsabfragezueinemgeändertenDokumentgibtesVorgaben.DadasAugedesBetrachtersvonobenlinksnachuntenrechtswandert,siehteszuerstdasSymbolundliestdanndenText.ImTextmusszuerkennensein,umwelchesDokumentessichhandelt.Schaltflä-chen,mitdenendiegetaneArbeitvernichtetwird(»Nichtsichern«),werdenvondenSchaltflächengetrennt,diediegetaneArbeitnichtzerstören(»Abbrechen«und»Sichern«)–»Sichern«istuntenrechtsundaktiviert.DieBeschriftungderSchaltflächenbeschreibtnocheinmaldieAktion–»Sichern«und»Nichtsichern»,statt»Ja«und»Nein«.Unverständlicherweisefindensichimmer
wiederProgrammhersteller,diesichnichtandieseergonomischenVorgabenhalten.
68 Technik
Willkommen!Der Systemstart
Open Firmware…WennSiedieEinschalttastedesPowerPC-Macsdrücken,wirdzuerstder»Power-OnSelfTest«(POST)aktiviert.DieserüberprüftdieSchnitt-stellen,Erweiterungssteckplätze,LaufwerkeunddenSpeicher.WennallesinOrdnungist,erklingtderStartgong.AnschließendwirddieOpenFirmwareaktiviert.DiesebautdenDevice-Treeauf–einVerzeichnisallerinstalliertenHardware-Komponenten.
3 368Referenz,
Kontrollfeld, Startvolume
…bzw. BIOS und EFIBeimMacmitIntel-ArchitekturwirdzuerstdasBIOSaktiviert,daseinenPOSTdurchführt.DanninitialisiertdasBIOSdiegrundlegendeHardwareundderProzessorwirdinden32-bit-ModusversetztumdasEFIladenzukönnen.IstdasEFIgeladen,initialisiertesweitereHard-wareundlässtdenStartgongerklingen.
BootX bzw. boot.efiDieOpenFirmwarebzw.EFIaktiviertdieimNVRAMverzeichneteBoot-Datei.WennMacOSXausgewähltwurde,istdiesbeimPow-erPC-MacdieDatei»BootX«bzw.beimMacmitIntel-Architektur»boot.efi«imOrdner»/System/Library/CoreServices«.DergraueApfelerscheintaufdemBildschirm.
Kernel-EnvironmentBootXbzw.boot.efilädtnundasKernel-Environment.Dafürwerden–beimPowerPCmithilfedesDeviceTrees–Treibergeladen,bisdieSystemfestplatteaktiviertwerdenkann.DannwirdinverschiedenenStufenderMach-Kernelinitialisiert.BeimMacmitIntel-Architekturbautdieseraußerdemden»fakePP-CDevicetree«aufundaktiviert,wennderIntel-Prozessoreine64-bit-Erweiterungbesitzt,inmehrerenSchrittenden64-bit-Modus.(AbhieristderAblaufbeiPowerPCundIntelgleich.)AnschließendwirddasBSD-Systeminitialisiert.UnterdemApfelwirdeinKreiselangezeigt.
7 34 NVRAM
7 68Kernel-Envi-
ronment
7 32Firmware
Der Systemstart 69
LaunchdAnschließendwirdderDaemon(einunsicht-barerSystemdienst)»launchd«geladen.DerBildschirmwechseltdieFarbeundwirdblau.LaunchdstartetverschiedeneandereSystem-diensteundistauchfürdenStartallerwei-terenProgrammezuständig.UnterdenDiensten,diehiergestartetund
anhandderVorgabenin»/System/Library/LaunchDaemons«konfiguriertwerden,befin-densichunteranderemAppleShare,SambaundderApache-Webserver.AbhieristalsoeinZugriffausdemNetzwerkmöglich.
LoginwindowDasletzteObjekt,dasgeladenwird,istdasPro-gramm»Loginwindow«.DiesesmeldetdenBe-nutzerbeimSysteman.DasProgrammbleibtimmeraktiv,esistauchfürdasFenster»Sofortbeenden«oderdieAbmeldungzuständig.
Benutzer-ProgrammeLoginwindowstartetdasDockunddenFindermitdemSchreibtisch.AußerdemwerdendieimKontrollfeld»Benutzer«unter»Startob-jekte«bestimmtenObjektegestartet.JetztistMacOSXfürdieArbeitbereit.
292 3Referenz, Sofort be-enden
332 3Referenz, Kontrollfeld »Benutzer«, »Anmeldeop-tionen«
188 3Praxis, File-Sharing