The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Код 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" - оно в общем
> случае "девайс на интерфейсе" из которого напрямую вообще выполнять ничего нельзя,
> надо команды слать. А запись там совсем не рандомная.

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


 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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