Embedded OS

Reply to
Maxim Polyanskiy
Loading thread data ...

ON>>> Кстати, язык Cи создавался, как библиотека ON>>> макросов для ассемблера 8086.

AK>> Бред. Язык С создавался примерно в 1970-м году. Тогда не только AK>> 8086, но и вообще никаких микроконтроллеров не было.

ON> А если вернутся к сути разговора? Суть его в том, что язык вырос из ON> библиотеки макросов столь нелюбимого здесь ассемблера.

Тоже бред. Мало того, что этого не было: этого и быть не могло.

ON> Мне ссылку давать на историю создания Си, или сами прочтете?

Уж будь добра, дай ссылку. Заодно сама почитай :-)

Пока, Алексей

Reply to
Alex Kouznetsov
Reply to
Maxim Polyanskiy
Reply to
Alexander Torres
14-Mar-05 18:51 Andy Mozzhevilov wrote to Maxim Polyanskiy:

MP>> Где там хоть слово про асм?

AM> Подмена прерывания другим, при помощи взведения флага этого прерывания AM> руками, Да нет, это и на С можно.

AM> метод, который работает не везде, потому что в х51 это можно делать AM> (типа AM> софтверного прерывания), в других же uC эти флаги могут устанавливаться AM> только аппартано. Хотя мне лично не помешала бы иногда возможность AM> генерации AM> софтверных прерываний при помощи флагов, но которые бы подчинялись AM> логике AM> обычных периферийных прерываний, включая приоритезацию, разрешение их в AM> контроллере и т.п. :-( В особо требующих этого случаях - так вплоть до OCR3C = TCNT3 + 20; делать приходится...

wbr,

Reply to
Oleksandr Redchuk
13-Mar-05 22:56 Alex Gavrikov wrote to Andy Mozzhevilov:

AG> Есть книга в бумажном виде. С.Кейслеp "Пpоектиpование опеpационных AG> систем для малых ЭВМ". Изд. "Миp" 1986г. Актуальна и сейчас. Мне когда-то в связи с массовым распространением "томатных" мамок и глюкавого софта особым образом зазвучало предложение

"Система должна быть так же надёжна, как и аппаратура, на которой она работает" :-)

Указанная книга, стр.29 "Цели и свойства операционной системы".

AG> Если будет вpемя отсканиpую. Hо сканиpовать много и неудобно - книга AG> толстая ~700 стp. "Если будет время" (С), можем сделать это в долях, договорившись - кто какие главы сканирует.

wbr,

Reply to
Oleksandr Redchuk
12-Mar-05 01:14 Alex Gavrikov wrote to Oleksandr Redchuk:

OR>> на волю, или вообще сделали __tmp_reg2__ Эти зануления R1 после OR>> каждого умножения несколько излишни.

AG> Hеужели один такт так напpягает? Так много опеpаций умножения?

А умножения встречаются не только там, где в программе операция умножения используется в явном виде. При адресации ещё вылазит, мне не всегда удобно (и не всегда это действительно экономит код) массив структур заменять несколькими массивами по массиву на поле.

__zero_reg__ тоже не так часто используется, можно было бы каждый раз этот R1 очищять перед применением. Но тем не менее решили держать его всегда занулённым, чтобы сэкономить те два байта и один такт там, где это можно, так как всё равно регистр гуляет. Но из-за того, что был выбран R1 - теперь то там, то сям стоят совершенно ненужные команды его очистки после умножения.

Я уже говорил - мне не нравится, когда ресурс расходуется АБСОЛЮТНО зря. Просто немного другим выбором распределения регистров можно было бы это устранить. Два __temp_-регистра тоже не помешали бы.

wbr,

Reply to
Oleksandr Redchuk
14-Mar-05 19:51 Dennis Opanasenko wrote to All:

DO> Совершенно зря... Olga Nonova - известный флудер.

"Ты знал, ты знал!!!" А раньше предупредить нельзя было? :-[

wbr,

Reply to
Oleksandr Redchuk
Reply to
Anatoly Mashanov

Sun Mar 13 2005 12:48, Olga Nonova wrote to Andy Mozzhevilov:

ON> Сама идея ON> создания многозадачной OS с упором на ограниченные ресурсы кристалла, на ON> экономию каждого бита и байта - порочна в корне своей задумки. Такая ON> "экономия" на деле оборачивается отказом от многих важных фич у ON> многозадачных OS, например, создание и удаление процессов,

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

ON> очереди и FiFo ON> для сообщений, семафоры не накапливаются,

Почему эти фичи надо считать "важными"? Я много лет юзаю простые оси для малых процев (включая, в частности, такую мелюзгу как PIC16C74, PIC16F628), но нужды в этих фичах не испытывал никогда. Так что аргумент тоже не катит.

ON> количество процессов очень ограничено, и т.д.

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

ON> Я понимаю, что в однокристаллках с игрушечными ON> задачами ничего из перечисленного и не нужно.

Как выяснилось, неправильно понимаешь: некоторые фичи нужны, другие - нет

ON> Hо, зачем тогда нужна вся эта возня с игрушечной OS?

  1. Служба времени, предоставляемая осью (даже простейшей), дает новый инструмент с принципиально новыми качествами.
  2. Использование оси позволет лучше структурировать проект, в частности, позволяет и подталкивает разбить его на части. После оформления в виде задач эти части чудненько инкапсулируются, что уменьшает вероятность появления багов

ON> Hа какой качественно более высокий уровень ON> выводит разработчика софта данный подход?

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

Пока, Алексей

Reply to
Alex Kouznetsov
Reply to
Anatoly Mashanov
Reply to
Andy Mozzhevilov
Reply to
Sergey Pinigin

Здравствуйте, Уважаемый Dima!

Tue Mar 15 2005 01:16, Dima Orlov wrote to Olga Nonova:

DO> Как можно сделать конкат строк, не копируя их из ПЗУ в ОЗУ?

Ту константу, что прикладывается, можно не копировать, а прямо выгребать из flash. В Cи- такое не проходит.

Всего Вам Хорошего Ольга

Reply to
Olga Nonova
Reply to
Andy Mozzhevilov
Reply to
Andy Mozzhevilov
Reply to
Andy Mozzhevilov
Reply to
Leha Bishletov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.