The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Код Bcachefs принят в основной состав ядра Linux 6.7"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Код Bcachefs принят в основной состав ядра Linux 6.7" +/
Сообщение от Sw00p aka Jerom (?), 09-Ноя-23, 00:55 
> Это именно эмуляция, дополнительным софтом и абстракциями.

эмуляция это то, чего нет, а блочное устройство из РАМ сделать можно споскойно, и это не эмуляция.


> "Блок" и "произвольный доступ" - взаимоисключающие параграфы. Вы или можете адресовать
> конкретный байт или нет.

какой нафиг бай, а бит я могу адресовать? а почему не могу? потомучто минимальный блок данных который можно адресовать в РАМ это 8 бит! тоже самое и с хдд, адрессуются блоки данных, а не байты, а прикол знаете в чем? а бай вовсе не 8 бит, бывает и 7 и 9 лол кек.


> Вообще-то важно. Вон там машинный код напрямую может пойти и положить число
> 234 в адрес 0x100 и это немедленно и без дополнительных условий
> обеспечивается, если там RAM. А в случае с блоком - так
> нельзя. Как максимум можно подкостылить и сделать вид что получилось, но
> вот это уже - эмуляция.

адрессуются блоки данных, я не виноват что у хдд блок данных имеет размер 512 байт, а рам 1 байт.


> Я рад что вы умеете читать вику, теперь запишите число 234 по
> смещению 0x100 от начала, не портя другие байты. А, так изначально
> нельзя? Потому и блочное устройство - на уровне его нативного интерфейса.

смещению относительно какого базавого адреса? вы понимаете что есть базовый адрес и смещение?

> Планка напрямую адресуема из программы - а HDD на уровне кода программы
> - изначально вообще не существует. Это уже надо запросы к операционке
> делать (сисколы). А переменную программы там не разложишь. Такая "небольшая" разница
> на уровне программного интерфейса.

а что если я не делаю аллокация, моя программа что нибудь знает о памяти? нет не знает. Моей программе вообще доступна вся память если на то пошло.

> В этих терминах не описывается "хочу чтобы байт по смещению 0x100 стал
> равен 234". Чтобы это обеспечить придется сделать нехилую эмуляцию, RMW, сисколы
> и проч. На этом основании я и отказываюсь считать это RAM
> - изначально "random access" там как раз и нету.

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

> NB существуют и всякие достаточно забавные промежуточные случаи. Скажем SPI флешка сама
> по себе не есть "random access memory" - оно в общем
> случае "девайс на интерфейсе" из которого напрямую вообще выполнять ничего нельзя,
> надо команды слать. А запись там совсем не рандомная.

для уровня который предоставляет ФС до лампочки, пользователю нужно, открыть записать и закрыть, все. ДЛя ФС прочла блок, записала блок и всё. Драйвер как там представляет блочный интерфейс уже не важно.


Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Код Bcachefs принят в основной состав ядра Linux 6.7, opennews, 31-Окт-23, 07:41  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру