реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Что такое стек
Darti
сообщение Oct 22 2015, 06:43
Сообщение #1


Участник
*

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



В ближайшем будущем хочу разобраться с USB и Ethernet. Пока почитываю литературу, параллельно смотрю на примеры. Возник один вопрос, который мешает двигаться дальше. Во всяких апнотах и т.п. часто упоминается понятие "стек", например ethernet stack, bluetooth stack, usb stack. При этом часто рисуют картинку, на которой стрелочки от железа к программной части, нечто вроде модели OSI. Внятного объяснения я найти не могу, какие то общие размытые слова, как будто употребление этого термина должно быть мне понятно в рождения. В микроконтроллерах с понятием стека вроде сложностей нет, для меня это просто кусок оперативы, куда складываются временные данные. Как же это применяется относительно интерфейсов не понятно.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 22 2015, 06:50
Сообщение #2


Гуру
******

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



https://ru.wikipedia.org/wiki/Стек_протоколов, в англоязычной версии расписано более подробно.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Oct 22 2015, 07:34
Сообщение #3


Ally
******

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



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


Да, это такая корявая метафора.
Что интересно, в русском языке стек ассоциируется с упорядоченной структурой. Но в английском это может означать просто стог, кучу, кипу.
Т.е. когда англичане пишут стек протоколов, то это означает просто кучу тематически связанных разнородных протоколов. Т.е. по сути ничего не означает, там может быть какая угодно архитектура и вообще что угодно.
В русскоязычной же литературе приставке "стек" склонны придавать какой-то более сакральный смысл.

ЗЫ.ИМХО.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Oct 22 2015, 07:34
Сообщение #4


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Darti @ Oct 22 2015, 09:43) *
Как же это применяется относительно интерфейсов не понятно.

Примерно так же.
Данные проходят сначала упаковку сверху вниз, а на другом конце распаковываются в обратном порядке.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Oct 22 2015, 07:43
Сообщение #5


Ally
******

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



Цитата(MrYuran @ Oct 22 2015, 10:34) *
Примерно так же.
Данные проходят сначала упаковку сверху вниз, а на другом конце распаковываются в обратном порядке.


Не знаю, не знаю... В моем софте данные приходят сбоку. biggrin.gif
Да у понятие "упаковка" тоже метафора. Если имеется в виду сжатие, то это не верно в общем случае. Сказать "концентрация" тут тоже будет технически не верно.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 22 2015, 08:39
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 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)
Go to the top of the page
 
+Quote Post
ViKo
сообщение Oct 22 2015, 08:51
Сообщение #7


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Стек - это "мешок" (ну, пусть "куча"). Стопка. Наложил всякого одно на другое, и в обратном порядке достаешь. Так и с протоколами - есть верхний уровень, есть пониже, есть еще пониже. И обратно.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Oct 22 2015, 09:10
Сообщение #8


Ally
******

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



Цитата(Сергей Борщ @ Oct 22 2015, 11:39) *
Здесь имеется ввиду изначальное значение слова "упаковка":


Или перепаковка?

Цитата(ViKo @ Oct 22 2015, 11:51) *
Стек - это "мешок" (ну, пусть "куча"). Стопка. Наложил всякого одно на другое, и в обратном порядке достаешь. Так и с протоколами - есть верхний уровень, есть пониже, есть еще пониже. И обратно.


Да, но можно взять и подменить в стеке один протокол другим, но нельзя один и тот же протокол положить последовательно два раза.
Вообщем метафора на общепринятый аппаратный стек вообще не похожа.

Я бы стеки предложил называть системами протоколов.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 22 2015, 09:42
Сообщение #9


Гуру
******

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



QUOTE (AlexandrY @ Oct 22 2015, 10:34) *
Что интересно, в русском языке стек ассоциируется с упорядоченной структурой. Но в английском это может означать просто стог, кучу, кипу.

Хоть в английском, хоть в русском, хоть китайском значение слова зависит от контекста, так что рассказывать про "стога" и "кучи" не надо - непрофессионализм sad.gif.
QUOTE
Т.е. когда англичане пишут стек протоколов, то это означает просто кучу тематически связанных разнородных протоколов.
....можно взять и подменить в стеке один протокол другим,

Нет не "кучу" а взаимоувязанную последовательность протоколов. Если где то начинается "разнородность" и необходима стыковка таких разнородных, то тогда говорят о том, как инкапсулировать. Но как и до, так и после это будут разные стеки или элементы стеков.
QUOTE
Т.е. по сути ничего не означает, там может быть какая угодно архитектура и вообще что угодно.

Нет.


QUOTE (AlexandrY @ Oct 22 2015, 10:43) *
Не знаю, не знаю... В моем софте данные приходят сбоку. biggrin.gif

Да хоть через анус. Нашли чем - "удивить" sad.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
ViKo
сообщение Oct 22 2015, 10:13
Сообщение #10


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Контактные площадки на печатной плате тоже стеком описываются. Просто стопка, без умничания.
Go to the top of the page
 
+Quote Post
Darti
сообщение Oct 22 2015, 16:27
Сообщение #11


Участник
*

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



Если тупить то уж до конца. Меня путают многие фразы. Например "возьми USB/Ethernet стек используй в своем проекте". Создается впечатление, что речь идет о прослойке (считай библиотеке???), которая не зависит от платформы??? Т.е. мое понимание сей фразы, захотел я такой поднять свой проект с usb CDC например (без разницы что, просто пример), хм выбрал контроллер который мне подходит, взял стек(куча связанных библиотек?????), настроил платформозависимую часть(GPIO, скорости и т.п. ?) и хопа все завелось? Правильно ли я понимаю??? Зачем тогда в каждой статье, в которой описывается сей термин обязательно упоминается физический уровень? Какое отношение к этому всему он имеет?
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 01:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01462 секунд с 7
ELECTRONIX ©2004-2016