Board.KolibriOS.org
http://board.kolibrios.org/

Работа с файловой системой
http://board.kolibrios.org/viewtopic.php?f=35&t=475
Page 15 of 18

Author:  Alien [ Mon May 21, 2007 11:13 am ]
Post subject: 

Определение версии уже есть (В смысле ATA-ATAPI-6 и выше?)

Я немного подправлю код и пришлю.
Только кому и куда?

P.S.:на FASMe пишу недолго, так что проверьте код.

Author:  Mario79 [ Mon May 21, 2007 12:02 pm ]
Post subject: 

Alien
Да хоть бы и мне. :-)
Мыло mario79[dog]bk[dot]ru

Author:  Alien [ Mon May 21, 2007 10:02 pm ]
Post subject: 

У меня несколько вопросов.

Мне писать аналоги функций hd_phys_read,hd_phys_write
из файла fs_phys.inc?

Если да,то адрес передавать
eax - 0..31
ecx - 32..47 ?
или
eax - 0..31
edx - 32..47 ?

Author:  Mario79 [ Tue May 22, 2007 9:23 am ]
Post subject: 

Alien
fs_phys.inc - че-то либо ты не прав, либо я тупой, но такого файла в ядре нет.

Author:  Alien [ Tue May 22, 2007 3:51 pm ]
Post subject: 

Сырцы c сайта kolibrios.org.ru
файл k0581src.7z - kernel\fs\fs_phys.inc

Author:  Mario79 [ Tue May 22, 2007 4:00 pm ]
Post subject: 

Alien
Хм... Там информация несколько старая. С тех пор как я не собираю дистрибутивы много времни прошло.
Смотри http://kolibrios.org/?p=Download
Лучше бери последние ядра.
Низкоуровневый код работы с винтом в файле hd_drv.inc

Author:  diamond [ Thu May 24, 2007 3:22 pm ]
Post subject: 

svn.521 - добавлена работа с текущей папкой. Если путь в функции 70 не начинается со /, то он считается именем относительно текущей папки. Текущая папка устанавливается и считывается сисфункцией 30. При создании процесса/потока текущая папка наследуется от родителя. При загрузке потоку OS (запускающему vrr_m/launcher) ставится папка "/%sys%".

Author:  mike.dld [ Thu May 24, 2007 5:14 pm ]
Post subject: 

Не понимаю, что это за "/%sys%"? Это же только извращенцы так делают. Если проблема в том, что написав "%sys%" первый символ не будет "/" - так это не так, потому что сначала нужно разворачивать переменные окружения, и только потом сравнивать.
Плюс, думаю нужно подумать, так ли хорош подход господ из MS касательно обозначения переменных в строке. Использование одного и того же символа только усложняет вычленение переменных. Лично мне (это типа убедительное ИМХО) больше нравится UNIX-like подход, когда переменная обозначается как "$sys/tem" или "${sys}tem". Такой подход разгружает наш моск.

Author:  Serge [ Thu May 24, 2007 6:08 pm ]
Post subject: 

diamond

Лучше хранить текущий каталог в PL0 стеке вместе а контекстом FPU. Сейчас там свободно 7.5 Кб. Это будет экономичнее и быстрее.

Author:  diamond [ Fri May 25, 2007 12:25 pm ]
Post subject: 

Ленин
Переменные окружения вообще ни при чём и их ещё нет. Просто файловая система делает замену каталога /%sys% на системный каталог. Можно обозвать не %sys%, а как угодно по-другому. Предложения?

Author:  Alver [ Fri May 25, 2007 3:30 pm ]
Post subject: 

diamond wrote:
Можно обозвать не %sys%, а как угодно по-другому. Предложения?

Непонятно зачем нужны заморочки с символами типа '%','&','$' и т.д. ведь фактически запись ведется от корня где '/rd/','/hd' и т.д. пусть будет просто '/sys/' или даже '/s/','/sf/'(system folder).

Author:  bw [ Fri May 25, 2007 4:20 pm ]
Post subject: 

А если раздел общий и ты ОСь в /kos положил, то по /sys ты до системной папки точно не доберешься.

На счет обозначений имен переменных - мне безразлично. Я без комплексов пользуюсь системой win и nix. Но слеш перед переменной лишний, так как %sys% должна описывать абсолютный адрес, а не относительный.

p.s. Я, пожалуй, использовал бы $ и стремился к синтаксису nix shell.

..bw

Author:  Alver [ Fri May 25, 2007 4:50 pm ]
Post subject: 

bw

Ты хотел сказать в '/hd0/1/kos'?

Author:  bw [ Fri May 25, 2007 5:04 pm ]
Post subject: 

Нет. Если угодно C:\KOS\. Т.е. любой путь относительно файловой системы, а не представления о ней KOS. Т.е. ситуация, когда KOS разделяет пространство раздела (допустим FAT32) с другими системами, допустим FreeDOS, нормальна. И в такой ситуации мы не имеем право жестко на винте отдавать папку только KOS по абсолютному пути (/sys).
Так что использование переменных окружения или др. средств для определения пути системной папки нужны. Я считаю лучше работать в направлении sh.

..bw

Author:  Alver [ Fri May 25, 2007 5:37 pm ]
Post subject: 

bw
Я чтото не пойму. 'C:\KOS\' - представление WINDOWS о файловой системе и в kolibri он не используется так же как и путь '/kos/'. Вообще насколько я понимаю должна выскочить ошибка 11 - ошибка устройства, или я ошибаюсь?

Page 15 of 18 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/