Ocena zarządcy/silnika wielowątkowości

Ocena zarządcy/silnika wielowątkowości
Manna5
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 685
2

Proszę o ocenę "projektu" w asemblerze związanego z wielowątkowością - GitHub

axelbest
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 2255
1

Fajne dla polaka, kiepskie dla reszty świata [polskie komentarze]

SL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1134
3
Manna5 napisał(a):

Proszę o ocenę "projektu" w asemblerze związanego z wielowątkowością - GitHub

Spoko, sensu to za dużo nie ma, ale na pewno ma to wartość edukacyjną. Komentarze są dobre i idzie szybko ogarnąć o co chodzi

Sama nazwa jest na pewno myląca widząc Multithreading-8086 myślę, że będą:

  • thready fizyczne
  • 8086 i ASM mi mówią, że to będą jakieś niskopoziomowe harce jak np. pisanie własnego przełączania threadów
  • dalej natrafiam na informację, że to DOS i głupieję, bo tam przecież nie ma wątków
  • po czym się okazuje, że te thready to tak naprawdę green thready
GO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 358
0

MTPAUSE sugeruje, że to green thready zwykłe, bo normalnie po prostu interrupt przerwie działanie i można zapisać context.
Zapisujesz instruction pointer, ale też jakby funkcje były zagnieżdżone czy używały by lokalnych zmiennych to też więcej danych kontekstu musisz zapamiętać poza samym RIP adresem, np. RSP bo wewnątrz funkcja będzie obliczać położenie zmiennych lokalnych za pomocą wierzchołka stosu, który dla każdej funkcji będzie inny, chyba że wszystko będziesz miał zapisywane globalnie, też zawsze po takiej instrukcji musisz na nowo dane wczytać do rejestrów bo inne thready mogą te wartości nadpisać, chyba że po prostu cały kontekst zapamiętasz.

Tak w miarę czytelne, bez debuggera czy odpalania szło zrozumieć, dużo komentarzy.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.