eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingWątki a ramki stosówWątki a ramki stosów
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.PO
    STED!not-for-mail
    From: pozytywne wibracje <p...@m...onet.eu>
    Newsgroups: pl.comp.programming
    Subject: Wątki a ramki stosów
    Date: Fri, 27 May 2011 01:00:28 +0200
    Organization: http://onet.pl
    Lines: 26
    Message-ID: <irmm26$q06$1@news.onet.pl>
    NNTP-Posting-Host: 194.117.241.254
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: news.onet.pl 1306450822 26630 194.117.241.254 (26 May 2011 23:00:22 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Thu, 26 May 2011 23:00:22 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.17) Gecko/20110414
    Thunderbird/3.1.10
    Xref: news-archive.icm.edu.pl pl.comp.programming:190722
    [ ukryj nagłówki ]

    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?
    Gdy mam wiele wątków, to każdy ma stos w adresie oddzielonym od siebie o
    minimum 1 MiB?
    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?
    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ę?
    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?
    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?
    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?

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: