-
Data: 2011-05-27 22:58:34
Temat: Re: Wątki a ramki stosów
Od: Marek Borowski <m...@b...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 27-05-2011 01:00, pozytywne wibracje wrote:
> Gdy mam program wielowątkowy to czy mam stosy w jednej przestrzeni
> adresowej? Przypuśćmy że mam minimalny rozmiar stosu 16 KiB a maksymalny
> 1 MiB, wtedy w podglądzie execa za pomocą viewera Total Commandera mam:
> "Size of Stack Reserve" które odpowiada maksymalnemu, a "Size of Stack
> Commit" minimalnemu.
> Oznacza to że bierze w porcjach 16 KiB globalnej pamięci fizycznej ale
> rezerwuje obszar adresów cały 1 MiB?
Oznacza to tyle iz rezewuje region 1MB w virtualnej przestrzeni
adresowej ale tylko 16KB (2 strony) jest zamapowane na fizyczna pamiec.
Nastepne 4KB strony pamieci do mapowane w miare zapelniaja sie stosu. W
przypadku dojscia do konca generowny jest EXCEPTION_STACK_OVERFLOW.
> Gdy mam wiele wątków, to każdy ma stos w adresie oddzielonym od siebie o
> minimum 1 MiB?
Tak.
> Tworzę nowy wątek za pomocą funkcji CreateThread, jako parametr
> dwStackSize moge podać zero i wtedy stos wątku powinien otrzymać tyle
> miejsca co stos głównego wątku. Natomiast mogę podać rozmiar - jest to
> rozmiar początkowy. Maksymalny jest taki sam dla wszystkich?
Nie. Mozesz podac wiekszy. System postara sie znalesc region o
odpowiedniej wielkosci.
> Mam coś takiego:
> jest stos, 1 MiB rezerwacji adresów, inne wolne adresy na stertę. I
> teraz tworzę wątek, czy stos wątku nie wejdzie na stertę?
Nie. (Generalnie).
> W jaki sposób dla procesu odczytać całą mapę adresów: gdzie jest kod,
> gdzie dane, gdzie rezerwacja sterty a gdzie stosy wątków?
Pobawic sie debugerem.
> Jak wylistować wszystkie adresy stosów, a dla konkretnego stosu jak
> wylistować stos wywołań procedur, czy można w ogóle odróżnić adres
> procedury na stosie od zmiennej przechowywanej na stosie?
Zasadniczo nie.
> Zastanawia mnie też jak Garbage Collector rozpoczyna swoją pracę. Są
> opisy rekurencyjnego zaznaczania które zaczyna się od korzeni ale jak ze
> stosów pobrać te korzenie, poza tym mogą być w rejestrach, a co się
> stanie z wartością z rejestrów przy przełączeniu na inny wątek? czy
> odkładane są na bieżący stos, czy gdzieś indziej?
Zachowywane sa w strukturze CONTEXT w pamieci jadra systemu. Ale
istnieje API umozliajace jej pobranie.
Pozdrawiam
Marek
Następne wpisy z tego wątku
- 27.05.11 23:34 pozytywne wibracje
- 28.05.11 12:37 Marek Borowski
- 28.05.11 12:52 Marek Borowski
Najnowsze wątki z tej grupy
- Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
Najnowsze wątki
- 2026-01-29 KSeF - 13 wątpliwości
- 2026-01-29 A ja się pochwalę
- 2026-01-29 Warszawa => Mid/Senior IT Recruiter <=
- 2026-01-29 Warszawa => Senior Java Developer <=
- 2026-01-29 Warszawa => IT Recruiter <=
- 2026-01-28 Degradacja
- 2026-01-28 Wysoki Sąd poinstruował czego unikać wyzywając Owsiaka "Równiejszego"
- 2026-01-28 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-28 Białystok => Preseles Inżynier (background baz danych) <=
- 2026-01-28 Wrocław => Konsultant wdrożeniowy ERP <=
- 2026-01-28 Łódź => Microsoft Engineer <=
- 2026-01-28 Białystok => Tester manualny <=
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow




Jak kupić pierwsze mieszkanie? Eksperci podpowiadają