Size: a a a

Maxwell's Demons

2021 October 08

SS

Sergey Semenov in Maxwell's Demons
Без ОС, имелось ввиду, что написал свою машину состояний... и даже несколько. Как обмениваться данными между изолированными машинами в рамках одной системы? У меня в загажнике есть пара приемов, но мне они не кажутся эффективными, красивыми. Хочу узнать что народ юзает.
источник

D

Dr Zlo in Maxwell's Demons
А зачем тут какие-то специализированные механизмы, если у всей машины общее адресное и нет никаких проблем с неатомарным доступом?
источник

D

Dr Zlo in Maxwell's Demons
Стейтмашины, протопотоки (обертка для стейтмашины той же), корутины
источник

V

Vadimatorik in Maxwell's Demons
У меня есть демо проект с десятком потоков, которые итерируются одной псевдо-очередью. В нее кладут в преываниях и из нее считывается в main цикле. Из прерываний приходят "события", которые даются всем "итераторам потоков". Например нажали клавишу, произошло EXTI прерывание от модуля клавиатуры. В нем в очередь положилось сообщение что произошло EXTI, обработались флаги. А уже поток на это начал работу с I2C для вычетки сообщения из очереди контроллера клавиатуры. Короче задумка норм. Работает все четко. Но вот конечный автомат для больших тасков разростается неимоверно и размер кода становится невыносимым как и его поддержка. Я попробовал и могу теперь говорить - что это треш) Вернее, единственнно верный метод для чего-то мега-надежного. Но требьует адского колличества времени и продумывания автомата.
источник

O

Oleg in Maxwell's Demons
Так всё-таки речь идёт о процессах или потоках? Это вовсе не одно и то же.
источник

TK

Timur Khasanshin in Maxwell's Demons
В машине без мму это одно и то же
источник

kaktys Германский... in Maxwell's Demons
эта тема вообще то - работа не для одного НИИ и не одной сотни докторских, так что простого общего решения нет и быть не может
источник

m

mirmik in Maxwell's Demons
А в какой момент тут появилось слово автомат? Что здесь автомат?
источник

V

Vadimatorik in Maxwell's Demons
Что там целому НИИ делать? Просто пробуешь в домашнем проете разные реализации и смотришь что подходит больше.
источник

O

Oleg in Maxwell's Demons
Ущербность архитектуры процессора не меняет главной сути процесса. В wiki дано близкое к классическому определение:
https://ru.m.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81_(%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0)
Так что, как говорится, нет ножек - нет и вареньица. Нет виртуального адресного пространство - забыли о мультипроцессности.
источник

TK

Timur Khasanshin in Maxwell's Demons
Да, там все это это потоки, на машинах без мму
источник

O

Oleg in Maxwell's Demons
Именно, потому и попросил уточнить.
источник

O

Oleg in Maxwell's Demons
А если есть mmu, то интересно посмотреть на матёрого человечищу, который рулит им без ОС, и заодно узнать его мотивацию.
источник

kaktys Германский... in Maxwell's Demons
одно дело домашний проект, другое - система от которой зависит ну просто дохера ...

Вон был на заводе BASF, стоят бочечки на 20.000 тонн фосгена ... если что пойдет не так ...
источник

V

Vadimatorik in Maxwell's Demons
Относись к домашнему проекту как к софту, от которого зависит жизнь. По моему опыту в моем домашнем проекте все значительно строже, чем в некоторых конторах, что делали авиацию, в которых я работал)))
источник

V

Vadimatorik in Maxwell's Demons
Ну и с которыми взаимодействовал.
источник

V

Vadimatorik in Maxwell's Demons
Просто почему-то некоторые считают, что домашний проект - это легкая халтурка для себя. Это не всегда так)
источник

O

Oleg in Maxwell's Demons
Не знаю, как обстоят дела в авиации, но ко мне регулярно пытаются устроиться на работу люди из контор, разрабатывающих встроенные системы для железной дороги. Люди, которые видели образцы их кода, теперь боятся ездить в поезде.
источник

FL

First Last in Maxwell's Demons
а можно в личку напишу?
источник

V

Vadimatorik in Maxwell's Demons
Ко мне приходили только с военных заводов... Увы... Качество кода попеременное. Но чаще жизнь тлен.
источник