|
|
  |
Что такое стек |
|
|
|
Oct 22 2015, 06:43
|
Участник

Группа: Участник
Сообщений: 46
Регистрация: 17-09-14
Из: Спб
Пользователь №: 82 840

|
В ближайшем будущем хочу разобраться с USB и Ethernet. Пока почитываю литературу, параллельно смотрю на примеры. Возник один вопрос, который мешает двигаться дальше. Во всяких апнотах и т.п. часто упоминается понятие "стек", например ethernet stack, bluetooth stack, usb stack. При этом часто рисуют картинку, на которой стрелочки от железа к программной части, нечто вроде модели OSI. Внятного объяснения я найти не могу, какие то общие размытые слова, как будто употребление этого термина должно быть мне понятно в рождения. В микроконтроллерах с понятием стека вроде сложностей нет, для меня это просто кусок оперативы, куда складываются временные данные. Как же это применяется относительно интерфейсов не понятно.
|
|
|
|
|
Oct 22 2015, 07:34
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Darti @ Oct 22 2015, 09:43)  В ближайшем будущем хочу разобраться с USB и Ethernet. Пока почитываю литературу, параллельно смотрю на примеры. Возник один вопрос, который мешает двигаться дальше. Во всяких апнотах и т.п. часто упоминается понятие "стек", например ethernet stack, bluetooth stack, usb stack. При этом часто рисуют картинку, на которой стрелочки от железа к программной части, нечто вроде модели OSI. Внятного объяснения я найти не могу, какие то общие размытые слова, как будто употребление этого термина должно быть мне понятно в рождения. В микроконтроллерах с понятием стека вроде сложностей нет, для меня это просто кусок оперативы, куда складываются временные данные. Как же это применяется относительно интерфейсов не понятно. Да, это такая корявая метафора. Что интересно, в русском языке стек ассоциируется с упорядоченной структурой. Но в английском это может означать просто стог, кучу, кипу. Т.е. когда англичане пишут стек протоколов, то это означает просто кучу тематически связанных разнородных протоколов. Т.е. по сути ничего не означает, там может быть какая угодно архитектура и вообще что угодно. В русскоязычной же литературе приставке "стек" склонны придавать какой-то более сакральный смысл. ЗЫ.ИМХО.
|
|
|
|
|
Oct 22 2015, 08:39
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(AlexandrY @ Oct 22 2015, 10:43)  Если имеется в виду сжатие, то это не верно в общем случае. Здесь имеется ввиду изначальное значение слова "упаковка": Цитата -Подсудимый, за что Вы убили женщину? -Еду я в автобусе, подходит кондуктор к женщине, с требованием купить билет. Женщина открыла сумочку, достала кошелочку, закрыла сумочку, открыла кошелочку, достала кошелек, закрыла кошелочку, открыла сумочку, положила туда кошелочку, закрыла сумочку, открыла кошелек, достала деньги, открыла сумочку, достала кошелочку, закрыла сумочку, открыла кошелочку, положила туда кошелек, закрыла кошелочку, открыла сумочку, положила туда кошелочку. - И что? - Контролер ей дал билет. Женщина открыла сумочку, достала кошелочку, закрыла сумочку, открыла кошелочку, достала кошелек, закрыла кошелочку, открыла сумочку, положила туда кошелочку, закрыла сумочку, открыла кошелек положила туда билет, закрыла кошелек, открыла сумочку, достала кошелочку, закрыла сумочку, открыла кошелочку, положила туда кошелек, закрыла кошелочку, открыла сумочку, положила туда кошелочку, закрыла сумочку. «Возьмите сдачу», раздался голос контролера. Женщина… открыла сумочку…
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Oct 22 2015, 09:10
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Сергей Борщ @ Oct 22 2015, 11:39)  Здесь имеется ввиду изначальное значение слова "упаковка": Или перепаковка? Цитата(ViKo @ Oct 22 2015, 11:51)  Стек - это "мешок" (ну, пусть "куча"). Стопка. Наложил всякого одно на другое, и в обратном порядке достаешь. Так и с протоколами - есть верхний уровень, есть пониже, есть еще пониже. И обратно. Да, но можно взять и подменить в стеке один протокол другим, но нельзя один и тот же протокол положить последовательно два раза. Вообщем метафора на общепринятый аппаратный стек вообще не похожа. Я бы стеки предложил называть системами протоколов.
|
|
|
|
|
Oct 22 2015, 09:42
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (AlexandrY @ Oct 22 2015, 10:34)  Что интересно, в русском языке стек ассоциируется с упорядоченной структурой. Но в английском это может означать просто стог, кучу, кипу. Хоть в английском, хоть в русском, хоть китайском значение слова зависит от контекста, так что рассказывать про "стога" и "кучи" не надо - непрофессионализм  . QUOTE Т.е. когда англичане пишут стек протоколов, то это означает просто кучу тематически связанных разнородных протоколов. ....можно взять и подменить в стеке один протокол другим, Нет не "кучу" а взаимоувязанную последовательность протоколов. Если где то начинается "разнородность" и необходима стыковка таких разнородных, то тогда говорят о том, как инкапсулировать. Но как и до, так и после это будут разные стеки или элементы стеков. QUOTE Т.е. по сути ничего не означает, там может быть какая угодно архитектура и вообще что угодно. Нет. QUOTE (AlexandrY @ Oct 22 2015, 10:43)  Не знаю, не знаю... В моем софте данные приходят сбоку.  Да хоть через анус. Нашли чем - "удивить"  .
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Oct 22 2015, 16:27
|
Участник

Группа: Участник
Сообщений: 46
Регистрация: 17-09-14
Из: Спб
Пользователь №: 82 840

|
Если тупить то уж до конца. Меня путают многие фразы. Например "возьми USB/Ethernet стек используй в своем проекте". Создается впечатление, что речь идет о прослойке (считай библиотеке???), которая не зависит от платформы??? Т.е. мое понимание сей фразы, захотел я такой поднять свой проект с usb CDC например (без разницы что, просто пример), хм выбрал контроллер который мне подходит, взял стек(куча связанных библиотек?????), настроил платформозависимую часть(GPIO, скорости и т.п. ?) и хопа все завелось? Правильно ли я понимаю??? Зачем тогда в каждой статье, в которой описывается сей термин обязательно упоминается физический уровень? Какое отношение к этому всему он имеет?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|