We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

A reimplementation of NetBSD using a MicroKernel (part 1 of 2)

00:00

Formale Metadaten

Titel
A reimplementation of NetBSD using a MicroKernel (part 1 of 2)
Serientitel
Anzahl der Teile
41
Autor
Lizenz
CC-Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben.
Identifikatoren
Herausgeber
Erscheinungsjahr
Sprache

Inhaltliche Metadaten

Fachgebiet
Genre
Abstract
Based on the MINIX 3 microkernel, we have constructed a system that to the user looks a great deal like NetBSD. It uses pkgsrc, NetBSD headers and libraries, and passes over 80% of the KYUA tests). However, inside, the system is completely different. At the bottom is a small (about 13,000 lines of code) microkernel that handles interrupts, message passing, low-level scheduling, and hardware related details. Nearly all of the actual operating system, including memory management, the file system(s), paging, and all the device drivers run as user-mode processes protected by the MMU. As a consequence, failures or security issues in one component cannot spread to other ones. In some cases a failed component can be replaced automatically and on the fly, while the system is running, and without user processes noticing it. The talk will discuss the history, goals, technology, and status of the project. Research at the Vrije Universiteit has resulted in a reimplementation of NetBSD using a microkernel instead of the traditional monolithic kernel. To the user, the system looks a great deal like NetBSD (it passes over 80% of the KYUA tests). However, inside, the system is completely different. At the bottom is a small (about 13,000 lines of code) microkernel that handles interrupts, message passing, low-level scheduling, and hardware related details. Nearly all of the actual operating system, including memory management, the file system(s), paging, and all the device drivers run as user-mode processes protected by the MMU. As a consequence, failures or security issues in one component cannot spread to other ones. In some cases a failed component can be replaced automatically and on the fly, while the system is running. The latest work has been adding live update, making it possible to upgrade to a new version of the operating system WITHOUT a reboot and without running processes even noticing. No other operating system can do this. The system is built on MINIX 3, a derivative of the original MINIX system, which was intended for education. However, after the original author, Andrew Tanenbaum, received a 2 million euro grant from the Royal Netherlands Academy of Arts and Sciences and a 2.5 million euro grant from the European Research Council, the focus changed to building a highly reliable, secure, fault tolerant operating system, with an emphasis on embedded systems. The code is open source and can be downloaded from www.minix3.org. It runs on the x86 and ARM Cortex V8 (e.g., BeagleBones). Since 2007, the Website has been visited over 3 million times and the bootable image file has been downloaded over 600,000 times. The talk will discuss the history, goals, technology, and status of the project.
t-TestEinfache GenauigkeitKnoten <Statik>SystemprogrammierungTermDatenmodellExt-FunktorComputerDienst <Informatik>SoftwareVirenscannerSystemaufrufLeistung <Physik>Operations ResearchServerMini-DiscHardwarePortscannerHalbleiterspeicherBefehlsprozessorDatenflussModul <Datentyp>HyperbelfunktionMetropolitan area networkManagementinformationssystemEreignisdatenanalyseKartesische KoordinatenAusnahmebehandlungNetz <Graphische Darstellung>Service PackProgrammfehlerBetriebssystemPolarkoordinatenHardwareMAPRelationentheorieDisk-ArrayZahlenbereichDiskettenlaufwerkQuellcodeCD-ROMCodeSystemprogrammierungBandmatrixVersionsverwaltungQuick-Sortt-TestKlasse <Mathematik>GeradeHalbleiterspeicherTorvalds, LinusInternetworkingMikrokernelQuaderBildschirmfensterSchlüsselverwaltungComputerTermGrundsätze ordnungsmäßiger DatenverarbeitungComputersicherheitEuler-WinkelMultiplikationsoperatorNormalvektorLeistung <Physik>Mini-DiscSoftwareMinkowski-MetrikSpeicher <Informatik>Installation <Informatik>Dienst <Informatik>EinsWort <Informatik>HilfesystemBitGamecontrollerGrenzschichtablösungFaktor <Algebra>BootenMereologieVirenscannerComputersimulationNichtlinearer OperatorKernel <Informatik>Arithmetisches MittelProgrammierungComputerspielSpywareGebundener ZustandFunktionalFormale GrammatikHackerRechenschieberRadiusRauschenSoundverarbeitungLinearer CodeInhalt <Mathematik>SystemzusammenbruchMailing-ListeKondensation <Mathematik>DreiFormale SemantikFehlermeldungTreiber <Programm>PunktBitrateSpieltheorieGenerizitätGruppenoperationEndliche ModelltheorieMusterspracheRobotikDimensionsanalyseRootkitDreiecksfreier GraphComputeranimation
SpeicherbereichsnetzwerkKernel <Informatik>CodeModul <Datentyp>BimodulGrenzschichtablösungSystemprogrammierungElektronische PublikationInverser LimesSystemaufrufBasis <Mathematik>Interrupt <Informatik>ATMMini-DiscServerGewicht <Ausgleichsrechnung>Virtuelle RealitätDatei-ServerHalbleiterspeicherCachingp-BlockTabelleGruppenoperationSoundverarbeitungZusammenhängender GraphAutorisierungRechter WinkelPunktAbstandProgrammfehlerPartikelsystemDatenstrukturMAPClientEinsInterrupt <Informatik>Mapping <Computergraphik>BitProzess <Informatik>CodeKernel <Informatik>ComputerarchitekturAbstraktionsebeneATMSoftwareHalbleiterspeicherGeradeDatenverwaltungInterprozesskommunikationSchlussregelSpeicherverwaltungBildschirmmaskePhysikalismusFehlermeldungMessage-PassingHardwareSystemprogrammierungProtokoll <Datenverarbeitungssystem>WärmeübergangAdressraumParametersystemDatei-ServerWort <Informatik>CASE <Informatik>FitnessfunktionGüte der AnpassungInformationMini-DiscMultiplikationsoperatorMinkowski-MetrikRegulärer GraphBetriebssystemDateiverwaltungLesen <Datenverarbeitung>Gewicht <Ausgleichsrechnung>MikrokernelOverhead <Kommunikationstechnik>ServerGruppenoperationProdukt <Mathematik>ComputersicherheitEndliche ModelltheorieBimodulLeistung <Physik>EinfügungsdämpfungInverser LimesKontextbezogenes SystemTreiber <Programm>Nabel <Mathematik>VererbungshierarchieSystemaufrufSkriptspracheTabelleBildschirmfensterMailing-ListeAusdruck <Logik>AggregatzustandBeobachtungsstudieFreewareMaschinencodeInstantiierungLoginp-BlockMathematische LogikVirtualisierungDivergente ReiheProgrammierungWeb-SeiteZellularer AutomatAlgorithmusDichte <Stochastik>ViewerHyperbelverfahrenElektronische PublikationE-MailSchreiben <Datenverarbeitung>Bitmap-GraphikCachingComputeranimation
ServerMini-DiscWiederherstellung <Informatik>ATMKernel <Informatik>SystemzusammenbruchLokales MinimumSystemprogrammierungCodeMessage-PassingDatenverwaltungInterrupt <Informatik>Modul <Datentyp>MaschinenschreibenZeiger <Informatik>ProgrammschleifeUnendlichkeitLeistung <Physik>DatenmodellBinärcodeData Encryption StandardMathematikStichprobeOperations ResearchARM <Computerarchitektur>SchießverfahrenHardwareRauschenMinkowski-MetrikMultiplikationsoperatorBitBetriebsmittelverwaltungPuffer <Netzplantechnik>Nabel <Mathematik>HydrostatikQuick-SortVirtuelle MaschineProgrammfehlerComputerspielAlgorithmische ProgrammierspracheTypentheorieRuhmasseNegative ZahlZeiger <Informatik>DickeProzess <Informatik>ZahlenbereichDienst <Informatik>BimodulServerZusammenhängender GraphMAPInterrupt <Informatik>ClientDatenverwaltungMechanismus-Design-TheorieAdditionE-MailEinflussgrößeSystemzusammenbruchBinärcodeCompilerMikrokernelComputerComputervirusSystemprogrammierungRobotikAutorisierungKonditionszahlGrundsätze ordnungsmäßiger DatenverarbeitungDifferenteDruckverlaufCodeMultiplikationWeb-SeiteKernel <Informatik>Elektronische PublikationHardwareSummierbarkeitFehlermeldungMini-DiscProgrammierungLaufzeitfehlerBildschirmmaskeDreiecksfreier GraphSoftwareentwicklerHalbleiterspeicherNormalvektorProgrammiergerätComputersicherheitVerzweigendes ProgrammÄquivalenzklasseInjektivitätInverter <Schaltung>SoftwareschwachstellePunktLeistung <Physik>WhiteboardTotal <Mathematik>Produkt <Mathematik>SoftwaretestRechenwerkMessage-PassingComputerarchitekturDatenstrukturMereologieKontextbezogenes SystemSystemverwaltungExogene VariablePufferüberlaufRandomisierungBootenSpeicher <Informatik>ZweiEinfügungsdämpfungProgrammierparadigmaGüte der AnpassungSystemplattformDämpfungSummengleichungQuellcodePlotterSchnittmengeWasserdampftafelPropagatorOffice-PaketDateiverwaltungProtokoll <Datenverarbeitungssystem>SeitentabelleLoopUnendlichkeitTabelleDatei-ServerWeb logGeradeQuaderSchlüsselverwaltungBenutzerschnittstellenverwaltungssystemp-BlockSpeicherabzugMaschinenschreibenZeitrichtungGleichheitszeichenRechter WinkelErwartungswertNichtlinearer OperatorARM <Computerarchitektur>PolarkoordinatenAusnahmebehandlungHyperbelverfahrenComputeranimation
HardwareCodeARM <Computerarchitektur>SystemprogrammierungBefehlsprozessorFlash-SpeicherVideokonferenzPRINCE2Hecke-OperatorSoftwareMobiles EndgerätProdukt <Mathematik>CompilerElektronische PublikationDateiformatSystemaufrufKernel <Informatik>Klon <Mathematik>Prozess <Informatik>SoftwaretestGruppenoperationZählenMereologieATMMini-DiscElektronischer FingerabdruckServerSchnittmengeGewicht <Ausgleichsrechnung>Kategorie <Mathematik>Mixed RealityE-MailNormalvektorRechenwerkProgrammiergerätQuick-SortMAPMobiles InternetEndliche ModelltheorieOpen SourceProgrammbibliothekWeb-SeiteMobiles EndgerätComputerarchitekturSampler <Musikinstrument>StandardabweichungStichprobenumfangMessage-PassingSystemaufrufKlon <Mathematik>BildschirmfensterBeobachtungsstudieMikrokernelTeilbarkeitProzess <Informatik>MultiplikationsoperatorFontAnalysisGamecontrollerMusterspracheQuaderGewicht <Ausgleichsrechnung>AggregatzustandPunktFigurierte ZahlSystemprogrammierungCodeWhiteboardMathematikGebäude <Mathematik>ARM <Computerarchitektur>VollständigkeitDivergente ReiheFlash-SpeicherKondition <Mathematik>AssemblerPersönliche IdentifikationsnummerHardwareFokalpunktStereometrieBefehlsprozessorCharakteristisches PolynomSoftwareVariableAusnahmebehandlungDateiformatLesen <Datenverarbeitung>VideokonferenzQuellcodeMini-DiscIdentitätsverwaltungWort <Informatik>Demo <Programm>FehlertoleranzThreadCoprozessorBenutzeroberflächeGoogolBitDateiverwaltungOffene MengeKartesische KoordinatenDämon <Informatik>Produkt <Mathematik>TaskDeterminanteAtomarität <Informatik>Radikal <Mathematik>DifferenteEinsCompilerSoundverarbeitungGeradeMultiplikationGemeinsamer SpeicherSystemplattformFehlermeldungExpertensystemDatenverwaltungGrenzschichtablösungElektronische PublikationHook <Programmierung>ExistenzaussageServerGruppenoperationPlastikkarteKette <Mathematik>Güte der AnpassungDefaultZahlenbereichComputeranimation
WhiteboardMetropolitan area networkNeuronales NetzMenütechnikGammafunktionARM <Computerarchitektur>Offene MengeSystemprogrammierungSystemaufrufAppletBrowserATMEinfache GenauigkeitSoftwareGravitationsgesetzVersionsverwaltungElektronische PublikationKernel <Informatik>WarteschlangeRFIDCodeTaskAggregatzustandVariablePortscannerWiederherstellung <Informatik>BitrateHalbleiterspeicherInformationp-BlockCompilerSoftwaretestBinärcodeOverhead <Kommunikationstechnik>Dedekind-SchnittWeb SiteLokales MinimumWeb-SeiteTotal <Mathematik>SinusfunktionMehrwertnetzGoogolGrenzschichtablösungSondierungKnoten <Statik>t-TestSystemprogrammierungComputersicherheitBitrateProgrammbibliothekInformationStatistische HypotheseProgrammierungCodep-BlockProgrammfehlerPunktKernel <Informatik>BootenBitSoftwaretestMailing-ListeFehlertoleranzZeiger <Informatik>Quick-SortFrequenzWeb SiteMathematikHomepageOffene MengeLeckWeb-SeitePatch <Software>SystemzusammenbruchVirtualisierungNummernsystemCASE <Informatik>InjektivitätHalbleiterspeicherBildgebendes VerfahrenAdressraumTypentheorieVariableVideokonferenzt-TestWärmeübergangProzess <Informatik>Minkowski-MetrikWort <Informatik>Kartesische KoordinatenWechselsprungVersionsverwaltungVerzweigendes ProgrammVorhersagbarkeitKlasse <Mathematik>ProgrammiergerätDatenverwaltungMaßerweiterungBetriebssystemElektronische PublikationTransaktionWarteschlangeGrundsätze ordnungsmäßiger DatenverarbeitungNichtlinearer OperatorServerProjektive EbeneWhiteboardDateiverwaltungGewicht <Ausgleichsrechnung>MikrokernelBrowserSoftwareAppletCAN-BusAggregatzustandMereologieTabelleEinfache GenauigkeitEinsMessage-PassingTermSampler <Musikinstrument>Translation <Mathematik>WikiObjekt <Kategorie>MultiplikationsoperatorLaufzeitfehlerProgrammierspracheDatenstrukturSystemplattformUmsetzung <Informatik>Graphische BenutzeroberflächeWeg <Topologie>Divergente ReiheZahlenbereichGruppenoperationQuaderHash-AlgorithmusZusammenhängender GraphStrukturierte ProgrammierungGeradeStrömungsrichtungSpeicherbereinigungKategorie <Mathematik>Open SourceKoroutineHackerBitmap-GraphikFehlermeldungAssemblerNotebook-ComputerOnlinecommunityOrtsoperatorVerschlingungSpeicherverwaltungSondierungHardwareLoginSoftwareentwicklerProdukt <Mathematik>Rekursive FunktionOrbit <Mathematik>PaarvergleichRechter WinkelMatchingDefaultEnergiedichteGamecontrollerThermische ZustandsgleichungATMInternetworkingSpezielle unitäre GruppeWeltformelZurücksetzung <Transaktion>Office-PaketNotepad-ComputerDifferenteResultanteKontrollstrukturSoundverarbeitungBildschirmfensterComputerspielDienst <Informatik>Formale SpracheReelle ZahlGradientDreiGüte der AnpassungEinflussgrößeGrundraumCD-ROMRandomisierungFormale SemantikMapping <Computergraphik>AutorisierungGraphfärbungMinimalgradPhysikalische SchichtRechenwerkSichtenkonzeptPolarkoordinatenFahne <Mathematik>TaskRechenschieberAdditionTotal <Mathematik>Computeranimation
Transkript: Englisch(automatisch erzeugt)