эммм, сразу говорю читаль всю ветку в лом... могу повториться... сам тоже интересуюсь это темой (в плане создания ОС для робота) Есть очень хорошие книги автора Эндрю Таненбаума... одна из них "Разработка и реализация операционных систем"... но для полного понимания области, в идеале конечно, нужно прочитать и другие его книги 1. Архитиктура компьютерных систем 2. Компьюетные сети 3. Разработка и реализация..... 4. Сетевые операционные системы лучше всего читать в таком порядке.... сам пока застрял на книге 1
0x43656c74 ОС - для робата? А она ему нужна может использовать готовые варианты Window, Linux, QNX? Если робот должен выполнять стого заложенный алгоритм следовать по линии обробатывать деталь. То для того робота хватит DOS. А вот если от робота требуется помимо прочего мыслительная деятельность то да. Тут нужна много задачная ОС. 1. Задача обработка датчиков и реализация механизма движения. 2. Обработка поступивших данных И каждый поток при этом должен иметь определенный приоритет чтобы максимально эффективно использовать ресурсы компьютера.
Pavia Для программируемого(может даже думающего) робота в любом случае нужна ОС в качестве виртуальной машины переводящей с уровня ОС(например прога на асме) на уровень микроархитекруты или сразу на аппаратный уровень... Ну а по поводу взять готовую или же написать свою... ну что здесь можно сказать.... робототехника это моё хобби...и в полезную нагрузку может нести только в качестве образовательном... изучение например создание ОС. ну а про потоки датчики и приоритеты, ну мне пока рановато... у меня ещё аппаратынй уровень не готов, пока не спроектирован...
Народ есть такой вопрос: как лучше сделать? 1. Загрузчик ядра переводит процессор в защищённый режим и загружает ядро или 2. загрузчик загружает ядро и ядро переводит процессор в защищённый режим может ещё кто знает кикие тонкости и сложности у того или иного способа?
Это больше философский вопрос... Разницы собственно большой нет но я склоняюсь ко второму способу потому, что если писать по первому варианту то загрузчик будет решать где в памяти будет находится GDT\IDT и лишыт ядро поддержки со стороны BIOS, что по моему не есть очень хорошо. Если ты надумаеш например изменить адресс таблицы прерываний, то прийдется изменять есчё и загрузчик, что тоже не очень хорошо. Лучше в загрузчике реализуй возможность загрузки винд.
0x43656c74 А ещё загрузчик может то переходить в защищённый режим, то в реальный -- чтобы при необходимости использовать функции BIOS (прежде всего -- чтение с диска).
Думаю именно ядро будет следить за режимом работы проца... + ко всему что бы не было супер сильных тормозов... нужно будет писать драйвер для диска... и как следствие его нужно будет загружать до перевода в защищённый режим...
0x43656c74 Не только драйвер диска нужен, но и поддержка файловой системы для диска, с которого осуществляется загрузка.
в лине этим занимается загрузчик, который грузит в оперативку/распаковывает ядро, и образ корневой файловой системы, которое ядро себе монтирует на первое время как ram-disk до того момента как оно инициализирует железо и себя под железо (подгружая модули с ram-диска) настолько, чтобы иметь возможность смонтировать корень уже с какого-нибудь другого блочного устройства -- с раздела жёсткого диска, через smb/nfs, или ещё откуда-то. кстати может и не монтировать, а продолжать пользоваться ram-disk'ом навсегда. но в защищённый режим загрузчик проц не переводит. хоть ядро уже биосом и не пользуется, но как я понимаю потому загрузчик не трогает проц, что тогда этот загрузчик придётся перекомпилировать вместе с ядром или сильно усложнять протокол загрузки ядра.
r90 Если в защищённый режим переводит не загрузчик, то и ядро (во всяком случае, точку входа в него по загрузке) придётся загружать в нижнюю память -- иначе загрузчик не сможет передать ему управление. А это существенно снижает максимально возможный размер ядра.
10110111 А будет ли реальный BIOS корректно работать в V86? И даже если это принципиально возможно, ему нужно дать полный доступ к аппаратуре...
Кстати на www.lowlavel.ru читаю статейки... там автор в самом загрузчике меняет режим... кто нибудь может подсказать подробное описание режимов работы проца...