Tématické skupiny v rámci předmětu PB173 Tematicky zaměřený vývoj aplikací v jazyce C/C++

Téma 4: Chyby souběhu

Teoretická část

  • Popis race condition
  • Jak je řešit
    • Atomické operace
    • Typy zámků a jejich použití
  • Deadlock

Praktický úkol pro cvičení

  • Příklady použití

Domácí úkol

  • Ovladač z předminula upravte tak, aby byl maximálně jeden proces, který může zařízení otevřít pro zápis
    • Zapisovač se pozná v open jako (filp→f_mode & FMODE_WRITE) != 0, kde filp je druhý parametr
    • Pamatujte i v počítání otevření na chyby souběhu
  • Doplnit správné atomické operace do kódu z předminulé domácí úlohy
    • Zejména počet vypisovaných znaků ovládaných přes ioctl je nutné spravovat atomicky
  • Úkol ze cvičení
    • Atomický 128 B buffer