Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Ассемблер? Это просто! Учимся программировать


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 311
∙ повысить рейтинг »
Evgen aka Chuma
Статус: 5-й класс
Рейтинг: 27
∙ повысить рейтинг »
quirck
Статус: 1-й класс
Рейтинг: 0
∙ повысить рейтинг »

∙ Assembler

Номер выпуска:1670
Дата выхода:30.11.2017, 03:15
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:49 / 18
Вопросов / ответов:1 / 1

Консультация # 191882: Уважаемые Игорь Витальевич, Константин Николаевич и эксперты, здравствуйте, 1) читаю и знакомлюсь постепенно с книгой С.В.Зубкова - где для ДОСа даны описания многих команд, что является полезным для новичков, 2) в Интернете (Wikipedia) прочитал об операционных системах (ОС) Menuet и Kolibry, написанных чисто на Ассемблере FASM. ме...

Консультация # 191882:

Уважаемые Игорь Витальевич, Константин Николаевич и эксперты,
здравствуйте,

1) читаю и знакомлюсь постепенно с книгой С.В.Зубкова - где для ДОСа даны описания многих команд, что является полезным для новичков,

2) в Интернете (Wikipedia) прочитал об операционных системах (ОС) Menuet и Kolibry, написанных чисто на Ассемблере FASM. меня заинтересовала данная информация.

3) у меня вопросы -
а) можно ли используя МASM или TASM попытаться разработать пусть даже примитивную-простую ОС ? или для этой цели необходимо установить Linux на компьютере и уже в Линуксе использовать ассемблер GAS для разработки-написания ОС для 16/32/64-битного микропроцессора ?

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

в) меня также интересует разработка ОС жесткого реального времени - как разрабатываются (детальное описание) ОСРВ (RTOS), какая начинка ОСРВ, что такое ядро ОС, и вообще как разрабатываются различные ОС и ОСРВ.
в Интернете я нашел книгу А.Таненбаума, Разработка операционных систем - где он всего-лишь дает идеи (а не детали) разработки ОС Minix, используя Си-программирование. меня же интересует разработка ОС и ОСРВ на Ассемблере.

г) Константин Николаевич и Игорь Витальевич, вообще говоря, в дальнейшем у меня есть интерес и желание самому, с помощью Ваших консультаций и с помощью Интернета, разработать от принципиальной радио-схемы какого-либо военного прибора (для космических кораблей, или бортовых электронных приборов военной авиации) и до ОСРВ (включая) для внедрения (запрограммирования) в данные электронн ые приборы.
в настоящее время я смутно (практически ничего smile smile ) представляю военную электронику (приборы) и разработку для них ОСРВ (жестких и мягких).

поэтому мне и хотелось бы с Вами посоветоваться - как и с чего начать такие проекты, которые (детальное описание) неизвестны smile для меня пока в настоящее время.

буду Вам благодарен если сможете smile проконсультировать меня по данным вопросам.

Спасибо.

Дата отправки: 25.11.2017, 02:48
Вопрос задал: ialmiev (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Лысков Игорь Витальевич (Старший модератор):

Здравствуйте, ialmiev!
Давайте по порядку...
1) Книга полезная - спору нет.
2) Да, были такие попытки написать ОС на Ассемблере.
3а) Попытаться, конечно, можно. Причем совершенно без разницы, под какой ОС писать. Все равно, эта новая ОС должна запускаться после перегрузки.
3б) Вот тут начинается самое интересное. Все можно, но при этом надо помнить, что все устройства, для которых Вы хотите написать драйвер, уже имеют некий программный интерфейс, который надо знать, и которого надо придерживаться. Задача узнать, как общаться с устройством, далеко неочевидна. Кроме того, устройств и их разновидностей накопилось такое огромное количество, что всех их охватить - практически нереальная задача.
Можно, конечно, поставить задачу переписать драйвера только под конкретные устройства. Это значительно сужает объем работ, но даже эта задача, поверьте, требует значительно больших знаний, чем те, которые Вы сможете подчерпнуть у того же Зубкова. Как минимум, надо п исать в защищенном режиме процессора, малейшая ошибка приведет у сбросу процессора. Не говоря уже об знании интерфейса необходимых устройств. Надо будет перерыть массу datasheet-ов, в основном на английском языке (при условии, что Вы их еще найдете).
3в) ОСРВ - эта такая ОС, которая работает четко по реальному времени, с четкой привязкой к временным интервалам. Что такое ядро ОС? Хороший вопрос smile Вы даже не представляете себе, насколько сложна внутренняя организация ОС, сколько там существует взаимодействующих механизмов! В ядро входит вся эта совокупность всех этих механизмов, обеспечивающих жизнедеятельность системы. Могу назвать часть их, крупными мазками: менеджмент памяти, ввод-вывод, файловая система, взаимодействие с драйверами, с пользовательскими программами, защита.
На каком языке вести разработку ОС, на Си или на другом - как раз не важно. Важны именно идеи, что и как реа лизовать... Уж поверьте мне, там есть есть над чем поломать голову. Поэтому важны именно идеи. Если Вы не видите этого, то значит Вам рано даже думать об этом smile
И вообще, если Вы не знаете Си, настоятельно рекомендую его выучить... Если и найдете какой-то код, то, скорее всего, на Си. Перевести с Си на Асм - пара пустяков smile
3г) Я хотел бы, чтобы Вы определились, над чем Вы хотите работать: либо над созданием ОСРВ на компьютере, либо над некими "электронными приборами", которые должны что-то там делать. Если первое, то это, прямо скажу, неподъемное и неблагодарное дело. Те же примеры, которые Вы привели, так и умерли, т.к. не имеют НИКАКОГО реального применения и развития. Если второе, т.е. хотите управлять неким устройством, то там управляющая программа apriori должна быть реального времени, иначе не справится с поставленной задачей. Но тогда настоятельно рекомендую отказаться от х86 и посмотреть на что-то другое, типа AVR или ARM

Кстати, никто не запрещает потом связать разработанные устройства с компьютером по любому из доступных и реализованных в устройстве интерфейсов (COM, USB, LAN, WiFi,...), чтобы настраивать, показывать всю необходимую информацию на экране компьютера. Я, собственно, так и делаю smile smile

Консультировал: Лысков Игорь Витальевич (Старший модератор)
Дата отправки: 25.11.2017, 13:22

5
нет комментария
-----
Дата оценки: 25.11.2017, 20:57

Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное