Помогите новичку
-
У меня возникла проблема. Я доделал новый "blue screen", однако если при уже загруженой Ос при нажатии ctr+alt+F12 выбрать ядро или перезагрузка, то возможно не корректное поведение "blue screen", от несохранения параметров, до отказа мышки при следующей загрузки ОС это касательно эмуляторов. На реальной машине нажате ядро приводит к перезагрузки системы. Помогите мне, в каком месте мне стоит дальше копать? Почему может такое случаться?
Объясните мне наличее этой структуры в файле data16.inc
при загрузке загрузчик передает следующие параметры
итого в ds=0 si указывает на структуру
где write1st указатель на функцию по сохраннению первых 0x200 байт ядра
Т.е. при загрузке просиходит размещение в блоке loader_block dd адреса нахождения блока
loader_block(в случае загрузки с дискеты), однако при перезагрузке мы видем что
передаются параметры на структуру kernel_restart_bootblock
в которой (структура показана выше)третий парметр определен как dd 0, т.е. он не указывает на код, который может сохранять параметры.
Это приводит к тому, что при выборе ядро мы не можем сохранить параметы.
Объясните мне логику работы данного участка, для каких целей понадобился блок kernel_restart_bootblock?
Code: Select all
kernel_restart_bootblock:
db 1 ; version
dw 1 ; floppy image is in memory
dd 0 ; cannot save parameters
Code: Select all
executa_kernel:
; \begin{diamond}[02.12.2005]
mov ax, 'KL'
push 0
pop ds
mov si, loader_block+boot_program
; \end{diamond}[02.12.2005]
push word 01000h
push word 00h
retf
Code: Select all
loader_block:
db 1
dw 0
dw write1st+boot_program
dw 0
Т.е. при загрузке просиходит размещение в блоке loader_block dd адреса нахождения блока
loader_block(в случае загрузки с дискеты), однако при перезагрузке мы видем что
передаются параметры на структуру kernel_restart_bootblock
Code: Select all
push 0x1000
pop ds
mov si, kernel_restart_bootblock
mov ax, 'KL'
jmp 0x1000:0000
Это приводит к тому, что при выборе ядро мы не можем сохранить параметы.
Объясните мне логику работы данного участка, для каких целей понадобился блок kernel_restart_bootblock?
А есть ли хорошое пособие по программированию на С/С++ под КолибриОС?
Алгоритмы сути своей не меняют, с++ останется с++-ом, но программирование под каждую конкретную платформу предполагает какие-то специфичные для неё моменты. Отвечая на вопрос - да, отличается.
Вы что-то путаете. Некоторая "кросплатформенность" есть, но зачем она вам, если вы уже писали о неприемлимости использования линукса (наверно и виндовса)?
Что ж это за требования, куда Колибри подходит а linux нет?
Видимо вы не все дистрибутивы линукса видели. Да и собрать свой для нужных целей - не проблема(если есть определенные знания в этой области).
Я ни в коем случае не хочу отговаривать вас от колибри(сообщество, не ругаться ), но может стоит копнуть в сторону линукса? Покрайней мере вы не будете привязаны к определенной архитектуре, да и программных решений найдете много, и людей подобрать сможете(свободных линуксоидов больше чем колибривцев).
Видимо вы не все дистрибутивы линукса видели. Да и собрать свой для нужных целей - не проблема(если есть определенные знания в этой области).
Я ни в коем случае не хочу отговаривать вас от колибри(сообщество, не ругаться ), но может стоит копнуть в сторону линукса? Покрайней мере вы не будете привязаны к определенной архитектуре, да и программных решений найдете много, и людей подобрать сможете(свободных линуксоидов больше чем колибривцев).
path_of_milea
Как насчёт Minix ?
К холодильникам ?Windows и Linux не встанет на холодильниках из-за высоких требований к ним
Как насчёт Minix ?
Last edited by Serge on Fri Jan 11, 2008 8:20 pm, edited 1 time in total.
Хм.. Если конфигурация одна, то и настроить придется один раз... А потом просто шить флэш как БИОСом?... ИМХО, зависит от конкретной реализации. Если вам нужна графическая подсистема - Колибри лучше всего подойдет, иначе - что-то другое.
path_of_milea
У нас не шибко лучше. Там всё на С, исходники открыты, память ест меньше, правда своя лицензия.Там поддержка железа совсем плохая
path_of_milea
В ядре куча дыр. Нормального планировщика нет, обработка прерываний мягко говоря странная. Драйвер клавиатуры кривоват, оконная система примитивная, файловая система без дескрипторов файлов и т.д. С одной стороны всё вроде есть и работает, а когда внимательно присмотришься увидишь что "тут надо напильником подправить, а там кувалдой подрихтовать".
В ядре куча дыр. Нормального планировщика нет, обработка прерываний мягко говоря странная. Драйвер клавиатуры кривоват, оконная система примитивная, файловая система без дескрипторов файлов и т.д. С одной стороны всё вроде есть и работает, а когда внимательно присмотришься увидишь что "тут надо напильником подправить, а там кувалдой подрихтовать".
Согласен с Serge. При детальном рассморении кода ядра приходишь к выводу, что для приведения его к "нормальному" виду нужно переписать более половины системы. Но поскольку времени и порой соответствующих знаний нет, модификация кода носит локальный характер, исправлением подвергаются только отдельные функциональные блоки, а принципы и идеи остаются еще со времен создателя менует.
Существует работа по исправлению логических ошибок, однако она проводитсья силами энтузиастов. Обычно это все затягивается или остается недоделанным. Тем не менее ядро развивается, изменятся...
На поставленный вопрос - будет ли сбоить коос, если ее поставить на холодильники точного ответа не даст ни кто. Вы можете проверить это путем проведения всесторонних тестов и сами дать ответ на этот вопрос.
Существует работа по исправлению логических ошибок, однако она проводитсья силами энтузиастов. Обычно это все затягивается или остается недоделанным. Тем не менее ядро развивается, изменятся...
На поставленный вопрос - будет ли сбоить коос, если ее поставить на холодильники точного ответа не даст ни кто. Вы можете проверить это путем проведения всесторонних тестов и сами дать ответ на этот вопрос.
Во первых вы не услышите от людей, которые реально пишут ядро что ОС это супер пупер или круто. Да в коде есть некоторые логические ошибки и неточности на взляд системных программеров. Однако это не мешает стабильно работать ОС и выполнять поставленные задачи. Я считаю, что при должном уровне софта Колибри ОС может успешно справляться с поставленными вами задачами. Однако код ОС будет дорабатываться и если вы примите участие в доработке кода, оч многие люди будут вам признательны.
Поскольку проект не коммерческий и сообщество не приследует финансовую выгоду. Тут нет рекламы и тупово восхваления продука. Если есть некоторые недостатки об этом говориться прямо. Я считаю это очень хорошей позицией т.к. именно вам или конечному пользователю предстоит принять решение о использовании данной ОС. Заинтересованность сообщества это развитее данной ОС.
---------
Все мнения субъективны если нет фактов
---------
Все мнения субъективны если нет фактов
> В ядре куча дыр. Нормального планировщика нет, обработка прерываний мягко говоря странная. Драйвер клавиатуры кривоват, оконная система примитивная, файловая система без дескрипторов файлов и т.д.
Кучи дыр я не обнаружил, хотя предполагаю что ошибки есть, как и в любой системе, но в связи с небольшим объемом кода системы найти и исправить их не сложно. "Нормальный" планировщик, драйвер клавиатуры и т.д. для холодильников не нужны. Скорее всего потребуются свои драйвера. А 90% кода это приложения или даже одно приложение, специфичные для данной задачи. От оконной системы, например, понадобится, скорее всего, создать одно окно на весь экран, без рамок и заголовка. ФС, возможно, не будеть использованна вообще, образ будет загружаться BIOS'ом или еще чем, а после старта ФС вроде как и не нужна (хотя не факт).
..bw
Кучи дыр я не обнаружил, хотя предполагаю что ошибки есть, как и в любой системе, но в связи с небольшим объемом кода системы найти и исправить их не сложно. "Нормальный" планировщик, драйвер клавиатуры и т.д. для холодильников не нужны. Скорее всего потребуются свои драйвера. А 90% кода это приложения или даже одно приложение, специфичные для данной задачи. От оконной системы, например, понадобится, скорее всего, создать одно окно на весь экран, без рамок и заголовка. ФС, возможно, не будеть использованна вообще, образ будет загружаться BIOS'ом или еще чем, а после старта ФС вроде как и не нужна (хотя не факт).
..bw
Тогда возникает вопрос: "что от колибри останется?"
Планировщик не нужен, драйвера свои, свой софт, переписаный код ядра, фс не нужна, всего одно окно (да и то без свойств окна). Можно тогда и оконую систему вырезать, нифиг она нужна, просто приложению позволить рисовать на всей области экрана.
Зы. интересует, графическая система холодильнику нужна? Если да, то зачем?
Планировщик не нужен, драйвера свои, свой софт, переписаный код ядра, фс не нужна, всего одно окно (да и то без свойств окна). Можно тогда и оконую систему вырезать, нифиг она нужна, просто приложению позволить рисовать на всей области экрана.
Зы. интересует, графическая система холодильнику нужна? Если да, то зачем?
Who is online
Users browsing this forum: No registered users and 3 guests