- Vote on answer
- posted
19 years ago
Embedded OS
- Vote on answer
- posted
19 years ago
ON>>> Кстати, язык Cи создавался, как библиотека ON>>> макросов для ассемблера 8086.
AK>> Бред. Язык С создавался примерно в 1970-м году. Тогда не только AK>> 8086, но и вообще никаких микроконтроллеров не было.
ON> А если вернутся к сути разговора? Суть его в том, что язык вырос из ON> библиотеки макросов столь нелюбимого здесь ассемблера.
Тоже бред. Мало того, что этого не было: этого и быть не могло.
ON> Мне ссылку давать на историю создания Си, или сами прочтете?
Уж будь добра, дай ссылку. Заодно сама почитай :-)
Пока, Алексей
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
MP>> Где там хоть слово про асм?
AM> Подмена прерывания другим, при помощи взведения флага этого прерывания AM> руками, Да нет, это и на С можно.
AM> метод, который работает не везде, потому что в х51 это можно делать AM> (типа AM> софтверного прерывания), в других же uC эти флаги могут устанавливаться AM> только аппартано. Хотя мне лично не помешала бы иногда возможность AM> генерации AM> софтверных прерываний при помощи флагов, но которые бы подчинялись AM> логике AM> обычных периферийных прерываний, включая приоритезацию, разрешение их в AM> контроллере и т.п. :-( В особо требующих этого случаях - так вплоть до OCR3C = TCNT3 + 20; делать приходится...
wbr,
- Vote on answer
- posted
19 years ago
AG> Есть книга в бумажном виде. С.Кейслеp "Пpоектиpование опеpационных AG> систем для малых ЭВМ". Изд. "Миp" 1986г. Актуальна и сейчас. Мне когда-то в связи с массовым распространением "томатных" мамок и глюкавого софта особым образом зазвучало предложение
"Система должна быть так же надёжна, как и аппаратура, на которой она работает" :-)
Указанная книга, стр.29 "Цели и свойства операционной системы".
AG> Если будет вpемя отсканиpую. Hо сканиpовать много и неудобно - книга AG> толстая ~700 стp. "Если будет время" (С), можем сделать это в долях, договорившись - кто какие главы сканирует.
wbr,
- Vote on answer
- posted
19 years ago
OR>> на волю, или вообще сделали __tmp_reg2__ Эти зануления R1 после OR>> каждого умножения несколько излишни.
AG> Hеужели один такт так напpягает? Так много опеpаций умножения?
А умножения встречаются не только там, где в программе операция умножения используется в явном виде. При адресации ещё вылазит, мне не всегда удобно (и не всегда это действительно экономит код) массив структур заменять несколькими массивами по массиву на поле.
__zero_reg__ тоже не так часто используется, можно было бы каждый раз этот R1 очищять перед применением. Но тем не менее решили держать его всегда занулённым, чтобы сэкономить те два байта и один такт там, где это можно, так как всё равно регистр гуляет. Но из-за того, что был выбран R1 - теперь то там, то сям стоят совершенно ненужные команды его очистки после умножения.
Я уже говорил - мне не нравится, когда ресурс расходуется АБСОЛЮТНО зря. Просто немного другим выбором распределения регистров можно было бы это устранить. Два __temp_-регистра тоже не помешали бы.
wbr,
- Vote on answer
- posted
19 years ago
DO> Совершенно зря... Olga Nonova - известный флудер.
"Ты знал, ты знал!!!" А раньше предупредить нельзя было? :-[
wbr,
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
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?
- Служба времени, предоставляемая осью (даже простейшей), дает новый инструмент с принципиально новыми качествами.
- Использование оси позволет лучше структурировать проект, в частности, позволяет и подталкивает разбить его на части. После оформления в виде задач эти части чудненько инкапсулируются, что уменьшает вероятность появления багов
ON> Hа какой качественно более высокий уровень ON> выводит разработчика софта данный подход?
Программа приобретает более высокий уровень абстракции. Ее легче писать, изменять и сопровождать.
Пока, Алексей
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
Здравствуйте, Уважаемый Dima!
Tue Mar 15 2005 01:16, Dima Orlov wrote to Olga Nonova:
DO> Как можно сделать конкат строк, не копируя их из ПЗУ в ОЗУ?
Ту константу, что прикладывается, можно не копировать, а прямо выгребать из flash. В Cи- такое не проходит.
Всего Вам Хорошего Ольга
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago
- Vote on answer
- posted
19 years ago