Systemcalls (Systemaufrufe)

Slides:



Advertisements
Ähnliche Präsentationen
M a r c – o l i v e r p a h l Informatik I – Kapitel 7 Klassen und höhere Datentypen Zusammenfassung des Kapitel 7 Küchlin, Weber, Einführung in die Informatik,
Advertisements

Ebru Iscan, Andrea Kováčová Experimente Seminar "Experimentielle Evaluierung im IR"
Operating Systems Principles
Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
1 Datenbankapplikationen 9.1MS Visio 9.2MS Access 9.3Embedded SQL 9.4JDBC 9.5Cold Fusion 9.6PHP.
PL/SQL - Kurze Einführung -.
C Tutorium – Fehlerbehandlung – Knut Stolze. 2 Grundsatz Also ist auch nach jedem Funktionsaufruf auf Fehler zu prüfen!! Jeder(!) Funktionsaufruf kann.
Institut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik, Universität Rostock Vorlesung Echtzeitbetriebssysteme.
2 Systemdienste Wiederholungsempfehlung: Rechnerorganisation Beachte: Systemaufrufe sind sprachunabhängig. Ihre Beschreibung bezieht sich daher auf das.
Intelligente Dateisysteme Einführende Bemerkungen Manfred Thaller, Universität zu Köln Köln 17. Oktober 2013.
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik F Verteilte Software - Java.
Verteilte Software - Java - Prozedurale Programmierung 1
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
SAP R/3 - Speichermanagement
ATHOS Benutzertreffen 12.November QUARTZ – Scheduling und Workflow Glashütten, 12. November 2008 HighQSoft GmbH, Karl Hildebrand
I/O Metaphern Präliminarien Manfred Thaller, Universität zu Köln Köln 21. Oktober 2008.
1A: POSIX POSIX (Portable Operating System) ist ein Standard für UNIX-Systeme. Er dient dazu, Programme portabel unter UNIX und Derivaten zu tauschen und.
1 Named Pipes alias FIFO Haben einen Eintrag im Dateisystem und sind somit durch Zugriffsrechte identifizierbar Ermöglichen die Kommunikation zwischen.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 9 IO – Streams in Java Sommersemester 2003 Lars Bernard.
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 12.1.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Medizinische Statistik und Informationsverarbeitung Goldschmidt, Quade, Baur Institut für Medizinische Statistik, Dokumentation und Datenverarbeitung.
Vorl. 6: Single- und Multitasking Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 5: Interrupts Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester.
Vorlesung 5 Interrupts Peter B. Ladkin
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
Operating Systems Principles
Oracle interMedia Audio Vortrag für das Seminar Oracle Zusatzoptionen Chris Haußmann.
1 Reverse Engineering WS 07 / 08 A. Zündorf. Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University 2 Organisatorisches.
Reverse Engineering 1 Reverse Engineering WS 04 / 05 A. Zündorf.
1 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe.
1 Kapitel 8: Datenintegrität. 2 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines.
Ein Rechensystem ist ein aus Hard- und Software bestehendes System zur Speicherung und Verarbeitung von Informationen.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Neno Loje Berater & MVP für Visual Studio ALM und TFS (ehemals VSTS) Hochqualitative Produkte mit Visual Studio & TFS 2010.
Frank Fischer + Bernhard Frank Microsoft Deutschland GmbH.
Dominick Baier Security Consultant thinktecture. 2 Wir unterstützen Software-Entwickler und Architekten bei der Realisierung von.NET- und Web Services-Projekten.
3/28/2017 8:11 PM Visual Studio Tools für Office { Rapid Application Development für Office } Jens Häupel Platform Strategy Manager Microsoft Deutschland.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Grundlagen der Informatik 4 Lehrstuhl für Betriebssysteme 1 Wie werden Funktionen realisiert? Beispiel: int maximum(int x, int y) { int j = x; if (y >
Portabilität Seminar aus Softwareentwicklung: Programmierstil Christine Schiestl WS 02 / 03.
VHDL 4: Getaktete Logik (D-FF, Zähler, Automaten)
Real Time Operating System
XINFO HORIZONT XINFO in der Anwendungsentwicklung
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
HORIZONT 1 XINFO ® Das IT - Informationssystem Assembler HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 /
HORIZONT 1 XINFO ® Das IT - Informationssystem Eclipse Plugin HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Computerorientierte Physik VORLESUNG
Ein Projekt des Technischen Jugendfreizeit- und Bildungsvereins (tjfbv) e.V. kommunizieren.de Blended Learning for people with disabilities.
Betriebssysteme Übung Tutorium „System Calls & Multipgrogramming“
Ciiema CITEM - Dr. Siegl VU Dr. Manfred Siegl ENTWURF, ERRICHTUNG, BETRIEB VON DATENNETZEN VU Dr. Manfred Siegl
1 Intern | ST-IN/PRM-EU | | © Robert Bosch GmbH Alle Rechte vorbehalten, auch bzgl. jeder Verfügung, Verwertung, Reproduktion, Bearbeitung,
Launch ON Global.vi System ID object name classname Services to suscribe Observer Control Ref vi-path Service name Step 1 : Objects register to the Global.vi´s,
Instrumente und Unterhaltung End of Unit Assessment.
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
Linux oder GNU/Linux WS 2013/2014.
1 // Laengste Zeile bestimmen // // Liest die Eingabe Zeichen fuer Zeichen, bis // das erscheint. // Die laengste Zeile wird ausgegeben (bei.
Autor: Timo Pagel Nutzung: Diese Lernkarten sind für die Nutzung mit OpenCards gedacht Siehe dazu
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #8 SQL (Teil 5)
2.3 Implementierung von Prozessen
Mikrocomputertechnik SERVO-Kalibrations-Quickie Prof. J. Walter Stand Dezember Mikrocomputertechnik Jürgen Walter Servo-Kalibrations-Quickie Kalibration.
Betriebssysteme Übung 2. Tutorium „System Calls & Multiprogramming“
Regular Expressions HBU-LINUX-2003 Adduser.sh? My_user_Verw.sh? AufgUser.sh? Wo ist das Script ??????? /home/donald ? /home ? /tmp ?
Ablauf von Daten- verarbeitungsprozessen Gliederung: ● Zeitliche Steuerung von Abläufen – Druckauftragsverarbeitung – scheinbare Gleichzeitigkeit von Prozessen.
Center for Biotechnology Bielefeld Bioinformatics Service Netzwerk - Programmierung Threads Alexander Sczyrba Jan Krüger.
1 Grundstruktur von Linux Manuel Blechschmidt & Volker Grabsch CdE Sommerakademie 2006 Kirchheim.
Vom HW-Automaten zum Prozessor
Medizinische Statistik und Informationsverarbeitung
מבוא למערכות מחשב ואסמבלי
Referent: Rüdiger Grobe
 Präsentation transkript:

Systemcalls (Systemaufrufe) Nina, Helen & Nicole proudly present: Systemcalls (Systemaufrufe)

Gliederung 1.1.1. Exception 1. Definitionen 1.1. Interrupt 1.1.2. Hardware-Interrupt 1.1.3. Software-Interrupt 1.2. Systemcall 1.2.1. Unix – Schalenmodell 1.2.2. Definition Systemcall 1.2.3. 5 Bereiche 2. Schematischer Ablauf 3. Beispiele 3.1. ausführlich: creat 3.2. weitere Beispiele

Gliederung 1.1.1. Exception 1. Definitionen 1.1. Interrupt 1.1.2. Hardware-Interrupt 1.1.3. Software-Interrupt 1.2. Systemcall 1.2.1. Unix – Schalenmodell 1.2.2. Definition Systemcall 1.2.3. 5 Bereiche 2. Schematischer Ablauf 3. Beispiele 3.1. ausführlich: creat 3.2. weitere Beispiele

= Unterbrechung des aktuellen Prozesses durch CPU Interrupt = Unterbrechung des aktuellen Prozesses durch CPU Unterteilung in : Exception Hardware – Interrupt Software – Interrupt

Hardware – Interrupt

Software – Interrupt = gewollte Unterbrechung des laufenden Progammes, weil Kernel wichtige Funktionen ausführen soll - Software – Interrupt wird durch prozessortypabhängige Befehle (Systemcalls) ausgelöst

Gliederung 1.1.1. Exception 1. Definitionen 1.1. Interrupt 1.1.2. Hardware-Interrupt 1.1.3. Software-Interrupt 1.2. Systemcall 1.2.1. Unix – Schalenmodell 1.2.2. Definition Systemcall 1.2.3. 5 Bereiche 2. Schematischer Ablauf 3. Beispiele 3.1. ausführlich: creat 3.2. weitere Beispiele

Unix Schalenmodell – Systemstruktur Anwenderprogramme nroff sh who cpp Kernel a.out comp Systemcalls Hardware as date Systemmode ld wc vi grep ed Usermode

Systemcalls = Anfrage an den Kernel - Programme fordern per Systemcall Dienstleistungen vom Kernel an - definiert Schnittstelle zwischen Kernel und Benutzerprogramm

5 Bereiche der Systemcalls 1. Prozessverwaltung fork, exit, exec 2. Speicherverwaltung brk, mmap, munmap 3. Dateiverwaltung open, read, write 4. Geräteverwaltung io_ctl 5. Kommunikation kill, pipe

Gliederung 1.1.1. Exception 1. Definitionen 1.1. Interrupt 1.1.2. Hardware-Interrupt 1.1.3. Software-Interrupt 1.2. Systemcall 1.2.1. Unix – Schalenmodell 1.2.2. Definition Systemcall 1.2.3. 5 Bereiche 2. Schematischer Ablauf 3. Beispiele 3.1. ausführlich: creat 3.2. weitere Beispiele

Systemebenen User- Anwendungen Bibliotheken Benutzerstack Benutzerebene Usermode Trap PSR Mehr- zweck- register weitere Register Tabel- len System- stack Systemebene Kernel Systemmode Hardware-Steuerung Hardware Prozessor etc.

BENUTZEREBENE - USERMODE User-Anwendungen Benutzerstack . . . 204 mode Angabe (Oktal 666) 1b6 Adresse von name 6a Rückkehradresse creat(name, 0666); SYSTEMCALL

BENUTZEREBENE - USERMODE SYSTEMEBENE - SYSTEMMODE Bibliothek Mehrzweckregister Nr … 58 Befehl … ;ASM .CODE BEGINN MOV JSR JMP . exit 1 … 7e fork 2 142 8 read 3 . … 80 . . 13c … . TRAP … 146 create 8

TRAP PSR BENUTZEREBENE - USERMODE Softwareinterrupt TF 1 15 DF IF TF SF ZF AF PF CF PSR 1 15 SYSTEMEBENE - SYSTEMMODE

SYSTEMEBENE - SYSTEMMODE BENUTZER- EBENE – USERMODE SYSTEMEBENE - SYSTEMMODE Benutzerstack Register Tabelle Mehrzweckregister . . funktion0(); . … 58 … funktion1(); 1 funktion2(); 2 … … 7e 204 funktion3(); 3 1b6 U-Bereich funktion4(); 4 142 8 funktion5(); 5 204 funktion6(); 6 … 80 6a 1b6 funktion7(); 7 13c … funktion8(); 8 funktion9(); 9 146 … funktion10(); 10 funktion11(); 11

SYSTEMEBENE - SYSTEMMODE ;Ken Thompson 1969 ; .STACK 1000H .DATA VARA DW1; VARB DW2; .CODE BEGINN MOV AX,@DATA; MOV AX,VARA; ADD AX,VARB, … END BEGIN; 1 0 11 0 1 00 1 1 101 11 0 010 110 1 0 100 Hardware Prozessor

SYSTEMEBENE - SYSTEMMODE Register Mehrzweckregister … … 58 … … 7e U-Bereich 142 8 204 … 80 1b6 13c 0x800CCC6F … 146 1 Fehlerfeld OF CF CF DF IF TF SF ZF AF PF PSR 1 15

? BENUTZEREBENE - USERMODE User-Anwendungen Benutzerstack Bibliothek . Nr ;ASM .CODE BEGINN MOV JSR JMP . Befehl exit 1 204 fork 2 1b6 read 3 . creat(name, 0666); 6a . I . ? . creat Returncode = 0 8 SYSTEMEBENE - SYSTEMMODE OF DF PF CF IF TF SF ZF AF PSR

? BENUTZEREBENE - USERMODE User-Anwendungen Mehrzweckregister Bibliothek … 58 Befehl Nr ;ASM .CODE BEGINN MOV JSR JMP . … 7e exit 1 142 8 fork 2 … 80 read 3 . 13c 0x800CCC6F -1 creat(name, 0666); . ? 146 … . ? . creat Returncode = -1 8 errno 0x800CCC6F SYSTEMEBENE - SYSTEMMODE CF OF DF IF TF SF ZF AF PF PSR 1

… BENUTZEREBENE - USERMODE errno User-Anwendungen 2 Returncode = -1 0x800CCC6F User-Anwendungen errno Makro error message 1 3 4 … 19 20 23 24 25 EPERM ENOENT ESRCH EINTR … ENODEV ENOTDIR ENFILE EMFILE ENOTTY Permission No such file or directory No such process interrupted system call … No such device Not a directory ... File table overflow Too many open files Not a typewriter 2 creat(name, 0666); gmake[1]: *** [libswt- gnome-gtk-3063.so] Error 1 gmake[1]: Leaving directory`/usr/ports/ java/eclipse/work/plugins /org.eclipse.swt/Eclipse SWT PI/gtk/library' gmake: *** [libswt] Error 2 *** Error code 2 Returncode = -1

Gliederung 1.1.1. Exception 1. Definitionen 1.1. Interrupt 1.1.2. Hardware-Interrupt 1.1.3. Software-Interrupt 1.2. Systemcall 1.2.1. Unix – Schalenmodell 1.2.2. Definition Systemcall 1.2.3. 5 Bereiche 2. Schematischer Ablauf 3. Beispiele 3.1. ausführlich: creat 3.2. weitere Beispiele

Systemcall creat char name[]=„file“; main { int fd; Ausschnitt aus C-Programm char name[]=„file“; main { int fd; fd = creat(name, 0666); }

Teil des Assemblercodes für Motorola 68000

Weitere Beispiele open(<dateiname>,<art>) öffnet eine vorhandene Datei mit angegebener Benutzungsart read(<filehandle>,<puffer>,<puffergröße>) liest Datei ein, mit angegebener Anzahl an Bytes write(<filehandle>,<puffer>,<puffergröße>) schreibt angegebene Anzahl an Bytes in spezifizierte Datei

ENDE