Prof. Dr. Peter Mandl Seite 1 Betriebssysteme
Betriebssysteme
Einführung
Sommersemester 2014
Prof. Dr. Peter Mandl
Prof. Dr. Peter Mandl Seite 2 Betriebssysteme
1. Einführung in Betriebssysteme
2. Betriebssystemarchitekturen und Betriebsarten
3. Interruptverarbeitung in Betriebssystemen
4. Prozesse und Threads
5. CPU-Scheduling
6. Synchronisation und Kommunikation
7. Speicherverwaltung
8. Geräte- und Dateiverwaltung
9. Betriebssystemvirtualisierung
Gesamtüberblick
Physikalische Geräte
Mikroarchitektur
Maschinensprache
Betriebssystem
Firmware und Hardware
Systemnahe Software (Datenbanken, Compiler, Interpreter,…)
Anwendungssoftware (Browser, Bankanwendung, Buchhaltungsanwendung,…)
Systemsoftware
Prof. Dr. Peter Mandl Seite 3 Betriebssysteme
Zielsetzung
Aufbau von Computersysteme kennenlernen Geschichtliche Hintergründe der
Betriebssystementwicklung verstehen
Grundlegende Aufgaben von Betriebssystemen kennen lernen
Prof. Dr. Peter Mandl Seite 4 Betriebssysteme
1. Rechnersysteme
2. Betriebssystemarten und Aufgaben von Betriebssystemen
3. Geschichtliches
Überblick
Prof. Dr. Peter Mandl Seite 5 Betriebssysteme
Rechnersysteme
Physikalische Geräte
Mikroarchitektur
Maschinensprache
Betriebssystem
Firmware und Hardware
Systemnahe Software (Datenbanken, Compiler, Interpreter, …)
Anwendungssoftware (Browser, Bankanwendung, Buchhaltungsanwendung,…)
Systemsoftware
Prof. Dr. Peter Mandl Seite 6 Betriebssysteme
Rechnerarchitekturen
Von-Neumann-Rechner
- CPU mit Leitwerk und Rechenwerk
- Bussystem (Datenbus, Adressbus und Steuerbus)
- Ein-/Ausgabesystem
- Speicher
- Abgrenzung: Harvard-Architektur
Ein-/Ausgabe
Microprocessor, CPU
Leitwerk
(Steuerwerk)
Rechenwerk
(ALU)
Register
Speicher
Bussystem
Flaschenhals
Befehlsinter- pretation,
Befehlsausführung
Datenprozessor
Prof. Dr. Peter Mandl Seite 7 Betriebssysteme
Rechnerarchitekturen
Von-Neumann-Rechner
Steuer-
Einheit
Arithmetisch
Logische
Einheit (ALU)
Register
Zentrale Recheneinheit (CPU)
Speicher Platte Drucker
BUS
E / A – Geräte
Prof. Dr. Peter Mandl Seite 8 Betriebssysteme
CPU-Register als Schnittstelle für den
Betriebssystemprogrammierer: Intel 8086
Registersatz mit vierzehn 16-Bit-Registern
AH
BH
CH
DH
AL
DL
CL
BL
SP
BP
DI
SI
AX
BX
CX
DX
Akkumulator CS
DS
ES
SS
IP
SR
Basisregister
Zählerregister
Datenregister
Stapelzeiger
Basiszeiger
Ziellindex
Quellindex
Allgemeine
Arbeitsregister
Adress- und
Indexregister
Segmentregister
Statusregister (PSW)
Codesegment
Datensegment
Extrasegment
Stacksegment
Befehlszeiger
Quelle: http://de.wikipedia.org/wiki/X86-Prozessor
Prof. Dr. Peter Mandl Seite 9 Betriebssysteme
CPU-Register als Schnittstelle für den
Betriebssystemprogrammierer: Intel Pentium
Registersatz
- Acht 32-Bit-Register kompatibel zu den Vorgängern EAX, EBX, ECX, EDX, ESP, EBP, EDI, ESI
- Segmentregister CS, DS, ... (wie bei 8086)
- Acht Gleitkommaregister-Register
- Befehlszeiger EIP (IP), ...
EAX
EBX
ECX
EDX
31 15 0
AH
BH
CH
DH
AL
DL
CL
BL
AX
BX
CX
DX
Registerbezeichnungen:
[E]AX: Akkumulator
[E]BX: Basisregister
[E]CX: Zählregister
[E]DX: Datenregister
Quelle: http://www.chip.de
Prof. Dr. Peter Mandl Seite 10 Betriebssysteme
CPU-Register als Schnittstelle für den
Betriebssystemprogrammierer: AMD64 (x64)
Registersatz mit sechzehn 64-Bit-Mehrzweckregistern
- RAX (EAX, AX, AL), RBX, RCX, RDX, RSP, RBP, RDI, RSI
- R8 – R15 (ergänzt)
Weitere Register
- Acht 64-Bit-Gleitkommaregister MMX0/FPR0 – MMX7/FPR7
- Sechzehn 128-Bit-Mediaregister XMM0 – XMM15
- 64-Bit-Statusregister RFLAGS
- 64-Bit-Befehlszeiger RIP (EIP, IP)
- Alte Segmentregister CS, DS, ... (Kompatibilität)
Quelle: http://www.socket939.co.uk
Prof. Dr. Peter Mandl
Chip
Seite 11 Betriebssysteme
Einschub: Beispielskizze für Caches im Singleprozessor
Typischer Einsatz von Caches (Speicherhierarchie) in heutigen Computersystemen
Prozessor
L2-Cache
L1-Cache
L3-Cache
Hauptspeicher (RAM)
L1 ist kleiner und schneller als L2
L2 ist kleiner und schneller als L3
L1 und L2 meist auf dem Chip
L3 außerhalb
Prof. Dr. Peter Mandl
Chip
Seite 12 Betriebssysteme
Einschub: Beispielskizze eines Mehrkern-Chips
Zwei Prozessorkerne jeweils mit integriertem L1-Cache , L2/L3-Cache auf dem Chip (Die)
Prozessor 1
L2-Cache L3-Cache
Quelle: Böttcher, A.: Rechneraufbau und Rechnerarchitektur, Springer-Verlag, 2006
L1-Cache
Prozessor 2
L1-Cache
Bus-Interface
Systembus (Front Side Bus)
Prof. Dr. Peter Mandl Seite 13 Betriebssysteme
Beispiel: Skizze des Intel Core i5
GPU (Grafik-Prozessor)
Kern 1 mit HT
Kern 2 mit HT
Shared L3 Cache
Bussysteme
Die
2 Kerne, L1 und L2 in den Kernen
HT = Hyperthreading
L1/L2 Cache
L1/L2 Cache
Speicher- Controller
PCI
Prof. Dr. Peter Mandl Seite 14 Betriebssysteme
Vereinfachte Architektur eines Computersystems: Hardwaremodell für unsere Betrachtung
Speicherbus, FSB
Arbeitsspeicher (RAM)
Anbindung externer Geräte: USB, S-ATA, PCI,…
Rechnerkern 1 (CPU)
Cache
Mehrzweck- register
Gleitkomma- register
Status- register
Leitwerk und Steuerwerk
Chipsatz
MMU
TLB
Motherboard
…
Grafikprozessor
Northbridge
Ein Die
Gemeinsamer Cache
…
Cache
MMU
Rechner- kern 2
Register
L/S-Werk
Cache
MMU
Rechner- kern n
Register
L/S-Werk
Southbridge Interrupt Controller
Prof. Dr. Peter Mandl Seite 15 Betriebssysteme
Beispiel: Skizze des Motherboards der Intel Core-i-Serie
Speicherbus DDR3
Intel Core i5/i7/i9 (LGA 1156 Package)
Motherboard P7H55D-M-Pro
von Asus (=Mainboard)
Mehrere Cores auf einem Die DDR-RAM
DDR-RAM
Grafik-Prozessor
Speicherbus DDR3
PCI Express 2.0 x16
Arbeitspeicher
Intel H55 Express Chipset
FDI DMI x 4
Digital Display (HDMI, DVI)
PCI Bus
USB
Serial ATA
PCI-Express x1
Gigabit LAN
DDR = Double Data Rate Verfahren
Prof. Dr. Peter Mandl Seite 16 Betriebssysteme
Beispiel: Skizze zum Intel Core i7
Sandy-Bridge-Architektur (Micro-Architektur)
Grafik-Prozessor auch auf dem Die
In jedem Kern: L1 (z.B. 64 KB je Kern) und L2 (z.B. 256 KB je Kern)
L3 ist z.B. 1 - 20 MB groß
Grafik- Prozessor
Memory Controller
Gemeinsamer L3 Cache (Shared)
Bussysteme
Ein Die
L1/L2 Cache
Kern
L1/L2 Cache
Kern
L1/L2 Cache
Kern
L1/L2 Cache
Kern
Prof. Dr. Peter Mandl Seite 17 Betriebssysteme
1. Rechnersysteme
2. Betriebssystemarten und Aufgaben von Betriebssystemen
3. Geschichtliches
Überblick
Prof. Dr. Peter Mandl Seite 18 Betriebssysteme
Arten von Betriebssystemen
Betriebssysteme
Mainframes- BS
Server- BS
PC-Betriebs- systeme
Embedded u. Handheld
BS
Unix Linux Solaris Windows
20xx
High End Systeme
IBM OS/390 IBM z/OS Siemens
BS2000
Smartcard- BS
Linux Windows xx MAC OS X
VxWorks QNX OSEK
Echtzeit- BS
Windows mobile
iOS Android Symbian OS Windows
Phone
Auf Chips von Kreditkarten
Prof. Dr. Peter Mandl Seite 19 Betriebssysteme
Grundfunktionen des Betriebssystems
Das Betriebssystem soll den Anwender bzw. Anwendungsentwickler von Details der Hardware entlasten
Modern strukturierte Betriebssysteme kapseln den Zugriff auf die Betriebsmittel
- der Zugriff funktioniert also nur über Betriebssystemfunktionen (Systemdienste)
- Virtuelle Maschine über der Hardware
Wesentliche Aufgabe des Betriebssystems ist die Betriebsmittelverwaltung
Prof. Dr. Peter Mandl Seite 20 Betriebssysteme
Betriebsmittel (1)
Hard-/Softwareressourcen eines Computersystems werden als Betriebsmittel bezeichnet - Prozesse und Prozessoren
- Speicher, Arbeitsspeicher (Hauptspeicher)
- Dateien
- Periphere Geräte (I/O-Geräte)
Man unterscheidet reale und virtuelle Betriebsmittel
Virtuelle Betriebsmittel sind nur scheinbar vorhanden: - Virtueller Hauptspeicher
- Virtuelle Drucker
- Virtuelle Koprozessoren
Prof. Dr. Peter Mandl Seite 21 Betriebssysteme
Betriebsmittel (2)
Betriebsmittel = Ressourcen
Prozesse und Threads
Speicher Dateisystem I/O-Geräte
Die wichtigsten Betriebsmittel
Netzwerkkarte Grafikkarte Festplatten Tastatur ..
FAT (Windows) NTFS (Windows) ufs (Unix) ext3 (Linux) …
Hauptspeicher (RAM)
Virtueller Speicher
Caches …
Prof. Dr. Peter Mandl Seite 22 Betriebssysteme
Betriebsmittelklassifikation
Betriebsmittel-Klassifikationen:
- Hardware- oder Software-Betriebsmittel
• Hardwarebetriebsmittel ist z.B. der Prozessor
• Softwarebetriebsmittel ist z.B. eine Nachrichten
- Entziehbare und nicht entziehbare Betriebsmittel
• Prozessoren sind entziehbar
• Drucker sind nicht entziehbar
- Exklusiv oder „shared“ nutzbare Betriebsmittel
• Prozessor ist nur exklusiv nutzbar
• Magnetplatte ist „shared“, also gemeinsam, nutzbar
Das Betriebssystem muss dafür Sorge tragen, dass exklusive Betriebsmittel konfliktfrei genutzt werden
- Die Entscheidung trifft ein Scheduling-Algorithmus
Prof. Dr. Peter Mandl Seite 23 Betriebssysteme
1. Rechnersysteme
2. Betriebssystemarten und Aufgaben von Betriebssystemen
3. Geschichtliches
Überblick
Prof. Dr. Peter Mandl Seite 24 Betriebssysteme
Historische Entwicklung von Rechnern und Betriebssystemen
1. Generation
(1945 – 1955)
2. Generation
(1955 – 1965)
3. Generation
(1965 – 1980)
4. Generation
(1980 – ...)
· Minimale Betriebssysteme
· Röhrencomputer
· Maschinensprache, kein Assembler
· Lochkarten ab 1950
Lochkartenleser von Control Data Quelle: Wikipedia
Röhrencomputer der Rechenanlage ORACLE Deutsches Museum
Weitere Rechenanlagen: (Gewicht: Tonnen) ZUSE Z22 (BRD) D1/D2 (DDR) Colossus (GB) ENIAC (USA) IBM 305 RAMAC
Prof. Dr. Peter Mandl Seite 25 Betriebssysteme
Historische Entwicklung von Rechnern und Betriebssystemen
1. Generation
(1945 – 1955)
2. Generation
(1955 – 1965)
3. Generation
(1965 – 1980)
4. Generation
(1980 – ...)
· Etwas komplexere Betriebssysteme
· Transistorencomputer
· Assemblersprachen
· Mainframes, Batchverarbeitung: Jobs hintereinander ausgeführt
· IBM 1401, 7094
IBM-1401-Anlage Quelle: IBM
Prof. Dr. Peter Mandl Seite 26 Betriebssysteme
Historische Entwicklung von Rechnern und Betriebssystemen
1. Generation
(1945 – 1955)
2. Generation
(1955 – 1965)
3. Generation
(1965 – 1980)
4. Generation
(1980 – ...)
· Umfangreiche Betriebssysteme wie OS/360, BS1000, MULTICS,
Unix
· Integrated Circuits
· Hochsprachen
· Mainframes, Multiprogramming, Timesharing (Mehrbenutzerbetrieb)
· IBM-Systeme, Siemens-Systeme, DEC PDP-11, ...
S/360-System Quelle: Wikipedia
PDP-11 von digital Quelle: Wikipedia
Prof. Dr. Peter Mandl Seite 27 Betriebssysteme
Historische Entwicklung von Rechnern und Betriebssystemen
1. Generation
(1945 – 1955)
2. Generation
(1955 – 1965)
3. Generation
(1965 – 1980)
4. Generation
(1980 – ...)
· Komplexe Betriebssysteme
· Large Scale Integration
· Objektorientierte Sprachen
· PCs, Workstations, Server, Mainframes, Verteilte Systeme
· MS-DOS, Unix, Windows, IBM-OS/390, z/OS, Mac OS X, Android ...
IBM PC, Modell IBM 5150 Quelle: IBM
IBM zSeries Quelle: IBM
Enterprise Server von Sun Quelle: Sun Mircosystems
Prof. Dr. Peter Mandl Seite 28 Betriebssysteme
Historische Entwicklung der Betriebssysteme
1. Generation (ca. 1945 - 1955)
- Röhrencomputer (ca. 20.000 Röhren)
- Programmierung in reiner Maschinensprache (kein Assembler, keine Hochsprache)
- Lochkarten ab ca. 1950
Prof. Dr. Peter Mandl Seite 29 Betriebssysteme
Historische Entwicklung der Betriebssysteme
2. Generation (ca. 1955 - 1965)
- Transistoren wurden verwendet
- Stapelverarbeitung (Batch-Verarbeitung): IBM 1401, 7094
- Jobs wurden von Lochkarte auf Magnetband eingelesen und dann hintereinander abgearbeitet
- Ein Programm nach dem anderen wurde ausgeführt, die Ergebnisse auf Band gespeichert und am Ende ausgedruckt
- Einfaches Betriebssystem
Prof. Dr. Peter Mandl Seite 30 Betriebssysteme
Historische Entwicklung der Betriebssysteme
3. Generation (ca. 1965 - 1980)
- Integrated Circuits (ICs), kleinere integrierte Schaltungen
- IBM System/360 (Serie von Rechnern), IBM System/370, 3080, 3090
- Einführung von Multiprogramming (Mehrprogrammbetrieb, Multitasking):
• Während I/O-Wartezeit wurde CPU für neuen Job vergeben
- Spooling: Jobs von Platte übernehmen und Ergebnisse auf Platte schreiben
- Später Timesharing (mit Mehrbenutzerbetrieb) als Variante des Multiprogramming:
• Online-Zugang über Terminal, CPU wird aufgeteilt
• Am MIT entwickelt: Betriebssystem CTSS, MULTICS
• Minicomputer DEC PDP-1, PDP-11: Unix
Prof. Dr. Peter Mandl Seite 31 Betriebssysteme
Historische Entwicklung der Betriebssysteme
4. Generation (ca. 1980 - heute)
- Personal Computer und Workstations
- Large Scale Integration (LSI-Schaltungen), Tausende von Transistoren auf einem Silizium-Chip (Si, Halbmetall)
- Betriebssysteme IBM OS/360, MS-DOS, Unix, Unix BSD, Unix System V, IBM OS/2, MS Windows-Derivate und Linux
- Benutzerfreundlichkeit stieg immer mehr (X-Windows, Motif, OS/2 Presentation Manager)
- Netzwerkbetriebssysteme und verteilte Betriebssysteme
Prof. Dr. Peter Mandl Seite 32 Betriebssysteme
Typische Betriebssysteme heute
MS-DOS (immer noch, aber sehr selten)
Windows am weitesten verbreitet: Windows 98, Windows NT, Windows 2000/2003/2008/2012, Windows XP, Vista, Windows 7, 8
Andere wichtige Systeme: - OS/370 (heute: zSeries S/xxx, z/OS)
- OS/400 (heute: iSeries 400)
- BS2000
- OS/2
- Unix: Sun Solaris, HP UX, AIX, Linux, Android, Mac OS X, ...
Wichtiger Grund für eine weite Verbreitung:
- meist nicht die Qualität sondern die Beliebtheit der Anwenderprogramme
Prof. Dr. Peter Mandl Seite 33 Betriebssysteme
Historische Entwicklung: Windows (1)
MS-DOS
Windows
86-DOS
MS-DOS 1.0
(12.8.1981)
160 KB Diskette!
Windows 1.0
(1985)
CP/M
QDOS
Seattle Computer
Products
Microsoft kauft QDOS
Nur umbenannt
MS-DOS 8.0
(Ende 1999)
Windows 3.1
(1993)
Windows 95
(1995)
Windows ME
(2000)
Windows NT
Windows NT 3.1
(1993)
Prof. Dr. Peter Mandl Seite 34 Betriebssysteme
Historische Entwicklung: Windows (2)
Windows NT
Windows NT 3.1
(1993)
Windows NT 4.0
(1996)
Windows 2000
(2000)
NT 5.0
Windows XP
(2001)
Windows „Mobile“
Windows CE
(1998)
Windows Mobile
(2003)
Windows Mobile
5.0 (2005)
Windows Pocket
PC (2000)
Windows 2003
(2003)
Windows Vista
(2006/2007)
NT 6.0
Windows 7
(2009)Windows Server
2008 (2008)
NT 6.1NT 6.0
Windows Mobile
6.0 (2007)
Windows Phone 7
(2010)
Windows Phone 8
(2012)
Windows 8
(2012)
Windows Server
2012 (2012)
NT 6.2 NT 6.2
NT 6.2
Prof. Dr. Peter Mandl Seite 35 Betriebssysteme
MS-DOS V1.0 (Microsoft, Startup) wurde 1981 von IBM mit einem 8088-basierten IBM PC herausgegeben
- Real-Mode-System und Single-User-System
- Kommandozeilen-orientiert (von Unix abgeschaut)
- 8-Bit-Betriebssystem
- Einfaches Filesystem
Später kam MS-DOS V3.0 mit dem PC/AT heraus mit
- 80286-Unterstützung
- 16 MB realen Adressraum
- Weiterhin Kommandozeilen-orientiert
Kurze Geschichte von Windows (1)
Prof. Dr. Peter Mandl Seite 36 Betriebssysteme
Windows 1.0 (1985) war das erste graphische User-Interface für MS-DOS
Windows 3.0 (1990) und die Nachfolger V3.1 und V3.11 waren bereits sehr erfolgreich
- Weiterhin kein echtes Betriebssystem, sondern mehr eine Benutzeroberfläche
- MS-DOS war die Basis
Windows NT 3.1 (New Technology, 1993) wurde von Grund auf als 32-Bit-System konzipiert
- Anfangs nicht erfolgreich, daher wurde Windows 95 notwendig
Kurze Geschichte von Windows (2)
Prof. Dr. Peter Mandl Seite 37 Betriebssysteme
Windows 95 (1995) brachte dann mehr Features:
- Virtuellen Speicher und Multiprogramming
- War aber immer noch mit MS-DOS (nun V7.0) verbandelt
- Weiterhin viele 16-Bit-Codeelemente
- MS-DOS Filesystem weiter genutzt (8+3 Byte Filenamen)
Windows NT 4.0 (1996)
- User-Interface von Windows 95
- Recht leistungsfähiges Server-Betriebssystem
- Neues Filesystem NTFS
- Keine 100%-MS-DOS-Kompatibilität
- Erfolgreich!!
Kurze Geschichte von Windows (3)
Prof. Dr. Peter Mandl Seite 38 Betriebssysteme
Windows 98 (1998) kam mit einem besseren User-Interface mit Internet-Integration (Monopolvorwurf!)
- Immer noch mit MS-DOS (nun V7.1) verbandelt, weiterhin viele 16-Bit-Codeelemente
- Kein großer Unterschied zu Windows 95
- Multiprogramming System, aber nicht reentrant-fähiger Kernel Verwendung von Locks verlangsamte das System
- Aus Kompatibilitätsgründen mussten MS-DOS-Programme auf den Interrupt-Vektor zugreifen und bekamen 1 MB vom Adressraum, in dem auch Kernel-Daten lagen
- Systemabstürze durch Fehler in MS-DOS-Programmen waren die Folge
Kurze Geschichte von Windows (4)
Prof. Dr. Peter Mandl Seite 39 Betriebssysteme
Windows Me (Millenium Edition, 2000) brachte nichts wesentlich Neues
Windows NT 5.0 wurde zu Windows 2000 umbenannt
- Vereinheitlichung der Systeme mit Windows 98 User-Interface und volles 32-Bit-System
- Plug-and-play Devices, USB-, IrDA (Infroarot-Link) und Firewire-Support, Internationalisierung,...
- Unterstützt bis zu 32 CPUs in symmetrischen Multiprozessorsystemen
Windows XP, Windows 2003, Windows Vista, Windows 2008/2012, Windows 7/8, Windows Phone 7/8
- Neuere Versionen basieren alle auf NT 6.2
- 32- und 64-Bit-Systeme
Kurze Geschichte von Windows (5)
Prof. Dr. Peter Mandl Seite 40 Betriebssysteme
Kurze Geschichte von Unix (1)
Unix entstand aus MULTICS (Multiplexed Information and Computing Service), auch: Unics
Erste Single-User Version von Unix in den Bell Labs auf einer PDP-7 von Ken Thompson und Dennis Ritchie entwickelt (1969)
Zwei inkompatible Hauptversionen entstanden
- Die Berkeley University entwickelte das BSD (Berkeley Software Distribution)
• Vorbild für Sun OS von Sun Microsystems
• Heute gibt es viele Nachfolger: FreeBSD, NetBSD, OpenBSD, DragonFly BSD, Mac OSX (sehr erfolgreich)
- System V von AT&T (wechselte mehrfach den Besitzer)
Weitere Unix-Derivate heute haben Ihre Feinheiten: HP UX, Sun Solaris, Reliant Unix (Fujitsu Siemens), AIX (IBM),...
Prof. Dr. Peter Mandl Seite 41 Betriebssysteme
Kurze Geschichte von Unix (3)
IEEE entwickelte einen Standard namens POSIX
- Definiert ein System Call Interface, das ein kompatibles Unix unterstützen muss
- Wird von allen Herstellern unterstützt
Tanenbaum entwickelte 1987 einen kleinen Unix-Clone namens MINIX (ca. 12.500 LOC)
Aus MINIX entstand Linux durch Linus Torwalds (ehemals finnischer Student) als Open Source Unix
- Erfreut sich heute immer weiterer Verbreitung über Distributoren, die auch etwas Service anbieten
- Mischung aus System V, BSD und eigenen Erweiterungen
- Distributionen heute: SUSE, Debian, Red Hat, CentOS, Fedora, …
Prof. Dr. Peter Mandl Seite 42 Betriebssysteme
Unix-Normierung, historische Entwicklung
Legende:
SVID: System V Interface Definition
XPG: Unix Portability Guide
POSIX: Portable Operating System Interface
IEEE Open Group Unix System Labs
AT&T)
POSIX 1003.1
(1988)
XPG 1 (1985)
POSIX 1003.1
(1990) = POSIX.1
SVID (1984)
SVID-3 (1993)
SVID-2 (1986)
daraus entstanden mehrere
POSIX-Teilstandards:
Threads, Real-Time,...
XPG 3 (1988)
XPG 4 (1994)
The Single Unix
Specification V3
(2003)Einflussnahme
Weiterentwicklung
Linux-Entwicklung
beginnt
SVID-4 (1994)
Austin Common Standards Revision Group
Auch ISO-Standard
Beteiligte Firmen: IBM,
AT&T, HP, NCR,
Sun,...
Markenname: UNIX 03
Siehe www.opengroup.org
Heute: Austin Common Standard Revision Group
Vorher: Open Group
Heute nicht mehr so
wichtig
Prof. Dr. Peter Mandl Seite 43 Betriebssysteme
Jahr AT&T BSD Minix Linux Solaris Win NT
1976 V6, 9K
1979 V7, 21K
1980 4.1, 38 K
1982 Sys III, 58 K 4.2, 98 K
1984 4.3, 179 K
1987 SVR3, 92 K 1.0 13 K
1989 SVR4, 280 K
1991 0.01, 10 K
1993 Free 1.0, 235 K 3.1, 6 M
1994 4.4 Lite, 743 K 1.0, 165 K 5.3, 850 K 3.5, 10 M
1996 2.0, 470 K 4.0, 16 M
1997 2.0, 62 K 5.6, 1.4 M
1999 2.2, 1 M
2000 Free 4.0, 1.4 M 5.8, 2.0 M 2000, 29 M
2007 Vista, 50 M
Vgl. auch Tanenbaum, 2002: K = 1.000 LOC, M = 1000.000 LOC
Codeumfang einzelner Betriebssysteme
Windows 7: 70 M
Prof. Dr. Peter Mandl Seite 44 Betriebssysteme
Quelle: http://de.wikipedia.org/wiki/Linux_(Kernel)
Codeumfang Linux-Kernel
Stand: Januar 2014, Linux-Version 3.13: 18 Mio LOC
Stand: März 2013, Linux-Version 3.8: 16 Mio LOC
Stand: März 2012, Linux-Version 3.2: 15 Mio LOC
Vergleich: Linux-Version 2.6.26: 9 Mio LOC
Prof. Dr. Peter Mandl Seite 45 Betriebssysteme
Überblick
Einführung in Betriebssysteme
2. Betriebssystemarchitekturen und Betriebsarten
3. Interruptverarbeitung in Betriebssystemen
4. Prozesse und Threads
5. CPU-Scheduling
6. Synchronisation und Kommunikation
7. Speicherverwaltung
8. Geräte- und Dateiverwaltung
9. Betriebssystemvirtualisierung
Top Related