Board.KolibriOS.org

Official KolibriOS board
It is currently Sun Oct 25, 2020 9:00 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 455 posts ]  Go to page Previous 15 6 7 8 931 Next
Author Message
 Post subject:
PostPosted: Sun Sep 24, 2006 4:07 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Heavyiron
Похоже что глюки с загрузкой образа.
Какая у тебя конфигурация? Процессор/частота/память/чипсет/видеорежим ?


Top
   
 Post subject:
PostPosted: Sun Sep 24, 2006 7:51 pm 
Offline
User avatar

Joined: Fri Jan 27, 2006 3:06 pm
Posts: 1072
sempron2500 1750MHz/512PC3200 Hynix/nf2 U400 (epox 83da3l)/vesa 3.0/1024x768/32/mtrr вкл/vrr вкл
Vrr не сработал


Top
   
 Post subject:
PostPosted: Sun Sep 24, 2006 10:06 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Vrr не сработал
У меня vrr тоже не работает. Буду разбираться. Ошибку с HD я исправил, остался непонятный глюк с дискетой.

Когда разберусь с багами сделfю драйвер для Nforce. Но его нужно будет тестить. Можешь помочь?


Top
   
 Post subject:
PostPosted: Mon Sep 25, 2006 6:15 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Правильно ли я понимаю, что
а) старый менеджер памяти от Халявина полностью удалён?
б) области памяти меньше страницы в этом ядре выделять нельзя?
в) функции 69 (отладка) вообще нет?
Можно ли портировать код загрузки COFF для приложений (3-кольца)?


Top
   
 Post subject:
PostPosted: Mon Sep 25, 2006 7:29 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
diamond
а) Да

б) Да. kernel_alloc выделяет память страницами в ядре а user_alloc в памяти программы
Еще надо сделать malloc работающий с локальными кучами и в ядре. Тогда можно будет создавать небольшие объекты ядра - дескрипторы файлов, события, очереди, списки и пр. А видеодрайвер сможет загружать в неиспользуюемую видеопамять шрифты, курсоры, картинки, иконки и т.д.

в)Отладчику нужны read_process_memmory и write_process_memory. Когда я напишу эти функции то подключу его.

Загрузчик COFF надо улучшить. Я делал его на скорую руку по старыми Си наброскам. Там нет проверок на ошибки и много чего еще. В этой версиии ядро работает как DLL (экспортирует функции) а драйверы их импортируют. Можно сделать два вида DLL - обычные и системные. Обычные - это односекционный COFF загружаются в любое свободное место в памяти приложения. Для системных будут резервироваться верхние 64 или 128 Мб адресов в памяти приложения. Секции кода и константных данных будут разделяться между всеми приложениями. Изменяемые данные будут локальными. Такая библиотека должна регестрироваться в ядре при первой загрузке.


Top
   
 Post subject:
PostPosted: Tue Sep 26, 2006 7:34 pm 
Offline
User avatar

Joined: Fri Jan 27, 2006 3:06 pm
Posts: 1072
Извиняюсь за задержку - не было доступа к нету. Теперь вроде ситуация с интернетом стабилизировалась и я готов помочь, чем смогу.


Top
   
 Post subject:
PostPosted: Wed Sep 27, 2006 6:09 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
б) А менеджер памяти от Халявина поддерживает выделение блоков меньше страницы. Возможно, имеет смысл использовать его, заменив там функции выделения страниц?

_________________
Ушёл к умным, знающим и культурным людям.


Top
   
 Post subject:
PostPosted: Wed Sep 27, 2006 7:01 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Халявин писал что его менеджер может выделить всего 24 блока памяти. Если его можно переписать то хорошо. В принципе подойдет любая качественная, стабильная и хорошо проверенная malloc. Например из glibc

Heavyiron
Спасибо. Я напишу когда будет что тестить.

http://infinity-sound.narod.ru/060_rev_002.7z работа над ошибками и небольшой бонус.


Top
   
 Post subject:
PostPosted: Wed Sep 27, 2006 7:46 pm 
Я имел ввиду 24 блока физической памяти - для драйверов, которым нужны непрерывные буферы размера больше страницы.


Top
   
 Post subject:
PostPosted: Sun Oct 08, 2006 10:54 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Исправил определение памятив 18.16 и 18.17

Функция 18, подфункция 20 - получить информацию о подсистеме памяти

eax = 68 - номер функции
ebx = 20 - номер подфункции
ecx = адрес структуры MEM_INFO

Возвращаемое значение:
нет
Code:
struc MEM_INFO
{ .pages_count     dd ?  ;всего страниц памяти
  .pages_free      dd ?  ;доступно страниц
  .page_faults     dd ?  ;страничных ошибок
  .heap_size       dd ?  ;куча ядра, байт
  .heap_free       dd ?  ;доступно, байт
  .heap_blocks     dd ?  ;всего блоков памяти в куче ядра
  .free_blocks     dd ?  ;доступных блоков
  .largest_free    dd ?  ;зарезервировано
  .largest_used    dd ?  ;зарезервировано
}


http://infinity-sound.narod.ru/mem_info.7z - тестовая программа

core/taskman.inc первая строка
GREEDY_KERNEL equ 0

если перекомпилировать ядро с
GREEDY_KERNEL equ 1 то

а) программам будет выделяться памяти не больше, чем они реально используют.
б) ядро будет загружать программу независимо от количества памяти,
указанного в заголовке. Если физической памяти не хватит, она зависнет и её надо закрыть через Alt+F4

Такой режим работы позволяет экономить память на машинах с маленьким объёмом ОЗУ.
Например программа trantest запрашивает 32Мб а достаточно 256Кб.


Top
   
 Post subject:
PostPosted: Mon Oct 09, 2006 3:45 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Новое ядро как-то неадекватно реагирует на исключения. В программе test при попытках cli, sti, mov [0x10000], byte 0 (первые 3 кнопки) ничего не происходит, а jmp 0x10000 подвешивает программу. Попытка открыть в gifview (например, Enter в kfar) нормальный с виду файл http://diamondz.land.ru/5.gif завешивает всю систему намертво. (В K0600 gifview на этом файле тихо умирает, в KlbrInWin перед смертью громко ругается на "Exception".)


Top
   
 Post subject:
PostPosted: Tue Oct 10, 2006 8:17 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Глюки исправил.
Отредактировал sysfuncr.txt
68.10 заменена на 18.20
внесены изменения в описание фн. 64.1, 68.11, 68.16


Top
   
 Post subject:
PostPosted: Tue Oct 10, 2006 8:11 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Вот это скорость!
Скоро выложу обновлённую версию документации у себя на домашней страничке.


Top
   
 Post subject:
PostPosted: Tue Oct 10, 2006 9:42 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Надо сделать описание kernel API. А то для многих функции ядра - тёмный лес


Top
   
 Post subject:
PostPosted: Tue Oct 10, 2006 10:24 pm 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
Теперь у нашей птички есть реактивный двигатель! :)
Hardwere акселерация это мощно.

У меня с запущенным MP3 player-ом уровень загрузки процессора всего 3%.

А когда в Колибри будет ещё и ускорение 2D графики,то ......


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 455 posts ]  Go to page Previous 15 6 7 8 931 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited