Консультация № 191224
16.07.2017, 00:57
0.00 руб.
0 8 1
Здравствуйте! У меня возникли сложности с таким вопросом:

Решил решить задачу написания проги на ассемблере, хочу сделать систему мониторинга. насколько данная задача сложна?

Прошу помочь с поиском компилятора для прог ассемблера) и если не сложно напишите в какой среде она работает) если есть возможность помогите разобраться как будет работать прога на ассемблере если ее залить на платформу?

Обсуждение

давно
Посетитель
7438
7205
17.07.2017, 11:03
общий
Адресаты:
Решил решить задачу написания проги на ассемблере, хочу сделать систему мониторинга. насколько данная задача сложна?
Задача чрезвычайно сложна, особенно если учесть Ваши нулевые знания. Дело в том, что знания одного Ассемблера недостаточно. Надо знать, как функционирует система (причем, понимать отличия разных версий, не говоря уже о том, Windows это или Linux).
Мониторинг системы возможен только на уровне ядра, т.е. надо писать драйвер или службу. Написание которых на порядок сложнее. Надо заметить, что любой крах в драйвере приведет к краху всей системы. Кроме того, надо писать и 32-битную версию, и 64-битную.
Я не говорю, что это невыполнимая задача, но, если задаете вопрос "как будет работать прога на ассемблере", то у Вас впереди ОЧЕНЬ длинный путь. :)
Прежде чем браться за подобную задачу, сначала разберитесь с архитектурой ОС. Как вообще все функционирует...
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Посетитель
399030
16
17.07.2017, 22:41
общий
Адресаты:

да знания нулевые) я читал книгу по изучению ассемблера. там рассматривался проц 8080. У меня времени не так много, так как основная работаа с языками не связана. поэтому я отложил ту книгу.

Что бы понять как работает система нужно найти ее. моя цель не виндовс. я вот задался вопросом есть ли готовые миникомпьютеры, небольшого размера, наподобие распбери пи. я как то читал, то такие решения были продемонстрированы российскими разработчиками в качестве тестовых)

мои знания в ходе изучения ассемблера столкнулись с поиском компилятора. все компиляторы под данный язык сделаны по хр. с линуксом я к сожалению знаком мало(

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

Примерно так)

Об авторе:
Правильного выбора в реальности не существует - есть только сделанный выбор и его последствия.


давно
Посетитель
7438
7205
18.07.2017, 11:27
общий
Адресаты:
Т.е. хотите написать ОС? Задачка, скажу прямо, чрезвычайно сложная. Вы даже не представляете себе, сколько в ОС должно быть согласованных между собой компонентов.
Кстати, аналоги есть. Была создана на Ассемблере ОС, называется Колибри. Умещалась на дискете. Вполне управляла компьютером.
Но дальше не пошло. Думаю, найдете в сети, если захотите.
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Старший Модератор
31795
6196
18.07.2017, 11:51
общий
Цитата: князь
Примерно так)

Ничего не понятно.
Если это система мониторинга чего либо, то она будет иметь приблизительно такой вид:

-внешнее устройство = измеряет там, что либо, как либо, чем либо и выдает результат;
-обработка сигнала = преобразовывает, что либо, во что-то либо, к примеру аналог в цифру и выдает результат;
-монитор = контролирует несколько результатов переданных ему и принимает решение о режиме работы;
-результат = сигнал в виде хорошо-плохо, либо сигнал в виде конкретного параметра, какого либо числа. Если первое, то обработка сигнала контролирует граничные параметры и выдает сигнал тревоги, а монитор его только обрабатывает, если второе - монитор, анализирует полученное число, сверяет его с граничными параметрами и только потом принимает решение о режиме работы.

Заметьте о программировании пока ничего не говорится. Только после составления всего проекта и выбора элементной базы, можно начать говорить о программировании.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
399030
16
18.07.2017, 19:48
общий
Адресаты:


согласен)
Я прошу извинить суть идеи я изложил не до конца. Идея состоит в том чтобы создать систему мониторинга и управления. получение результата и принятие решения я думаю описать низким языком. Все данные которые будут собираться внешними устройствами за определенный промежуток времени, при штатной работе системы можно будет анализировать и выводить результаты анализа прогой прописанной на высоком языке. Идея заключается в том чтобы система работала автономно, контроль за работой системы пользователь может осуществлять непосредственно подключившись к системе удаленно или просматривая отчеты которые были ему предоставлены.

при получении сигнала авария система должна выполнять заранее прописанный алгоритм действий для локализации аварии. После устранения аварии уже непосредственно пользователь принимает решение о продолжении штатной работы системы. Для меня предел совершенства это создание искусственного интеллекта который сможет принимать решения самостоятельно настолько насколько это возможно.

Мои интерес состоит в том чтобы данные максимально быстро были получены и обработаны в случае нештатной ситуации.

Об авторе:
Правильного выбора в реальности не существует - есть только сделанный выбор и его последствия.


давно
Посетитель
399030
16
18.07.2017, 19:54
общий
Адресаты:


Спасибо попробую найти и разобраться.
Об авторе:
Правильного выбора в реальности не существует - есть только сделанный выбор и его последствия.


давно
Старший Модератор
31795
6196
19.07.2017, 11:06
общий
это ответ
Здравствуйте, князь!

После уточнений в мини-форуме , сам вопрос оказался более теоретическим.

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

Схема в общем виде выглядит приблизительно так:


Основные функции, можно определить следующим образом:
-внешнее устройство = измеряет там, что либо, как либо, чем либо и выдает результат дальше;
-обработка сигнала = обрабатывает, преобразовывает, к примеру аналог в цифру и выдает результат контролирующему устройству;
-монитор = контролирует несколько результатов переданных ему и принимает решение о режиме работы;
-результат(стрелка) = сигнал в виде хорошо-плохо, либо сигнал в виде конкретного параметра, какого либо числа и т.д..

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

Цитата: князь
предел совершенства это создание искусственного интеллекта который сможет принимать решения самостоятельно настолько насколько это возможно.

Ассемблер подойдет для написания драйверов обслуживания внешних устройств, а не для создания ИИ. Это вопрос скорее к языкам логического программирования, таким как Lisp, Prolog и/или созданию нейронных сетей на ЯВУ.

Удачи!
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Академик
20764
1861
19.07.2017, 12:04
общий
Адресаты:
Вам это надо с практической целью или для обучения?
Если для обучения, то вы выбрали неподъёмную тему.
Если с практической целью - ознакомьтесь сначала с существующими решениями, которых существует множество. Навскидку из распространённых свободных: Nagios и Zabbix.
Форма ответа