Prof. Dr.-Ing. Wilhelm G. Spruth

Ähnliche Dokumente
Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

System z Assembler z/os Lehrgang 2008/09 Prof. Dr.-Ing. Wilhelm G. Spruth Teil 1 Einführung

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS20121/13

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

Prof. Dr. Sharam Gharaei. Inhaltsverzeichnis. 1 Einleitung 1. 2 Grundlage der Realisierung 2. 3 Die Realisierung 3. Literaturverzeichnis 7

Einführung in das System z Mainframe

Enterprise Computing

Teil 3: Konzepte von Betriebssystemen

Überlegungen beim Entwurf eines Betriebssystems

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis

Betriebssysteme Kap A: Grundlagen

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software

Zwei Möglichkeiten die TLB zu aktualisieren

Teil 2: Speicherstrukturen

Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Maren Bennewitz

Teil 1: Prozessorstrukturen

Exercise (Part II) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

D Einführung Betriebssysteme

D Einführung Betriebssysteme

Wichtige Rechnerarchitekturen

z/architektur von IBM

Technische Informatik 1

Wie groß ist die Page Table?

Einführung Betriebssysteme

DOSEMU. Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Matthias Felix FAU. 13.

ReadMe zur Installation der BRICKware for Windows, Version ReadMe on Installing BRICKware for Windows, Version 6.1.2

FEBE Die Frontend-Backend-Lösung für Excel

p^db=`oj===pìééçêíáåñçêã~íáçå=


é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus

Der Adapter Z250I / Z270I lässt sich auf folgenden Betriebssystemen installieren:

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

I Einführung in Betriebssysteme

Getting started with MillPlus IT V530 Winshape

Die Mikroprogrammebene eines Rechners

Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Wolfram Burgard

Betriebssysteme. Tutorium 2. Philipp Kirchhofer

Anleitung zur Schnellinstallation TFM-560X YO.13

Echtzeit-Multitasking

Struktur der CPU (1) Die Adress- und Datenpfad der CPU: Befehl holen. Vorlesung Rechnerarchitektur und Rechnertechnik SS Memory Adress Register

Echtzeit-Multitasking

Betriebssysteme. FU Berlin WS 2004/05 Klaus-Peter Löhr. bs-1.1 1

Projekt für Systemprogrammierung WS 06/07

VGM. VGM information. HAMBURG SÜD VGM WEB PORTAL USER GUIDE June 2016

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Connection Architecture Teil 3

Echtzeitbetriebssysteme

USB -> Seriell Adapterkabel Benutzerhandbuch

Seminar Parallele Rechnerarchitekturen SS04 \ SIMD Implementierung aktueller Prozessoren 2 (Dominik Tamm) \ Inhalt. Seite 1

Grundlagen Rechnerarchitektur und Betriebssysteme

Instruktionssatz-Architektur

Speicherverwaltung (Swapping und Paging)

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming

Betriebssysteme VO Betriebssysteme KU

Leichtgewichtsprozesse

Leichtgewichtsprozesse

Invitation - Benutzerhandbuch. User Manual. User Manual. I. Deutsch Produktübersicht Beschreibung... 2

eurex rundschreiben 094/10

RECHNUNGSWESEN. KOSTENBEWUßTE UND ERGEBNISORIENTIERTE BETRIEBSFüHRUNG. BY MARTIN GERMROTH

4 Zugriffsschutz. soll unerwünschte Zugriffe von Subjekten auf Objekte verhindern. (access protection, access control) Beispiele:

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13.

Exercise (Part XI) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

B.4. B.4 Betriebssysteme Prof. Dr. Rainer Manthey Informatik II 1

Tube Analyzer LogViewer 2.3

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

iid software tools QuickStartGuide iid USB base driver installation

150Mbps Micro Wireless N USB Adapter

Schreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen).

CNC ZUR STEUERUNG VON WERKZEUGMASCHINEN (GERMAN EDITION) BY TIM ROHR

VGM. VGM information. HAMBURG SÜD VGM WEB PORTAL - USER GUIDE June 2016

Teil 1: Prozessorstrukturen

Softwareupdate-Anleitung // Porty L 600 / Porty L 1200

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler

Softwareupdate-Anleitung // AC Porty L Netzteileinschub

Anleitung zur Schnellinstallation TU3-SA 1.01

Vorlesung: Virtualisierung und Rechenzentrumsinfrastrukturen. Lars Göbel & Christian Müller VL04: Einführung in die Virtualisierung

Rechnernutzung in der Physik. Betriebssysteme

Betriebssysteme. Thomas Fahringer. Institut für Informatik Universität Innsbruck. VO Betriebssysteme

VPN-Client Android Konfiguration und Installation des internen VPN Clients und Cisco-AnyConnect VPN-Clients

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016

Parameter-Updatesoftware PF-12 Plus

Betriebssysteme 1. Thomas Kolarz. Folie 1

Can I use an older device with a new GSD file? It is always the best to use the latest GSD file since this is downward compatible to older versions.

Wie man heute die Liebe fürs Leben findet

Anleitung zur Schnellinstallation TFM-561U

5 Kernaufgaben eines Betriebssystems (BS)

IDS Lizenzierung für IDS und HDR. Primärserver IDS Lizenz HDR Lizenz

Isabel Arnold CICS Technical Sales Germany z/os Explorer IBM Corporation

Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Wolfram Burgard

Symbio system requirements. Version 5.1

Betriebssysteme. FU Berlin SS 2003 Klaus-Peter Löhr

Betriebssystemschichten ( )

2.2 Rechnerorganisation: Aufbau und Funktionsweise

Quick Installation Guide

Klausur Betriebsysteme, Windows NT. Wintersemester 00/01. Dipl.-Ing. Jürgen Halkenhäuser Dipl.-Ing. T. Kloepfer

Betriebssysteme Vorstellung

Registration of residence at Citizens Office (Bürgerbüro)

1. General information Login Home Current applications... 3

Transkript:

Betriebssysteme Prof. Dr.-Ing. Wilhelm G. Spruth el0001 doc copyright W. G. Spruth, 10-2000 wgs 07-97

Betriebssysteme it-akademie Bayern z/os und OS/390 Lehrgang 2008 Prof. Dr.-Ing. Wilhelm G. Spruth Teil 1 Überwacher- und Problemstatus el0100 ww copyright W. G. Spruth, 10-2005 wgs 10-05

Einführung Betriebssysteme Übersicht 1. Überwacher- und Problemstatus 2. Stapel, Linkages, Assembler 3. Unterbrechungen 4. Überwacher - Kernel 5. Prozessverwaltung 6. Scheduling 7a. Struktur des Virtuellen Speichers 7b. Paging 7c. Swapping and Block Paging 7d. Address- and Data Spaces 8. Steuerung des Überwachers 9a. Job Control 9b. z/os Subsysteme 10. System Address Spaces 11. RACF 12. z/os Unix System Services

Literatur zum Thema z/os U. Kebschull, P. Herrmann, W.G. Spruth: Einführung in z/os und OS/390. Oldenbourg 2002, M. Teuffel, R. Vaupel: Das Betriebssystem z/os und die zseries. Oldenbourg 2004, ISBN 3486-2752-83. W. Zack: Windows 2000 and Mainframe Integration. Macmillan Technical Publishing, 1999. J. Hoskins, G. Coleman: Exploring IBM S/390 Computers. Maximum Press 1999. M. Teuffel: TSO Time Sharing Option im Betriebssystem OS/390. Oldenbourg, 6. Auflage, J. Horswill: Designing & Programming CICS Applications. O Reilly, 2000. ISBN 1-56592-676-5 R. Lamb: Cooperative Processing using CICS. Mc-Graw Hill 1993. R. Ben-Natan: IBM WebSphere Starter Kit.McGrawHill, 2000. S:G:Sloan, A.K. Hernandez: An Introduction to DB2 for OS/390. Prentice Hall 2001 es 0102z ww6 wgs 09-99

Betriebssystem Dem Benutzer wird eine Schnittstelle (Architektur) zur Verfügung gestellt, die leichter zu benutzen und zu programmieren ist, als die eigentliche Hardware. Definition nach DIN: Unter Betriebssystem versteht man alle Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage die Basis der möglichen Betriebsarten des digitalen Rechnersystems bilden und insbesondere die Abwicklung von (Anwendungs-) Programmen steuern und überwachen. Betriebsmittel (Resources) wie Hauptspeicherplatz Plattenspeicherplatz Zugriff zu EIA Geräten Zeit der Zentraleinheit werden für eine größere Anzahl von Benutzern und Prozessen verwaltet.

Grundaufgaben von Betriebssystemen Wichtige Aufgaben eines Betriebssystems sind: Programmierer leicht verständliche und gut handhabbare Schnittstelle zur eigentlichen Maschine anzubieten und Komplexität der darunterliegenden Maschine zu verstecken. Ansprechpartner für Programmierer ist nicht mehr die Maschine (Hardware), sondern das Betriebssystem, das wesentlich einfacher zu verstehen und zu programmieren ist: Eine weitere Aufgabe eines Betriebssystems ist es, alle Einzelteile eines komplexen Systems, z.b. Prozessoren, Arbeitsspeicher, Festplatten, Bildschirme, Drucker, zu verwalten. Ein Betriebssystem muss eine geordnete und kontrollierte Zuteilung von Prozessoren, Speichereinheiten und Peripheriegeräten unter den verschiedenen Programmen, welche darum konkurrieren, sicherstellen.

Dienste von Betriebssystemen Prozessmanagement Verschiedene laufenden Programmen und Aufgaben müssen Prozessor und auch andere Ressourcen zugeteilt werden. Einzelne Aufgaben werden als Prozesse ausgeführt, die vom Betriebssystem verwaltet werden. Speichermanagement Oft passen nicht alle Programme/Daten in den Speicherplatz. Speichermanagement sorgt dafür, dass immer die gerade benötigten Speicherinhalte zur Verfügung stehen, ohne dass Anwendungssoftware sich darum kümmern muss. Dateiverwaltung Logik der Dateiverwaltung wird in Form von Dateisystemen vom Betriebssystem bereitgestellt, damit alle Programme auf dieselbe Art und Weise darauf zugreifen können. Steuerung der Hardware, Geräteverwaltung, E/A-Steuerung Gerätetreiber sind gerätespezifische Programme, die in das Betriebssystem eingebunden (installiert) werden und die Steuerlogik für bestimmte Hardware enthalten. Betriebssysteme steuern die Zusammenarbeit mit vielen verschiedenen Ein- und Ausgabegeräten wie Tastatur und Bildschirm, Datenträgern oder Netzwerken. Bereitstellen der Benutzeroberfläche

Benutzer Sprach- Presentation Kommando Prozesse Übersetzer Manager Interpreter (GUI) (Shell) Benutzer Schnittstelle Betriebssystem Schnittstelle Betriebssystem Kernel Hardware Schnittstelle Hardware Schichtenmodell der Rechnerarchitektur es 0520z ww6 wgs 09-99

Schnittstelle zwischen Mensch und Hardware Bedienschnittstelle (User Interface) 2 verschiedene Arten von Benutzeroberflächen: Zeilenorientierte Benutzeroberfläche Benutzer gibt über Tastatur Befehle ein und erhält entsprechende Antworten. Grafische Benutzeroberfläche intuitive Erledigung von Aufgaben über Aktivieren von Schaltflächen, Menüs und Symbolen mit der Maus. So gut wie alle modernen Betriebssysteme besitzen Varianten beider Arten von Oberflächen. Grafische Benutzeroberfläche ist leichter zu lernen. Zeilenorientierte Benutzeroberfläche ist schneller zu bedienen. z/os benutzt in den meisten Fällen zeilenorientierte Benutzeroberfläche

Privilegstufen Speicherschutz Stapel (Stack) Unterbrechungen Hardware Unterstützung von Betriebssystem-Funktionen

00..00 Code Data Heap Stack Kernel Mode Code FF..FF WindowsXP Virtueller Adressenraum Ursprüngliche Aufteilung

Annahme Keine virtuelle Speichertechnik

SYSTEM - INTEGRITÄT PROZESSOR - STATUS, PRIVILEGSTUFEN Die Zentraleinheit kann in mehr als einem Status mit unterschiedlichen Privilegstufen laufen. Je nach Privileg bestehen für die Zentraleinheit Einschränkungen in Benutzung bestimmter, sogenannter "privilegierter" Maschinenbefehle, Umfang der Autorisierung, auf Bereiche des Hauptspeichers zuzugreifen. Verfügbarkeit von Zugriffen auf bestimmte Register der Zentraleinheit. Privilegstufen stellen sicher, dass Prozesse sich nicht ungeplant gegenseitig beeinflussen.

Überwacherstatus Problemstatus Definiert durch 1 Bit in einem Steuerregister in der Zentraleinheit ( Status Register, Programm Status Wort ) Der Überwacher (Kernel) läuft im Überwacherstatus (Supervisor State, Kernel State). Anwendungsprogramme laufen im Problemstatus (Problem State, User State). Auswirkungen: Bestimmte Privilegierte Maschinenbefehle können nur im Überwacherstatus ausgeführt werden Speicherschutz. Im Problemstatus kann nur auf einen Teil des Hauptspeichers zugegriffen werden

PRIVILEGIERTE MASCHINENBEFEHLE Der Befehlssatz der Zentraleinheit besteht aus privilegierten und nicht-privilegierten Befehlen. Privilegierte Befehle können nur im Überwacherstatus (in der Privilegstufe 0) ausgeführt werden. ( Eine versuchte Ausführung in einer höheren Privilegstufe führt zu einer Programmunterbrechung.) Die allermeisten Befehle sind nicht privilegiert. Privilegierte Befehle sind vor allem solche, die geeignet sind, die Privilegstufe oder den Speicherschutz abzuändern. Dazu gehören : Laden oder abspeichern des Programm-Status- Wortes. Laden oder abspeichern der Steuerregister in der Zentraleinheit. Programm - Status - Wort und Steuerregister gemeinsam laden oder abspeichern. Spezielle Maschinenbefehle, die den Status der Zentraleinheit und nicht den eines einzigen Prozesses betreffen. Spezielle Maschinenbefehle, welche systemweite Betriebsmittel betreffen (z.b. E/A-Befehle).

Beispiel: Maschinenbefehle, die den Speicherschutz- Schlüssel ändern. Programme, die in einer niedrigen Privilegstufe laufen, können den Wechsel zu einer höheren Privilegstufe dadurch erreichen, daß sie in eine spezielle Überwachungsroutine verzweigen, welche die Privilegerhöhung bewirkt. Der entsprechende Aufruf des Überwachers (wie jeder Aufruf des Überwachers) erfolgt durch einen Uberwacherauf-Unterbrechung bzw. einen Systemaufruf Maschinenbefehl. z.b. SVC Unterbrechung bei /370, TRAP # n Exception bei 68030 Call Gate bei Pentium Change Mode Befehl bei Vax, GATEWAY Befehl bei Precision ar1902ww6 wgs02-98

Problem State (User Mode) In problem state, the program must not execute privileged instructions No access to control registers No access to timers No access to storage keys Access only to uncritical parts of the PSW In general: No access to architecture facilities that are vital to the system as a whole

Privilegstufen der IA32 Architektur (Pentium)

Alle Architekturen verfügen über eine Privilegstufe 0, als Uberwacher-Status bezeichnet, und ein oder mehrere Privilegstufen 1.. n, gemeinsam als Problemstatus bezeichnet. Der Überwacher hat die größten Privilegien (läuft im Überwacher-Status, Privilegstufe 0). Normale Benutzerprogramme haben die wenigsten Privilegien; sie laufen im Problemstatus mit der Privilegstufe n. Im Überwacherstatus laufende Programme haben Zugriff auf den gesamten virtuellen und realen Adressenraum. Um sicherzustellen, daß der Speicherschutz nicht umgangen wird, können gewisse Maschinenbefehle nur vom Überwacher im Überwacher-Status (Privilegstufe 0) ausgeführt werden. ar1902ww6 wgs02-98

Ring 3 Anwendungen Ring 1,2 Erweiterte Systemfunktionen Überwacher Ring 0 Executive Kernel Hardware Strukturierter Überwacher Beispiel Pentium ar 1443 ww6 wgs 02-98

GRUNDGEDANKE DER PRIVILEGSTUFEN IM PROBLEMSTATUS Benutzerprogramme haben das geringste Privileg. Sie haben nur zu einem Teil des virtuellen Speichers Zugriff. Gewisse Betriebssystem-Programme, die nicht zum harten Kern des Betriebssystems gehören, laufen ebenfalls im Problemstatus. Sie haben Zugriff zum gesamten virtuellen Speicher, z.b. mit Privilegstufe 1. Benutzerprogramme, z.b. in Privilegstufe 3, können die Systemprogramme in Stufe 1 im Fehlerfall nicht unbeabsichtigt abändern. Für gewisse Systemprogramme, die z.b. neu und (noch) nicht vollständig ausgetestet sind, mag es sinnvoll sein, eine weitere Privilegstufe 2 vorzusehen. Die S/360 bzw. zseries und manche RISC-Architekturen verzichten hierauf. wgs 12-87

Register Control Access General Floating Point Number Register Register Register Register 64 bits 32 bits 64 bits 64 bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 zseries Control-, Access, General, and Floating-Point Register es 0158 ww97 wgs 04-02

Supervisor und Problem State Privilegierte Maschinenbefehle können nur im Supervisor Status ausgeführt werden. Bit 15 im PSW gibt an, ob die CPU im Supervisor Status oder im Problemstatus läuft When PSW bit 15 is one, the CPU is in the problem state. When PSW bit 15 is zero, the CPU is in the supervisor state (zarchitecture Principles of Operations, p. 4-6)

Überwacherstatus Benutzung bestimmter, sogenannter "privilegierter" Maschinenbefehle, Umfang der Autorisierung, auf Bereiche des Hauptspeichers zuzugreifen. Verfügbarkeit von Zugriffen auf bestimmte Register der Zentraleinheit.

bs 0102 ww6 wgs 09-02

S/390 Architektur PSW Format es 0242 ww6 wgs 09-02

z/ PSW Format es 0241 ww6 wgs 09-02

zseries Architektur Programm Status Wort

System Memory CPU Hardware

The PSW format was changed to allow instruction addresses above 2 Gigabytes. However, as long as the instruction address is below 2 Gigabytes, the 128-bit PSW can be mapped into the ESA/390 64-bit PSW with no loss of information. The first 33 bits and the last 31 bits of the PSW are the same in both formats with the following exceptions: Bit 12: 1 for 64-bit PSW (old S/370 EC-mode bit), 0 for 128-bit PSW. Bit 31: Always 0 in S/370 and ESA/390. 1 for AMODE 64, 0 for AMODE 24 or 31 in z/architecture. LPSW instruction automatically converts a 64-bit PSW to 128-bit format for z/architecture. New LPSWE instruction is used to load a 128-bit format PSW.

Adresse Hauptspeicherinhalt 004710 1 2 11 3 4 1 2 3 4 5 6 7 8 12 5 6 13 7 8 Big Endian 004710 1 2 11 3 4 7 8 5 6 3 4 1 2 12 5 6 13 7 8 Little Endian Wenn Halbworte oder Worte im Hauptspeicher gespeichert sind, dann befindet sich an der adressierten Hauptspeicherstelle: - Das wertniedrigste Byte bei Little Endian Rechnern - Das werthöchste Byte bei Big Endian Rechnern Die Bytes eines Halbwortes oder Wortes werden bei Little Endian Rechnern in umgekehrter Reihenfolge abgespeichert wie bei Big Endian Rechnern. ar0306 ww6 wgs 09-96

Byte Ordering Hauptspeicheradressen sind Byteadressen - es wird ein bestimmtes Byte adressiert. Bei Zugriff auf ein Halbwort, Wort oder Doppelwort im Hauptspeicher bezieht sich Adresse entweder auf das werthöchste oder das wertniedrigste Byte. Little Endian Das wertniedrigste Byte wird adressiert. Beispiele: DEC Alpha DEC VAX Intel Pentium, Pentium Pro Intel 80860 Big Endian Das werthöchste Byte wird adressiert. Beispiele: HP Precision IBM ESA/390 IBM/Motorola PowerPC (mit little Endian Option) MIPS 10000 (mit little Endian Option) Motorola 68040 Motorola 88110 (mit little Endian Option) Sun Sparc Beim Internet (TCP/IP) wird der Big Endian Standard eingesetzt (Network Byte Order) ar0307 ww6 wgs 09-96

Big Endian - Little Endian Kompatibilität Moderne Mikroprozessoren verfügen über zwei Status Bits im PSW Register, welche definieren, ob der Rechner im Big Endian oder im Little Endian Modus arbeitet. Diese Bits können während der Programmausführung dynamisch gesetzt werden. Ein Bit definiert den Modus des laufenden Programms; das 2. Bit definiert den Modus der Unterbrechungsroutinen. Dadurch ist es z.b. möglich, daß ein Big Endian Betriebssystem (z.b. Unix) Little Endian Anwendungen (z.b. Windows) ausführen. Wenn eine externe Unterbrechung auftritt, kann der Rechner vom Little Endian Modus in den Big Endian Modus umgeschaltet werden. Eine Workstation kann so Anwendungen aus unterschiedlichen Betriebssystemumgebungen gleichzeitig ausführen. Die P-Series Architektur ist prinzipiell Big Endian, unterstützt aber auch Little Endian. Die S/360 und zseries Architektur ist ausschließlich Big Endian. ar 1209 ww wgs 12-94

Privilegstufen Speicherschutz Stapel (Stack) Unterbrechungen Hardware Unterstützung von Betriebssystem-Funktionen

Speicherschutz (Hardware) Storage Protection Hardware-Einrichtungen, die mehrere Prozesse daran hindern, Daten anderer Prozesse zu verändern. (zarchitecture Principles of Operations, p. 3-8)

7 1 3 Hauptspeicher aufgeteilt in Blöcke (Rahmen) 4 zu je 4096 Bytes 4 Jedem Block wird vom Kernel eine Speicherschutznummer 3 zwischen 0... 15 zugeordnet 3 3 1 7 7 1 0 0 00... 00 0 S/390 Speicherschutz es 0146 ww6 wgs 06-99

S/390 Speicherschutz Speicherschutzschlüssel, Bit 8-11 4 Bit Programmstatuswort 19 Bit 12 Bit Adresse 4 Bit R Ä Speicherschutzschnellspeicher mit Hauptspeicherschlüsseln. Je 1 Schlüssel (4 Bit) pro 4096 Byte Block (plus Steuerbits, z.b. Referenzbit R und Änderungsbit Ä) Vergleich nein ja Speicherzugriff ok Programmunterbrechung es 0147 ww6 wgs 06-99

Speicherschutz- Schlüssel Nutzung Genutzt vor allem vom 0 Betriebssystem Kernel. Erlaubt Zugriff auf den gesamten Speicher 1 7 von verschiedenen Subsystemen verwendet 8 Default für Anwendungen 9 CICS Speicherschutz 10-15 6 unterschiedliche Prozesse in virtual = real mode Nutzung der Speicherschutzschlüssel

Zweistufige Adressumsetzung, S/390, Pentium In der S/390 Architektur übernimmt Control Register 1 (CR1) die Rolle des Segment Registers (STOR, Segment Table Origin Register)

Speicherschutz in virtuellen Systemen Virtuelle Systeme erreichen den Speicherschutz dadurch, daß die Prozesse mit getrennten Segmenttafeln arbeiten. Die Segmenttafel befindet sich im Hauptspeicher. Die Anfangsadresse der Segmenttafel befindet sich in einem Steuerregister der Zentraleinheit, dem Segmentregister. Bei einstufiger Adressumsetzung (z.b. VAX) hat die Seitentafel und das Seitentafelregister die gleiche Funktion. Das Segmentregister wird beim Prozesswechsel mit unterschiedlichen Werten geladen. Da Rahmen nur über Seitentafeleinträge angesprochen werden können, kommt ein Prozess nicht an Rahmen heran, die ihm nicht zugeordnet sind.

physische Rahmenadresse Speicher- Schutz- Bits Speicherschutz über Seitentafel-Feld z. B. Read only, Read/Wri

Seitentafel - Speicherschutzschlüssel Zusätzlich haben virtuelle Systeme einen Speicherschutzschlüssel in einem Feld des Seitentafeleintrags. Hiermit können im Benutzer - Status mehrfache Privilegstufen verwirklicht werden. Zum Beispiel können in Privilegstufe 2 manche Seiten nur gelesen werden, die in Privilegstufe 1 auch abgeändert werden können. Die Privilegstufe steht in einem Register der Zentraleinheit. Bei jedem Speicherzugriff wird die Berechtigung überprüft, indem das Speicherschutzschlüsselfeld im Seitentafel - Eintrag mit dem Privilegstufenfeld des PSW verglichen wird. Ein nicht berechtigter Speicherzugriff führt zu einer Programmunterbrechung. wgs 4-89

Speicherschutz - Eintrag in der Segmenttafel Vorteilhaft, wenn mehrere Prozesse die gleiche Seitentafel benutzen. Unterschiedliche Zugriffsberechtigungen für unterschiedliche Prozesse

Hauptspeicher aufgeteilt in 4 KByte Blöcke (Seitenrahmen) mit unterschiedlichen Speicherschutzschlüsseln C 7 7 3 3 3 Puffer Überlauf 4 in benachbarten 4 4 KByte Block 4 A A 0 0 0 0 Speicherschutzschüssel Verhinderung des Puffer Überlaufs (Buffer Overflow) es 0263 ww6 wgs 07-04

Computer security and Buffer Overflows In a discussion in 2Q2004 Prof. Welsch (IBM Laboratory Boeblingen) and myself came to an interesting conclusion with regard to another leading edge technology characteristic of the zseries systems. Security holes leave computer systems open to malicious attacks. There is general agreement the most common exploit involves stack overruns and buffer overflows. Microsoft states no single technique can completely eliminate this type of vulnerability. See http://msdn.microsoft.com/events/pdc/default.aspx?pull=/library/enus/dnwxp/html/securityinxpsp2.asp Well, this statement by Microsoft is not quite true. Let me start with stack overruns. Computer scientists have argued for quite some time that hardware architectures should refrain from implementing a hardware stack, but should implement stacks in software only. A hardware stack is an area of memory, on which you can operate with PUSH and PULL machine instructions and which is used for subroutine linkage etc. The IA32 (Pentium) architecture uses a hardware stack (4-5 as a matter of fact). Several modern hardware architctures, including Hewlett Packard Precision, IBM zseries, IBM and Motorola Power PC, and MIPS do not have a hardware stack. If there is no hardware stack, a stack overrun cannot happen. Now to buffer overflows. The zseries (former S/390) architecture features a 4 bit hardware protection key. Every 4 Kbyte page frame in memory is assigned one of the 16 keys, and each process runs with one of the 16 keys. Keys are checked during each physical memory access, including cache accesses. If a process accesses a page frame where the keys do not match, a protection error interrupt occurs. This is especially true, if a user process tries to acces kernel mode memory, but it can also be used to protect user processes from each other. If a buffer overflow grows into an adjacent page frame with a non-matching key, access is denied. Certainly, illegal access into kernel areas is impossible. buffer overflows into adjacent page frame Key = x Key = y Main Memory, divided into 4Kbyte blocks (= page frames) each with a different protection key The zseries machines appear to be quite invulnerable to outside attacks. The hardware protection key mechanism is probably one of the reasons - there are of course others. The IA32 Architecture and most other architectures do not provide such a feature. The IA64 (Itanium) Architecture uses a Register Stack Engine (http://cpus.hp.com/technical_references/dale.ppt).and protection keys (http://www.gelato.unsw.edu.au/ia64wiki/longformatvhpt). An analysis of their vulnerabilities requires more work. W. G. Spruth