Статистика |
Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
|
1407.
Dolphin
(24.04.2007 11:42)
0
Попытка стандартизации бинарника - это хорошо. Но имхо неплохо было сначала написать ядро, а потом заниматься прикладными программами.... Кстати, чем бинарник Русской ОС будет отличаться от бинарника ДОСа?
Ответ: Я продолжаю работу над свои релизом и паралельно веду остальные проекты . А бинарник - это последовательность байтов , двоичных цифр от 0 до 255 . Разница в бинарниках - в последовательности цифр и их контрольной сумме .
|
1406.
eXtender
(24.04.2007 06:38)
0
Интересненькое заявление об отсутствии Российской ОС...Гляньте ка хорошо в гугл сколько линуксов отечественных разработок...
Ответ: Линуксов много . А ивановоксов ни одной .
|
1405.
AcckyCODER (blondingo)
(24.04.2007 00:15)
0
Очень круто... Аццки крута, нипадеццки.
|
1404.
BudlcCODER
(20.04.2007 16:49)
0
Круто...
|
1403.
Горлов А.В.
(08.04.2007 00:48)
0
8. Описатели_условий информируют транслятор о условиях общих для одного сеанса трансляции . Описатели_условий могут изменяться по усмотрению разработчиков транслятора РЯП . 9. Дальнейшее описание РЯП идет для следующего Блока_описателей : - Процессор ( 086 ) - Режим_процессора ( реальный ) - Память ( сегмент ( 64 ) ) - Назначение ( система ) - Система_тип ( ядро ) - Формат_программы ( ехе ) - Размещение_в_памяти ( с адреса ( ) ) - Обращения к портам ( да ) - Функции_внутренние ( да ) - Функции_внешние ( да ) - Обработчики_прерываний ( да ) - Функции_Русской_ОС ( да ) - Типы_данных_разные ( по умолчанию ) - Тип_данных_по_умолчанию ( целые ( 16 ) ) - Строки ( да ) - Массивы_данных ( да ) . 10. После Описателей_условий идет Список_внешних_модулей следующего формата Список_внеших_модулей: Подключить_внешние_функции ( нет / Имя ; Имя ; ... ) Подключить_внешние_библиотеки ( нет / Имя ; Имя ; ... ) Подключить_функции_Русской_ОС ( нет / Имя ; Имя ; ... ; по_умолчанию ) 11. После Списка_внешних_модулей идет Список_определений следующего формата : Список_определений: Переменные ( Имя ( ) , Имя ( ) , ... ) Константы ( Имя ( ), Имя ( ) , ... ) Строки ( Имя ( параметры ), Имя ( параметры ) , ... ) Массивы ( Имя ( параметры ), Имя ( параметры ) , ... ) Функции ( Имя ( параметры ), Имя ( параметры ) , ... )
12. После Списка_определения идет Присвоение в формате : Переменные ( Имя = значение ; Имя = значение ... ) Константы ( Имя = значение ; Имя = значение ... ) Строки ( Имя = значение , Имя = значение ... Массивы ( Имя = ( значения параметров ) , Имя = ( значения параметров ) ... )
|
1402.
o`kante
(03.04.2007 22:38)
0
По поводу сообщения "Русский Язык Программирования ."
Очень хорошие правила. Главное для меня --- они блестяще редуцированны, оставлено лишь то, что нужно.
|
1401.
Горлов А.В.
(03.04.2007 00:22)
0
Русский Язык Программирования .
1. Русский Язык Программирования - это язык программирования персональных компьютеров на которых установлена Русская Операционная Система . 2. Процессор воспринимает двоичный код и естественным отображением этого кода является символьный язык ассемблера . Языки программирования высокого уровня - это абстракция , ложка которой не существует . По этому нужно придумать удобную абстракцию , язык высокого уровня , с помощью будет легко создавать свои релизы Русской ОС . 3. Пусть такой язык называется Русский Язык Программирования ( РЯП ) . 4. Программа на РЯП пишется в текством редакторе без знаков форматирования текста . 5. Транслятор РЯП переводит текст программы с РЯП на язык ассемблера . Предполагается создавать трансляторы РЯП для компиляторов ассемблера под различные аппаратные платформы . Также предполагается то , что РЯП будет позволять писать программы не только для голой аппаратуры но и программы рассчитанные для работы под ОС других производителей . Таким образом будет решаться задача переносимости программ на РЯП под различные аппаратно-программые решения . 6. Для максимального абстрагирования от различных вариантов компиляторов и процессоров сконцентрируемся на описании Русского Языка Программирования для процессоров Интел и компилятора ассемблера МАСМ 6.1 .
7. Любая программа на РЯП начинается с описания условий работы программы . Условия работы определяются описателями . Описатели условий - - Процессор ( 086 / 286 / 386 / 486 / Р ) - Режим процессора ( реальный / защищенный ) - Память ( сегмент( ) / страница( ) / флат( ) ) - Тип программы ( сом , ехе ) - Размещение в памяти ( с адреса ( ) / по умолчанию ) - Есть обращения к портам ( да / нет ) - Есть внешние функции ( да / нет ) - Есть собственные обработчики прерываний ( да / нет ) - Использовать функции Русской ОС ( да / нет ) - Разные типы данных ( есть , по умолчанию ) - Тип данных по умолчанию ( целые ( ) / вещественные ( ) ) - Есть массивы данных ( да / нет )
|
1400.
Горлов А.В.
(25.03.2007 17:28)
0
Мой персональный прогресс в программировании настолько очевиден что уже не вызывает ни у кого сомнения . И у меня уже нет иллюзий относительно причин лежащих в основе отсуствия у России своей ОС для персональных компьютеров . Увы , тезиз о том что в России все ценное в дифиците и только грязи как грязи - полностью оправдался . Ни простые юзеры персоналок ни те кто называет себя профессионалами не имеют достаточного опыта и знаний в системном программировании . Это не парадокс . Это самая реальная реальность которая имеет свои корни в способности русского человека чувствовать себя абсолютно самодостаточным при любых условиях - покосилась изба , нечего кушать , раздетые дети , ... , нет своей ОС для компьютера ... - ну и наплевать , день прошел и ладно , придет враг - закидаем его шапками . В этой ситуации единственным условием для появления в России своей ОС для гражданского сектора является только желание власти видеть в государственных учреждениях компьютеры работающие на ОС отечественного производителя . И в этом направлении есть видимые подвижки . Уже достаточно фактов свидетельтвующих о том что отдельные чиновники из разных органах власти пришли к признанию недопустимости отставание России в сфере системного программного обеспечения для персональных компьютеров . Все чаще собираются разного рода круглые столы и появляются публикации в СМИ повященные обсуждению этой проблемы . В этом контексте идет поиск реальных проектов ОС которые уже есть в России . И проект Русской ОС не оказался не замеченным . В Рунете появилось много ссылок на этот проект и СМИ также добавили свои ссылки о проекте . Тот факт , что автором проекта является Политик дезавуирует то , кто в России будет принимать окончательное решение о отечественной ОС . Именно от власти будет исходить инициатива в принятии того или иного ее варианта . И при отсутствии реальных альтернатив имеющимся ОС решение может быть вынесено в пользу одной из них . Но и у нас есть возможность принять участие в этом конкурсе . Каждый может проявить себя и стать Разработчиком своего релиза Русской ОС . В случае представления на суд компетентного жюри работоспособного релиза у него и его команды появляется шанс получения госзаказа на его доработку и выпуск коммерческой версии для поставок в госсектор . Сейчас России на перекрестеке на котором может появиться указатель на ваш , уважаемый читатель , релиз Русской ОС который будет работать на 90 % персоналок в государстве . Правильного вам решения и удачи на выбранном пути .
|
1399.
Anonymous.ru
(23.03.2007 14:12)
0
>> " Потому что С дает правила для системного программирования . Ассемблер свободен от правил системного программирования . По этому чтобы писать на нем систему нужно держать ее в себе и придерживаться правил системы самому ."
А давайте сформулируем правила системного программирования. Или точнее русские правила системного программирования релизов русской ос.
Конечно хорошо, когда каждый разработкик самостоятельно выбирает себе правила системного программирования, или операется на те правила, которые предлагает ему язык программирования.
Но все таки, что бы нам не запутаться давайте сформулируем эти правила?
Хорошо?
Ответ: Хорошо . Предложите текст для первоначального обсуждения .
|
1398.
Anonymous.ru
(23.03.2007 14:07)
0
Основной задачей системного программирования является создание операционных систем, управляющих работой машины, программным путём расширяющих возможности машины и предоставляющих пользователю дополнительное обслуживание, не предусмотренное аппаратурой: возможность ввода и вывода одновременно с решением задач, автоматизация редактирования выдачи, вывод графиков, работа с экраном, диалог с машиной, возможность одновременного решения на машине многих задач (система разделения времени).
Ответ: Копировать содержадание учебников не требуется . Расскажите что нибудь от себя . Хорошо ?
|
1397.
o`kante
(22.03.2007 18:44)
0
Конечно, возможно применять каждую из комманд не по назначению. Ведь вместо
jmp address
можно сказать
push address ret
Ровно как и обратно, можно написать
ret
а можно и
pop eax jmp eax
Об такой возможности надо знать, потому что во-первых её применяют достаточно много порой программисты, исходный код которых придется разбирать, во-вторых для каких-то собственных целей.
Отностиельно остальных комманд можно придумать тоже достаточно много разных применений. Например не возможно узнать прямым путем содержимое регистра eip. ОДнако информация должна быть свободна, поэтому и можно применить косвенный метод узнавания его содрежимого. Например можно сказать так:
geteip: mov ebx, [esp] ; остается лишь ; выковырять eip ret
m: call geteip ; в стек кладется eip ; и переход на geteip ret ; <---- ebx содержит значение eip
Такие способы, как и любые нестандартные решения, могут казаться неоптимальными и даже порой глупыми, однако в данном случае нельзя судить о них вне контекста ситуации. Порой контекст ляжет так, что использование таких конструкций вполне оправдано. Сознание не подсказывает каких-либо конкретных технических примеров.
Можно лишь заметить, что оправдано применять такое, когда нужно максимально усложнить чтение исходного кода. В этом смысле ассемблер один из замечательных языков программирования, в нем возможность обфуксации заложена сама по себе и необходима в принципе.
-
Есть ещё слово касаемого предыдущего сообщения. Нельзя жестко заучивать те обозначения, которые приведены в нем. Конечно в 97% случаев мнемоники используются именно так, однако, если есть похожие участки кода и желание соптимизировать размер, можно вместо:
good_fucntion: nop nop cmp ebx, ebx jz .finish nop jmp $ .finish: xor eax, eax ret
bad_fucntion: nop nop cmp ebx, ebx jnz .finish nop jmp $ .finish: xor eax, eax ret
сказать
good_fucntion: nop nop cmp ebx, ebx jz finish nop jmp $ bad_fucntion: nop nop cmp ebx, ebx jnz .finish nop jmp $ finish: xor eax, eax ret
ну вообщем, все зависит от воспитания, характера разработчика, да ещё пожалуй от политики управления проектом. Если разработчик конформист, то конечно он станет использовать мнемоники стандартным образом или, например, архитектор проекта поставил задачей доступность исходного кода, тогда тоже следует придерживать код в рамках общепринятых определений. ОДнако если разработчик строгий нонкомфоримст, то для него будет приятнее и продуктивнее пользовать комманды так как ему вздумается. Если он будет насильно себя ограничивать, то станет проводить довольно большие участки рабочего времени в рефлексии и саморегуляции, что снизит производительность и возможно введет программиста в стресс и дерпессия. Поэтому, кстати, добрый архитектор должен выявлять людей подобного склада и либо найти им подходящее занятие либо уволить для его же блага.
Ответ: В своем релизе я буду придерживаться правил . И первое правило - однозначность трактовки мнемоник ассемблера . По этому при равнозначных результатах я выбираю те мнемоники которые правильно описывают действия программы . Я готов смириться с большим объемом кода или потерей быстродействия . Главное - не запутаться самому . Системное программирование - это программирование системы . Почему предлагают писать программы на С ? Потому что С дает правила для системного программирования . Ассемблер свободен от правил системного программирования . По этому чтобы писать на нем систему нужно держать ее в себе и придерживаться правил системы самому .
|
1396.
Dolphin
(22.03.2007 08:49)
0
Вы еще о назначении кнопки Power расскажите. Долго что-то вы топчетесь вокруг джампов и прерываний. Давным-давно надо было собрать загрузчик на асме и начать писать ядро на си...
Ответ: Вы расскажите как написать ядро на С . Хорошо ?
|
1395.
o`kante
(21.03.2007 13:09)
0
По своему изначальному предназначению эти комманды нужны для следующего.
jmp - безусловиный переход в пределах одной подпрограммы call - вызов подпрограммы ret - возврат из подпрограммы int - вызов программного прерывания iret - выход из подпрограммы-прерывания
О возможностях их иного применения будет сказано в следующем сообщении. Это собщение --- ликбез для тех, кто может не знать основ и станет далее задавать лишние уточняющие вопросы.
Ответ: Да , это интересно .
|
1394.
o`kante
(18.03.2007 08:03)
0
> А зачем? DOS умер десять лет назад! И вообще, Русская ОС будет клоном винды чтоль? Зачем ей поддержка доса? По-моему планировалось api с нуля слепить...
Сказано было немного не точно. Имелся ввиду реальный режим работы процессора. Он у меня ассоциируется с DOS. А нужен он, как уже было говорилось, для того, чтобы ввести интерфейс на самых ранних стадиях разработки. То есть когда ещё нет защищенного режима.
Ответ: Интересно ваше мнение . Для перехода можно использовать jmp , call , int , ret , iret . В каких случаях какие команды луше использовать ?
|
1393.
Dolphin
(17.03.2007 08:11)
0
>>А надо сохранить совместимость с 16-разрядным DOS и режимом VGA.
А зачем? DOS умер десять лет назад! И вообще, Русская ОС будет клоном винды чтоль? Зачем ей поддержка доса? По-моему планировалось api с нуля слепить...
Ответ: Я подхожу к созданию своего релиза с позиции изучения всех режимов работы . Я допускаю возможность появления задач не требующие от ОС защищенного режима и работающие в 16 разрадной адресацией и режимом VGA . Но это мой подход и от других Разработчиков не требуется его копирование .
|
|
|
|