Помогите новичку

Applications development, KoOS API questions
  • Объясните мне наличее этой структуры в файле data16.inc

    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
    итого в ds=0 si указывает на структуру

    Code: Select all

    loader_block:
    	db	1
    	dw	0
    	dw	write1st+boot_program
    	dw	0
    где write1st указатель на функцию по сохраннению первых 0x200 байт ядра
    Т.е. при загрузке просиходит размещение в блоке 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
    в которой (структура показана выше)третий парметр определен как dd 0, т.е. он не указывает на код, который может сохранять параметры.
    Это приводит к тому, что при выборе ядро мы не можем сохранить параметы.
    Объясните мне логику работы данного участка, для каких целей понадобился блок kernel_restart_bootblock?
  • А есть ли хорошое пособие по программированию на С/С++ под КолибриОС?
  • Алгоритмы сути своей не меняют, с++ останется с++-ом, но программирование под каждую конкретную платформу предполагает какие-то специфичные для неё моменты. Отвечая на вопрос - да, отличается.
  • Вы что-то путаете. Некоторая "кросплатформенность" есть, но зачем она вам, если вы уже писали о неприемлимости использования линукса (наверно и виндовса)?
  • Что ж это за требования, куда Колибри подходит а linux нет?
    Видимо вы не все дистрибутивы линукса видели. Да и собрать свой для нужных целей - не проблема(если есть определенные знания в этой области).
    Я ни в коем случае не хочу отговаривать вас от колибри(сообщество, не ругаться :) ), но может стоит копнуть в сторону линукса? Покрайней мере вы не будете привязаны к определенной архитектуре, да и программных решений найдете много, и людей подобрать сможете(свободных линуксоидов больше чем колибривцев).
  • path_of_milea
    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
  • Тогда возникает вопрос: "что от колибри останется?"
    Планировщик не нужен, драйвера свои, свой софт, переписаный код ядра, фс не нужна, всего одно окно (да и то без свойств окна). Можно тогда и оконую систему вырезать, нифиг она нужна, просто приложению позволить рисовать на всей области экрана. ;)

    Зы. интересует, графическая система холодильнику нужна? Если да, то зачем?
  • Who is online

    Users browsing this forum: No registered users and 13 guests