Skip to content

FHNW Modul System-Programmierung (syspr) Hands-on Lektion 3

Notifications You must be signed in to change notification settings

tamberg/fhnw-syspr-work-03

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

System-Programmierung

Hands-on zu Lektion 3

Für Slides und Code Beispiele, siehe Lektion 3

Achtung: Arbeiten Sie nicht direkt auf diesem Repository.
Prüfen Sie die vorhandenen Forks, um das Repository für Ihre Klasse zu finden.

a) TLPI Beispiele builden, 5'

b) File I/O, 20'

  • Schreiben Sie ein Programm my_copy.c, das eine beliebig grosse, existierende Datei source liest und in eine neue Datei dest kopiert, wie das cp Kommando:
    $ ./my_copy source dest
  • Verwenden Sie System Calls: open(), read(), write().
  • Fertig? Bauen Sie Fehlerbehandlung ein.

c) Buffering, 10'

  • Kompilieren Sie das Programm write_bytes zuerst mit und dann ohne die Compiler Option -DUSE_O_SYNC.
  • Messen Sie die Laufzeit (real, sys) der Binaries, je mit num-bytes = 100000 und buf-size = 1, 16, 256, 4096:
    $ time write_bytes my_file num-bytes buf-size
  • Welchen Einfluss hat die Buffergrösse? Und O_SYNC?
  • Wann/wozu ist Synchronisieren überhaupt nötig?

About

FHNW Modul System-Programmierung (syspr) Hands-on Lektion 3

Resources

Stars

Watchers

Forks

Packages

No packages published