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:
Utworzyć nowy wątek w tej samej przestrzeni adresowej - zaalokować stos dla nowego wątku, użyć syscalla
clonedo uruchomienia kodu. Przydadzą się flagiCLONE_THREAD | CLONE_VM | CLONE_SIGHAND | CLONE_FS | CLONE_FILES | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTIDW nowym wątku:
wypisać 1000 razy
"A\n"na standardowe wyjście (używając syscallawrite)zakończyć wątek (syscall
exit).
W głównym wątku:
wypisać 1000 razy
"B\n"na standardowe wyjście (używając syscallawrite)poczekać na zakończenie się nowego wątku (
futexzFUTEX_WAIT)zakończyć program (syscall
exit_group).