Bsys2 - Funktionen

Bsys2 - Funktionen

Bsys2 - Funktionen


S. N.
Diese Lernkarten behandeln fortgeschrittene Funktionen im Bereich der Informatik, insbesondere Prozesse, Threads, Speicherverwaltung und Signalhandhabung. Sie decken Themen wie Dateioperationen, Shared Memory, Message Queues und Synchronisationsmechanismen wie Mutexes und Semaphore ab. Die Karteikarten sind ideal für Studierende, die sich mit Systemprogrammierung und paralleler Verarbeitung beschäftigen, da sie praktische Funktionen und deren Anwendung in der Praxis erläutern.
Cartes-fiches
77
Utilisateurs
5
Langue
Allemand
Catégorie
Informatique
Niveau
Université
Créé / Mis à jour
25.08.2018 / 26.08.2019

Cartes-fiches

SIGCONT

setzt Prozess fort

mqd_t mq_open(const char * name, int flags, mode_t mode, stuct mq_attr *attr)

Öffnet Message-Queue mit system-weitem name und gibt Message-Queue-Descriptor zurück

int mq_unlink(const char *name) 

Entfernt Queue mit dem Namen name aus System (Name wird sofort entfernt, Queue erst wenn alle Proze Queue geschlossen haben)

int mq_send(mqd_t queue, const char *msg, size_t length, unsigned int priority) 

Sendet Nachricht die an msg beginnt und length Bytes lang ist an queue (blockiert wenn Queue voll ist)

int mq_receive(mqd_t queue, const char *msg, size_t length, unsigned int *priority) )

Kopiert nächste Nachricht aus Queue in den Puffer, den an Adresse msg beginnt und length Bytes lang ist (length maximale Grösse

int shm_open(const char *name, int flags, mode_t mode) 

Öffnet Shared Memory mit system-weitem name, gibt File-Deskriptor zurück, name sollte mit / beginnen

int fd = shm_open("/mysharedmemory", O_RDWR | O_CREATE, S_IRUSR | S_IWUSR) 

Erzeugt falls nicht vorhanden Shared Memory mit R/W

int fd = shm_open("/mysharedmemory", O_RDONLY, 0); 

Öffnet vorhandenen Shard Memory mit R only

int ftruncate(int fd, offset_t length) 

Setzt Grösse von Dateien, bei Shared Memory nötig (um Anzahl allozierter Frames zu bestimmen)

int close(int fd) 

Schliesst Dateien und auch Share Memory, Shared Memory bleibt aber im System vorhanden

int shm_unlink(const char *name) 

Löscht Shared Memory aus System wenn der von keinem Prozess geöffnet ist

void * mmap(void *hint_adress, size_t length, int protection, int flags, int file_deskriptor, off_t offset) 

Mappt im File-Deskriptor geöffneter Shared Memory in den virutellen Adressraum des Prozess und gibt die Adresse zurück

int munmap(void *address, size_t length) 

Entfernt Mapping aus virtellem Adressraum

fd open(path, flags) 

Erzeugt File-Deskriptor auf die Datei in path, in flags können Rechte etc gesetzt werden & close(fd) dealloziert den File-Deskriptor

read(fd, buffer, n) 

Versucht die nächsten n Byte vom aktuellen Offset in den Buffer zu kopieren 

write(fd, buffer, n) 

Schreibt n Bytes vom buffer in Datei

lseek(fd, offset, origin)

 Setzt den Offset des FD auf offset, in Origin wird relativität festgelegt (Anfang / Ende der Datei oder aktueller Offset)

pread & pwrite 

Analog zu read und write mit Offset als zusätzliches Argument, verändern aktuellen Offset des FD nicht

FILE * fdopen(fd, const char*mode) 

Erzeugt File-Object, Mode ist null terminierter String (rwa)

FILE * fopen(const char* path, const char* mode)

Erzeugt Stream für Datei in path mit mode

fileno(FILE *stream) 

Gibt File-Deskriptor zu Stream zurück

fclose(stream)

Schliesst Stream und gibt Speicherplatz frei

int fgetc(stream)

Liest das nächste Byte vom stream als unsigned char und gibt als Int zurück

int fgets(string, n, stream) 

Liest N Bytes oder bis keine Byes mehr in Stream sind in string, string Outparameter (null terminierter String)

int fputc(int c, stream) 

Konvertiert c in char und schreibt auf Stream

int fputs(text, stream) 

Schreibt alle Bytes von text in den stream bis Null erreicht wurde

int fungetc(c, stream) 

Schiebt c in Stream aber schreibt nicht in Datei

void * dlopen(char * filename, int mode) 

Öffnet dynamische Bibliothek und gibt Adresse Zurück

void * dlsym(void * handle, char * name) 

Gibt Adresse des Symbol name aus der Bib handle zurück (keine Typinformationen => Funktionen oder Variablen möglich)

int dlclose(void *handle)

Schliesst das Objekt, char * dlerror() gibt Fehlermeldung als null-string zurück

Display * XOpenDisplay(char * display_name) 

Öffnet Verbindung zu Display, (wenn display_name == NULL standard Display)

void XCloseDisplay(Display *display) 

Schliesst Verbindung

Window XCreateWindow(), XDestroyWindow, XCreateSimpleWindow

Diverse Window Funktionen, bini doch au z fuul zum ufschriebe

XMapWindow(Display * display, Window) 

Legt Fest das Display angezeigt werden soll

XMapRaised

Bringt Fester in Vordergrund

ColorMap DefaultColormap(Dsp *, Screen)

Ggibt default Colormap für Display zurück

XParseColor(Dsp *, Colormap, char * specification, Xcolor *color)

 XAllocColor(Dsp *, Colormap, Xcolor *color) 

Zum Anlegen einer Farbe in der Colormap, zuerst parsen und dann in Colormap einfügen, bei ParseColor ist color in und out Parameter

Étudier