Małe zadanie 7

Napisać program używający wątków bez pomocy biblioteki wątków (surowe syscalle). Co więcej, wywołania syscalli powinny zaimplementowane przy pomocy wstawe assemblerowych poznanych na zajęciach.

Program powinien:

  1. Utworzyć nowy wątek w tej samej przestrzeni adresowej - zaalokować stos dla nowego wątku, użyć syscalla clone do uruchomienia kodu. Przydadzą się flagi CLONE_THREAD | CLONE_VM | CLONE_SIGHAND | CLONE_FS | CLONE_FILES | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID

  2. W nowym wątku:

    • wypisać 1000 razy "A\n" na standardowe wyjście

    (używając syscalla write) - zakończyć wątek (syscall exit).

  3. W głównym wątku:

    • wypisać 1000 razy "B\n" na standardowe wyjście (używając syscalla write)

    • poczekać na zakończenie się nowego wątku (futex z FUTEX_WAIT)

    • zakończyć program (syscall exit_group).