[d | an-b-bro-fr-gf-hr-l-m-maid-med-mi-mu-ne-o-old_o-p-ph-r-s-sci-sp-t-tran-tv-w-x | bg-vg | au-mo-tr | a-aa-abe-azu-c-dn-fi-hau-jp-ls-ma-me-rm-sos-tan-to-vn | misc-tenma-vndev | dev-stat]
[Burichan] [Futaba] [Gurochan] [Tomorrow] [Архив-Каталог-RSS] [Главная]

Файл: -(306 KB, 800x800)
306 No.4603192  

Сырно, как назвать учетку в шиндовс чтобы навсегда?

>> No.4603193  

user

>> No.4603194  

Если вас там много капчу с ычана вбей.

>> No.4603197  

Я хотел назвать просто user или username как обычно, но потом узнал где-то что с таким именем могут быть ошибки различные системные или дополнительная нагрузка на процессор, воот.

>> No.4603199  

>>4603197
userka или user_ka

>> No.4603200  

>>4603192
SHA256 от посоленного имени возьми например.

>> No.4603202  
Файл: -(69 KB, 1000x563)
69

>>4603192
root

>> No.4603204  

>>4603202
Groot.

>> No.4603207  

>>4603197
Это в новых? Вот редиски! А я слышал что номер и пароль кредитной карты нужно обязательно указывать в магазине приложений чтобы не тормозило. Обойдутся. Для начала запрети системе доступ в Documents and Settings...

>> No.4603215  

>>4603207
Может сразу в Users?
Вообще не вижу смысла. С тем же успехом можно подозревать наличие нагрузки в какой-нибудь MessageBoxW, которую вызывает пользовательское приложение в своём контексте.

>> No.4603223  

>>4603215
В %appdata%

>> No.4603230  

>>4603223
Если не переопределять, то пользовательская и лежит в Users же.

>> No.4603236  

Новые программулины сразу целиком размазываются и само-собой потом целиком не удаляются по апдате вместо програмфайлза.

>> No.4603248  

Сырно, как назвать учетку в шиндовс чтобы навсегда, чтобы безвозвратно и опять сначала?

>> No.4603252  

>>4603236
Program Files атавизм и должен быть искоренён. Давно известно что образцовая операционная система не должна давать предоставлять кому бы то ни было прямого доступа к файловой системе. А только каталог приложений, в числе которых пакетный менеджер (ака магазин) для установки и удаления программ. Все пользовательские файлы создаются, открываются и редактируются теми же программами, а где те файлы физически лежат не его дело (в идеале в сети на сервере производителя).

>> No.4603255  

>>4603230
Так юзера так и назвать
Получится, что %appdata% = C:\Users\%appdata%\ - рекурсия!

>> No.4603256  

>>4603252
В итоге система загаживается, почистить трудно, найти что-то подозрительное тяжело.

>> No.4603259  

>>4603256
Объясни это паладинствующим адептам новой веры. Идея как всегда была хорошая, но реализовали её так же как всегда собрав в итоге вместе всё самое худшее. В итоге имеем что имеем. И виндоуз лагоглючная тормознутая помойка и линукс лагоглючная тормознутая помойка помойка и другие изо всех имеющихся сил к ним подтягиваются.

>> No.4603294  

Самое обидное, что все эти почти уже вековые страдания разрабов и простых пользователей по поводу того, по какому же принципу рассортировать файлы по папкам, не стоит и выеденного яйца. Реализуй они в самом начале в своих файловых системых до полного логического конца идеи заложенные в NTFS было бы абсолютно по барабану в каких папках (да, одновременно) файл(ы) (да, одновременно) лежат и какой он\они версии. Значение бы имел только физический носитель и то только в том плане что где то файлам нужно физически лежать. При том что это никак не помешало бы приделать к оси нормальный менеджер пакетов.

>> No.4603301  

>>4603294
Да, там ведь и потоки и хардлинки есть, но почти никак не используется.

>> No.4603311  

Мне ближе концепция когда каждая программа лежит в собственной папке, содержит папку с пользователями, в которой уже лежат папки с настройками и папки с пользовательскими данными. А не полностью наоборот. Так логичнее, короче и меньше сущностей. В общем старая школа однопользовательских систем. Классификация по типу файлов как в лине тоже неплоха (большинство людей так свои файлы на любой оси и сортирует), разграничение всего и вся по пользователем имеет свои резоны и полное огораживание файловой системы яблочников тоже имеет ощутимые плюсы. Более того, как по мне все эти подходя друг-другу не противоречат. А вот те НЕХ-гибриды что мы имеем нынче везде, кроме как кошмаром на яву не назовёшь.

>> No.4603325  

>>4603318
Выходи за меня.

>> No.4603331  

>>4603318
В этом и есть основной плюс, за счёт которого проталкивают свою концепцию поклонники >>4603252 У тебя на компьютере хранится только куча исполняемого кода. И то лишь потому, что с диска ему в оперативку грузиться куда быстрее чем с интернета. Что там творится с файловой системой - не твоё дело. Твоё дело - список доступных программ. Иногда даже не делая разницы в плане разделения на разные списки между загруженными и не загруженными. Ты просто вставляешь кредитку (ой, тобишь симку) в ключ зажигания и начинаешь использовать те инструменты которые тебе нужны. Хотя теперь и симка не нужна, ведь существует виртуальный счёт. И если что-нибудь случится с твоим компьютером, ты буквально тут же подойдёшь к другому и продолжишь на месте где тебя прервали.

>> No.4603336  

>>4603331
Конечно, вот только на практике это действительно "не твоё дело" только если ты следуешь рекомендациям менять планшет\компьютер раз в квартал. Иначе само естество подобного подхода начнёт постепенно всё сильнее и сильнее подталкивать тебя к такому решению. Самым упрямым мазохистам в итоге просто запретят логинится с устаревших гаджетов.

>> No.4603338  

>>4603336
Не мазохистам а тем, кто хочет, чтобы всё работало удобно для них и так, как они этого хотят. А не как прописали для среднестатистического человека - а ты, мол, пользуйся, ибо других выборов нету. Лишь то, что хочем/продвигаем мы.

>> No.4603351  

>>4603338
Тем кто сидит без интернета и невдомёк что их компьютеры устарели. А вот когда однажды виснит хрюша при автообновлении или отказывается запускаться обновлённая программа или натужно открывающий минималистично простую интернет-страничку с текстом браузер сожрёт оперативу, вот тут то и бегут за новыми компами. Или продолжают мучатся за веру.

Кстати, подскажите актуальный локализованный дистрибутив линя с ядром non PAE в комплекте. Хентаится с консолью не предлагать, для етого удовольствия можно накатить free BDSM.

>> No.4603357  

>>4603311

> кошмаром на яву

Языке высокого уровня?

>> No.4603358  

>>4603357
Спасибо что не на JS, а то сейчас модно.

>> No.4603382  

>>4603301
Да как сказать, возможно потому и не используется что реализация мягко говоря слабая. Ты конечно можешь заменить все дубликаты файлов ссылками. И это будет немного более эффективно чем ярлыки. Однако, если ты изменишь один из этих файлов, то вместо того чтоб дописать изменения в отдельный поток как происходит в википедии с правками, изменятся они все. Тобишь для бэкапа тебе всё так же приходится создавать полную копию файла занимающего место на диске. По этой причине ты не можешь автоматически заменить все одинаковые файлы на сылки. В результате приходится либо сильно заморачиваться с въезжанием в предназначение каждого отдельно взятого дубликата и его расположением, либо забить на систему жёстких ссылок и использовать ярлыки. С монтированием папок всё ещё хуже. Такие дела. А ведь могло у нас быть всё хорошо. Но не былоб того в быту 16 ядерных телефонов с 4к экранами и гигабайтами оперативной памяти чтоб не лагала отправка SMSок

>> No.4603461  

Возможно я сейчас полную бакость скажу. Вот как я пока что представляю себе идеальную файловую систему: понятие файла деградирует к своему истоку - простой кусок данных с идентификатором. Никаких параллельных потоков, никаких метаданных. Все они как и раньше свалены в кучу на носителе и сортируются при помощи папок. Папки являются аналогом тегов, т.е одному файлу может соответствовать множество папок. При этом как и раньше папки можно выстраивать в цепочки вложенности. Таким образом проблемы структуры и монтирования решены. "Файлы" в их нынешнем виде - тоже папки. Таким образом любой настоящий файл может быть примонтирован альтернативным потоком любому другому, при этом оставаясь прозрачным. Сами "настоящие файлы" в такой технической папке тоже не файлы, а ярлыки к ним. Таким образом можно неограниченно раскидывать файлы ака метаданные не занимая места на диске. Не будет существовать ни одной копии настоящего файла в пределах одного физического носителя. Любые изменения будут смонтированны программой вносящей изменения в отдельный файл, ака альтернативный поток. Таким образом при необходимости будет доступна вся история изменения фала без необходимости копировать его каждый раз. Пользователь на уровень работы с псевдофайлами как папками допускается лишь в экспертном режиме, через специальное меню или при помощи функционала программ. В общем нельзя просто взять и открыть псевдофайл в файловом менеджере как папку, нужно понимать что ты делаешь. По крайней мере полагать что понимаешь. Всю работу с содержимым таких системных папок должны осуществлять программы, как сейчас осуществляют работу с метаданными. При этом как говорилось выше, настоящие файлы (а не вся эта металабуда единственной задачей которой с начала времён было структурирование данных) остаются прозрачны.
Алсо в какой раздел ычана мне следовало всё это написать чтоб получить адекватную критику?

>> No.4603634  

>>4603382

> если ты изменишь один из этих файлов, то вместо того чтоб дописать изменения в отдельный поток как происходит в википедии с правками, изменятся они все

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

>> No.4603659  

>>4603634

>А что с этим не так? Ведь это же и есть один файл, в том и смысл.

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

>Или ты хотел систему контроля версий на уровне файловой системы?

Именно.

>Такое вообще нужно?

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

>Ведь такая система будет

Не будет. Впрочем сделать через то самое место в лучших традициях никто не мешает. Например все их фрагменты по всему диску разбросать, желательно в ферментированной форме. И чтобы в закодированной форме, чтобы каждый раз по новой структуру файла строить.

>> No.4603687  
> для бэкапа тебе всё так же приходится создавать полную копию файла

Стоп. Бэкап это по определению независимая копия. Так?
>>4603659

> Не будет.

Ок. Но как? Тут в любом случае - либо эффективность использования условного дискового пространства страдает, либо накладные расходы на чтение/запись, либо необходим какой-то компенсаторный фоновый механизм, который будет оптимизировать это всё по возможности, а это тоже ресурсы. Хотя если делать эту систему гибко настраиваемой, в плане регулировки не только для раздела в целом, но и его частей - может и получиться что-то полезное. Или у тебя есть какая-то совсем интересная идея как эти подводные камни обойти?

>> No.4603700  

>>4603461

> Алсо в какой раздел ычана мне следовало всё это написать чтоб получить адекватную критику?

/s? /dev?

>> No.4603706  

Все файлы находятся в единой папке. Рядом с каждым в этой папке лежит текст-файл, в котором указана информация — метаданные, хэш :и "путь" (/папка/папка/имя_файла.фрмт).
Специальная программа индексирует текст-файлы, таким образом составляя файловую систему по типу привычной нам папка/папка/файл.
Отличие в том, что все эти папки являются условными ярлыками файлов, находящихся в едином пространстве.
Это обеспечит то, что время "перемещения" файлов станет равным нулю — ведь оно будет затрачиваться лишь на перезапись данных текст-файла, а так же эта система позволит реализовать полностью закрытый юзер-интерфейс, где юзеру будет доступна лишь программа-индексатор и условный маркет, который закачивает файлы напрямую в Единую папку.

Допилы:
Вынесение загрузочных файлов в отдельную, защищённую папку.

>> No.4603717  

>>4603706

> время "перемещения" файлов станет равным нулю

Так перемещение в пределах раздела и так реализовано именно так везде. Другой вопрос что фэйлсейф перезапись метаданных, включая вычисление прав доступа могут процесс тормозить, да, но это и тут так же.

>> No.4603770  

>>4603687

>Бэкап это по определению независимая копия. Так?

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

>у тебя есть какая-то совсем интересная идея как эти подводные камни обойти?

Я полагаю что раз программы вносящие изменения в файлы по любому совершают определённые операции с видоизменёнными данными при формированию фала перед его перезаписью, то с них не убудет. Это же не копипаста файла с диска на диск. Никто не мешает сохранять фрагменты по возможности последовательно для ускорения считывания. Да, такой составной файл в итоге будет немного больше чем просто последняя версия файла. Возможно ощутимо больше. Однако никто в большинстве случаев на порядок компактнее чем все версии отдельными файлами. И никто не заставляет считывать все изменения каждый раз целиком если в том не имелось потребности.
>>4603706
Если ты про реализацию >>4603461 то я себе это представлял немного иначе. Подробности чуть позже расскажу. Сейчас немного занят. Не могу сосредоточенно думать.
>>4603700
Вот мне и не понятно где. Вроде и не электроника а программирование. И в то же время не уверен что в /dev/ уместно.

>> No.4603842  

>>4603770
Как же стыдненько за крякозябы. Вот что значит второпях текст набирать. Человек >>4603687 говорил про операции на уровне файловой системы, а я ляпнул про проги - тоже стыдно. Ну, как бы, файл мы по любому переписываем, так что имеет смысл записать паровозик на новое место для предотвращения фрагментации. Последнюю версию файла мы получили от программы, предыдущая полная версия и список предыдущих изменений (который мы тупо перемещаем на новое место при записи файла) тоже есть. Вряд ли прям уж такая заметная дополнительная нагрузка будет на фоне сохранения (по сути компилирования) программой файла, даже в самых сложных случаях. В самых же простых напротив будет ощутимый выигрыш по сравнению с сохранением на диск полноценной копии файла при классическом внесении изменений.
>>4603706
Я представлял реализацию >>4603461 немного иначе. По сути что папки что файлы - одинаково файлы. Только у каждого стоит бинарный префикс мета\дата. Мета соответственно папка, а дата файл. Немного упрощённую конструкцию можно представить так:
префикс(дата\мета):идентификатор:тело(данные\список потомков)
Я правда не специалист, возможно там будет что то вроде:
префикс:длина идентификатора:идентификатор:размер тела:тело
Все без исключения метаданные включая названия папок находятся в отдельных файлах. Например мы ищем папку "котики" - производится поиск в теле файлов данных с тегом (в папке) "названия папок". Только не по её названию разумеется, идентификаторы основополагающих папок прошиты жёстко. Возможно при загрузке ОС будет уже доступен готовый индекс оных. Получаем идентификатор файла названия папки "котики". По этому идентификатору производится поиск в теле файлов метаданных с тегом "список папок". Плучаем идентификатор папки "котики", а с ним и список всех идентификаторов файлов\папок и метаданных папки. Аналогично поиск проводится по абсолютно любой метадате. В современных быстрых поисковых движках, если не ошибаюсь, всё так и происходит. Но они костыль. С гулянием же от корня и при переходе по ярлыкам всё значительно проще. Кстати никаких ярлыков нет, все ссылки на содержащиеся в папках файлы находятся в папках. Папки и есть список того что находится в них. То есть не файлы содержат в себе список тегов, а теги содержат в себе список файлов. В общем очень похоже на то что описываешь ты, но файлы не содержат метаданных, только голые данные и идентификатор. Можно представить как ящик без поясняющей этикетки, только с номером. Берём в руки список, проводим пальцем - а, здесь лежит хэш от... такого то видоса.

>> No.4603855  

>>4603192
Люцифер.

>> No.4603856  

>>4603687
Ну вот смотри, допустим я хочу изменить один из файлов объединённых жёсткой ссылкой. Именно изменить и именно один. Тобишь создать на его основе другой. По идеи я должен сперва открепить от него жёсткую ссылку, а затем уже открывать для чтения и записи. Всё потому что готового АПИ на этот случай нет. Но это если я живой человек понимающий все тонкости. А если я тупая операционка или программа не имеющая представления что такое жёсткая ссылка, то я открываю и редактирую в лице объединённых жёсткой ссылкой экземпляра все файлы одновременно. Так-как по неосведомлённости считаю что именно такого поведения от меня и хотят. Тобишь по идеи операционка должна давать 2 опции - обычное редактирование и "изменить все связанные файлы". При этом первая опция должна стоять по умолчанию (флаг по умолчанию можно менять), и представлять из себя последовательность элементарных действий. Никто же не заморачивается с ручным открытием и закрытием дискрипторов файлов? Это был бы мрак. Операционная система делает это автоматически по ситуации. Так должно быть и здесь. Не обязательно компресить версии файлов. Не обязательно даже писать их в альтернативные потоки хотя вкупе с жёсткой ссылкой это было бы чудесное комбо. Не хватает банальной автоматизации возможных сценариев новых инструментов для предотвращения ошибок. Выпускаемые сторонними разработчиками китайские патчи для эксплоуэра немного сглаживают ситуацию, но не настолько чтобы широко использовать по факту не поддерживаемые возможности NTFS.

>> No.4603869  

Давайте внесём немного ясности!

Что вообще такое файл? Это некая именованная область данных, логически расположенная внутри иерархической структуры — дерева каталогов ФС. И вот эти именованные области данных являются точкой входа для всех операций с этими самыми данными: для чтения, (пере)записи, копирования, перемещения, удаления, переименования, создания ссылок... Всё это вращается вокруг них. Имя и данные жёстко спаяны.
И при том у каждого файла есть всего лишь одно поле для размещения информации о его содержимом — собственно, его название. Ну, есть ещё расширенные атрибуты, но ими почти никто не пользуется. И вполне вероятно, что именно это обстоятельство является одной из причин распространения разного рода онлайн-медиа с просмотром прямо в браузере — там полей с метаинформацией может быть ровно столько, сколько необходимо.

Но какая при этом важная идея высказана в >>4603461 и далее?

По сути это идея об отделении имени от данных — о разделении хранилища данных, которым сейчас является ФС, на список имён (или индекс) и собственно хранилище неименованных блоков данных, и эти две сущности будут храниться логически отдельно друг от друга. А может быть, даже и физически. Каждая именованная запись в индексе может ссылаться на один или несколько блоков данных. Блокам данных присваиваются некие уникальные идентификаторы — для того, чтобы на них можно было ссылаться. Уникальный идентификатор может быть как не имеющей самостоятельного смысла строкой вида 65db9954-e7a2-4e69-83da-ed19ceceb326, так и, скажем, криптографическим хэшем самого блока — пока детали реализации не так важны. А именованная запись может содержать также не одно, а несколько текстовых полей для описания содержимого.

Соответственно, неименованные блоки данных здесь являются приблизительно тем, что в >>4603461 называется «псевдофайлами». Предлагаю в дальнейшем называть псевдофайлы «неименованными блоками данных», или просто «блоками данных», чтобы избежать семантической путаницы. Ну а «настоящие файлы» или «именованные записи» предлагаю называть метафайлами (название временное). И повторяя сказанное в >>4603842, не блоки данных содержат в себе список метафайлов или именованных записей, а метафайлы содержат в себе список блоков данных. Каталоги же действительно будут отличаться от метафайлов лишь тем, что помимо ссылок на неименованные блоки данных они смогут содержать ссылки и на другие метафайлы (и каталоги).

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

Ещё одно следствие: на один и тот же блок данных смогут одновременно ссылаться несколько разных метафайлов, что позволит совместно использовать данные даже между программами, которые пишут данные в хранилище самостоятельно. Ну, если данные действительно будут одними и теми же. Но на самом деле это не такая уж и редкость.

Ну и ещё одно: индексов метафайлов в определённые моменты может быть больше одного. Один стандартный, предоставляемый ОС, а остальные — созданные теми самыми программами, которые будут уметь работать с хранилищем блоков напрямую. Ну или созданные прямо вручную пользователем, если тот вдруг захочет крутить это всё руками. Причём весьма желательно, чтобы доступ ко всем этим пользовательским индексам мог осуществляться не только средствами создавшей его программы, но и стандартными средствами ОС. А то мало ли...

Такое ощущение, что ещё немного, и получится Plan9

>> No.4603893  

>>4603869
Нет, то что в >>4603461 называется "псевдофайлами", это как раз таки полный аналог нынешнего представления о файле реализованный через папку, а не через скрытые потоки данных. А так всё правильно.
Так вроде и сейчас каждый файл имеет уникальный в пределах накопителя независимый от имени идентификатор, по которому он в корневой таблице обозначен? Идея об отделении всех атрибутов от идентификатора не нова. https://ru.wikipedia.org/wiki/Файловая_система

>Ещё более сложная структура применяется в NTFS и HFS. В этих файловых системах каждый файл представляет собой набор атрибутов. Атрибутами считаются не только традиционные только для чтения, системный, но и имя файла, размер и даже содержимое. Таким образом, для NTFS и HFS то, что хранится в файле, — это всего лишь один из его атрибутов. Если следовать этой логике, один файл может содержать несколько вариантов содержимого. Таким образом, в одном файле можно хранить несколько версий одного документа, а также дополнительные данные (значок файла, связанная с файлом программа). Такая организация типична для HFS на Macintosh.
>> No.4603898  
Файл: -(71 KB, 428x577)
71

>>4603192
Назвал именем своей вайфу. Компьютер благословлён, работает уже 10 год.

>> No.4603952  

Mario

>> No.4603979  

>>4603893
Хм... ну хорошо. Это скорее про отображение на пользовательский интерфейс, верно? А путаница возникла в том числе из-за того, что не совсем очевидно, для кого файлы настоящие, а для кого псевдо: для пользователя или для ОС?
И ещё не совсем понятно, зачем оставлять метафайлам (или именованным записям), которые не являются каталогами, возможность содержать ссылки на другие именованные записи, если они смогут ссылаться непосредственно на стоящие за ними блоки данных? Для версионирования и всего такого этого скоре всего будет достаточно.
Вообще, придумывая что-нибудь новое, лучше бы придумать и ввести ещё и новую или частично новую терминологию — чтобы вслед за прежней не тянулась прежняя семантика. Не очень удобно каждый раз отделять одно от другого...

> Так вроде и сейчас каждый файл имеет уникальный в пределах накопителя независимый от имени идентификатор, по которому он в корневой таблице обозначен?

Он же inode? Ну, он есть, и играет важную роль во внутренних механизмах ФС. И его даже можно непосредственно использовать в некоторых ситуациях. Например, с его помощью создаются те же жёсткие ссылки. Но вся проблема в том, что на текущий момент файл неразрывно связан с одной inode, и не может произвольно ссылаться на несколько разных. А ещё перезапись его приводит не к тому, что одна (его) именованная запись начинает указывать на новый блок данных, а к тому, что все такие записи, указывающие на эту inode (собственно, это и есть жёсткие ссылки), начинают после этого указывать на прежний, но изменённый блок. Не совсем то, чего хотелось бы. Ну в общем, всё как и сказано в >>4603382, >>4603659 и >>4603856.

И тут мы подходим к идее механизма Copy-on-Write! В текущем виде, правда, его реализации скорее немного прислонены сбоку к классическому механизму иерархической файловой системы. Но более или менее работают.

Но как бы то ни было, в ядре уже скорее есть всё или почти всё необходимое для реализации и широкого применения подобной идеи. Вот только legacy...

>> No.4603985  
Файл: -(134 KB, 500x454)
134

>>4603979
Да весь тред велосипеды изобретают. Да ещё накладывают абстракцию поверх точно такой же абстракции, реализующей всё это же. Лучше бы чёртовы теги форсили.

>> No.4603989  

>>4603979
Я уже второй день читаю твои посты и абсолютно не понимаю, на кой тебе возможность декаплинга произвольных жёстких ссылок. Конкретный пример использования можно?

>> No.4604037  

>>4603985

>Лучше бы чёртовы теги форсили.

Я не знаю как ты читал, если до сих пор сам не понял и не увидел заявления прямым тестом о том, что папки в том числе в существующих реализациях и являются тегами файлов. Или ты предлагаешь очередной костыль на бинт мотать? Их полон интернет. Можно конечно теги потоками данных параллельно папкам приделать, но тогда Оккама вскроется.
>>4603989
А я уже который раз твержу, что если бы в NTFS исправно работала система записи версий содержимого файла параллельными потоками, меня бы всё устроило. Но оно зараза этакая не работает. И даже прикрепление\открепление жёстких ссылок осуществляется софтовыми костылями сторонних производителей. Конкретный пример в том что у меня имеется over90000 жёстких ссылок и все их мне приходится ставить и снимать вручную, чтобы случайно не заменить какой-нибудь файл являющийся бэкапом. Он как бы возможно не бэкап, пока что, но в обозримом будущем одна из сотни копий может измениться и тогда они уже не будут одинаковыми. Это нужно учитывать. Вручную потому, что автоматического механизма ни в самой оси не в левом софте, при помощи которого и вводится поддержка управления жёсткими ссылками в виндоус, НЕТ.
Само использование жёстких ссылок с точки зрения виндоус является ересью, так-как любая копия файла в любой каталог должна быть полноценной копией и никак иначе. Единственное допустимое использование, это когда с пол сотни мартышек работают с разных компьютреов на д одним проэктом и им требуется синхронизация. Но и для этого существуют другие механизмы. ну а так как я с таким подходом не согласен и активно ими пользуюсь, то мне приходится вручную выполнять всё то что по идеи должна на автомате делать сама ОС. И это как бы сильно напрягает.
>>4603979
Не, все файлы делятся на данные и каталоги. Для этого в начале перед идентификатором у них бинарный (0\1) ключ, от которого зависит что будет после идентификатора. У одних данные, а у других список вложенности. Этим они отличаются от NTFS, где разница между файлами лишь в наборе потоков данных. Т.е. в NTFS каждый файл это маленькая папка, как неделимый атом, а здесь все потоки откреплены в самостоятельные файлы. Они не универсальные, а строго одного из двух видов. У каждого подхода есть свои достоинства и недостатки. Мой подход мне кажется гораздо более гибким. На самом деле единственная проблема NTFS только в том, что её возможности до конца не поддерживает даже самой виндоус, из-за чего они больше мешают и не должны быть использованы во избежании порчи данных.

>Но вся проблема в том, что на текущий момент файл неразрывно связан с одной inode, и не может произвольно ссылаться на несколько разных.

Вот поэтому мы открепляем потоки и теперь у нас каждый кусок данных имеет свой идентификатор. А ссылаемся из папок (хоть из всех) хоть на все имеющиеся файлы разом. Сейчас это реализовано через потоки и имеет ряд ограничений.

>> No.4604040  

>>4604037
Но ты так и не ответил зачем оно нужно.

>> No.4604042  
Файл: -(277 KB, 887x589)
277

>>4604037

> являются тегами файлов

Являются только при наличии хардлинков и особой реализации работы с ними, но для всего остального это не будет прозрачно. Я об этом говорю, ФС может содержать тебе самые авесомные возможности, но прикладной софт всё ещё мыслит папками. Причём, начиная с основного инструмента — файлового менеджера.

>> No.4604045  

>>4604037
Но есть же:

>Расширения для Explorer
>NTFS Link интегрируется в Explorer и добавляет во всплывающее меню, появляюшееся после перетаскивания правой кнопкой мыши, пункты «Create junction point» и «Create hard link». Кроме того, она перехватывает вызовы Explorer'а, обеспечивая нормальное перемещение/копирование/удаление созданных ссылок.
>NTFS Links (не путать с дополнением для Total Commander) — абсолютно аналогичная программа.
>Link Shell Extension — аналогичная программа, обладающая расширенным функционалом и очень подробным описанием.
>Существует и в стандартном CMD:
>mklink /h новая_ссылка источник
>mklink /h "C:\Distr\Installer-2.exe" "C:\Distr\Installer.exe"
>fsutil hardlink create новая_ссылка источник
>fsutil hardlink create "C:\Distr\Installer-2.exe" "C:\Distr\Installer.exe"
>FAR Manager умеет делать из коробки
>> No.4604055  

>>4604040
В том случае когда считаешь целесообразным заменить overдофига файлов разбросанных по разным папкам одним, но опасаешься что глупая OC или программа может полезть менять один из них по собственной большой нужде которую нельзя запрещать. inb4: Оно тебе не нужно. Слушай умных дядей из мелкософта, не используй не поддерживаемые функции NTFS и купи себе уже немного внешних дисков на пару-тройку терабайт, чо как не мужик? А если запутался в куче одинаковых файлов лежащих по разным папкам и не можешь в них разобраться без хардлинков то ты бака.
>>4604045
Знаю и активно использую. В том числе дубликат сёрчер для массового управления хадлинками по средствам фильтров и поиска. Мне мало.

>> No.4604059  

>>4604055
Имелось ввиду, что ты не ответил на сам вопрос. Одна Сырна спросила "зачем они нужны" и затем ещё "зачем много одинаковых файлов / много версий одного и того же файла". На что ты ответил, что НТФС и Виндовз не имеет нативной поддержки по работе с ними, кроме внешних комманд и поэтому неудобно работать с хардлинками. Но на заданный вопрос - ответа не было. Вот потому и мне тоже стало интересно (я мимокрокодящая Сырна, если что).

>> No.4604063  

>>4604042
Являются. Каждому файлу 1 тег (папка) или цепочка (вложенность). Хардлинки как раз и позволяют присваивать несколько таких тегов или их цепочек. Люди обычно потому и страдают что не знают в какую паку файл ложиь, сами ломают голову и холиварят делясь на команды.

>ФС может содержать тебе самые авесомные возможности, но прикладной софт

Именно поэтому многократно и оговаривался, что при наличии поддержки сохранения версий в потоки проблема сама автоматически отпала бы. Именно потому и предлагаю открепить потоки в файлы, чтобы самая дундучная олдскульная программа понимала мысля старыми категориями. Бонусы в комплекте.

>> No.4604066  
Файл: -(108 KB, 449x600)
108

>>4604063
Повторять меня другими словами не имеет смысла.

>> No.4604100  

>>4604066
Именно. Все эти системы восходят к древним бумажным картотекам. Оттуда и понятие файлов с папками и тегов и много чего другого. Например на древних карточках по периметру существовала специальная перфорация куда вставлялись цветные полоски служащие маркировкой. Аналогично поступали с картонными папками в которых лежали бумажные файлы. Каждый выдвижной ящик служил такой же папкой, как и шкаф, как и комната. Отсюда древовидная система каталогов. Для навигации по крупным картотекам существовали отдельные картотеки ака индекс. Ну ты понял. Или нет?

>> No.4604103  

Хм... если мне память не изменяет, когда то давно я работал под 95 в программе-картотеке входившей в состав офиса. Но никогда позже она мне не попадалась. Тряхнуть что ли стариной? Может полезной штукой окажется. Ещё бы знать что гуглить.

>> No.4604106  
Файл: -(437 KB, 986x698)
437

>>4603985
Так одно от другого очень даже зависит же! Чтобы теги и каталоги могли быть одной и той же сущностью на уровне файловой системы. Вот есть сейчас возможность записывать теги в xattrs файла... а много ли пользы в этом, если нужно наоборот? Ну, почти наоборот. А сейчас с этими тегами удобно иметь дело только из одной специфической системы тегов, одного файлового менеджера и одной программы просмотра картинок, которые собраны с одной специфической библиотекой абстракции над разными локальными и не очень источниками. Baloo, Dolphin, Gwenview и KIO. И то, возможности выборок по произвольным сочетаниям очень не хватает...

>>4603989
«Декаплинг» — это в смысле от decouple? Как бы то ни было, не помешает и в самом деле рассмотреть какой-нибудь простейший пример.

Ну вот допустим, у нас есть картинка с Сырно (←). Мы хотим положить её в несколько каталогов (или в несколько тегов) — например, «/Touhou/Сырно», «Ычан», «hoodie», «», «dual_persona», «wings:no», «triangles:no» и «Бака это ты» особый, специальный тег для картинок с такой надписью. Допустим, мы делаем это при помощи механизма жёстких ссылок. И это значит, что теперь у нас есть одна и та же inode, на которую ссылаются несколько файлов, на которые, в свою очередь, ссылаются несколько тегов-каталогов. Дополнительного места она благодаря всему этому не занимает. Пока что всё хорошо. Ну, почти.
Но что если теперь мы захотим как-то отредактировать эту картинку? Ну там, разрезать, изменить размер, добавить надпись... Для ясности предположим, что мы хотим отрезать левую Сырно. И при этом:

  • в явном виде сохранить связь между первоначальной и отредактированной версией;
  • применить изменения только к нескольким копиям этой картинки. Или вообще только к одной.

Сейчас произойдёт так, что безвозвратно изменятся все её копии, лежащие в каждом из этих тегов-каталогов. Тогда как хотелось бы сохранить как минимум для некоторых из них возможность возвращения к первоначальному виду. И вообще, после разрезания она перестанет соответствовать как минимум двум из этих тегов. Или не изменится ни одна из них — если мы сохраним изменённую картинку в новый файл. Но тогда потеряется и связь между ними, которую хотелось бы отслеживать!

В общем, как-то не очень.

А теперь предположим, что именованные записи могут ссылаться на произвольное число блоков данных, и что номера инодов заменены хэшами блоков данных. И что мы открыли в редакторе картинку из тега «Ычан». Тогда:

  • при сохранении из редактора ОС допишет к исходной именованной записи [=(мета)файлу] хэш нового блока данных, который будет содержать картинку с той Сырно, что слева;
  • сделает этот новый хэш основным для того метафайла, который будет лежать в теге «Ычан»;
  • и может быть, автоматически добавит этот же хэш ко всем остальным метафайлам, которые на момент создания представляют из себя точную копию отредактированного, но делать его основным для них не будет. HEAD сместится только для метафайла, лежащего в теге-каталоге «Ычан».

При этом мы:

  • Сможем создать сколько угодно новых метафайлов, содержащий ссылку на единственный хэш нового блока с отрезанной левой Сырно, если мы того захотим — нового места при этом занято не будет;
  • Сможем перемещаться по истории отредактированного файла в любую сторону, удаляя из каждого тега-каталога не понравившиеся или более не нужные экземпляры.

Намного лучше, не так ли?

(Это оно, или я случайно не в ту сторону?)

>>4604037
В общем, тут начинаются детали реализации, о которых хорошо бы подумать отдельно и обстоятельно и с рисуночками и всем таким прочим. Такое ощущение, что эти вот детали без знания NTFS-специфики осмыслить получается... ну, не очень.
Вот что такое «потоки», например? Чувствуется, что это какой-то специфический NTFS-термин. А в понимании специфических терминов лучше бы не полагаться на один только common sense.

>>4604042
Вот, в этом и суть! В ядре и в ФС многие или даже все возможности уже есть, и даже CoW-FS уже есть, и их возможности даже в некоторых специфических местах уже очень активно используются, но вот без переделывания прикладных инструментов действовать в качестве структуры тегов оно не будет. И вот для плавного перехода и могло бы пригодиться следствие 3 явное разделение на стандартный системный индекс именованных записей, который изображал бы стандартное дерево ФС для всех уже написанных прикладных инструментов, и на дополнительные системные индексы, создаваемые пользователем. С ними могли бы постепенно учиться работать сначала некоторые программы, затем ещё некоторые...

>> No.4604135  

>>4604106
Всё-таки заменять идентификаторы хэшами не очень хорошая идея. Во-первых хэши длинные, во-вторых они теоретически могут повторяться. Лучше хранить их как мету наряду с именем, размером и прочим. Для ускорения производительности при сохранении совместимости длину идентификатора лучше сделать динамической. Это потребует дополнительного фрагмента записи стандартного размера хранящего информацию о длине идентификатора. В файлах такой же дополнительный фрагмент с информацией о длине блока данных до конца файла. Примерно как здесь >>4603842

>префикс:длина идентификатора:идентификатор:размер тела:тело

Впрочем, как ты и говоришь это тонкости видение которых будет меняться от степени понимания работы существующих систем.

>«wings:no», «triangles:no»

Проще человеческий поиск создать с поддержкой отрицательной выборки. Типа "которая помимо прочего точно не лежит в папках «wings» и «triangles»". Многие поисковики умеют.

>> No.4604140  

>>4604106
Хм. Очень упрощённо файл в NTFS похож на сжатую винраром папку не содержащую вложенных папок. Она либо сжата либо зашифрована и неделима. А файловая система типа винрар, которая умеет её открывать её и выдавать программам по требованию список файлов в ней под видом атрибутов (свойств). Это очень упрощённое и крайне условное представление которое возможно лишь всё запутало. Так вот проблема в том что многие программы эти API не понимают, а при переносе на другую файловую систему всё "лишнее" отваливается. Т.е. теряем информацию.

>> No.4604143  
Файл: -(250 KB, 500x628)
250

>>4604106
Да ты изобрети хоть сто велосипедов, но основополагающие приложения гвоздями тебя прибивают тебя к древовидной структуре.

>> No.4604161  

>>4604143
Так вся прелесть предлагаемой схемы в полной обратной совместимости. Никто не мешает программам работать с древовидной структурой. Папки как и раньше могут быть вложены друг в друга (с точки зрения программ). Просто мир внезапно станет многомерным.

>> No.4604218  

>>4604106>>4604140
Тащемто https://ru.wikipedia.org/wiki/Master_File_Table

>> No.4604233  

>>4604106

>Намного лучше, не так ли?

Все картинкопомойки для этого использууют child_post, что создают новый файл, явно линкуя его со старым тегом.
Я всё ещё не вижу проблемы. Если планируется считать файлы как отдельные, ты делаешь их копиями. Если все файлы суть одно, ты делаешь их одним.
Декаплинг единого файла в собственную копию - неочевидное решение. Неочевидные решения не должны быть дефолтом.

Если боишься, что файлы перепишет что-то другое, можно отвесить доступ к ним только админу/руту. А DLL Hell Винды - это отдельная история.

Алсо, это решение вносит неочевидность в поведении хард- и софтлинков, что ранее указывали на местоположение перезаписанного файла.
Наконец, опция "Экспортировать как" явно переписывает файл в папке.

>> No.4604285  

>>4604233
Проблема в твоих взаимоисключающих параметрах. Потому что все без исключения файлы согласно текущей концепции должны быть только копиями, без исключений. Соответственно хардлинки не нужны и представляют опасность. Потому они и закрыты от тупых юзверей мелкософтом. Вместо этого им выданы в пользования безопасные ярлыки. Использование хардлинков такая же афёра как ручное управление дискрипторами. Только дискрипторами ОС умеет автоматически управлять, а вот хардлинки откреплять\подключать нет. Если человек использует хардлинки, он автоматом идёт на риск. Если он использует их бездумно или в массовом автоматическом порядке - он самоубийца.




[d | an-b-bro-fr-gf-hr-l-m-maid-med-mi-mu-ne-o-old_o-p-ph-r-s-sci-sp-t-tran-tv-w-x | bg-vg | au-mo-tr | a-aa-abe-azu-c-dn-fi-hau-jp-ls-ma-me-rm-sos-tan-to-vn | misc-tenma-vndev | dev-stat]
[Burichan] [Futaba] [Gurochan] [Tomorrow] [Архив-Каталог-RSS] [Главная]