Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
В стеке хранятся локальные переменные подпрограммы, возвращаемое значение, адрес возврата в вызывающую программу. У каждого потока есть свой стек. Значит, каждая подпрограмма создается в своем потоке, а указатель на функцию хранит адрес начала стека подпрограммы (потока)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2015, 20:19 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
летатель космосаЗначит, каждая подпрограмма создается в своем потоке Нет. Она нигде никогда не создаётся. Код всегда тихо и спокойно лежит в сегменте кода. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2015, 20:30 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
Каша какая-то. Зеленое мягкое потому что теплое. Учи матчасть. Этот бред невозможно прокомментировать. Тут все неправильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2015, 20:38 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
летатель космосаВ стеке хранятся локальные переменные подпрограммы, возвращаемое значение, адрес возврата в вызывающую программу. ... угу, из всего перечисленного адрес возврата обязательно, локальные переменные - если есть, возвращаемое значение - нет(т.к. стэк восстанавливается - т.е. всё что было на нём выделено, при вызове подпрограммы, в памяти остаётся но в любой момент может быть затёрто). кстати это если речь идёт об x86 "интеловской" архитектуре. если железка другая - то могут быть и свои замороты... летатель космоса...У каждого потока есть свой стек.... угумс. летатель космоса...каждая подпрограмма создается в своем потоке... вот это утверждение противоречит Вашему утверждению летатель космоса...адрес возврата в вызывающую программу. .... летатель космоса...указатель на функцию хранит адрес начала стека подпрограммы (потока)? ээээээ тут что то не потребное. откуда взялся указатель? если идёт речь об регистре который хранит указатель на стэк, который в свою очередь используется при операциях сохранении и извлечении в/из стэка - то он указывает на хвост стэка, и стэк растёт в сторону младших адресов памяти. Для семейства x86 команда push - сохранить на стэке, команда pop - вытолкнуть из стэка. В общем случае перед вызовом подпрограммы на стэк сохраняются переменные которые передаются в подпрограмму, при самом вызове на стэк заносится адрес возврата, после вызова идёт выделение кадра под локальные данные. Процедура возврата из подпрограммы - зеркальна (но есть нюанс - существуют два варианта освобождения данных занесённых на стэк перед вызовом подпрограммы - чистит вызывающий либо чистит вызываемый. Этот нюанс особенно необходимо отслеживать при юзанье сторонних дэлеле. По теме дэлеле, если форточки, рекомендую читать Рихтера "Windows для профессионалов"). удачи вам (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 19:23 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
kolobok0возвращаемое значение - нет(т.к. стэк восстанавливается - т.е. всё что было на нём выделено, при вызове подпрограммы, в памяти остаётся но в любой момент может быть затёрто). ну если оно в регистр лезет конечно, иначе вызывающий обеспечивает на стеке место под хранение результата (как один из вариантов реализации) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 19:56 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
Изопропил...иначе вызывающий обеспечивает на стеке место под хранение результата.. апсолютно точно, и передаёт на это хозяйство адрес... но я подразумевал что ТС интересует именно фаза вызова, а не варианты мест хранения данных :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 23:53 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
Это уже второй аффтар, который приходит со странной идеей, что для каждого потока создаётся отдельная копия кода. Похоже, их, таких, где-то штампуют. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 23:55 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov...таких, где-то штампуют. а есть парадигма - активный/пассивный класс (если ничего не попутал). активный - типа живёт сам по се(имеет поток). ЗЫ вообще есть странная тенденция людей начинающих копать: попадая в круги действия маркета определённых текущих брэндов(высказываний, утверждений), люди не допускают даже и тени сомнения в правильности выученных постулатов. имхо - вот это беда... узкость восприятия мира что-ли... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 15:34 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovЭто уже второй аффтар, который приходит со странной идеей, что для каждого потока создаётся отдельная копия кода. Похоже, их, таких, где-то штампуют. Для Unix (fork()) копия кода действительно создаётся. Но не простая копия а COW. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 20:03 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
maytonДля Unix (fork()) копия кода действительно создаётся. Но не простая копия а COW. Там страницы кода не защищены от записи? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 20:07 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
Вот статья на которую я опирался. http://unix.stackexchange.com/questions/58145/how-does-copy-on-write-in-fork-handle-multiple-fork Тут речь идёт просто о pages и пока не детализируется какие именно . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 20:15 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
К тому же, это же форк, он порождает новый процесс с отдельным адресным пространством. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 20:19 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
Видишь как трудно иногда ответить на простой вопрос. Это как в народной мудрости. Что один дурак может 100 мудрецов "ушатать" вопросами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 20:26 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovК тому же, это же форк, он порождает новый процесс с отдельным адресным пространством. Самое интересное что "отдельное адресное пространство" создается в любом случае. И при создании нити и при создании процесса форком. Так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 21:02 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
YesSql"отдельное адресное пространство" создается в любом случае. И при создании нити и при создании процесса форком. Так? Чо? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 21:38 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovYesSql"отдельное адресное пространство" создается в любом случае. И при создании нити и при создании процесса форком. Так? Чо? а чо в регистре CR3 находится? И когда он перегружается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 21:52 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
YesSqlDimitry Sibiryakovпропущено... Чо? а чо в регистре CR3 находится? И когда он перегружается? я тебе тайну открою - все потоки одного процесса используют общую и единую таблицу страниц со времён OS/370 MVS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 22:36 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
ИзопропилYesSqlпропущено... а чо в регистре CR3 находится? И когда он перегружается? я тебе тайну открою - все потоки одного процесса используют общую и единую таблицу страниц со времён OS/370 MVS там только джобы и TCB и стека нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 22:59 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
летатель космосаВ стеке хранятся локальные переменные подпрограммы, возвращаемое значение, адрес возврата в вызывающую программу. У каждого потока есть свой стек. Значит, каждая подпрограмма создается в своем потоке, а указатель на функцию хранит адрес начала стека подпрограммы (потока)? нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 23:00 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
Новый Годтам только джобы и TCB и стека нет незачёт, таски там соответствуют потокам, джобы - процессам рантайм PL/1, в частности, создаёт таски с собственными стеками ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 23:06 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
ИзопропилНовый Годтам только джобы и TCB и стека нет незачёт, таски там соответствуют потокам, джобы - процессам рантайм PL/1, в частности, создаёт таски с собственными стеками реально прям со стеками? в PL/1 не смотрел видел что например в PL/X нету там стека или в С там делается гетмайн при каждом вызове функции и в этой памяти хранятся переменные и savearea и freemain при выходе из нее стека нет никакого ну хрен с ним пусть джобы процессам соответствуют а таски потокам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 23:25 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
DSAs are held contiguously in a last-in/first-out (LIFO) storage stack and are freed and allocated by the alteration of pointer values. http://bitsavers.trailing-edge.com/pdf/ibm/370/pli/SC33-0025-3_PLI_Optimizing_Compiler_Execution_Logic_Sep85.pdf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 23:41 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
на ЕС были не стеки, а связные списки особых структур PSW или PSA,уже не помню как назывались. в отличие от стека соседние логически ноды списка хранились не в смежных ячейка памяти, а были размещены по всему адресному пространству. функционально это то же самое, что и стек. фактически - совсем не то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2015, 12:58 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
MasterZivна ЕС были не стеки, а связные списки особых структур PSW или PSA,уже не помню как назывались. в отличие от стека соседние логически ноды списка хранились не в смежных ячейка памяти, а были размещены по всему адресному пространству. функционально это то же самое, что и стек. фактически - совсем не то. как выделять память под DSA и локальные переменные (из непрерывного куска,кучи, дополнительно выделять блоки под стек) - заботы конкретного рантайма . ведение двусвязного списка - это просто соглашение о вызове (от которого рантайм вправе отклониться) в современной интел-архитектуре - рантайм не обязан использовать под стек единственный непрерывный блок памяти ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2015, 13:18 |
|
||
|
Указатель на функцию, стеки и треды
|
|||
|---|---|---|---|
|
#18+
проще говорить о функциях. это не объекты в c++, это функции, области кода. у них ничего нет, кроме адреса начала. стек у них общий и потому его можно раскрутить. в бусте есть корутины и фибры. в корутинах имеется свой стек. но это уже совсем другая история. в последнее время, замечаю, подпрограммами называют что-то типа корутин, ну что типа подпрограмма в отдельном потоке исполняется, а функция в том же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2015, 21:00 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39125798&tid=2018690]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 172ms |

| 0 / 0 |
