Board.KolibriOS.org

Official KolibriOS board
It is currently Wed Nov 20, 2019 7:57 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 32 posts ]  Go to page 1 2 3 Next
Author Message
 Post subject:
PostPosted: Thu Apr 26, 2007 2:50 pm 
Да вроде логично... Успехов в труде!)) А поддержки мультисессионных CD-RW это ни коим боком касаться не будет? Чего именно надо доработать, чтобы они читались путем?


Top
   
 Post subject:
PostPosted: Thu Apr 26, 2007 8:22 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
Похвальная инициатива, поддерживаю. Хотя я, пока, работал только с RD.
Не пнешь, где смотреть про то как установить KOS на винт с GRUB? Пока этим вопросом вообще не занимался, но на следующей недели придется. Тестирование XviD на дискетке затруднительно :-). (Грузиться система обязательно должна с винта.)

..bw


Top
   
 Post subject:
PostPosted: Thu Apr 26, 2007 9:15 pm 
Offline
Site Founder
User avatar

Joined: Sun Aug 08, 2004 8:55 am
Posts: 689
http://meos32.7.forumer.com/viewtopic.php?t=110
Quote:
Ok, I did it ;)
If you want to boot KoOS directly with grub, you need to do that:
* get and install the package syslinux
* copy /usr/lib/syslinux/memdisk to /boot
* copy your KoOS-image to /boot
* add this lines to your grub.conf:
Code:
label KoOS
   root (hd0,0)  # edit this to your correct partition, given example is hda1
   kernel /boot/memdisk
   initrd /boot/menuet.img
* reboot and enjoy

edit: just tried, it is not necessary to copy the image to /boot, poit your config "root"-entry to your FAT or NTFS-partition, where the image resides, and write the kernel-entry with (hd0,0)/boot/memdisk or where ever your linux partition is.
BTW, one limitation is in this method: The kernel cannot save its boot settings :(

_________________
in code we trust


Top
   
 Post subject:
PostPosted: Sun Apr 29, 2007 8:01 am 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
Насколько я понял это образ будет загружаться с винта, мне нужно что бы KOS работала с раздела HD как она сейчас работает с RD.

..bw


Top
   
 Post subject:
PostPosted: Mon Apr 30, 2007 2:54 pm 
Offline
Kernel Developer

Joined: Fri Feb 23, 2007 11:55 pm
Posts: 63
вот что у ми вышло.. как руки дойдут - доделаю и выложу в SVN http://free.kolibrios.org/?p=art&a=0


Top
   
 Post subject:
PostPosted: Tue May 01, 2007 5:31 pm 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
Понятно. Спасибо что откликнулись.
Я сейчас использую зспособ загрузки MeOSload'ом из FreeDOS. Правда винт недоступен после загрузки системы (ядро 429). Смотрел только kfar'ом из 0.65 релиза.
Позже продолжу разбираться с винтом, сейчас все равно некогда.

p.s. Раздел отформатирован в FAT16 и расположен вторым на винте. Первый сейчас не отформатирован, но в будущем, будет использован для GRUB.

..bw


Top
   
 Post subject:
PostPosted: Mon May 28, 2007 1:41 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Mario79

Третий вариант самый лучший, тем более что файловая система может кешировать не секторами а кластерами. Это значительно ускорит работу. Второй плюс - возможность сделать стандартный интерфейс между драйвером устройства и файловой системой. Достаточно небольшого набора функций: read_sectors(dest, start_sector, count), write_sectors(src, start_sector, count), init/reset, get_device_param(). В таком случае к файловой системе можно примонтировать любое устройство - виртуальный, ram, usb или сетевой диск.

Для быстрого поиска сектора подойдёт хеш-таблица. Различные алгоритмы хеширования описаны у Юрова в Ассемблер. Практикум.


Top
   
 Post subject:
PostPosted: Tue May 29, 2007 10:26 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Mario79
Ссылки нет. Точное название В. Юров. Assembler: Практикум. http://www.piter.com/bugs/5-272-00380-2/assemb.zip Здесь примеры из книги.


Top
   
 Post subject:
PostPosted: Tue May 29, 2007 6:52 pm 
Только надо учесть, что в отсутствии аллокатора памяти уровня ниже страничного, можно сделать только закрытое хэширование, и лучше с квадратичным шагом.
Для хэш-функции для строк вроде понятно, для чисел - умножение на иррац. с последующим mod 1, хороший разброс получается, сам проверял.

To Serge
Одинокий get_device_param() лучше заменить на нечто подобное ioctl в win|*nix - он более функционален и расширяем.
А так - получается типичное блочное устройство. Можно еще символьные добавить - терминалы ака консоли будут. Интерфейс почти такой же =)


Top
   
 Post subject:
PostPosted: Wed May 30, 2007 9:03 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Коллизии будут в любом случае, так что размер таблицы не обязательно должен быть равен числу элементов. Например если в кеше 1000 элементов таблица может иметь 100 входов, а каждый вход образовывать односвязный список
struc CACHE_ENTRY
{
.sector dd ?
.data dd ?
.next dd ?
}

Тогда поиск сведётся к просмотру списка до совпадения .sector
Кстати какой у тебя алгоритм замещения кеша, как определяетя какие сектора оставить а какие заменить ?


Top
   
 Post subject:
PostPosted: Wed May 30, 2007 1:18 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Mario79

Таблица работает как массив указателей на списки. Элементов CACHE_ENTRY нужно 1000, но если делать таблицу на 1000 входов то на некоторые входы из-за коллизий будет приходиться несколько элементов, другие будут пустыми. В этом случае при закрытом хешировании применяют рехеширование чтобы найти свободную ячейку в таблице. Если использовать списки элементов то размер таблицы может быть любым, в случае коллизии нужный сектор определяется просмотром списка.


Top
   
 Post subject:
PostPosted: Mon Jul 16, 2007 1:19 am 
Offline

Joined: Sun Mar 11, 2007 4:05 pm
Posts: 64
Так, немного. О работе дисковых под систем.
1. Учитываем что число каналов больше 2. Актуально для систем со встроенным SATA контролером, дисков может быть 6( 8 ) штук на 4 каналах.
2. Одновременная работа DMA с дисками на одном канале не возможна.
3. Не все контролеры могут одновременно использовать UDMA на двух каналах сразу. Другии могут, но частоту делят на двоих. Третьи нормально работают.


Top
   
 Post subject:
PostPosted: Mon Jul 23, 2007 2:16 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5066
Mario79
Так держать! ;)


Top
   
 Post subject:
PostPosted: Mon Jul 23, 2007 11:56 am 
Offline

Joined: Thu Jan 25, 2007 4:45 pm
Posts: 135
Mario79

Спасибо, что тут еще сказать :)


Top
   
PostPosted: Sat Apr 02, 2011 10:04 pm 
Offline
User avatar

Joined: Fri Jun 27, 2008 3:22 pm
Posts: 988
Заметил такую вещь. Загружаюсь с флешки, на ней есть куча файлов и папок. Не выключая Колибри, вытаскиваю флешку. На другом компьютере копирую на флешку новые файлы и папки, вставляю флешку снова в компьютер с загруженной Колибри. Первое обращение к файлу или папке на флешке, к которой я до этого не обращался обламывается (те файлы и папки, к которым было обращение, прекрасно читаются), последующие обрабатываются как надо, даже если флешка вставлена в другой порт. Но при этом вновь добавленные файлы нет никакой возможности увидеть без перезагрузки. Почему?


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 32 posts ]  Go to page 1 2 3 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 4 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