45
Prof. Dr. Peter Mandl Seite 1 Betriebssysteme Betriebssysteme Einführung Sommersemester 2014 Prof. Dr. Peter Mandl

Einführung - wirtschaftsinformatik-muenchen.de · von Asus (=Mainboard) Mehrere Cores auf einem Die DDR-RAM DDR-RAM Grafik-Prozessor ... IBM 1401, 7094 - Jobs wurden von Lochkarte

  • Upload
    donga

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

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