Re: Консоль
Posted: Mon Jan 21, 2008 7:34 pm
Serge
Советую почитать про VFS в линуксе. Будет похоже. Я конечно не собираюсь слизывать один в один, т.к. там есть такие "фичи" которые либо сложны в реализации, либо ядро не потянет, либо просто не нужны (как на мой взгляд). Ну а в кратце, Linux VFS реализует POSIX стандарт (с небольшими отклонениями), так что здесь будет тоже: дескрипторы файлов(процесс открывает файл, получает его дескриптор, и работает уже с этим дескриптором), вся работа с VFS абстрактная (т.е. каждая ФС сама реализует свои read,write и т.п.), понятие блочное устройство (тоже абстрактное), понятие монтирования и т.д. Если что-то конкретно интересует спрашивай.
Igor
> Но привыкших к Windows пользователей она почему-то сильно напрягает.
По сути, в виндах, тоже корневая файловая система. Корнем выступает Рабочий стол, дальше Мой компьютер в котором лежат диски, панель управления, мои документы и т.п. Вот только в никсах она эффективней используется.
Вот только можно сделать некий гибрид (над которым я и думаю). Что-то вроде (не окончательный вариант):
/ - корневой раздел
/conf - папка с конфигами
/home - домашняя директория (в идеале там будет своя папка для каждого пользователя)
/disks - или /My Computer или /media или что-то вроде. Тут можно монтировать cd-rom'ы флешки отдельные диски и т.п.
/share - можно так сказать общий склад для всех пользователей
/tmp - временная папка
/rd - сюда будет монтироваться рамдиск (долго обьяснять зачем так)
/apps - папка для приложений (внутри будет представлять из себя bin,lib,data и т.д)
Вобщем много чего. Суть в чем, мы получаем гибкую систему, в которой тот же /apps тот же /share тот же /home могут быть на отдельных партициях/дисках, а так же в сети или на внешнем носителе. А значит при крахе одного из разделов, мы можем сохранить остальные. Ярким примером является папка /home в никсах. Если слетает система, а папка home осталась целой, то при переустановке системы все настройки (если умный софт писал настройки в домашнюю директорию) сохранятся. Также все эти каталоги могут лежать и на одном разделе.
В то же время мы имеем, папку на подобии виндового моего компьютера, в котором будут cd-rom'ы, флешки, внешние носители, или отдельные диски, если так желает пользователь. А о расположении домашней директории, темповой и остальных пользователю и не обязательно знать. Это только продвинутый пользователь знает что в c:\documents and settings\login валяются всякие application data, recent и прочая срань.
Тут думать много надо, пробовать. Походу будут выяснятся еще детали. У меня желание есть, возможностей к сожалению меньше.
>На сколько я понимаю, BSD тоже пойдет
Да, у них суть одна. Но есть и отличия, но они не столь важны.
Советую почитать про VFS в линуксе. Будет похоже. Я конечно не собираюсь слизывать один в один, т.к. там есть такие "фичи" которые либо сложны в реализации, либо ядро не потянет, либо просто не нужны (как на мой взгляд). Ну а в кратце, Linux VFS реализует POSIX стандарт (с небольшими отклонениями), так что здесь будет тоже: дескрипторы файлов(процесс открывает файл, получает его дескриптор, и работает уже с этим дескриптором), вся работа с VFS абстрактная (т.е. каждая ФС сама реализует свои read,write и т.п.), понятие блочное устройство (тоже абстрактное), понятие монтирования и т.д. Если что-то конкретно интересует спрашивай.
Igor
> Но привыкших к Windows пользователей она почему-то сильно напрягает.
По сути, в виндах, тоже корневая файловая система. Корнем выступает Рабочий стол, дальше Мой компьютер в котором лежат диски, панель управления, мои документы и т.п. Вот только в никсах она эффективней используется.
Вот только можно сделать некий гибрид (над которым я и думаю). Что-то вроде (не окончательный вариант):
/ - корневой раздел
/conf - папка с конфигами
/home - домашняя директория (в идеале там будет своя папка для каждого пользователя)
/disks - или /My Computer или /media или что-то вроде. Тут можно монтировать cd-rom'ы флешки отдельные диски и т.п.
/share - можно так сказать общий склад для всех пользователей
/tmp - временная папка
/rd - сюда будет монтироваться рамдиск (долго обьяснять зачем так)
/apps - папка для приложений (внутри будет представлять из себя bin,lib,data и т.д)
Вобщем много чего. Суть в чем, мы получаем гибкую систему, в которой тот же /apps тот же /share тот же /home могут быть на отдельных партициях/дисках, а так же в сети или на внешнем носителе. А значит при крахе одного из разделов, мы можем сохранить остальные. Ярким примером является папка /home в никсах. Если слетает система, а папка home осталась целой, то при переустановке системы все настройки (если умный софт писал настройки в домашнюю директорию) сохранятся. Также все эти каталоги могут лежать и на одном разделе.
В то же время мы имеем, папку на подобии виндового моего компьютера, в котором будут cd-rom'ы, флешки, внешние носители, или отдельные диски, если так желает пользователь. А о расположении домашней директории, темповой и остальных пользователю и не обязательно знать. Это только продвинутый пользователь знает что в c:\documents and settings\login валяются всякие application data, recent и прочая срань.
Тут думать много надо, пробовать. Походу будут выяснятся еще детали. У меня желание есть, возможностей к сожалению меньше.
>На сколько я понимаю, BSD тоже пойдет
Да, у них суть одна. Но есть и отличия, но они не столь важны.