Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Работа с памятью: структуры данных (стек, куча), на уровне регистров процессора? / 16 сообщений из 16, страница 1 из 1
11.12.2012, 11:55
    #38073832
Кантачес
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с памятью: структуры данных (стек, куча), на уровне регистров процессора?
Не могу точно вопрос сформулировать. До этого как-то не задумывался, как там память выделяется под переменные, функции и прочие элементы программы; как она освобождается; как в ней ищутся значения тех или иных переменных\параметров\объектов. Из колледного курса про ассемблер в памяти осели только обрывки про указатель на вершину стека (само же назначение этой конструкции "стек" было непонятно). Просто думал: выделяется кусок память с n по m - и все, дальше мысль не шла. Вчера из любопытства к программированию читал статью по пхп и неожиданно стукнуло в голову, что память-то выделяется с n по m, но управляется (выдается, забирается, ищется) по схемам различных конструкций. И, оказывается, непонятный мне тогда стек - та самая конструкция, а регистр для хранения указателя - часть реализации этой конструкции. Хотя у меня хорошо развита способность делать неправильные выводы и умозаключения, поэтому могу ошибаться.
...
Рейтинг: 0 / 0
11.12.2012, 14:47
    #38074229
ДохтаР
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с памятью: структуры данных (стек, куча), на уровне регистров процессора?
Ход мысли стратегически правильный .
Для более глубокого понимания деталей рекомендую глянуть исходники функции расс
исходники функции два
...
Рейтинг: 0 / 0
11.12.2012, 15:25
    #38074297
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с памятью: структуры данных (стек, куча), на уровне регистров процессора?
Док. Ну ты и подкинул медвежью услугу. Кто-ж будет реверс-инжинерить
исходники чтобы понять освновы управления памятью? Лучше-б русско-язычных
статей накидал. Не?
...
Рейтинг: 0 / 0
11.12.2012, 15:44
    #38074346
kosh the best
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с памятью: структуры данных (стек, куча), на уровне регистров процессора?
чтение рихтера решит ваши проблемы с пониманием..
...
Рейтинг: 0 / 0
11.12.2012, 16:14
    #38074412
ДохтаР
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с памятью: структуры данных (стек, куча), на уровне регистров процессора?
maytonДок. Ну ты и подкинул медвежью услугу. Кто-ж будет реверс-инжинерить
исходники чтобы понять освновы управления памятью? Лучше-б русско-язычных
статей накидал. Не?


Рускоязычных статей не знаю, сам это дело осваивал по фидошно-ньсовым срачам
около 10 лет назад.
Занятное чтиво было , веселое и познавательное.
...
Рейтинг: 0 / 0
11.12.2012, 20:17
    #38074838
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с памятью: структуры данных (стек, куча), на уровне регистров процессора?
в учебниках по компиляторам достаточно подробно выделение памяти расписано
...
Рейтинг: 0 / 0
11.12.2012, 23:44
    #38074986
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с памятью: структуры данных (стек, куча), на уровне регистров процессора?
Изопропилв учебниках по компиляторам достаточно подробно выделение памяти расписаноДля выделения памяти надо брать учебники по проектированию ОС. Там это рассмотрено намного лучше и точнее.
...
Рейтинг: 0 / 0
12.12.2012, 11:34
    #38075408
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с памятью: структуры данных (стек, куча), на уровне регистров процессора?
White OwlДля выделения памяти надо брать учебники по проектированию ОС. Там это рассмотрено намного лучше и точнее.
выделение на стеке и контекст вызова функций, управление кучей (дефрагментация, выбор пулов)- лучше в компиляторных.

Топикстартера вроде больше интересует использование регистров процессора и адресация
...
Рейтинг: 0 / 0
12.12.2012, 13:47
    #38075728
Кантачес
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с памятью: структуры данных (стек, куча), на уровне регистров процессора?
Неужели я правильно понял?о_О Здорово:)
Не могу сам определиться, что конкретно интересует, и, соответственно, за какую литературу браться: по Ос или компиляторам. Поток вопросов: что происходит при вызове malloc() (кажется так называется); что происходит с высокоуровневым кодом при компиляции, присваивающим значения\создающим объекты разных типов (структур данных); почему деление типов на стековые и в куче, почему именно эти структуры и почему вообще структуры, а не просто: вот кусок память, а вот указатель - и "передвигайся" с помощью него; если работа с памятью организована с помощью структур, то как алгоритмы (добавления, поиска и др) определяют, на сколько байт "перемещаться" по памяти - данные в памяти могут лежать не последовательно, а фрагментированно;
откуда алгоритмы знают, где какой элемент в памяти лежит, где "начало" типа, а где "конец". По С читал, что первым параметром компилятор добавляет указатель на структуру данных, с которым работает функция - так, наверное, алгоритм и узнает, с какого участка памяти начинаются элементы, которые он должен обработать.
...
Рейтинг: 0 / 0
12.12.2012, 14:22
    #38075791
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с памятью: структуры данных (стек, куча), на уровне регистров процессора?
Кантачес, капец! Вот это поток сознания! Ты хочешь сразу всего и много!
Если тебе интересно как это всё на уровне процессора то может лучше
почитать про Protected Mode для начала.

http://en.wikipedia.org/wiki/Protected_mode

По сабжу, сам это читал очень-очень давно. Поэтому тоже буду почитывать.
...
Рейтинг: 0 / 0
12.12.2012, 14:49
    #38075858
Кантачес
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с памятью: структуры данных (стек, куча), на уровне регистров процессора?
mayton, проблема еще в том, что у меня слабо развита усидчивость и сильно - "гуманитарное" мышление, поэтому интерес быстро разбивается о первые трудности и поиск ответов прекращаю. Так и скачу по поверхности: там что-то прочитал (что более менее не вызывает трудностей в понимании), тут что-то прочитал.
...
Рейтинг: 0 / 0
12.12.2012, 17:29
    #38076220
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с памятью: структуры данных (стек, куча), на уровне регистров процессора?
Кантачес, делай как я. Привяжи это к реальной задаче.
...
Рейтинг: 0 / 0
12.12.2012, 20:58
    #38076607
oldjackal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с памятью: структуры данных (стек, куча), на уровне регистров процессора?
Читайте Ч. Петцольда, "Код". Он все эти базовые понятия очень хорошо и на пальцах объясняет.
...
Рейтинг: 0 / 0
13.12.2012, 10:27
    #38077099
Кантачес
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с памятью: структуры данных (стек, куча), на уровне регистров процессора?
mayton,
еще бы знать, какая задача даст понимание. Тут вроде и уровень ассемблера, и уровень компилятора. Может разработать свой транслятор (или как это правильно называется) по книге Ахо и других. Либо по арм-программированию что-нибудь по эмбедед попробовать написать.

oldjackal, давно скачал, только руки не поднимаются за нее взяться - точно стоит на нее время тратить?
...
Рейтинг: 0 / 0
13.12.2012, 20:21
    #38078470
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с памятью: структуры данных (стек, куча), на уровне регистров процессора?
Кантачесеще бы знать, какая задача даст понимание.Да собственно говоря, любая требующая низко-уровневой работы.
Очень хорошо подходит писать для слабых компов или драйвера железа.
Как вариант - сделать игрушку под какую-нибудь консоль. DK для старых handheld-ов типа GameBoy можно найти в сети без проблем. Там учет памяти вести просто необходимо.

КантачесМожет разработать свой транслятор (или как это правильно называется) по книге Ахо и других.По Ахо будет делать сложно... К нему надо приходить с уже хорошим знанием.
Ахо закопался в компиляторы много лет тому назад, стал в них абсолютным гуру. Но теперь он не всегда понимает как кто-то может что-то не понимать в этом простом деле создания компиляторов.

Кантачесoldjackal, давно скачал, только руки не поднимаются за нее взяться - точно стоит на нее время тратить?Точно стоит.
...
Рейтинг: 0 / 0
13.12.2012, 23:15
    #38078651
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с памятью: структуры данных (стек, куча), на уровне регистров процессора?
White OwlПо Ахо будет делать сложно...
можно взять старые книги
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Работа с памятью: структуры данных (стек, куча), на уровне регистров процессора? / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]