PC Reparaturen Bremen - Betriebssystem
Sie haben ein PC-Problem und haben gerade einen zertifizierten, günstigen PC-Notdienst in Bremen gesucht?
Unsere Hauptseite mit mehr Infos finden Sie hier
Gemeinsame Merkmale Prozessmanagement Interrupts Memory Management File System Gerätetreiber Netzwerk (TCP / IP, UDP) Security (Process / Memory-Schutz) I / O v · d · e Ein Betriebssystem (OS) ist Software , bestehend aus Programmen und Daten , die auf läuft Computern verwaltet Computerhardware Ressourcen und stellt gemeinsame Dienste für die Ausführung der verschiedenen Anwendungs-Software . Für Hardware-Funktionen wie Ein-und Ausgang und Speicherzuweisung , das Betriebssystem fungiert als Vermittler zwischen Anwendungsprogrammen und Hardware des Computers, [1] [2] , obwohl die Anwendung Code wird normalerweise Hardware ausgeführt direkt vom und wird häufig nennen sich die OS oder durch sie unterbrochen werden. Betriebssysteme sind enthält auf fast jedem Gerät, dass eine computerimplementierte von Mobiltelefonen und Spielekonsolen zu Supercomputern und Web-Servern . Beispiele für beliebte modernen Betriebssystemen für PCs sind: Mac OS X , Microsoft Windows , GNU / Linux und Unix . [3] Inhalt [hide] 1 Arten 2 Zusammenfassung 3 Geschichte 3,1 Mainframes 3,2 Microcomputer 4 Beispiele für Betriebssysteme 4,1 Microsoft Windows 4,2 Unix und Unix-artigen Betriebssystemen 4.2.1 BSD und seine Nachkommen 4.2.2 Mac OS X 4.2.3 Plan 9 4,3 Linux und GNU 4.3.1 Google Chrome OS 4.4 Sonstige 5 Komponenten 5.1 Benutzeroberfläche 5.1.1 Grafische Benutzeroberflächen 5,2 Kernel 5.2.1 Programmausführung 5.2.2 Interrupts 5.2.3 Betriebsarten 5.2.4 Memory Management 5.2.5 Virtueller Speicher 5.2.6 Multitasking 5.2.7 Disk zugreifen und Dateisysteme 5.2.8 Gerätetreiber 5,3 Networking 5,4 Security 6 Real-Time Operating Systems 7 Hobby Entwicklung 8 Vielfalt von Betriebssystemen und Portabilität 9 Siehe auch 10 Referenzen 11 Externe Links [ Bearbeiten ] Typen Real-time Ein Echtzeit-Betriebssystem ist ein Multitasking-Betriebssystem, das bei der Ausführung von Echtzeitanwendungen soll. Echtzeit-Betriebssysteme verwenden oft Scheduling-Algorithmen spezialisiert, so dass sie eine deterministische Art von Verhalten zu erreichen. Die Hauptaufgabe von Echtzeit-Betriebssystemen ist die schnelle und vorhersehbare Reaktion auf Ereignisse. Sie haben entweder eine ereignisgesteuerte oder ein Time-Sharing-Design. Ein Ereignis-gesteuerte System schaltet zwischen Aufgaben auf ihre Prioritäten während Time-Sharing-Betriebssystemen wechseln Aufgaben Uhr unterbricht basiert. Multi-User vs Single-User- Ein Multi-User-Betriebssystem ermöglicht mehreren Benutzern auf einem Computer-System gleichzeitig zugreifen. Time-Sharing-System kann als Multi-User-Systeme klassifiziert werden, da sie eine mehrere Benutzer Zugriff auf einen Computer durch den Austausch von Zeit zu ermöglichen. Single-User-Betriebssystemen, um ein Multi-User-Betriebssystem dagegen sind durch einen einzigen Benutzer gleichzeitig nutzbar. Die Möglichkeit, mehrere Konten auf einem Windows-Betriebssystem nicht machen es zu einem Multi-User-System haben. Vielmehr wird nur der Netzwerkadministrator die reale Benutzer. Aber für ein Unix-ähnliches Betriebssystem, ist es für zwei Benutzer gleichzeitig anmelden und diese Fähigkeit des Betriebssystems ist es ein Multi-User-Betriebssystem möglich. Multi-Tasking vs Single-Tasking Wenn ein einzelnes Programm erlaubt ist, zu einem Zeitpunkt ausgeführt, das System unter einer Single-Task-System gruppiert, während im Falle des Betriebssystems ermöglicht die Ausführung mehrerer Aufgaben gleichzeitig, ist es als Multi-Tasking-Betriebssystem eingestuft. Multi-Tasking kann von zwei Typen nämlich, präventiven oder Genossenschaft. In präemptive Multitasking, Scheiben das Betriebssystem die CPU-Zeit und widmet einen Slot zu jedem der Programme. Unix-artigen Betriebssystemen wie Solaris und Linux unterstützt präemptive Multitasking. Kooperatives Multitasking ist unter Berufung auf jeden Prozess zu Zeit an die anderen Prozesse in definierter Weise geben erreicht. MS Windows vor Windows 95 verwendet werden, um kooperatives Multitasking unterstützen. Verteilt Ein verteiltes Betriebssystem verwaltet eine Gruppe von unabhängigen Computern und macht sie als eine einzige Rechner sein. Die Entwicklung von vernetzten Computern, die miteinander verbunden und miteinander kommunizieren konnten, gab Anlass zu verteilten Rechnens. Verteilte Berechnungen werden auf mehr als eine Maschine durchgeführt. Wenn Computer in einer Gruppe arbeiten in Kooperation, sie einem verteilten System zu machen. Embedded Embedded-Betriebssysteme sind so ausgelegt, Hersteller von Embedded Computer Systemen eingesetzt werden. Sie sollen auf kleinen Maschinen wie PDAs mit weniger Autonomie zu betreiben. Sie sind fähig, mit einer begrenzten Anzahl von Ressourcen zu betreiben. Sie sind sehr kompakt und äußerst leistungsfähig durch Design. Windows CE und Minix 3 sind einige Beispiele für Embedded-Betriebssysteme. [ Bearbeiten ] Zusammenfassung Die frühen Computer wurden gebaut, um eine Reihe von einzelnen Aufgaben, wie einen Taschenrechner durchführen. Betriebssysteme nicht Formen existieren in ihrer modernen und immer komplexer bis in die frühen 1960er Jahre. [4] Einige Funktionen des Betriebssystems Verarbeitung bis entwickelt wurden in den 1950er Jahren, wie Monitor Geschwindigkeit Programme, die automatisch ausgeführt werden könnten verschiedene Anwendungsprogramme in der Nachfolge. Hardware-Features wurden hinzugefügt, die aktiviert Einsatz von Laufzeitbibliotheken , unterbricht und parallele Verarbeitung . Bei PCs von Unternehmen wie Apple Inc. , Atari , IBM und Amiga populär wurde in den 1980er Jahren, hat Hersteller Betriebssystem Funktionen, und hatte vorher Mini-Computern geworden verbreitete am Mainframe. Später, viele Features wie grafische Benutzeroberfläche wurde entwickelt speziell für Personal Computer in Betrieb. Ein Betriebssystem besteht aus vielen Teilen. Eine der wichtigsten Komponenten ist der Kernel , die sehen Kontrollen Low-Level-Prozesse, die der durchschnittliche Nutzer in der Regel nicht können: Er steuert, wie Speicher gelesen und geschrieben wird, in welcher Reihenfolge die Prozesse ausgeführt werden, wie die Informationen empfangen und Geräte per wie Monitor, Tastatur und Maus, und entscheidet, wie Sie Informationen aus den Netzen erhalten zu interpretieren. Die Benutzeroberfläche ist eine Komponente, die Benutzer interagiert mit dem Computer direkt, so dass sie zu kontrollieren und zu benutzen Programme. Die Benutzeroberfläche kann grafisch mit Symbolen und einem Desktop- oder textlichen, mit einer Kommandozeile . Application Programming Interfaces Dienstleistungsfreiheit und Code-Bibliotheken, die sich lassen Anwendungen Entwickler schreiben modularen Code wiederverwenden gut definiert Programmiersequenzen im User-Space-Bibliotheken oder im Betriebssystem . Welche Funktionen werden als Teil des Betriebssystems ist unterschiedlich in verschiedenen Betriebssystemen definiert. Zum Beispiel hält Microsoft Windows die Benutzeroberfläche, einen Teil des Betriebssystems sein, während viele Versionen von Linux nicht. [ Bearbeiten ] Geschichte OS/360 wurde auf den meisten IBM-Großrechner Beginn im Jahr 1966, darunter die Computer, die NASA hatte ein Mann auf dem Mond geholfen werden. Hauptartikel: Geschichte der Betriebssysteme In den frühen 1950er Jahren, könnte ein Computer nur ein Programm zu einem Zeitpunkt auszuführen. Jeder Nutzer die alleinige Nutzung des Computers und würde zu einem geplanten Zeitpunkt mit Programm und Daten auf gestanzt Papierkarten und Band kommen. Das Programm würde in die Maschine geladen werden, und die Maschine würde sich an die Arbeit, bis das Programm beendet oder abgestürzt ist. Programme könnten in der Regel über ein Frontpanel mit Kippschaltern und Bedienfeld leuchtet getestet werden. Es wird gesagt, dass Alan Turing -Maschine war ein Meister dieser am frühen Manchester Mark 1, und er war bereits im Zuge der primitiven Vorstellung von einem Betriebssystem von den Grundsätzen der universelle Turing-Maschine. [ Bearbeiten ] Später kamen Maschinen mit den Bibliotheken von Software , die Erzeugung und Ausgabe wäre in Verbindung mit einem Benutzer und dem Programm zur Unterstützung bei Operationen wie Eingabe Computer-Code von Menschen lesbaren symbolischen Code . Dies war die Entstehung des modernen Betriebssystems. Allerdings Maschinen noch lief einem einzigen Job zu einer Zeit. An der Universität Cambridge in England der Warteschlange Kleidung war auf einmal eine Wäscheleine, aus denen farbige Bänder hingen verschiedenen mit-Heringe Priorität angeben Job-. [ Bearbeiten ] [ Bearbeiten ] Mainframes Siehe auch: Geschichte der IBM-Mainframe-Betriebssystemen Durch den 1950er Jahren wurden viele wichtige Features Pionierarbeit auf dem Gebiet der Betriebssysteme, einschließlich Batch-Verarbeitung , Input / Output unterbrechen , Pufferung , Multitasking , Spooling , Laufzeitbibliotheken , Link-loading und Programme für Sortieren von Datensätzen in Dateien. Diese Features enthalten waren oder nicht in Anwendungssoftware nach Wahl der Anwendung Programmierer, anstatt in einem separaten Betriebssystem von allen Anwendungen verwendet werden. Im Jahre 1959 SHARE Betriebssystem wurde das freigesetzte als integriertes Werkzeug für IBM 704 und später in die 709 und 7090 Mainframes. In den 1960er Jahren von IBM OS/360 wurde das Konzept eines einzigen OS überspannt eine ganze Produktlinie, die Maschinen war entscheidend für den Erfolg des System/360. IBM 's aktuelle Mainframe-Betriebssysteme sind entfernte Nachkommen dieser ursprünglichen System und Anwendungen geschrieben für OS/360 noch Maschinen modern sein laufen. [ Bearbeiten ] In der Mitte der 70er Jahre, MVS ein Nachkomme von OS/360, angeboten, das erste [ Bearbeiten ] Umsetzung der Hilfe RAM als transparentes Cache für Daten . OS/360 auch Pionier bei der Konzeption, dass das Betriebssystem und verfolgt alle System-Ressourcen, die verwendet werden, einschließlich Programm und Daten Raumprogramm im Hauptspeicher und Dateibereich in sekundären Speicher, Sperren von Dateien während des Updates. Wenn der Prozess aus irgendeinem Grund beendet wird, sind alle diese Ressourcen wieder vom Betriebssystem beansprucht. Die Alternative CP-67 für die S/360-67 begann eine ganze Reihe von IBM-Betriebssystemen von konzentrierten sich auf das Konzept virtueller Maschinen . Andere Betriebssysteme Großrechner von IBM S/360 verwendet Serie aufgenommen Systeme IBM entwickelt von: COS/360 (Compatabililty Operating System), DOS/360 (Disk Operating System), TSS/360 (Time Sharing System), TOS/360 (Tape Operating System), BOS/360 (Basic Operating System) und ACP (Airline Control Program), sowie ein paar nicht-IBM-Systemen: MTS (Michigan Terminal System), Musik (Multi-User-System zur interaktiven Computing), und ORVYL (Stanford Timesharing System). Control Data Corporation entwickelt die SCOPE -Betriebssystem in den 1960er Jahren für die Stapelverarbeitung. In Zusammenarbeit mit der University of Minnesota, der KRONOS und später die NOS -Betriebssysteme wurden entwickelt Verwendung in den 1970er Jahren, Timesharing, die unterstützt simultane Batch-und. Wie viele kommerzielle Timesharing-Systeme, war seine Schnittstelle eine Verlängerung der Dartmouth BASIC-Betriebssysteme, eine der Pionierleistungen in Timesharing-und Programmiersprachen. In den späten 1970er Jahren, Daten und der University of Illinois entwickelt Control die PLATO -Betriebssystem, das Netzwerken verwendet Plasma-Panel-Displays und Langstrecken-Time-Sharing. Plato war bemerkenswert innovativ für seine Zeit, mit Echtzeit-Chat und Multi-User grafische Spiele. Burroughs Corporation führte das B5000 1961 mit dem MCP ( Master Control Program ) Betriebssystem. Der B5000 wurde ein Stack-Maschine entwickelt, um ausschließlich die Unterstützung Hochsprachen ohne Maschinensprache oder Assembler, und zwar der MCP war das erste OS sein Sprachniveau geschrieben ausschließlich in einem High-- ESPOL , ein Dialekt des ALGOL . MCP auch eingeführt viele andere bahnbrechende Innovationen, wie wird die erste kommerzielle Implementierung von virtuellem Speicher . Bei der Entwicklung des AS400 , IBM machte eine Annäherung an Burroughs zu lizenzieren MCP auf Hardware laufen auf der AS400. Dieser Vorschlag wurde abgelehnt Management von Burroughs, die Produktion zum Schutz ihrer vorhandenen Hardware. MCP ist noch heute im Einsatz in der Unisys ClearPath / MCP Linie von Computern. UNIVAC, der erste kommerzielle Computer-Hersteller, produziert eine Reihe von EXEC-Betriebssystemen. Wie alle frühen Mainframe-Systeme, war dies eine Batch-orientierten System, das magnetische Trommeln, Scheiben, Kartenlesegeräten und Zeilendrucker verwaltet. In den 1970er Jahren produzierte UNIVAC die Real-Time Basic (RTB) System zu großen Time-Sharing, auch nach der Dartmouth BC System strukturiert zu unterstützen. General Electric und dem MIT entwickelt General Electric Comprehensive Operating Supervisor (GECOS), die das Konzept der Sicherheit beringt Privileg Ebenen eingeführt. Nach der Übernahme von Honeywell wurde es umbenannt General Umfassende Betriebssystem (GCOS). Digital Equipment Corporation entwickelt vielen Betriebssystemen für seine verschiedenen Computer-Linien, darunter TOPS-10 und TOPS-20 Time-Sharing-Systeme für die 36-Bit-PDP-10-Klasse-Systeme. Vor dem weit verbreiteten Einsatz von UNIX, TOPS-10 war eine besonders beliebte System in Universitäten und in den frühen ARPANET Gemeinde. In den späten 1960er bis in die späten 1970er Jahre entwickelte sich mehrere Hardware-Funktionen, erlaubt ähnlich oder portierte Software auf mehr als einem System ausgeführt werden. Frühe Systeme genutzt hatte, um Mikroprogrammierung Features auf ihre Systeme zu implementieren, um unterschiedliche zugrunde liegende Architektur zu ermöglichen, erscheint das gleiche wie andere in einer langen Reihe. In der Tat die meisten 360er nach dem 360/40 (außer 360/165 und 360/168) wurden mikroprogrammierte Implementierungen. Doch schon bald andere Mittel zur Erreichung der Anwendungskompatibilität wurden nachweislich mehr an Bedeutung. Die enormen Investitionen in Software für diese Systeme seit 1960 gemacht verursacht die meisten der ursprünglichen Computer-Hersteller weiterhin kompatible Betriebssysteme zusammen mit der Hardware zu entwickeln. Die bemerkenswerte unterstützt Mainframe-Betriebssysteme umfassen: Burroughs MCP - B5000 , 1961 bis Unisys Clearpath / MCP, zu präsentieren. IBM OS/360 - IBM System/360 , 1966 auf IBM z / OS , zu präsentieren. IBM CP-67 - IBM System/360 , 1967 auf IBM z / VM , zu präsentieren. UNIVAC Exec 8 - UNIVAC 1108 , 1967, zu OS 2200 Unisys Clearpath Dorado, zu präsentieren. [ Bearbeiten ] Microcomputer Dieser Abschnitt gilt nicht nennen alle Hinweise oder Quellen . Bitte helfen Sie diesen Artikel zu verbessern , indem Zitierungen auf zuverlässige Quellen . Unsourced Material kann angefochten und beseitigt . (Juli 2010) PC-DOS war ein früher Personal Computer-Betriebssystem, das eine Kommandozeilen-Schnittstelle vorgestellt. Mac OS von Apple Computers wurde der erste weit verbreitete Betriebssystem zu Schnittstelle verfügen über eine grafische Benutzeroberfläche. Viele seiner Funktionen wie Fenster und Symbole später alltäglich geworden in GUIs. Der erste Mikrocomputer nicht über die Fähigkeit oder Notwendigkeit der aufwändigen Betriebssysteme und Großrechner Minis entwickelt worden für, minimalistisch-Betriebssysteme entwickelt wurden, oft aus geladen ROM und bekannt als Monitore. Eine bemerkenswerte frühe Disk-basierte Betriebssystem wurde CP / M , die Mikrocomputer früh wurde unterstützt von vielen und war eng in nachgeahmt MS-DOS , das wurde sehr populär, die als operativer für System gewählt IBM PC (IBM Version hieß es IBM DOS-oder PC-DOS ), Nachfolger macht seine Microsoft . In den 80er Jahren Apple Computer Inc. (jetzt Apple Inc. ) aufgegeben seiner beliebten Apple II Serie von Mikrocomputern, die Einführung Apple Macintosh Computer mit einem innovativen Graphical User Interface (GUI), die Mac OS . Die Einführung des Intel 80386 CPU -Chip mit 32-Bit- Architektur und Paging -Funktionen, sofern PCs mit der Fähigkeit zu laufen Multitasking -Betriebssysteme wie jene der früheren Minicomputer und Mainframes . Microsoft reagierte auf diese Fortschritte durch die Einstellung Dave Cutler , der entwickelt hatte VMS -Betriebssystem für Digital Equipment Corporation . Er würde die Entwicklung des Windows NT -Betriebssystem, das. weiter Systeme dienen als Basis für die Microsoft-Betriebssystemen Linie Steve Jobs , Mitbegründer von Apple Inc. , begann NeXT Computer Inc., die die entwickelten Unix-artigen NEXTSTEP Betriebssystem. NEXTSTEP später erworben werden von Apple Inc. und verwendet werden, zusammen mit Code von FreeBSD als Kern von Mac OS X. Das GNU-Projekt wurde gestartet von Programmierer und Aktivist Richard Stallman mit dem Ziel, eine komplette freie Software Ersatz für das proprietäre UNIX -Betriebssystem. Während das Projekt war sehr erfolgreich in duplizieren die Funktionalität der verschiedenen Teile von UNIX, die Entwicklung des GNU Hurd -Kernel erwies sich als unproduktiv. Im Jahr 1991 finnische Informatikstudent Linus Torvalds mit der Zusammenarbeit von Freiwilligen über das Internet zusammenarbeiten, freigegeben, die erste Version des Linux-Kernels . Es war bald GNU fusionierte mit dem User-Space -Komponenten und System-Software auf System bilden ein komplettes Betriebssystem. Seitdem Kombination der beiden Hauptkomponenten hat die in der Regel nach "gewesen, als einfach" Linux von der Software-Industrie, eine Namenskonvention, dass Stallman und die Free Software Foundation Gegensatz zu bleiben, lieber den Namen GNU / Linux. Die Berkeley Software Distribution, bekannt als BSD ist das Unix-Derivat Berkeley verteilt von der University of California, beginnend in den 1970er Jahren. Frei verteilt und portiert auf viele Minicomputer, es schließlich auch gewann nach für den Einsatz auf PCs, vor allem als FreeBSD , NetBSD und OpenBSD . [ Bearbeiten ] Beispiele von Betriebssystemen [ Bearbeiten ] Microsoft Windows Windows 7 , hier dargestellt, ist die neueste Version von Windows. Microsoft Windows ist eine Familie von proprietären Betriebssystemen meist auf Computern verwendet persönlich. Es ist die häufigste Familie von Betriebssystemen für PCs, mit etwa 90% des Marktanteils. [5] [6] [7] Derzeit am weitesten verbreitete Version des Windows-Familie ist die Windows XP , [8] veröffentlicht am 25. Oktober 2001. Die neueste Version ist Windows 7 für PCs und Windows Server 2008 R2 für Server. Microsoft Windows als ursprünglich im Jahr 1981 ein Add-on zu den älteren MS-DOS- Betriebssystem für den IBM PC . Zuerst 1985 erschienen in öffentlich, kam Windows auf Computern dominieren die Business-Welt von persönlichen, und ging auf [Set eine Reihe von Industrie-Standards und-Anwendungen üblich POV? - Diskutieren ]. Beginnend mit Windows XP , moderne Versionen sind alle auf Basis von Windows NT -Kernel. Aktuelle Versionen von Windows auf "Ausführen" IA-32 und x86-64 Prozessoren, obwohl ältere Versionen manchmal andere Architekturen unterstützt. Windows ist auch auf Servern eingesetzt und unterstützt Anwendungen wie Web-Server und Datenbank-Servern . In den letzten Jahren hat Microsoft Geld ausgegeben signifikante Marketing und Forschung & Entwicklung zu demonstrieren, dass Windows das ist lauffähig jedes Unternehmen Anwendung finden (was hat dazu geführt, konsequente Preis-Leistungs-Aufzeichnungen TPC ) und signifikanten Abnahme in den Enterprise-Markt. Allerdings Einsatz in Servern ist die nicht so verbreitet wie Personal Computer, und hier Windows aktiv konkurriert gegen Linux und BSD um Marktanteile, während noch der Aufnahme eines stetigen Mehrheit von einigen Konten. [9] [10] [ Bearbeiten ] Unix und Unix-artigen Betriebssystemen Evolution von Unix -Systemen Hauptartikel: Unix Ken Thompson schrieb B , die hauptsächlich auf Basis BCPL , die er verwendet, um die Unix schreiben, basierend auf seiner Erfahrung im MULTICS Projekt. B wurde ersetzt durch C und Unix entwickelte sich zu einem großen, komplexen Familie von miteinander verbundenen Betriebssysteme, die einflussreiche wurden in jedem modernen Betriebssystem (siehe Geschichte ). Die Unix-ähnlichen Familie ist eine Gruppe von unterschiedlichen Betriebssystemen, mit mehreren großen Sub-Kategorien, einschließlich System V , BSD und GNU / Linux . Der Name " UNIX "ist ein Warenzeichen von The Open Group , die sie Lizenzen für die Verwendung mit jedem Betriebssystem, das gezeigt hat, wurden die Definitionen entsprechen ihre. "Unix-like" wird häufig verwendet, um die große Anzahl von Betriebssystemen, die dem ursprünglichen Unix-ähnlich zu verweisen. Unix-ähnlichen Systemen auf eine Vielzahl von Rechnerarchitekturen laufen. Sie sind für stark genutzt Servern in Unternehmen, sowie Arbeitsplätze in der akademischen und Engineering-Umgebungen. Free Unix-Varianten wie GNU / Linux und BSD sind Bereiche beliebt in diesen. Einige Unix-Varianten wie HP HP-UX und IBM AIX sind entworfen, um nur ausführen, diesem Hersteller der Hardware. Andere, wie Solaris , kann auch laufen auf mehreren Arten von Hardware, x86 -Servern und PCs. Apple Mac OS X , ein Hybrid-Kernel -basierte Variante von BSD abgeleitete NeXTSTEP , Mach und FreeBSD , OS hat Apple ersetzt die früheren (Nicht-Unix) Mac. Unix war der Interoperabilität angestrebt durch die Schaffung POSIX -Standard. Der POSIX-Standard können auf jedem Betriebssystem angewendet werden, obwohl es ursprünglich für verschiedene Unix-Varianten erstellt. [ Bearbeiten ] BSD und seine Nachkommen Der erste Server für die World Wide Web lief auf NeXTSTEP, bezogen auf BSD. Hauptartikel: Berkeley Software Distribution Eine Untergruppe der Unix-Familie ist die Berkeley Software Distribution -Familie, die auch FreeBSD , NetBSD und OpenBSD . Diese Betriebssysteme werden am häufigsten gefunden auf Webservern , obwohl sie OS können Computer auch als eine persönliche. Das Internet verdankt seine Existenz BSD, da viele der Protokolle nun allgemein von Computern benutzt, um in Verbindung zu treten, senden und empfangen Daten über ein Netzwerk waren weit umgesetzt und verfeinert in BSD. Das World Wide Web war auch zuerst genannt demonstriert in einer Reihe von Computern unter einem Betriebssystem basiert auf BSD NextStep . BSD hat seine Wurzeln im Unix. Im Jahr 1974 University of California, Berkeley installiert seine erste Unix-System. Im Laufe der Zeit, Studenten und Mitarbeiter in der Informatik-Abteilung dort begann das Hinzufügen neuer Programme, die Dinge einfacher, wie Text-Editoren. Wenn Berkely erhielt VAX -Computer 1978 mit Unix installiert, der Schule Studenten geändert Unix noch mehr Möglichkeiten, um die Vorteile der Hardware des Computers. Die Defense Advanced Research Projects Agency des US Department of Defense hat Interesse und beschloss, das Projekt zu finanzieren. Viele Schulen, Unternehmen und staatliche Organisationen zur Kenntnis genommen und begann stattdessen Berkeley Unix-Version der offizielle T. verteilt von AT & Steve Jobs , beim Verlassen Apple Inc. im Jahr 1985 gebildet NeXT Inc. , ein Unternehmen, das Ende hergestellten High- Computern, die auf eine Variante des BSD genannt NeXTSTEP . Einer dieser Computer verwendet wurde von Tim Berners-Lee als der erste Webserver Web zu erstellen das World Wide. Entwickler wie Keith Bostic ermutigt das Projekt Labs ersetzt keine nicht-freien Code Bell, dass ursprünglich mit. Sobald dies geschehen war, aber verklagt AT & T. Schließlich, nach zwei Jahren von Rechtsstreitigkeiten, BSD-Projekt kam der nach vorne und brachte eine Reihe von kostenlosen Derivate wie FreeBSD und NetBSD . In diesem zweiteiligen Jahr warten, GNU und Linux erschienen. [ Bearbeiten ] Mac OS X Die Standard-Benutzeroberfläche von Mac OS X Hauptartikel: Mac OS X Mac OS X ist eine Reihe von teilweise proprietären grafischen Betriebssystemen entwickelt, vermarktet und verkauft von Apple Inc. , von denen die letzte Versand ist vorinstalliert auf alle derzeit Macintosh -Computern. Mac OS X ist der Nachfolger des Original Mac OS , die 1984 Betriebssystem hatte Apple das primäre System seit. Anders als sein Vorgänger, OS X ist Mac ein UNIX -Betriebssystem-Technologie auf, die entwickelt wurde um hatte NeXT durch die zweite Hälfte der 1980er Jahre und bis Apple kaufte das Unternehmen Anfang 1997. Das Betriebssystem wurde zuerst als im Jahr 1999 veröffentlicht Mac OS X Server 1.0 mit einem Desktop-orientierte Version ( Mac OS X v10.0 ) nach März 2001. Seitdem deutlicher "Client" und "Server"-Editionen von Mac OS X haben sechs freigegeben worden, die jüngsten aus Mac OS X 10.6 , die gemacht wurde erstmals auf 28. August 2009. Releases von Mac OS X sind benannt nach Raubkatzen , die aktuelle Version von Mac OS X ist "Snow Leopard". Die Server Edition, Mac OS X Server , ist architektonisch identisch mit seinem Desktop-Pendant, aber normalerweise läuft auf Apple Macintosh-Linie von Server -Hardware. Mac OS X Server umfasst Arbeitsgruppe Verwaltung und Administration Software-Werkzeuge, Schlüssel zu bieten vereinfachten Zugang Netzdienste , darunter ein Mail Transfer Agent , ein Samba-Server , ein LDAP -Server, einen Domain Name Server und andere. [ Bearbeiten ] Plan 9 Ken Thompson , Dennis Ritchie und Douglas McIlroy bei Bell Labs konzipiert und entwickelt die Programmiersprache C auf Unix-Aufbau des Betriebssystems. Programmierer bei Bell Labs ging zu entwickeln Plan 9 und Inferno , die Umgebungen verteilt wurden entwickelt für die moderne. Plan 9 wurde von Anfang an entworfen, um ein vernetztes Betriebssystem, und hatte Grafiken eingebaut, im Gegensatz zu Unix, die diese Funktionen auf die Gestaltung später hinzugefügt. Es ist derzeit die Freigabe unter Lucent Public License . Inferno wurde verkauft Vita Nuova Holdings und MIT-Lizenz veröffentlicht unter der GPL /. [ Bearbeiten ] Linux und GNU Hauptartikel: GNU , Linux und Linux-Kernel Ubuntu , einer gemeinsamen Desktop- Linux-Distribution Linux (oder GNU / Linux ) ist ein Unix-ähnliches Betriebssystem, das auf Uhren Supercomputer verwendet werden kann für eine breite Palette von Geräten. Der Linux-Kernel -Lizenz Quelle freigesetzt wird unter einer Open, so dass jeder sie lesen und ändern ihren Code. Es wurde geändert, um auf eine Vielzahl von Elektronik führen. Obwohl Schätzungen zufolge Linux ist auf Computern verwendet nur 0,5-2% aller persönlichen, [7] Es wurde weithin angenommen Server für den Einsatz in [11] und eingebettete Systeme [12] (z. B. Handys). Linux hat ersetzte Unix in den meisten Orten [ welche? ] und ist weltweit im Einsatz auf den 10 leistungsstärksten Supercomputer in der. [13] Der Linux Kernel ist Ubuntu verwendet in einigen Distributionen, wie und Google 's Android . Das GNU-Projekt ist eine Zusammenarbeit der Masse an Programmierer, die eine völlig freie und offene Betriebssystem, das Unix ähnlich war, aber mit völlig originalen Code erstellen zu suchen. Es wurde von begann 1983 Richard Stallman , und ist verantwortlich für viele der Teile der meisten Linux-Varianten. Aus diesem Grund einige behaupten, dass das kombinierte Produkt des Linux-Kernels und der GNU-Software Kollektion ist mehr korrekt aufgerufen GNU / Linux . Tausende Teile der Software für nahezu jedes Betriebssystem sind die lizensiert unter GNU General Public License . Unterdessen begann der Linux-Kernel als Nebenprojekt von Linus Torvalds , ein Student aus Finnland. Im Jahr 1991 begann Torvalds Arbeit auf, und veröffentlichten Informationen über sein Projekt auf eine Newsgroup für Computer Studenten und Programmierer. Er erhielt eine Welle der Unterstützung und Freiwilligen, die bis Ende Schaffung eines vollwertigen Kernel. Programmierer von GNU zur Kenntnis genommen, und die Mitglieder beider Projekte arbeitete bis zum fertigen GNU Teile mit den Linux-Kernel zu integrieren, um ein vollwertiges Betriebssystem zu erstellen. [ Bearbeiten ] Google Chrome OS Beta-Version von Google Chrome OS Hauptartikel: Google Chrome OS Chrome ist ein Betriebssystem-Kernel basieren auf dem Linux-und gestaltet von Google . Chrome Ziele Computerbenutzer, die Zeit verbringen die meiste auf dem Internet-ist es technisch nur einen Web-Browser ohne dass andere Anwendungen, und setzt auf Internet-Anwendungen verwendeten Browser im Web zu betrachten erreichen Aufgaben wie Textverarbeitung und Medien. [ Bearbeiten ] Sonstige Ältere Betriebssysteme, die Nische Märkte sind immer noch verwendet gehören OS / 2 von IBM und Microsoft, Mac OS , die Nicht-Unix-Vorläufer zu Apples Mac OS X; BeOS ; XTS-300 . Einige, vor allem Haiku , RISC OS , MorphOS , AmigaOS 4 und FreeMiNT weiterhin Anwendungen Spezialist entwickelt werden als Minderheit Plattformen für Enthusiasten und Gemeinden. OpenVMS früher von Dezember ist noch in aktiver Entwicklung von Hewlett-Packard . Doch andere Betriebssysteme sind fast ausschließlich in der akademischen Welt verwendet, Betriebssysteme oder Bildung, die Forschung über Betriebssystem-Konzepte zu tun. Ein typisches Beispiel für ein System, das Rollen erfüllt beide ist MINIX , während zum Beispiel Singularity ist die Forschung verwendet rein. [ Bearbeiten ] Komponenten Die Komponenten eines Betriebssystems alle vorhanden sein, um die verschiedenen Teile eines Computers zusammenarbeiten zu machen. Alle Software-Datenbanken aus finanziellen Filmeditoren-muss über das Betriebssystem zu gehen, um einen der Hardware verwenden, ob es so einfach wie eine Maus oder Tastatur oder komplex wie eine Internet-Verbindung sein. [ Bearbeiten ] User Interface Ein Screenshot der Bourne Again Shell Befehlszeile. Jeder Befehl wird nach der "Eingabeaufforderung" eingegeben, und dann die Ausgabe erscheint unten arbeitet sich unten über das Display. Die aktuelle Eingabeaufforderung ist an der Unterseite. Ein Screenshot der KDE grafische Benutzeroberfläche. Programme in Form von Bildern auf dem Bildschirm, und die Dateien, Ordnern und Anwendungen in Form von Symbolen und Zeichen. Eine Maus wird verwendet, um den Computer zu navigieren. Hauptartikel: Benutzeroberfläche Jeder Computer, der irgendeine Art von menschlichen Eingang empfängt braucht eine Benutzeroberfläche, die eine Person mit dem Computer interagieren können. Während Geräte wie Tastaturen, Mäuse und Touchscreens bilden die Hardware Ende dieser Aufgabe stellt die Benutzeroberfläche der Software für sie. Die beiden häufigsten Formen der Benutzerschnittstelle ist historisch gewesen Command-Line Interface , wo Computer Befehle-line eingegeben werden, die Linie durch, und die Grafische Benutzeroberfläche , wo eine visuelle Umgebung (meist mit Fenstern, Schaltflächen und Symbole ) vorhanden ist. [ Bearbeiten ] Grafische Benutzeroberflächen Die meisten modernen Computer-Systeme unterstützen grafische Benutzeroberflächen (GUI), und oft sind sie. In einigen Computersystemen, wie die ursprüngliche Implementierung von Mac OS , GUI ist die Integration in Kernel . Während technisch eine grafische Benutzeroberfläche ist nicht ein Betriebssystem-Service, einschließlich Unterstützung für einen in den Kernel des Betriebssystems kann damit die GUI besser reagieren, indem die Anzahl der Kontextwechsel erforderlich für die GUI-Funktionen ausführen seinen Ausgang. Andere Betriebssysteme sind modular und trennt das Grafik-Subsystem des Kernels und des Betriebssystems. In den 1980er Jahren UNIX, VMS und viele andere hatten Betriebssystemen, die auf diese Weise gebaut wurden. GNU / Linux und Mac OS X auch auf diese Weise gebaut. Moderne Versionen von Microsoft Windows wie Windows Vista Umsetzung eines Grafik-Subsystem, dass der Raum ist vor allem in Benutzer-, aber die Grafik Zeichenroutinen Versionen zwischen Windows NT 4.0 und Windows Server 2003 gibt es meist im Kernel-Space. Windows 9x hatte sehr wenig Unterschied zwischen den Schnittstelle und dem Kernel. Viele Computer-Betriebssysteme ermöglichen dem Anwender zu installieren oder eine beliebige Oberfläche sie sich wünschen. Das X Window-System in Verbindung mit GNOME oder KDE ist eine allgemein gefunden Setup auf den meisten Unix-und Unix-ähnliche (BSD, GNU / Linux, Solaris) Systeme. Eine Reihe von Windows-Shell Ersatz haben die mitgelieferte erschienen für Microsoft Windows zu, die Alternativen anbieten, Windows-Shell , aber die Shell selbst kann nicht von Windows getrennt werden. Zahlreiche Unix-basierte GUIs haben im Laufe der Zeit, am meisten von X11 abgeleitet existierte. Der Wettbewerb unter den verschiedenen Anbietern von Unix (HP, IBM, Sun) führte zu viel Zersplitterung, obwohl dem Bemühen, die Standardisierung in den 1990er Jahren COSE und CDE scheiterte aus verschiedenen Gründen, und wurden schließlich von KDE Schatten der weit verbreiteten Annahme von GNOME und. Vor freier Software basierende Toolkits und Desktop-Umgebungen, war das vorherrschende Motiv Toolkit / Desktop Kombination (und war die Grundlage, auf der CDE entwickelt wurde). Grafische Benutzeroberflächen Laufe der Zeit weiterentwickeln. Zum Beispiel hat der Windows-Benutzeroberfläche geändert seinem Benutzer fast jedes Mal eine neue Major-Version von Windows freigegeben wird, und das Mac OS GUI dramatisch verändert mit der Einführung von Mac OS X im Jahr 1999. [14] [ edit ] Kernel Ein Kernel verbindet die Anwendungssoftware, um die Hardware eines Computers. Hauptartikel: Kernel (Computing) Mit Hilfe der Firmware und Gerätetreiber , Betriebssystem bietet die grundlegenden Maß an Kontrolle über alle Computer-Hardware-Geräte. Es verwaltet den Speicher für Programme in den Arbeitsspeicher , bestimmt sie, welche Programme Ressourcen erhalten Zugriff auf die Hardware, es stellt oder setzt die CPU-Betriebszustände für einen optimalen Betrieb zu allen Zeiten, und es organisiert die Daten für die langfristige nichtflüchtigen Speicher mit Dateisysteme auf Medien wie Disketten, Kassetten, Flash-Speicher, etc. [ Bearbeiten ] Programmausführung Hauptartikel: Process (Computing) Das Betriebssystem fungiert als Schnittstelle zwischen einer Anwendung und der Hardware. Der Benutzer interagiert mit der Hardware aus der "anderen Seite". Das Betriebssystem ist eine Reihe von Diensten, die Entwicklung von Anwendungen vereinfacht. Ausführen eines Programms beinhaltet die Schaffung eines Verfahrens durch das Betriebssystem. Der Kernel erstellt einen Prozess durch die Zuordnung Speicher und andere Ressourcen, zur Schaffung einer Priorität für den Prozess (in Multi-Tasking-Systeme), Be-Programmcode in den Speicher und der Ausführung des Programms. Das Programm interagiert mit dem Benutzer und / oder anderen Geräten und führt seine vorgesehene Funktion. [ Bearbeiten ] Unterbricht Hauptartikel: Interrupt Interrupts sind von zentraler Bedeutung für Betriebssysteme, wie sie Umwelt bieten eine effiziente Möglichkeit für das Betriebssystem interagieren, um mit und reagieren auf ihre. Die Alternative - unter dem Betriebssystem "sehen" die verschiedenen Quellen der Eingang für Veranstaltungen (Polling), die ein Eingreifen erforderlich machen - kleine sehr gefunden werden können in älteren Systemen Stacks (50 oder 60 Byte) sind aber ungewöhnlich Stacks in modernen Systemen mit großen. Interrupt -Programmierung ist direkt CPUs unterstützt durch modernste. Unterbricht ein Computer mit einer Art automatische Speichern lokalen Kontexten Register und Ausführen spezifischer Code als Reaktion auf Ereignisse. Auch ganz einfache Computer unterstützen Hardware-Interrupts und erlauben dem Programmierer, die Code ausführen, wenn das Ereignis stattfindet kann angeben. Wenn ein Interrupt empfangen wird, die Hardware des Computers automatisch unterbricht, was Programm ist derzeit läuft, spart seinen Status und läuft Computer-Code zuvor mit dem Interrupt zugeordnet, das ist analog zu platzieren ein Lesezeichen in einem Buch als Antwort auf einen Anruf. In modernen Betriebssystemen werden Interrupts behandelt's durch das Betriebssystem -Kernel . Interrupts können entweder die Hardware des Computers oder aus dem laufenden Programm kommen. Wenn ein Hardware-Gerät einen Interrupt auslöst, entscheidet das Betriebssystem-Kernel, wie man mit dieser Veranstaltung befassen, in der Regel, indem Sie einige Verarbeitung Code. Die Menge an Code ausgeführt, hängt von der Priorität der Unterbrechung (zum Beispiel: eine Person in der Regel reagiert auf ein Rauchmelder Alarm bevor Sie ans Telefon). Die Bearbeitung von Hardware-Interrupts, ist eine Aufgabe, die Software heißt in der Regel delegiert Gerätetreiber , die beide oder kann entweder Bestandteil des Betriebssystems Kernel, einen Teil eines anderen Programms. Gerätetreiber können dann Relais Informationen zu einem laufenden Programm mit verschiedenen Mitteln. Diese Programme können auch einen Interrupt auslösen, um das Betriebssystem. Wenn ein Programm will zum Beispiel Hardware zugreifen, kann es zu unterbrechen das Betriebssystem-Kernel, die Kontrolle wieder an den Kernel übergeben werden Ursachen. Der Kernel wird dann den Antrag. Wenn ein Programm wünscht zusätzliche Ressourcen (oder will Ressourcen Schuppen) wie Speicher, wird es einen Interrupt auslösen, um den Kernel Aufmerksamkeit zu bekommen. [ Bearbeiten ] Modi Hauptartikel: Protected Mode und Supervisor-Modus Privilege Ringe für die x86 verfügbar in geschützten Modus . Betriebssysteme ermitteln, welche Prozesse in jedem Modus. Moderne CPUs unterstützen mehrere Betriebsmodi. CPUs mit dieser Fähigkeit Gebrauch mindestens zwei Modi: Protected Mode und Supervisor-Modus . Der Supervisor-Modus wird durch das Betriebssystem Kernel für niedrige Aufgaben, die uneingeschränkten Zugriff auf Hardware benötigen, wie die Kontrolle, wie das Gedächtnis geschrieben und gelöscht, und die Kommunikation mit Geräten wie Grafikkarten verwendet. Protected Mode dagegen ist für fast alles verwendet. Anwendungen arbeiten in geschützten Modus, und kann nur mit Hardware durch Kommunikation mit dem Kernel, welcher Modus steuert alles Vorgesetzten. CPUs könnte Modi anderen Modi ähnlich geschützten Modus als auch, wie die virtuelle um, emulieren älteren Prozessor-Typen wie als 16-Bit-Prozessoren auf einem 32-Bit ein, oder 32-Bit-Prozessoren auf einem 64-Bit ein. Wenn ein Computer zum ersten Mal startet, wird es automatisch läuft in Supervisor-Modus . Die ersten Programme laufen auf dem Computer, wobei die BIOS , Bootloader und das Betriebssystem haben uneingeschränkten Zugriff auf Hardware - und das ist Definition erforderlich, da durch, die Initialisierung einer geschützten Umgebung kann nur einer sein, die außerhalb. Allerdings, wenn das Betriebssystem die Steuerung an ein anderes Programm, kann es in Platz der CPU geschützten Modus . Im geschützten Modus können Programme haben Zugriff auf eine begrenzte Anzahl der CPU zu beachten. Ein Benutzer kann Programm verlassen Modus geschützt nur durch das Auslösen eines Interrupts, wodurch die Kontrolle zu übergeben zurück Kernel . Auf diese Weise kann das Betriebssystem beibehalten ausschließliche Kontrolle über Dinge wie den Zugriff auf Hardware und Speicher. Der Begriff "geschützten Modus Ressource" bezieht sich allgemein auf einem oder mehreren CPU-Register, die Informationen, die das laufende Programm nicht erlaubt ist, zu verändern enthalten. Versuche, diese Ressourcen zu verändern in der Regel bewirkt eine Umstellung auf Supervisor-Modus, wo das Betriebssystem mit dem illegalen Betrieb des Programms versucht (z. B. durch das Töten des Programms) tätig war. [ Bearbeiten ] Memory Management Hauptartikel: Memory Management Unter anderem eine Multiprogramming Betriebssystem -Kernel muss die Verantwortung für die Verwaltung aller System-Speicher, welche Programme derzeit in Gebrauch. Dies gewährleistet, dass ein Programm nicht mit Speicher bereits von einem anderen Programm verwendet stören. Da Programme abzurufen, muss jedes Programm haben einen unabhängigen Zugang zum Speicher. Kooperative Speicherverwaltung, eingesetzt von vielen frühen Betrieb setzt voraus, dass alle Programme die freiwillige Verwendung von Kernel 's Speicher-Manager, und überschreiten nicht die ihnen zugewiesenen Speicher. Dieses System der Speicherverwaltung ist fast nie mehr gesehen, da Programme oft Fehler, die Ursache, ihre zugewiesenen Speicher überschreiten enthalten kann. Wenn ein Programm abstürzt, kann es zu Speicher von einem oder mehreren anderen Programmen verwendet werden betroffen oder überschrieben werden. Schadprogramme oder Viren können gezielt verändern anderes Programm den Speicher, oder kann der Betrieb das Betriebssystem selbst zu beeinflussen. Mit kooperativen Speicherverwaltung, dauert es nur eine schlecht benommen Programm, um das System zum Absturz bringen. Speicherschutz ermöglicht dem Kernel in den Speicher eines Prozesses beschränken den Zugang zu den Computer. Verschiedene Methoden der Speicherschutz vorhanden sind, einschließlich Speicher-Segmentierung und Paging . Alle Methoden erfordern ein gewisses Maß an Hardware-Unterstützung (wie die 80286 MMU), die alle nicht-Computern nicht existieren. In beiden Segmentierung und Paging, bestimmte geschützte Modus registriert Zugang angeben, um die CPU was zu Speicheradresse Programm sollte es ermöglichen eine laufende. Versuche, Adressen Zugriff auf andere löst einen Interrupt die Kraft bewirkt, dass der CPU wieder Supervisor-Modus , indem die Kernel- Verantwortlichen. Dies nennt man einen segmentation violation oder Seg-V für kurze, und da ist es schwierig, sowohl den Betrieb mit einem aussagekräftigen Ergebnis zu einer solchen, und weil es in der Regel ist ein Zeichen der abgestürzten Programms, der Kernel wird im Allgemeinen auf Beendigung der säumige Programm und meldet den Fehler. Windows 3.1-Me war ein gewisses Maß an Schutz Speicher, sondern Programme könnten leicht umgehen die Notwendigkeit, es zu benutzen. Eine allgemeine Schutzverletzung ohnehin produziert werden was eine Segmentierung Verletzung eingetreten war, jedoch würde das System zum Absturz oft. [ Bearbeiten ] Virtueller Speicher Hauptartikel: Virtueller Speicher Weitere Informationen: Seitenfehler Viele Betriebssysteme können "Trick"-Programme in Verwendung Speicher auf der ganzen Festplatte und RAM, als ob es einer kontinuierlichen Speicherbereich verstreut, genannt virtuellen Speicher. Die Nutzung des virtuellen Speichers Adressierung (wie Paging oder Segmentierung) bedeutet, dass der Kernel auswählen können, was Speicher jedes Programm kann jederzeit nutzen, so dass das Betriebssystem auf der gleichen Speicherplätze für verschiedene Aufgaben verwendet werden. Falls ein Programm versucht, Speicher, der nicht in seiner derzeitigen Palette von Internet-Speicher zugreifen, aber dennoch hat sie zugewiesen wurde, wird der Kernel in der gleichen Weise unterbrochen werden, wie es wäre, wenn das Programm waren, ihre zugewiesenen Speicher nicht überschreiten. (Siehe Abschnitt über Memory-Management.) Unter UNIX diese Art der Unterbrechung ist ein nach wie Fehler durch Seite . Wenn der Kernel eine Seite Fehler erkennt, wird in der Regel einfach die virtuelle Speicherbereich des Programms, die es ausgelöst wird, gewährt es Zugriff auf den Speicher angefordert. Dies gibt der Kernel Ermessensspielraum darüber, wo eine bestimmte Anwendung gespeichert wird, oder sogar, ob sie tatsächlich noch nicht zugeteilt. In modernen Betriebssystemen können Speicher, die weniger häufig zugegriffen wird vorübergehend auf der Festplatte oder anderen Medien gespeichert werden, um die verfügbare Fläche für die Nutzung durch andere Programme. Dies wird als Swapping , als ein Raum der Erinnerung mehrere Programme verwendet werden kann, und was die Nachfrage Speicherbereich enthält getauscht werden kann oder ausgetauscht. [ Bearbeiten ] Multitasking Hauptartikel: Computer Multitasking und Process-Management (EDV) Weitere Informationen: Context Switch , Preemptive Multitasking und Kooperatives Multitasking Multitasking bezieht sich auf den Betrieb von mehreren unabhängigen Computer-Programme auf dem gleichen Computer, geben den Anschein, dass es der Erfüllung der Aufgaben zur gleichen Zeit. Da die meisten Computer kann höchstens ein oder zwei Dinge auf einmal tun, ist dies in der Regel über Time-Sharing, was bedeutet, dass jedes Programm einen Teil der Computer-Zeit zur Ausführung verwendet Mitteln erfolgen. Ein Betriebssystem -Kernel enthält eine Software namens Scheduler , welche Programme bestimmt, wie viel Zeit die einzelnen Programme verbringen ausgeführt wird, und in welcher Reihenfolge der Ausführung kontrollieren zu übergeben sollte. Control ist das dann in einem Prozess vom Kernel, dem erlaubt das Programm Zugriff CPU und Speicher. Später wird die Steuerung an die Kernel durch einen Mechanismus zurück, so dass ein anderes Programm erlaubt können, um die CPU zu nutzen. Diese sogenannte Weitergabe der Kontrolle zwischen dem Kernel und Applikationen ist ein namens Context-Switch . Ein frühes Modell, welche Programme regiert die Zuweisung von Zeit zu hieß kooperatives Multitasking . In diesem Modell, wenn die Kontrolle auf ein Programm wird durch den Kernel übergeben, kann es so lange, wie es will, bevor ausdrücklich Rückkehr Kontrolle an den Kernel auszuführen. Dies bedeutet, dass ein böswilliger oder Fehlfunktion Programm kann nicht nur verhindern, dass andere Programme verwenden, die CPU, aber es kann System aufhängen die gesamte wenn es ein betritt Endlosschleife . Moderne Betriebssysteme erweitern die Konzepte der Anwendung Vorkaufsrecht auf Gerätetreiber und Kernel-Code, so dass das Betriebssystem präventive Kontrolle über interne Laufzeiten hat auch. Die Philosophie über präemptiven Multitasking ist die Gewährleistung, dass alle Programme die CPU gegeben regulären Spielzeit auf. Dies bedeutet, dass alle Programme in wie viel Zeit dürfen sie auf der CPU ohne unterbrochen zu verbringen muss begrenzt werden. Um dies zu erreichen, stellen moderne Betriebssystem-Kernel Verwendung einer Zeitüberschreitung zu unterbrechen. Ein geschützter Modus Timer abgelaufen ist festgelegt durch den Kernel Supervisor, die Auslöser einer Rückkehr in den Energiesparmodus nach der angegebenen Zeit. (Oben Abschnitte auf Interrupts und Dual-Mode-Betrieb zu sehen.) Auf vielen Single-User-Betriebssysteme kooperatives Multitasking ist vollkommen ausreichend, da Heimcomputer in der Regel Programme laufen eine kleine Zahl von gut getestet. Windows NT wurde die erste Version von Microsoft Windows , die präventiv durchgesetzt Multitasking, aber es erreichte nicht den Heimanwender-Markt bis Windows XP (seit Windows NT an Fachleute angestrebt.) [ Bearbeiten ] Disk zugreifen und Dateisysteme Hauptartikel: Virtuelles Dateisystem Dateisysteme können Benutzer und Programme zu organisieren und sortieren Dateien auf einem Computer, oft durch den Einsatz von Verzeichnissen (oder "Ordner") Zugriff auf die Daten auf Festplatten gespeichert ist ein zentraler Bestandteil aller Betriebssysteme. Computer speichern Daten auf Disketten mit Dateien , die Wege sind so strukturiert, in bestimmten, um die Zuverlässigkeit ermöglichen einen schnelleren Zugriff, höher und besser zu nutzen aus dem Laufwerk verfügbaren freien Speicherplatz an. Die spezifische Art und Weise, welche Dateien abgelegt sind Festplatte eine auf ein namens -Dateisystem und ermöglicht es, Dateien zu Internet haben Namen und. Es erlaubt auch sie zu einem in gespeichert werden in einer Hierarchie von Verzeichnissen und Ordnern angeordnet Verzeichnisbaum . Frühe Betriebssysteme allgemein unterstützt eine einzige Art von Laufwerk und nur eine Art von Dateisystem. Frühe Dateisysteme waren in ihrer Kapazität, Geschwindigkeit begrenzt, und in der Art von Datei-und Verzeichnisstrukturen sie gebrauchen konnten. Diese Einschränkungen oft wider Einschränkungen in der Betriebssysteme für die sie bestimmt waren, so dass es sehr schwierig für ein Betriebssystem auf mehr als eine Datei zu unterstützen. Während viele einfachere Betriebssysteme unterstützen eine begrenzte Anzahl von Optionen für den Zugriff auf Storage-Systeme, Betriebssysteme wie UNIX und GNU / Linux unterstützt eine Technologie bekannter als virtuelles Dateisystem oder VFS. Ein Betriebssystem wie UNIX unterstützt eine breite Palette von Storage-Geräten, unabhängig von ihrer Gestaltung und Dateisysteme , so dass sie durch gemeinsame A zugegriffen werden Application Programming Interface (API). Das macht es unnötig für die Programme keine Kenntnisse über das Gerät sie zugreifen können. Ein VFS kann das Betriebssystem auf bestimmte Programme bieten Zugang zu einer unbegrenzten Anzahl von Geräten mit einer unendlichen Vielfalt an Datei auf Systemen installiert sie, durch die Verwendung von Gerätetreibern und Dateisystem-Treiber. Ein angeschlossenes Speichergerät wie einem Festplattenlaufwerk , ist ein Zugriff über Gerätetreiber . Der Gerätetreiber versteht die spezifische Sprache der Fahrt und ist in der Lage, diese Sprache in ein Standard-Sprache des Betriebssystems verwendet, um alle Laufwerke zugreifen zu übersetzen. Unter UNIX ist dies die Sprache der Block-Devices . Wenn der Kernel hat einen entsprechenden Gerätetreiber vorhanden, kann es dann Zugriff auf den Inhalt der Festplatte im RAW-Format, die ein oder mehrere Dateisysteme enthalten können. Ein Dateisystem-Treiber verwendet wird, um die Befehle verwendet werden, um jede spezifische Dateisystem in einem Standard-Satz von Befehlen, die das Betriebssystem verwenden, um alle Dateisysteme zugreifen können sprechen übersetzen. Programme können dann mit diesen Dateisystemen umgehen auf der Grundlage von Dateinamen und Verzeichnisse / Ordner innerhalb einer hierarchischen Struktur enthalten. Sie können erstellen, löschen, öffnen und Schließen von Dateien, sowie sammeln verschiedene Informationen über ihnen, darunter Zugriffsrechte, Größe, Freiraum und Erstellungs-und Änderungsdatum. Verschiedene Differenzen zwischen Dateisysteme machen unterstützt alle Dateisysteme schwierig. Erlaubte Zeichen in Dateinamen, Groß-und Kleinschreibung und die Anwesenheit von verschiedenen Arten von Dateiattribute macht die Einführung einer einheitlichen Schnittstelle für jedes Dateisystem eine gewaltige Aufgabe. Betriebssysteme neigen zu empfehlen (und damit nativ unterstützt) Dateisysteme speziell für sie entwickelt, z. B. NTFS in Windows und ext3 und ReiserFS in GNU / Linux. Doch in der Praxis, Dritte-Laufwerke sind in der Regel zur Verfügung Beispiel geben Unterstützung für die am weitesten verbreitete Dateisysteme in den meisten Allzweck-Betriebssysteme (ist NTFS Linux verfügbar unter GNU / durch NTFS-3g und ext2 / 3 und ReiserFS Windows sind in durch FS-Treiber und rfstool ). Unterstützung für Dateisysteme ist stark unter modernen Betriebssystemen unterschiedlich, obwohl es mehrere gemeinsame Dateisysteme, die fast alle Betriebssysteme umfassen die Unterstützung und Treiber für sich. Betriebssysteme sind je nach Datei-System zu unterstützen und auf der Festplatte Format auf dem sie installiert werden können. Unter Windows-Dateisystem ist in der Regel jedes Medium begrenzt in Anwendung auf bestimmte, zum Beispiel CDs müssen, verwenden Sie ISO 9660 oder UDF und wie von Windows Vista , NTFS ist die einzige Datei, welches Betriebssystem installiert werden kann auf. Es ist möglich, GNU / Linux auf viele Arten von Datei-Systemen zu installieren. Im Gegensatz zu anderen Betriebssystemen ermöglichen GNU / Linux-und UNIX jedem Dateisystem, unabhängig von den Medien in gespeichert ist, verwendet werden, ob es eine Festplatte, eine CD (CD, DVD ...), einen USB-Schlüssel oder sogar enthalten in einer Datei auf einem anderen Dateisystem befinden. [ Bearbeiten ] Gerätetreiber Hauptartikel: Geräte-Treiber Ein Gerätetreiber ist ein spezieller Typ von Computer-Software entwickelte, um Geräte ermöglichen die Interaktion mit Hardware. Typischerweise ist dies eine Schnittstelle zur Kommunikation mit dem Gerät, durch das spezifische Computer-Bus oder Kommunikations-Subsystem, dass die Hardware angeschlossen ist, bietet Befehle und / oder Empfangen von Daten aus dem Gerät, und am anderen Ende, die erforderlichen Schnittstellen zu den Betriebskosten System-und Software-Anwendungen. Es ist eine spezielle Hardware-abhängige Computerprogramm, das auch über das Betriebssystem spezifisch, dass ein anderes Programm ermöglicht, typischerweise ein Betriebssystem oder Anwendungen Software-Paket oder ein Computerprogramm laufen unter dem Betriebssystem-Kernel, um transparent zu interagieren mit einem Hardware-Gerät, und in der Regel bietet die Voraussetzung Interrupt-Handling, die für etwaige notwendige asynchrone zeitabhängige Hardware Schnittstelle benötigt. Der Schlüssel Design Ziel von Gerätetreibern ist Abstraktion . Jedes Modell der Hardware (auch innerhalb der gleichen Klasse der Einrichtung) ist anders. Neuere Modelle sind auch von den Herstellern, die mehr zuverlässig oder eine bessere Leistung zu erbringen, befreit und diese neueren Modelle sind oft kontrolliert anders. Computer und ihre Betriebssysteme kann man nicht erwarten zu wissen, wie jedes Gerät steuern, sowohl jetzt als auch in der Zukunft. Um dieses Problem zu lösen, operative Systeme im Wesentlichen bestimmen, wie jede Art von Gerät gesteuert werden sollten. Die Funktion der Gerätetreiber wird dann auf diese operativen System beauftragt Funktionsaufrufe in gerätespezifische Anrufe übersetzen. In der Theorie ein neues Gerät, das in einer neuen Weise gesteuert wird, sollte ordnungsgemäß funktionieren, wenn ein geeigneter Treiber verfügbar ist. Dieser neue Treiber sorgen dafür, dass das Gerät zu bedienen wie gewohnt aus dem Betriebssystem Sicht erscheint. Unter Windows-Versionen vor Vista und Linux-Versionen vor 2.6, wurde alle Fahrer Ausführung kooperativ, was bedeutet, dass wenn ein Fahrer eingegeben einer Endlosschleife wäre das System einfrieren. Neuere Versionen dieser Betriebssysteme integrieren Kernel-Preemption, wo die Kernel unterbricht der Fahrer, um ihm Aufgaben, und dann löst sich aus dem Prozess, bis sie eine Antwort von der Gerätetreiber erhält, oder gibt es mehrere Aufgaben zu tun. [ Bearbeiten ] Netzwerk Hauptartikel: Computer-Netzwerk Momentan werden die meisten Betriebssysteme unterstützen eine Vielzahl von Netzwerkprotokollen, Hardware und Anwendungen für die Verwendung von ihnen. Dies bedeutet, dass Computer mit unterschiedlicher Betriebssysteme können gemeinsame Teilnahme an einem Netzwerk für den Austausch von Ressourcen wie Rechenleistung , Dateien, Drucker und Scanner entweder über verdrahtete oder drahtlose Verbindungen. Netzwerke können im wesentlichen erlauben das Betriebssystem des Computers, die Ressourcen von einem Remote-Computer Zugriff auf die gleichen Funktionen unterstützen, wie es könnte, wenn diese Mittel wurden direkt auf dem lokalen Computer verbunden ist. Dies beinhaltet alles von der einfachen Kommunikation, um mit vernetzten Dateisystemen oder sogar Sharing anderen Computers Grafiken oder Sound-Hardware. Einige Netzwerk-Services erlauben die Ressourcen eines Rechners, um transparent zugegriffen werden, wie SSH , welche Benutzer erlaubt vernetzten direkten Zugang zu einem Computer-Kommandozeilen-Schnittstelle. Client / Server-Netzwerk umfasst ein Programm auf einem Computer irgendwo was verbindet über ein Netzwerk auf einen anderen Computer, genannt Server. Server bieten (oder Host) verschiedene Dienste auf andere Netzwerkcomputer und Nutzer. Diese Dienste sind in der Regel Häfen vorgesehen, durch oder nummerierte Access Points über die Server- Netzwerk-Adresse [ Begriffsklärung nötig ]. Jeder Port-Nummer ist in der Regel mit maximal einem laufenden Programm, das für die Bearbeitung von Anträgen auf diesen Port zugeordnet ist. Ein Dämon, wobei ein Benutzer-Programm können wiederum auf das lokale Hardware-Ressourcen des Computers, indem Anfragen an den Betriebssystem-Kernel. Viele Betriebssysteme unterstützen einen oder mehrere herstellerspezifische oder offenen Netzwerkprotokollen sowie zum Beispiel SNA auf IBM -Systemen, DECnet auf Systemen von Digital Equipment Corporation und Microsoft-spezifischen Protokolle ( SMB ) unter Windows. Spezifische Protokolle für bestimmte Aufgaben können auch als solche unterstützt NFS für den Dateizugriff. Protokolle wie Esound oder esd CAN-Netzwerk werden die leicht erweitert, um über Anwendungen bieten Sound von lokalen, auf einem entfernten System Sound-Hardware. [ Bearbeiten ] Sicherheit Hauptartikel: Computer-Sicherheit Ein Computer wird sicher hängt von einer Reihe von Technologien richtig funktioniert. Ein modernes Betriebssystem bietet Zugriff auf eine Reihe von Ressourcen, die zur Verfügung Software auf dem System ausgeführt werden, sowie für externe Geräte wie Netze über den Kernel. Das Betriebssystem muss in der Lage sein, zwischen denen Anfragen dürfen verarbeitet werden sollten, und andere, die nicht zu verarbeiten. Während einige Systeme können einfach und unterscheiden zwischen "privilegierten" nicht-privilegierten "Systeme haben üblicherweise eine Form der Antragsteller Identität, wie einen Benutzernamen. Zur Feststellung Identität kann es Authentifizierung einen Prozess der. Oft wird ein Benutzername muss zitiert werden, und jeder kann Benutzernamen ein Passwort haben. Andere Methoden der Authentifizierung, wie Magnetkarten oder biometrische Daten, könnte stattdessen verwendet werden. In einigen Fällen, insbesondere Verbindungen aus dem Netz, kann auf die Ressourcen keine Authentifizierung bei zugegriffen werden alle (wie das Lesen von Dateien über ein Netzwerk freigeben). Auch Identität fallen unter den Begriff der Antragsteller wird die Zulassung, die bestimmte Dienste und Ressourcen im Internet durch den Antragsteller einmal in ein System angemeldet sind Nutzer gebunden, entweder der Antragsteller das Benutzerkonto oder die unterschiedlich konfiguriert Gruppen zu dem der Antragsteller angehört. Zusätzlich zu den zulassen oder verbieten Modell der Sicherheit, ein System mit einem hohen Maß an Sicherheit bieten auch Auditing-Optionen. Diese würden Verfolgung von Anträgen auf Zugang zu Ressourcen (z. B. ", der gelesen hat diese Datei?") Zu ermöglichen. Innere Sicherheit oder die Sicherheit von einem bereits laufenden Programm ist nur möglich, wenn alle möglicherweise schädliche Anforderungen muss durch Interrupts zu den Betriebssystem-Kernel ausgeführt werden. Wenn Programme direkt zugreifen können Hardware und Ressourcen, sie können nicht gesichert werden. Äußere Sicherheit betrifft eine Anfrage von außerhalb des Computers, beispielsweise ein Login bei einem angeschlossenen Konsole oder irgendeine Art von Netzwerkverbindung. Externe Anfragen werden oft durch Gerätetreiber für das Betriebssystem-Kernel, wo sie auf Anwendungen weitergegeben werden können, oder unmittelbar wahrgenommenen weitergegeben. Sicherheit von Betriebssystemen seit langem ein Anliegen, weil von hochsensiblen Daten auf Computern statt, sowohl von kommerziellen und militärischen Charakter. Die Vereinigten Staaten Regierung Department of Defense (DoD) hat eine neue Trusted Computer System Evaluation Criteria (TCSEC), die ist ein Standard, legt Anforderungen für grundlegende Bewertung der Wirksamkeit der Sicherheit. Dies wurde von entscheidender Bedeutung für Betriebssystem Entscheidungsträger, weil die TCSEC wurde verwendet, um zu bewerten, zu klassifizieren und wählen Sie Computer-Systeme empfindlich oder angedacht für die Verarbeitung, Speicherung und Abfrage von Verschlusssachen . Netzdienste gehören Angebote wie File Sharing, Drucken, E-Mail, Websites, und File-Transfer-Protokolle (FTP), von denen die meisten gefährdet Sicherheit haben können. An vorderster Front der Sicherheit sind Hardware-Geräte bekannt als Firewalls oder Intrusion Detection / Prevention-Systeme. Auf der Ebene des Betriebssystems gibt es eine Reihe von Software-Firewalls zur Verfügung, sowie Intrusion Detection / Prevention-Systeme. Die meisten modernen Betriebssysteme eine Software-Firewall, die standardmäßig aktiviert ist. Eine Software-Firewall kann so konfiguriert werden zuzulassen oder zu verweigern Netzwerkverkehr zu oder von einem Dienst oder eine Anwendung, die auf dem Betriebssystem zu sein. Daher kann man installieren und laufen auf unsichere Dienste wie Telnet oder FTP, und müssen nicht durch eine Sicherheitslücke bedroht werden, weil die Firewall den gesamten Datenverkehr versuchen, den Dienst auf diesem Port verbinden leugnen würde. Eine alternative Strategie, und die einzige Sandbox Strategie in Systemen, die nicht die Popek und Goldberg Virtualisierung Anforderungen , ist das Betriebssystem nicht ausgeführt Benutzer Programme als native Code, sondern entweder emuliert einen Prozessor oder einen Wirt für einen P-Code basiertes System wie Java. Innere Sicherheit ist insbesondere für Multi-User-Systemen, sondern ermöglicht es jedem Benutzer des Systems auf private Dateien, die die anderen Benutzer nicht mit können Manipulationen oder gelesen haben. Die innere Sicherheit ist auch wichtig, wenn die Überwachung ist, um von Nutzen sein, da ein Programm möglicherweise umgehen kann das Betriebssystem, inklusive der Umgehung Revision. In modernen Betriebssystemen, da sind viele in-built Security-Module, um diese Bedrohungen zu verhindern. Als ein Beispiel mit Microsoft Windows 7 Betriebssystem gibt es ein Programm namens Microsoft Security Essentials, alle diese Sicherheitslücken zu verhindern.