TU Wien:Betriebssysteme UE (Puschner)/Tipps

Aus VoWi
Zur Navigation springen Zur Suche springen

1. Test[Bearbeiten | Quelltext bearbeiten]

  • In der man page getaddrinfo steht unter EXAMPLE Beispielcode für einen Server und einen Client.
  • In der man page getline steht ein nützliches EXAMPLE.
  • Um mehrere Variablen in ein Byte speichern, kann man ein struct definieren, anstatt sich mit Bit-Operatoren rumplagen zu müssen:
struct req {
  unsigned int cmd : 2;
  unsigned int id : 6;
  unsigned int val : 7;
  unsigned int blank : 1;
} r;
r.id = arguments.id;
r.cmd = arguments.cmd;
r.val = arguments.value;

2. Test[Bearbeiten | Quelltext bearbeiten]

Pipes[Bearbeiten | Quelltext bearbeiten]

  • bei einer pipe ist pipe[0] das Lese und pipe[1] das Schreibende
  • bei dup2 STDOUT_FILENO oder STDIN_FILENO als 2. Argument angeben

Forking[Bearbeiten | Quelltext bearbeiten]

  • bei execlp nicht vergessen den Programmnamen zweimal zu übergeben (wegen argv[0])

Semaphoren[Bearbeiten | Quelltext bearbeiten]

  • bei sem_open muss man, wenn um ein value zu übergeben, auch die permissions angeben