Małe zadania #2 i #2+¶
Napisać program używający wątków bez pomocy biblioteki wątków (surowe syscalle).
Program powinien:
- Utworzyć nowy wątek w tej samej przestrzeni adresowej - zaalokować
stos dla nowego wątku, użyć syscalla
clone
do uruchomienia kodu. - W nowym wątku: wypisać 1000 razy
"A\n"
na standardowe wyjście (używając syscallawrite
), po czym zakończyć wątek (syscallexit
). - 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 (waitpid
), po czym zakończyć program (syscallexit_group
).
Zadanie można oddawać w dwóch wersjach:
- #2 (łatwa, warta 1 punkt): używając funkcji
clone
,syscall
z libc. - #2+ (trudna, warta 2 punkty): nie używając żadnych funkcji bibliotecznych, wołając syscalle z assemblera.