OSDev

для всех
Текущее время: 03 май 2024, 17:20

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 32 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: Файловая система
СообщениеДобавлено: 04 ноя 2007, 15:23 

Зарегистрирован: 04 ноя 2007, 14:48
Сообщения: 113
Готов разрабатывать систему с чистого листа (вернее с того, что уже мной наработано). Открыть новую тему?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Файловая система
СообщениеДобавлено: 04 ноя 2007, 16:31 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Цитата:
Ещё вопрос: кто чем руководствовался при написании ФС для своей оси? Какие использовались материалы?
//NOP 28.09.2007, 08:22

Скажем так. В любой более-менее развитой ОС не должно быть "мёртвой" завязки на файловую систему, а значит, соответствующая поддержка должна возлагаться на особый модуль. В Windows это драйвера файловой системы, хотя ничто не мешает даже в системе с монолитным ядром вынести сию функцию на прикладной уровень и поручить специальной задаче.

Должна обеспечиваться поддержка стандартных файловых систем -- FAT-12 для дискет, FAT-32, NTFS, Ext для жёстких дисков и т.п. Понятное дело, что реализуется она по мере надобности. Свою же файловую систему изобретать стоит разве что в том случае, если ОС уже достаточно стабильно работает и имеет средства доступа к какой-либо стандартной файловой системе -- иначе замучаешься отлаживать одновременно ядро ОС, драйвера "железа" и поддержку собственной файловой системы.

Материалы? Часть файловых систем официально документирована, для некоторых (NTFS) информацию приходится разыскивать в различных источниках плюс добывать самому путём анализа содержимого дисков, изучения кода существующих систем и т.п. Поэтому опять-таки лучше начинать с поддержки тех файловых систем, устройство которых хорошо известно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Файловая система
СообщениеДобавлено: 04 ноя 2007, 19:52 

Зарегистрирован: 04 ноя 2007, 14:48
Сообщения: 113
Руководствовался техническими требованиями. Перед этим в поисках разумной инфы прочёл книгу

Practical File System Design with the Be File System,
Dominic Giampaolo, Be, Inc.

и был немного разочарован тем, что не прочитал в ней ни одной новой идеи.

В некоторых случаях думаю имеет смысл начинать с родной ФС, так как ядро ОС может быть сильно ограничено существующими рамками ФС, что усложняет отладку.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Файловая система
СообщениеДобавлено: 04 ноя 2007, 20:49 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
А какая связь-то между ядром и ФС, чтобы последняя первое ограничивала, да ещё сильно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Файловая система
СообщениеДобавлено: 04 ноя 2007, 21:04 

Зарегистрирован: 03 июл 2007, 11:07
Сообщения: 54
SII
Ну, например, Unix на FAT -- это реально? Ведь тогда не будут проявлятся основные св-ва Unix по отношению к ФС.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Файловая система
СообщениеДобавлено: 04 ноя 2007, 21:31 

Зарегистрирован: 04 ноя 2007, 14:48
Сообщения: 113
если например ядро работает на графовой объектной структуре, где нужно сохранять объекты, их классы, возможно и методы классов, произвольные связи между объектами, то выбрав одну из существующих ФС придётся сильно ограничить возможности загрузки/сохранения объектов, или разрабатывать свой формат сохранения в файл на существующих ФС, что по сути эквивалентно разработке новой ФС.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Файловая система
СообщениеДобавлено: 04 ноя 2007, 21:34 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
vkos

Почему ж, вполне реально. Правда, FAT придётся малость дополнить, чтобы обеспечить все юниксовые возможности, однако обратная совместимость с ДОС сохранится (как, например, на дискете с файловой системой FAT-12 в Windows видны длинные имена файлов, а в ДОС -- только короткие). Естественно, полностью сохранится и система распределения места на диске. Ну а если плюнуть на юниксовскую специфику (назначение разных прав доступа к файлам и т.п.), то можно использовать вообще без доработки. В любом случае ядру на это глубоко наплевать -- это забота модуля, реализующего файловую систему (например, если ФС не поддерживает ограничение прав доступа, то соответствующие объекты будут считаться имеющими все виды доступа разрешёнными для всех пользователей).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Файловая система
СообщениеДобавлено: 04 ноя 2007, 21:58 

Зарегистрирован: 03 июл 2007, 11:07
Сообщения: 54
SII
Цитата:
Правда, FAT придётся малость дополнить

Да, но вместо дополнения FAT, проще написать свою ФС.
Цитата:
В любом случае ядру на это глубоко наплевать

Конечно, на дополнительные возможности можно плевать, когда они не принципиальны. Но если они принципиально нужны ОС?
Тем более, что производительность на "своей" ФС всегда выше.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Файловая система
СообщениеДобавлено: 05 ноя 2007, 15:21 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
vkos

Объясните идиоту (т.е. мне :) ), как ФС может ограничивать возможности ядра? Желательно на примере :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Файловая система
СообщениеДобавлено: 05 ноя 2007, 15:45 

Зарегистрирован: 03 июл 2007, 11:07
Сообщения: 54
На примере - Unix.
Как Unix будет на FAT работать со ссылками?? Думаю никак...
Хотя это конечно не очень выразительный пример...

Так что лучше опишу какую-нибудь гипотетическую ОС.
У неё нет единой иерархической ФС. В ФС каждому файлу соответствует несколько путей, например:
home:///user/im
file:///usr/bin/gaim-1.5
userprog:///user/gaim
common:///progs/gaim

Кроме того, можно создавать свои категории:
myfavourite:///myim

Программы также смогут создавать свои категории.
Например, браузер создаст категорию http, https.
И через общую ФС можно будет обращаться к любым иинтернет-файлам.
А почтовая программа может создать категорию mailto...

И как такую ФС можно НОРМАЛЬНО реализовать в FAT??


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 32 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 57


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB