Technisches zur Hardware der Macs

49

Transcript of Technisches zur Hardware der Macs

Page 1: Technisches zur Hardware der Macs
Page 2: Technisches zur Hardware der Macs

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

Page 3: Technisches zur Hardware der Macs
Page 4: Technisches zur Hardware der Macs

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

Page 5: Technisches zur Hardware der Macs

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

Page 6: Technisches zur Hardware der Macs

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)

Page 7: Technisches zur Hardware der Macs

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

Page 8: Technisches zur Hardware der Macs

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

Page 9: Technisches zur Hardware der Macs

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

Page 10: Technisches zur Hardware der Macs

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

Page 11: Technisches zur Hardware der Macs

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

Page 12: Technisches zur Hardware der Macs

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

Page 13: Technisches zur Hardware der Macs

Technisches zur Hardware der Macs 33

DasDesigndesMainboardsimIntel-iMacentsprichtdemdesMacBookProbzw.ohnedenGrafikprozessorund-speicherdemdesMacminiundMac-Books–unddemDe-signdermeistenPC-NotebooksmitIntel-Pro-zessor.

DiewichtigstenKomponentenundihreVer-bindungenaufdemBoardeinesiMacG5(iSight).

Page 14: Technisches zur Hardware der Macs

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

Page 15: Technisches zur Hardware der Macs

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

Page 16: Technisches zur Hardware der Macs

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)

Page 17: Technisches zur Hardware der Macs

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

Page 18: Technisches zur Hardware der Macs

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

Page 19: Technisches zur Hardware der Macs

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

Page 20: Technisches zur Hardware der Macs

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

Page 21: Technisches zur Hardware der Macs

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.

Page 22: Technisches zur Hardware der Macs

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

Page 23: Technisches zur Hardware der Macs

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

Page 24: Technisches zur Hardware der Macs

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

Page 25: Technisches zur Hardware der Macs

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

Page 26: Technisches zur Hardware der Macs

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.

Page 27: Technisches zur Hardware der Macs

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.

Page 28: Technisches zur Hardware der Macs

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

Page 29: Technisches zur Hardware der Macs

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.

Page 30: Technisches zur Hardware der Macs

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

Page 31: Technisches zur Hardware der Macs

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

Page 32: Technisches zur Hardware der Macs

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

Page 33: Technisches zur Hardware der Macs

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.

Page 34: Technisches zur Hardware der Macs

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

Page 35: Technisches zur Hardware der Macs

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

Page 36: Technisches zur Hardware der Macs

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

Page 37: Technisches zur Hardware der Macs

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

Page 38: Technisches zur Hardware der Macs

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

Page 39: Technisches zur Hardware der Macs

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

Page 40: Technisches zur Hardware der Macs

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«.)

Page 41: Technisches zur Hardware der Macs

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

Page 42: Technisches zur Hardware der Macs

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.

Page 43: Technisches zur Hardware der Macs

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

Page 44: Technisches zur Hardware der Macs

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.

Page 45: Technisches zur Hardware der Macs

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).

Page 46: Technisches zur Hardware der Macs

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.

Page 47: Technisches zur Hardware der Macs

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.

Page 48: Technisches zur Hardware der Macs

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

Page 49: Technisches zur Hardware der Macs

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