Board.KolibriOS.org

Official KolibriOS board
It is currently Mon Dec 09, 2019 10:56 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 455 posts ]  Go to page Previous 13 4 5 6 731 Next
Author Message
 Post subject:
PostPosted: Wed May 24, 2006 12:26 pm 
Serge
Хороший malloc выделяет и освобождает память довольно часто (чтобы приложение не занимало память, которая ему не нужна). Поэтому односвязных список может начать тормозить. В windows для этого используется (не много сбалансированное) дерево.


Top
   
 Post subject:
PostPosted: Wed May 24, 2006 12:26 pm 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
Тоесть при инициализации выделяется блок памяти фиксированного размера,а потом от этого блока по необходимости malloc отсчипывает память ?


Top
   
 Post subject:
PostPosted: Wed May 24, 2006 1:03 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Quote:
Хороший malloc выделяет и освобождает память довольно часто (чтобы приложение не занимало память, которая ему не нужна). Поэтому односвязных список может начать тормозить. В windows для этого используется (не много сбалансированное) дерево.
Quote:
Тоесть при инициализации выделяется блок памяти фиксированного размера,а потом от этого блока по необходимости malloc отсчипывает память ?
Примерно так. malloc запрашивает у системы блок памяти и потом сама им управляет. В "продвинутом" варианте маленькие блоки памяти ( 1-63 параграфов ) хранятся в массиве списков и отсортированиы по размеру. Блоки длиной более 63 параграфов ханятся в упорядоченном дереве. При необходимости malloc будет запрашивать у системы дополнительные блоки памяти а освободившиеся возвращать (256 Кб при выделении нового блока и 1024 Кб при освобождении). Насколько часто часто это будет происходить пока не ясно. Активней всего выделение памяти используют программы на ООП-языках, а их пока нет.


Top
   
 Post subject:
PostPosted: Wed May 24, 2006 1:04 pm 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
P.S.

Вопрос был задан Serge-у.


Top
   
 Post subject:
PostPosted: Wed May 24, 2006 1:08 pm 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
Опередили :)

Пока ООП языков нет,но появяться(если в Колибри будет портирован компилятор C,то потом и C++ появиться).


Top
   
 Post subject:
PostPosted: Wed May 24, 2006 4:13 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
VaStaNi
Quote:
Я не пойму что то "великий смысл" работы с файлом(и) сразу из бут сектора??? В чем кроется столь высокая стратегия и приоритетность этого? Почему ЭТО нельзя отложить "на потом", скажем на этап полноценного ДРАЙВЕРНОГО взаимодействия системы ну типа расклада как в СТУПЕНИ 3!?

Объясняю, почему я это предлагаю. Принципиальное соображение: если бутсектор загрузил ядро/ini-файл, то он знает, где именно на диске это располагается, так ведь? А если знает, то наверное, ему не сложно это запомнить и записывать потом сразу туда, не производя заново разбор структуры каталога, верно? А если реализовывать сохранение на ступени 3, драйверу таки придётся снова считывать с диска некоторые данные. Конечно, диски сейчас быстрые, но решать проблемы повышениями требований к аппаратуре - это путь Microsoft, которым (я надеюсь) здесь никто следовать не хочет. Непринципиальное соображение: в текущей ситуации вынос сохранения параметров на protected-mode код зарубит на корню сохранение параметров в NTFS.
Quote:
Ведь надо делать(мое убеждение), как проще и оптимальнее рашается задача проектирования и работы(функционирование) самого детища, а НЕ так, как хочется проектанту, оператору, юзеру, приложению, потому, что с каждой колокольни найдутся свои доводы и аргументы, что проще, да приятнее, да удобнее... Плюс нужно не забывать про глобальное видение перспектив выбранной стратегии вцелом, гибкость и пр.

Что важнее: идеологически прекрасно выдержанный, но тормозящий (если вообще работающий) код или идеологически ужасный, но при этом прекрасно работающий код?

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


Top
   
 Post subject:
PostPosted: Wed May 24, 2006 7:55 pm 
Offline
User avatar

Joined: Thu Oct 13, 2005 12:00 pm
Posts: 299
важнее идеологически прекрасно выдержанный, но при этом прекрасно работающий код


Top
   
 Post subject:
PostPosted: Thu May 25, 2006 10:58 am 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
8) :P 8)


Top
   
 Post subject:
PostPosted: Sat May 27, 2006 8:24 am 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
Какие драйверы требуют много памяти ?
Воот к примеру под звуковой буфер нужно не более 128 килобайт.
Драйвер файловой системы резервирует большой кэш ?
Думаю,что драйверы клавиатуры и мыши расходуют очень мало.
Под видео буфер необходимо (1280*1024*4)=5.12 мегабайт.

Почему запись в порты напрямую идет через большие буферы ?


Top
   
 Post subject:
PostPosted: Sat May 27, 2006 10:12 am 
Offline
User avatar

Joined: Thu Oct 13, 2005 12:00 pm
Posts: 299
блин, Андрей :) посмотри лучше сюда http://www.mosswinn.com/english/index.html
времени нет!


Top
   
 Post subject:
PostPosted: Sat May 27, 2006 10:32 am 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
Вот и яо том-же.
Работа-то идет,но требует постоянного сидения за компьютером.
С 7 утра за компьютером до 12 ночи.Даже на элементарные дела времени не хватает.


Top
   
 Post subject:
PostPosted: Thu Jun 01, 2006 1:48 pm 
Offline
Just Flooding
User avatar

Joined: Wed May 18, 2005 10:27 am
Posts: 430
diamond wrote:
Объясняю, почему я это предлагаю. Принципиальное соображение: если бутсектор загрузил ядро/ini-файл, то он знает, где именно на диске это располагается, так ведь? А если знает, то наверное, ему не сложно это запомнить и записывать потом сразу туда, не производя заново разбор структуры каталога, верно?

Знает - да! Запомнить - нет! Не запомнить, а ПЕРЕДАТЬ "свои ЗНАНИЯ"
далее НАВЕРХ надо! ;) Пусть "верх" цивилизованно и грамотно делает все необходимые дисковые и файловые операции, вот ОПТИМАЛЬНОСТЬ смысла. А передать можно минуя стек и память, через регистры. Таким образом загрузчик (любой FS) унифицированно предоставляет "интеллекту наверх", все что нужно, например:
EAX - абс. номер сектора начала оглавления каталога оси;
EBX - ...... FAT1;
ECX - ....... загруженного файла;
EDX - номер привода +порт IDE(SATA) + master/slave реальной "физики привода" с которым работал он при загрузке...
diamond wrote:
А если реализовывать сохранение на ступени 3, драйверу таки придётся снова считывать с диска некоторые данные. Конечно, диски сейчас быстрые, но решать проблемы повышениями требований к аппаратуре - это путь Microsoft, которым (я надеюсь) здесь никто следовать не хочет. Непринципиальное соображение: в текущей ситуации вынос сохранения параметров на protected-mode код зарубит на корню сохранение параметров в NTFS.

а это отпадёт само собой, т.к. не будет иметь места, смысла.


Top
   
 Post subject:
PostPosted: Fri Jun 02, 2006 5:17 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
VaStaNi
Оглавление каталога оси? А то, что структура каталога чрезвычайно сильно отличается в разных файловых системах (FAT/NTFS/ext2fs), не в счёт? Разбирать каталог нужно именно в загрузчике, поскольку он ориентирован на конкретную файловую систему и умеет с ней работать. (По крайней мере, корневой каталог он уж точно разбирает). То же самое замечание по поводу получения следующего сектора в заданном файле.
Quote:
а это отпадёт само собой, т.к. не будет иметь места, смысла

Не понял, что именно не будет иметь смысла. Сохранение параметров?

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


Top
   
 Post subject:
PostPosted: Sat Jun 17, 2006 1:12 pm 
Offline
User avatar

Joined: Fri Jan 27, 2006 3:06 pm
Posts: 1071
Serge, а когда ты выложишь для тестов то, что получилось? Ты вроде писал, что большая часть работы уже сделана


Top
   
 Post subject:
PostPosted: Sun Jun 18, 2006 10:33 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Надеюсь выложить к концу июня, когда будет готов аудио драйвер. Футбол мешает :)


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 455 posts ]  Go to page Previous 13 4 5 6 731 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


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:  
cron
Powered by phpBB® Forum Software © phpBB Limited