Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Systemcalls (Systemaufrufe) Nina, Helen & Nicole proudly present:"—  Präsentation transkript:

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

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

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

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

5 Hardware – Interrupt

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

7 1. Definitionen 1.1. Interrupt Exception Hardware-Interrupt Software-Interrupt 1.2. Systemcall Unix – Schalenmodell Definition Systemcall Bereiche 2. Schematischer Ablauf 3. Beispiele 3.1. ausführlich: creat 3.2. weitere Beispiele Gliederung

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

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

10 5 Bereiche der Systemcalls 1. Prozessverwaltungfork, exit, exec 2. Speicherverwaltungbrk, mmap, munmap 3. Dateiverwaltungopen, read, write 4. Geräteverwaltungio_ctl 5. Kommunikationkill, pipe

11 1. Definitionen 1.1. Interrupt Exception Hardware-Interrupt Software-Interrupt 1.2. Systemcall Unix – Schalenmodell Definition Systemcall Bereiche 2. Schematischer Ablauf 3. Beispiele 3.1. ausführlich: creat 3.2. weitere Beispiele Gliederung

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

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

14 BENUTZEREBENE - USERMODE Bibliothek Mehrzweckregister Befehl Nr exit1 fork2 read3.... create8 … … 142 … … … ;ASM.CODE BEGINN MOV JSR JMP.. … 58 7e 80 13c TRAP SYSTEMEBENE - SYSTEMMODE

15 BENUTZEREBENE - USERMODE SYSTEMEBENE - SYSTEMMODE TRAP Softwareinterrupt PSR 0 15 OF DF IF TF SFZF AFPF CF 1

16 SYSTEMEBENE - SYSTEMMODE … 142 … … … … 58 7e 80 13c Mehrzweckregister Tabelle Register … … U-Bereich Benutzerstack b6 6a BENUTZER- EBENE – USERMODE funktion0(); funktion1(); funktion2(); funktion3(); funktion4(); funktion5(); funktion6(); funktion7(); funktion8(); funktion9(); funktion10(); funktion11(); 204 1b6

17 SYSTEMEBENE - SYSTEMMODE Hardware ;Ken Thompson 1969 ;.STACK 1000H.DATA VARA DW1; VARB DW2;.CODE BEGINN MOV MOV AX,VARA; ADD AX,VARB, … END BEGIN; Prozessor

18 Register … … U-Bereich 204 1b6 Fehlerfeld Mehrzweckregister … … 142 … … 58 7e SYSTEMEBENE - SYSTEMMODE 13c 0 PSR 015 OF DFIFTFSFZF AF PF CF 1 0x800CCC6F CF 1

19 BENUTZEREBENE - USERMODE SYSTEMEBENE - SYSTEMMODE PSR OF DF IF TFSFZF AF PF CF Bibliothek Befehl Nr exit1 fork2 read3.... creat 8 ;ASM.CODE BEGINN MOV JSR JMP.. ? User-AnwendungenBenutzerstack creat(name, 0666); b6 6a I Returncode = 0

20 BENUTZEREBENE - USERMODE SYSTEMEBENE - SYSTEMMODE PSR OF DF IF TFSFZF AF PF CF Bibliothek Befehl Nr exit1 fork2 read3.... creat 8 ;ASM.CODE BEGINN MOV JSR JMP.. ? User-Anwendungen creat(name, 0666); ? Returncode = -1 1 Mehrzweckregister … … … … 58 7e c 142 0x800CCC6F errno

21 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 … EPERM ENOENT ESRCH EINTR … ENODEV ENOTDIR … ENFILE EMFILE ENOTTY … … error messageMakroerrno User-Anwendungen creat(name, 0666); BENUTZEREBENE - USERMODE Returncode = -1 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 0x800CCC6F errno *** Error code 2 2

22 1. Definitionen 1.1. Interrupt Exception Hardware-Interrupt Software-Interrupt 1.2. Systemcall Unix – Schalenmodell Definition Systemcall Bereiche 2. Schematischer Ablauf 3. Beispiele 3.1. ausführlich: creat 3.2. weitere Beispiele Gliederung

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

24 Teil des Assemblercodes für Motorola 68000

25 Weitere Beispiele – open(, ) öffnet eine vorhandene Datei mit angegebener Benutzungsart – read(,, ) liest Datei ein, mit angegebener Anzahl an Bytes – write(,, ) schreibt angegebene Anzahl an Bytes in spezifizierte Datei

26 ENDE


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

Ähnliche Präsentationen


Google-Anzeigen