подменить данные при чтении/записи на диск
От: CodeMonkey  
Дата: 06.04.19 19:09
Оценка:
Как можно подменить данные при чтении/записи на диск на максимально низком уровне (ниже файловой системы), это возможно в Линуксе?
Re: подменить данные при чтении/записи на диск
От: vsb Казахстан  
Дата: 06.04.19 19:27
Оценка:
Здравствуйте, CodeMonkey, Вы писали:

CM>Как можно подменить данные при чтении/записи на диск на максимально низком уровне (ниже файловой системы), это возможно в Линуксе?


А в чём проблема? Все исходники на kernel.org.
Re: подменить данные при чтении/записи на диск
От: 0xCAFEDEAD  
Дата: 06.04.19 19:36
Оценка:
Здравствуйте, CodeMonkey, Вы писали:

CM>Как можно подменить данные при чтении/записи на диск на максимально низком уровне (ниже файловой системы), это возможно в Линуксе?


Что ты имеешь ввиду? Что значит ниже файловой системы?
Re[2]: подменить данные при чтении/записи на диск
От: CodeMonkey  
Дата: 06.04.19 20:52
Оценка:
Здравствуйте, 0xCAFEDEAD, Вы писали:

CAF>Что ты имеешь ввиду? Что значит ниже файловой системы?


Т.е. чтобы можно было, например, распределить данные при записи по нескольким дискам, но чтобы для файловой системы это не было никак заметно.
Re[3]: подменить данные при чтении/записи на диск
От: 0xCAFEDEAD  
Дата: 06.04.19 21:05
Оценка:
Здравствуйте, CodeMonkey, Вы писали:

CM>Здравствуйте, 0xCAFEDEAD, Вы писали:


CAF>>Что ты имеешь ввиду? Что значит ниже файловой системы?


CM>Т.е. чтобы можно было, например, распределить данные при записи по нескольким дискам, но чтобы для файловой системы это не было никак заметно.


Надо свою фс смонтировать. Как всякие дропбоксы и гуглодрайвы делают. Ты пишешь в файл а в реалии хз куда.
Re[4]: подменить данные при чтении/записи на диск
От: CodeMonkey  
Дата: 06.04.19 21:37
Оценка:
Здравствуйте, 0xCAFEDEAD, Вы писали:

CAF>Надо свою фс смонтировать. Как всякие дропбоксы и гуглодрайвы делают. Ты пишешь в файл а в реалии хз куда.


А для обычной стандартной фс можно как-то вклиниться между ней и собственно записью на диск?
Re[3]: подменить данные при чтении/записи на диск
От: Pzz Россия https://github.com/alexpevzner
Дата: 06.04.19 21:50
Оценка: 3 (1)
Здравствуйте, CodeMonkey, Вы писали:

CM>Т.е. чтобы можно было, например, распределить данные при записи по нескольким дискам, но чтобы для файловой системы это не было никак заметно.


Написать драйвер блочного устройства, который распределяет данные по нескольким "подключенным" к нему блочным устройствам. Так, например, делает софтверный RAID.
Re[5]: подменить данные при чтении/записи на диск
От: Pzz Россия https://github.com/alexpevzner
Дата: 06.04.19 21:52
Оценка:
Здравствуйте, CodeMonkey, Вы писали:

CM>А для обычной стандартной фс можно как-то вклиниться между ней и собственно записью на диск?


Она не пишет на "диск". Она общается с блочным устройством. Что делает его драйвер с данными — пишет на диск, хранит в памяти, посылает в КГБ почтовой почтой и т.п., — файловой системе безразлично.
Re[6]: подменить данные при чтении/записи на диск
От: CodeMonkey  
Дата: 06.04.19 22:21
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Она не пишет на "диск". Она общается с блочным устройством.


Да хоть как назови
Re: подменить данные при чтении/записи на диск
От: Masterspline  
Дата: 07.04.19 01:17
Оценка:
CM>Как можно подменить данные при чтении/записи на диск на максимально низком уровне (ниже файловой системы), это возможно в Линуксе?

Возможно, /dev/mapper, dm который, поможет.
Re: подменить данные при чтении/записи на диск
От: Cyberax Марс  
Дата: 08.04.19 07:20
Оценка: :)
Здравствуйте, CodeMonkey, Вы писали:

CM>Как можно подменить данные при чтении/записи на диск на максимально низком уровне (ниже файловой системы), это возможно в Линуксе?

Вирусы-блокировщики пишем, ага?

Если задача реальная, то самый простой вариант — использовать NBD (Network Block Device) и реализовать сервер, который уже будет куда надо данные писать. Это всё можно сделать в userspace.

Более сложный вариант — ядерный модуль, который будет реализовывать блочное устройство.
Sapienti sat!
Re[6]: подменить данные при чтении/записи на диск
От: alpha21264 СССР  
Дата: 08.04.19 08:53
Оценка: 1 (1)
Здравствуйте, Pzz, Вы писали:

Pzz>Она не пишет на "диск". Она общается с блочным устройством. Что делает его драйвер с данными — пишет на диск, хранит в памяти, посылает в КГБ почтовой почтой и т.п., — файловой системе безразлично.


А есть где-нибудь описание того, что происходит по fwrite() ?
Какие слои и в какой последовательности отработают?

Течёт вода Кубань-реки куда велят большевики.
Re[2]: подменить данные при чтении/записи на диск
От: alpha21264 СССР  
Дата: 08.04.19 08:54
Оценка:
Здравствуйте, vsb, Вы писали:

CM>>Как можно подменить данные при чтении/записи на диск на максимально низком уровне (ниже файловой системы), это возможно в Линуксе?


vsb>А в чём проблема? Все исходники на kernel.org.


Там чёрт ногу сломит.

Течёт вода Кубань-реки куда велят большевики.
Re[7]: подменить данные при чтении/записи на диск
От: Pzz Россия https://github.com/alexpevzner
Дата: 08.04.19 08:56
Оценка: :)
Здравствуйте, alpha21264, Вы писали:

Pzz>>Она не пишет на "диск". Она общается с блочным устройством. Что делает его драйвер с данными — пишет на диск, хранит в памяти, посылает в КГБ почтовой почтой и т.п., — файловой системе безразлично.


A>А есть где-нибудь описание того, что происходит по fwrite() ?

A>Какие слои и в какой последовательности отработают?

Ну, у меня в голове более-менее есть. Только не спрашивай меня, как оно туда попало
Re[2]: подменить данные при чтении/записи на диск
От: CodeMonkey  
Дата: 08.04.19 14:47
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Вирусы-блокировщики пишем, ага?


Для линупса то?
Re[2]: подменить данные при чтении/записи на диск
От: andrey.desman  
Дата: 08.04.19 15:07
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Более сложный вариант — ядерный модуль, который будет реализовывать блочное устройство.


Есть fuse.
Re[8]: подменить данные при чтении/записи на диск
От: alpha21264 СССР  
Дата: 08.04.19 15:10
Оценка:
Здравствуйте, Pzz, Вы писали:

A>>А есть где-нибудь описание того, что происходит по fwrite() ?

A>>Какие слои и в какой последовательности отработают?

Pzz>Ну, у меня в голове более-менее есть. Только не спрашивай меня, как оно туда попало


Ну, значит бог опенсоурса велит тебе написать статью.
Статья может быть очень краткой, например вот такой:


i8042_probe
    |
 i8042_setup_kbd
    | request_irq()
 i8042_interrupt
    |
 serio_interrupt
    | serio->drv->interrupt()
 atkbd_interrupt
    | input_event(dev, EV_KEY, keycode, value);
   input_event
    |
 input_handle_event
    | dev->event()
    kbd_event
    |
   kbd_keycode
    | (*k_handler[type])(vc, keysym & 0xff, !down);
      k_self
    |
    k_unicode
    |
     to_utf8
    |
    put_queue ____________________________________
    |               |                         |
 tty_buffer_init  tty_insert_flip_char tty_schedule_flip
    |               |                         |
  flush_to_ldisc     char_buf_ptr          queue_work    
    |
receive_buf
    | 
n_tty_receive_buf2
    |
n_tty_receive_buf_common
    |
__receive_buf
    |
n_tty_receive_buf_fast
    |
n_tty_receive_char_fast
    |
echo_char commit_echoes
    |
do_output_char
    |
n_tty_write

Течёт вода Кубань-реки куда велят большевики.
Re[3]: подменить данные при чтении/записи на диск
От: Cyberax Марс  
Дата: 08.04.19 17:11
Оценка:
Здравствуйте, andrey.desman, Вы писали:

C>>Более сложный вариант — ядерный модуль, который будет реализовывать блочное устройство.

AD>Есть fuse.
FUSE работает на уровне файловой системы, нужен более низкий уровень.
Sapienti sat!
Re[7]: подменить данные при чтении/записи на диск
От: Cyberax Марс  
Дата: 08.04.19 17:12
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>А есть где-нибудь описание того, что происходит по fwrite() ?

A>Какие слои и в какой последовательности отработают?
Вот тут про блочный IO: https://lwn.net/Articles/736534/
Sapienti sat!
Re[4]: подменить данные при чтении/записи на диск
От: andrey.desman  
Дата: 08.04.19 17:18
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>>>Более сложный вариант — ядерный модуль, который будет реализовывать блочное устройство.

AD>>Есть fuse.
C>FUSE работает на уровне файловой системы, нужен более низкий уровень.

Да, но бывает достаточно создать ФС-зеркало с фильтром, что вполне просто решается фьюзом. А так, да, надо писать block device.
Re[3]: подменить данные при чтении/записи на диск
От: · Великобритания  
Дата: 08.04.19 18:17
Оценка: :)
Здравствуйте, CodeMonkey, Вы писали:

CM> C>Вирусы-блокировщики пишем, ага?


CM> Для линупса то?

А чем линуксы хуже-то? "sudo apt install wannacry"
avalon/2.0.6
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re: подменить данные при чтении/записи на диск
От: -prus-  
Дата: 09.04.19 08:13
Оценка: 3 (1)
Здравствуйте, CodeMonkey, Вы писали:

CM>Как можно подменить данные при чтении/записи на диск на максимально низком уровне (ниже файловой системы), это возможно в Линуксе?


Может примерно этого будет достаточно для понимания: block-filter ?
С уважением,
Евгений
Re[4]: подменить данные при чтении/записи на диск
От: IID Россия  
Дата: 14.05.19 08:56
Оценка:
Здравствуйте, ·, Вы писали:

·>А чем линуксы хуже-то? "sudo apt install wannacry"


Тем что kernel modules там сделаны через *опу.

Драйвер должен собираться на базе точной копии сконфигурированных исходников ядра (т.е. + всех опций его сборки).
Скажем "спасибо" отсутствию стабильных kernel api, в частности возможности переколбашивать структуры ядра заданием CONFIG_xxx опций.
kalsarikännit
Re[5]: подменить данные при чтении/записи на диск
От: · Великобритания  
Дата: 14.05.19 13:17
Оценка:
Здравствуйте, IID, Вы писали:

IID>·>А чем линуксы хуже-то? "sudo apt install wannacry"

IID>Тем что kernel modules там сделаны через *опу.
IID>Драйвер должен собираться на базе точной копии сконфигурированных исходников ядра (т.е. + всех опций его сборки).
dkms

IID>Скажем "спасибо" отсутствию стабильных kernel api, в частности возможности переколбашивать структуры ядра заданием CONFIG_xxx опций.

А где оно щастье? Даже одновендорный win постоянно ломает драйвера. Даже вон в Десятке автоматически приезжающие обновления что-то норовят поломать.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[6]: подменить данные при чтении/записи на диск
От: IID Россия  
Дата: 14.05.19 13:39
Оценка:
Здравствуйте, ·, Вы писали:

IID>>Тем что kernel modules там сделаны через *опу.

IID>>Драйвер должен собираться на базе точной копии сконфигурированных исходников ядра (т.е. + всех опций его сборки).
·>dkms

Я ваще-т про них и говорю.
Пересобирать всё ядро ради включения драйвера — это полное позорище. Впрочем LKM не сильно далеко вперёд ушли.

IID>>Скажем "спасибо" отсутствию стабильных kernel api, в частности возможности переколбашивать структуры ядра заданием CONFIG_xxx опций.

·>А где оно щастье? Даже одновендорный win постоянно ломает драйвера. Даже вон в Десятке автоматически приезжающие обновления что-то норовят поломать.

Ничего MS не ломает.
Возьми бинарный драйвер времён NT4.0 и он прекрасно заработает в Windows 10
(соответствующей битности, это всех ОС касается. Ну или пересобери, с этим тоже проблем не будет, если не говнокодил).

Единственное кардинальное и заметное изменение — это введение WDDM (Vista+), но оно тебя не касается, ты не разработчик видеокарт.
Зато с WDDM видеодрайвера переустанавливаются "на горячую", не мешая работать.

Тогда как в буханке установка/апдейт видеодрайвера сопровождается обязательным ребутом, пересборкой initrd и заменой ядра(!).
И при этом рискуешь получить кирпич на выходе. Устанавливая NVidia видеодравер по инструкции вендора дистрибутива. И трахайся потом, откатывая всё взад.
kalsarikännit
Re[7]: подменить данные при чтении/записи на диск
От: · Великобритания  
Дата: 14.05.19 13:57
Оценка:
Здравствуйте, IID, Вы писали:

IID>·>dkms

IID>Я ваще-т про них и говорю.
IID>Пересобирать всё ядро ради включения драйвера — это полное позорище. Впрочем LKM не сильно далеко вперёд ушли.
Почему?

IID>>>Скажем "спасибо" отсутствию стабильных kernel api, в частности возможности переколбашивать структуры ядра заданием CONFIG_xxx опций.

IID>·>А где оно щастье? Даже одновендорный win постоянно ломает драйвера. Даже вон в Десятке автоматически приезжающие обновления что-то норовят поломать.
IID>Ничего MS не ломает.
IID>Возьми бинарный драйвер времён NT4.0 и он прекрасно заработает в Windows 10
Фантастика. Если может только какой-нибудь generic mouse.

IID>Единственное кардинальное и заметное изменение — это введение WDDM (Vista+), но оно тебя не касается, ты не разработчик видеокарт.

IID>Зато с WDDM видеодрайвера переустанавливаются "на горячую", не мешая работать.
https://answers.microsoft.com/en-us/windows/forum/windows_10-hardware/nvidia-driver-problem-at-windows-10/7ff40b3a-bc80-49bd-b32d-8ad746fe5209

IID>Тогда как в буханке установка/апдейт видеодрайвера сопровождается обязательным ребутом, пересборкой initrd и заменой ядра(!).

Win ребутит с любым апдейтом.

IID>И при этом рискуешь получить кирпич на выходе. Устанавливая NVidia видеодравер по инструкции вендора дистрибутива. И трахайся потом, откатывая всё взад.

А что там трахаться? Выбрать предыдущую версию ядра в grub и всё.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[8]: подменить данные при чтении/записи на диск
От: IID Россия  
Дата: 14.05.19 14:04
Оценка:
Здравствуйте, ·, Вы писали:

IID>>Пересобирать всё ядро ради включения драйвера — это полное позорище. Впрочем LKM не сильно далеко вперёд ушли.

·>Почему?

Почему — что ?

·>Фантастика. Если может только какой-нибудь generic mouse.


Возьми базовые структуры ядра типа EPROCESS да сравни. А потом task_struct сравни буханочный.

·>https://answers.microsoft.com/en-us/windows/forum/windows_10-hardware/nvidia-driver-problem-at-windows-10/7ff40b3a-bc80-49bd-b32d-8ad746fe5209

After then i installed 3rd party anti virus software


Ты издеваешься что ли ? Не пиши мне подобную чушь больше.

·>Win ребутит с любым апдейтом.


Неверно.

·>А что там трахаться? Выбрать предыдущую версию ядра в grub и всё.


Ага щазззз!
X-ы не стартуют, система в полузагруженном состоянии. Консоль подвисшая.
Спасло только то, что был настроен SSH сервер. Подключился с другой машины, и упражнялся в откате ядра и рамдиска. Наверное быстрее было бы тупо переустановить.
kalsarikännit
Re[9]: подменить данные при чтении/записи на диск
От: · Великобритания  
Дата: 14.05.19 14:40
Оценка:
Здравствуйте, IID, Вы писали:

IID>>>Пересобирать всё ядро ради включения драйвера — это полное позорище. Впрочем LKM не сильно далеко вперёд ушли.

IID>·>Почему?
IID>Почему — что ?
Почему ты так говоришь. Факты плз, поменьше эмоций.

IID>·>Фантастика. Если может только какой-нибудь generic mouse.

IID>Возьми базовые структуры ядра типа EPROCESS да сравни. А потом task_struct сравни буханочный.
И что? По факту дрова в большинстве случаев не работают.

IID>·>https://answers.microsoft.com/en-us/windows/forum/windows_10-hardware/nvidia-driver-problem-at-windows-10/7ff40b3a-bc80-49bd-b32d-8ad746fe5209

IID>

IID>After then i installed 3rd party anti virus software

IID>Ты издеваешься что ли ? Не пиши мне подобную чушь больше.
Он вроде имеет в виду, что и это не помогло. В любом случае это не единственный случай.
https://www.bleepingcomputer.com/news/microsoft/windows-10-audio-not-working-after-installing-latest-windows-updates/

IID>·>Win ребутит с любым апдейтом.

IID>Неверно.
У меня форс-ребут примерно раз в месяц.

IID>·>А что там трахаться? Выбрать предыдущую версию ядра в grub и всё.

IID>Ага щазззз!
IID>X-ы не стартуют, система в полузагруженном состоянии. Консоль подвисшая.
Ctrl-Alt-Fn пробовал переключиться в текстовую консоль? Текстовая консоль грузится до Х-ов. Или железо что-ли крашилось совсем?

IID>Спасло только то, что был настроен SSH сервер. Подключился с другой машины, и упражнялся в откате ядра и рамдиска. Наверное быстрее было бы тупо переустановить.

В grub можно выбрать запуск previous kernel version.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[10]: подменить данные при чтении/записи на диск
От: IID Россия  
Дата: 14.05.19 15:04
Оценка:
Здравствуйте, ·, Вы писали:

IID>>>>Пересобирать всё ядро ради включения драйвера — это полное позорище. Впрочем LKM не сильно далеко вперёд ушли.

·>Почему ты так говоришь. Факты плз, поменьше эмоций.


Я всё разжевал ещё в первом ответе тебе. Иди, перечитай.

IID>>Возьми базовые структуры ядра типа EPROCESS да сравни. А потом task_struct сравни буханочный.

·>И что? По факту дрова в большинстве случаев не работают.

А то, что если драйвер писался в соответствии с WDK, то работать он будет везде. Кроме редких случаев типа WDDM, которые опять-таки, тебе неактуальны.
Кривые драйвера могут не работать. Как и кривое железо. Например у меня валяется WiFi карта, которая не работает если объём физического ОЗУ > 2гб.

До подавляющего доминирования x64 систем обычно драйвер был один, и подавался как NT/2000/2003.
После — такая же фигня, но уже W7/W8/W10.

·>Он вроде имеет в виду, что и это не помогло. В любом случае это не единственный случай.

·>https://www.bleepingcomputer.com/news/microsoft/windows-10-audio-not-working-after-installing-latest-windows-updates/

Ты дурак ?
Интел и реалтек накосячили в своих драйверах. Это вообще никак не относится ни к MS, ни (ТЕМ БОЛЕЕ) к проблеме совместимости.

Если в репозитории убунты окажется кривой пакет от NVidia, который глючит у какого-то % пользователей — ты кого будешь винить ? Каноникал ? Что они не провели полномасштабное тестирование на всех конфигурациях железа с чипами NVidia ?


·>Ctrl-Alt-Fn пробовал переключиться в текстовую консоль? Текстовая консоль грузится до Х-ов. Или железо что-ли крашилось совсем?


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

IID>>Спасло только то, что был настроен SSH сервер. Подключился с другой машины, и упражнялся в откате ядра и рамдиска. Наверное быстрее было бы тупо переустановить.

·>В grub можно выбрать запуск previous kernel version.

разве в случае установки видеодрайвера текущее ядро становится previous ?
ты не путаешь с kernel update ?

но даже если так — это ещё большая жесть. Создавать дубль ядра, просто потому что всё кривое, косое, и в любой момент может развалиться. (Вместо отказа от загрузки видеодрайвера/создания дубля видеодрайвера).
kalsarikännit
Re[11]: подменить данные при чтении/записи на диск
От: · Великобритания  
Дата: 14.05.19 16:20
Оценка:
Здравствуйте, IID, Вы писали:

IID>·>Почему ты так говоришь. Факты плз, поменьше эмоций.

IID>
IID>Я всё разжевал ещё в первом ответе тебе. Иди, перечитай.
Ты только монитор забрызгал. Ты заявил "драйвер должен" — кому должен? Почему должен? С какого это перепугу?

IID>>>Возьми базовые структуры ядра типа EPROCESS да сравни. А потом task_struct сравни буханочный.

IID>·>И что? По факту дрова в большинстве случаев не работают.
IID>А то, что если драйвер писался в соответствии с WDK, то работать он будет везде. Кроме редких случаев типа WDDM, которые опять-таки, тебе неактуальны.
IID>Кривые драйвера могут не работать. Как и кривое железо. Например у меня валяется WiFi карта, которая не работает если объём физического ОЗУ > 2гб.
Ну вот открываем nvidia дрова, пусть только 64 бита:
Windows 10 64-bit
Windows 7 64-bit
Windows 8.1 64-bit
Windows 8 64-bit
Windows Vista 64-bit
Windows XP 64-bit
Зачем под каждую версию свой драйвер?

IID>До подавляющего доминирования x64 систем обычно драйвер был один, и подавался как NT/2000/2003.

IID>После — такая же фигня, но уже W7/W8/W10.
К сожалению я не знаю как попасть в твою реальность, жить приходится в этой.

IID>·>Он вроде имеет в виду, что и это не помогло. В любом случае это не единственный случай.

IID>·>https://www.bleepingcomputer.com/news/microsoft/windows-10-audio-not-working-after-installing-latest-windows-updates/
IID>Ты дурак ?
IID>Интел и реалтек накосячили в своих драйверах. Это вообще никак не относится ни к MS, ни (ТЕМ БОЛЕЕ) к проблеме совместимости.
Ага, делаем latest windows updates, а виноват интел.

IID>·>Ctrl-Alt-Fn пробовал переключиться в текстовую консоль? Текстовая консоль грузится до Х-ов. Или железо что-ли крашилось совсем?

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

Да ты специалист по назначению виновных.

IID>>>Спасло только то, что был настроен SSH сервер. Подключился с другой машины, и упражнялся в откате ядра и рамдиска. Наверное быстрее было бы тупо переустановить.

IID>·>В grub можно выбрать запуск previous kernel version.
IID>разве в случае установки видеодрайвера текущее ядро становится previous ?
IID>ты не путаешь с kernel update ?
Я думал ты апдейт ядра имел в виду. А так получается:
Ты дурак? nvidia накосячили в своих драйверах. (и далее по тексту)

IID>но даже если так — это ещё большая жесть. Создавать дубль ядра, просто потому что всё кривое, косое, и в любой момент может развалиться. (Вместо отказа от загрузки видеодрайвера/создания дубля видеодрайвера).

Да не переживай ты так.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re: подменить данные при чтении/записи на диск
От: TimurSPB Интернет  
Дата: 14.05.19 16:34
Оценка: 2 (1)
Здравствуйте, CodeMonkey, Вы писали:

CM>Как можно подменить данные при чтении/записи на диск на максимально низком уровне (ниже файловой системы), это возможно в Линуксе?


https://www.ibm.com/developerworks/ru/library/l-fuse/index.html — такое есть. На винде Dokan.
Make flame.politics Great Again!
Re[7]: подменить данные при чтении/записи на диск
От: Cyberax Марс  
Дата: 14.05.19 20:17
Оценка:
Здравствуйте, IID, Вы писали:

IID>Ничего MS не ломает.

IID>Возьми бинарный драйвер времён NT4.0 и он прекрасно заработает в Windows 10
IID>(соответствующей битности, это всех ОС касается. Ну или пересобери, с этим тоже проблем не будет, если не говнокодил).
Ой, ну не надо сказок. За время с NT4 поменялся фэйловый стек в Винде, так что файловые системы, например, нужно переписать чуть менее, чем полностью. Работать без изменений будет, разве что, что-то простенькое типа драйвера для сетевушки Realtek на 10МБит.
Sapienti sat!
Re[12]: подменить данные при чтении/записи на диск
От: IID Россия  
Дата: 15.05.19 07:01
Оценка:
Здравствуйте, ·, Вы писали:

·>Ты только монитор забрызгал. Ты заявил "драйвер должен" — кому должен? Почему должен? С какого это перепугу?


Если тебе это неочевидно — ты балбес.

·>Ну вот открываем nvidia дрова, пусть только 64 бита:

·>Windows 10 64-bit
·>Windows 7 64-bit
·>Windows 8.1 64-bit
·>Windows 8 64-bit
·>Windows Vista 64-bit
·>Windows XP 64-bit
·>Зачем под каждую версию свой драйвер?

Про появление WDDM я уже говорил. Так что XP вычёркиваем сразу.
Далее, WDDM было несколько версий. Они все разрабатываются в тесном сотрудничестве с производителями видеочипов.
Подозреваю, что драйвера для W10 на W8 будут работать просто менее оптимально, не используя всех возможностей железа.

И вообще, чего ты к видеодрайверам прицепился ?
Видеодрайвер в несколько раз сложнее чем всё ядро ОС. Под видеодрайвера прогибаются разработчики ОС (и наоборот).
Это отдельная каста, в которой тебя не будет никогда.

IID>>До подавляющего доминирования x64 систем обычно драйвер был один, и подавался как NT/2000/2003.

IID>>После — такая же фигня, но уже W7/W8/W10.
·>К сожалению я не знаю как попасть в твою реальность, жить приходится в этой.

Кстати, бывают ещё маркетинговые ограничения.
Например интеловская сетевая (встройка) L-219 отказывается работать в Windows Server. Инсталлятор заявляет, что ОС не поддерживается. Если же драйвер установить вручную — он прекрасно работает.
Видимо на этом же чипе существуют более дорогие серверные сетевые платы. И любителей халявы завернули вот так, топорно.

Аналогично с дровами под Samsung NVMe — для дисков Evo отказываются ставиться в Server. Приходится обходиться майкрософтовскими. (Возможно это желание самсунга впаривать серверам Pro версии накопителей).


IID>>·>Он вроде имеет в виду, что и это не помогло. В любом случае это не единственный случай.

IID>>·>https://www.bleepingcomputer.com/news/microsoft/windows-10-audio-not-working-after-installing-latest-windows-updates/
IID>>Ты дурак ?
IID>>Интел и реалтек накосячили в своих драйверах. Это вообще никак не относится ни к MS, ни (ТЕМ БОЛЕЕ) к проблеме совместимости.
·>Ага, делаем latest windows updates, а виноват интел.

Ты точно тупой. Я уже и в привычных тебе терминах объяснил, всё равно не понимаешь.
Драйвер сделан интелом, подписан интелом, накосячил в коде тоже интел. MS тут выступает только как владелец репозитория.

А главное — причём тут архитектурная СОВМЕСТИМОСТЬ ?
Выпущена косячная версия, оперативно исправили. Тебе список линукс-багов показать ? Которые ВНЕЗАПНО зависят от самих майнтенеров, а не от сторонних поставщиков бинарных пакетов.

·>Да ты специалист по назначению виновных.


нет ты


·>Ага, значит железо зависло, а виноват линух.


доступ по SSH работал.
Завис терминал (скорее всего отрисовка).
А кто виноват ?

·>Ты дурак? nvidia накосячили в своих драйверах. (и далее по тексту)


Э нет.
Если бы это была разовая проблема — я бы согласился.
А в случае с буханкой проблема концептуальная.
Лебедь рак и щука называется. Когда не могут найти общий язык с вендором железа и сформировать подходящие стабильные API.
Тот же NDIS как появился ? Производители софта и железа 30 лет назад сели, обсудили, подумали, и написали стандарт. Вместо истерик "fuck to nvidia!".

Впрочем это неудивительно, почитав прощальное письмо Michael Stapelberg, свалившего после 10 лет работы над Debian — какой бардак творится в разработке, и что никому ничего не надо, главное не трогать уже сделанное.
kalsarikännit
Re[8]: подменить данные при чтении/записи на диск
От: IID Россия  
Дата: 15.05.19 07:15
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Ой, ну не надо сказок. За время с NT4 поменялся фэйловый стек в Винде, так что файловые системы, например, нужно переписать чуть менее, чем полностью.


А я смотрю, вы парни, к полумерам не привычные.
Одному подавай не менее чем видеодрайвер.
Другому целую файловую систему (не путать с виртуальным диском — прим. для javascript-еров), небось ещё не простую, а на Fibre-Channel или чём-то посовременнее.

Кстати, я напомню, что до середины 00-ых IFS Kit не выдавался всем подряд, и стоил при этом каких-то заметных денег.

Давайте ещё подискутируем, что с появлением x64 отвалились патчи в ядре чего попало, всеми желающими.
Тоже ведь формально нарушение совместимости, хотя надавали по-рукам только говноделам (и вирусописателям заодно).
Тех, кто использовал документированные API — харденинг не коснулся.

C>Работать без изменений будет, разве что, что-то простенькое типа драйвера для сетевушки Realtek на 10МБит.


А в буханке работать не будет вообще ничего.
Даже в одной и той же версии ядра с точностью до коммита. Но с разными опциями конфига.
Хуже того, буханка может даже несобраться, после изменения какой-нибудь безобидной опции.
Лично сталкивался.
Особенно меня поразило что при включении опции ломается билд из-за отсутствующей ТОЧКИ С ЗАПЯТОЙ в конце строки
Тестирование ? Ха-ха! Буханщиков даже факт сборки не колышет. Фигак-Фигак и коммитим.
kalsarikännit
Re[13]: подменить данные при чтении/записи на диск
От: · Великобритания  
Дата: 15.05.19 11:35
Оценка:
Здравствуйте, IID, Вы писали:

IID>·>Ты только монитор забрызгал. Ты заявил "драйвер должен" — кому должен? Почему должен? С какого это перепугу?

IID>Если тебе это неочевидно — ты балбес.
А если ты не можешь объяснить "очевидные" вещи, то ты балабол.

IID>·>Зачем под каждую версию свой драйвер?

IID>Про появление WDDM я уже говорил. Так что XP вычёркиваем сразу.
Ой, да, я забыл, что надо игнорировать все факты, противоречащие твоей вере.

IID>Далее, WDDM было несколько версий.

Внезапно.

IID>Подозреваю, что драйвера для W10 на W8 будут работать просто менее оптимально, не используя всех возможностей железа.

Действительно, кому нужны эти возможности?.. в CGA режиме запустилось, и ладно.

IID>И вообще, чего ты к видеодрайверам прицепился ?

Действительно, неудобно получилось, опять твоей вере противоречит.

IID>·>Ага, делаем latest windows updates, а виноват интел.

IID>Ты точно тупой. Я уже и в привычных тебе терминах объяснил, всё равно не понимаешь.
А ты точно хамло.

IID>Драйвер сделан интелом, подписан интелом, накосячил в коде тоже интел. MS тут выступает только как владелец репозитория.

"Microsoft employee stated that Microsoft had pushed out an incorrect audio driver". И, конечно, интел виноват, что ты читать не умеешь.

IID>А главное — причём тут архитектурная СОВМЕСТИМОСТЬ ?

А хрен его знает. Архитектурная совсемстимость никоим образом в нашей дискуссии не упоминалось. Ты рекламировал ABI-совместимость и что она решает какие-то проблемы, правда так и не рассказал толком какие именно.

IID>Выпущена косячная версия, оперативно исправили. Тебе список линукс-багов показать ? Которые ВНЕЗАПНО зависят от самих майнтенеров, а не от сторонних поставщиков бинарных пакетов.

Ты в майкрософте что-ли работаешь, что так агрессивно его защищаешь?

IID>·>Да ты специалист по назначению виновных.

IID>нет ты
Я нигде никого не назначал.

IID>·>Ага, значит железо зависло, а виноват линух.

IID>доступ по SSH работал.
IID>Завис терминал (скорее всего отрисовка).
IID>А кто виноват ?
Не знаю, я эту проблему не исследовал.

IID>·>Ты дурак? nvidia накосячили в своих драйверах. (и далее по тексту)

IID>Э нет.
IID>Если бы это была разовая проблема — я бы согласился.
А что, Майкрософт не косячил больше одного раза?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[14]: подменить данные при чтении/записи на диск
От: IID Россия  
Дата: 15.05.19 11:45
Оценка:
Здравствуйте, ·, Вы писали:

·>А если ты не можешь объяснить "очевидные" вещи, то ты балабол.


Ты мне надоел.

IID>>Драйвер сделан интелом, подписан интелом, накосячил в коде тоже интел. MS тут выступает только как владелец репозитория.

·>"Microsoft employee stated that Microsoft had pushed out an incorrect audio driver". И, конечно, интел виноват, что ты читать не умеешь.


А incorrect audio driver КТО написал ?

IID>>·>Да ты специалист по назначению виновных.

IID>>нет ты
·>Я нигде никого не назначал.

Выше. Майкрософт.

·>А что, Майкрософт не косячил больше одного раза?


И опять.
kalsarikännit
Re[9]: подменить данные при чтении/записи на диск
От: Cyberax Марс  
Дата: 15.05.19 17:19
Оценка:
Здравствуйте, IID, Вы писали:

IID>Кстати, я напомню, что до середины 00-ых IFS Kit не выдавался всем подряд, и стоил при этом каких-то заметных денег.

IFS Kit был всегда бесплатен, только требовал послать факс в MS. Я его получал в 2003-м.

IID>Давайте ещё подискутируем, что с появлением x64 отвалились патчи в ядре чего попало, всеми желающими.

IID>Тоже ведь формально нарушение совместимости, хотя надавали по-рукам только говноделам (и вирусописателям заодно).
IID>Тех, кто использовал документированные API — харденинг не коснулся.
Ну да, если не использовать файловую систему, сложные вещи типа сетевых карт, не использовать DMA, не использовать USB, то всё будет работать.

Например, из того, что лично помню — на 64-х битах сломалось DMA из-за новых ограничений.

C>>Работать без изменений будет, разве что, что-то простенькое типа драйвера для сетевушки Realtek на 10МБит.

IID>А в буханке работать не будет вообще ничего.
IID>Даже в одной и той же версии ядра с точностью до коммита. Но с разными опциями конфига.
Ой, ну не надо. Если в ядре есть нужные подсистемы, то всё работать будет. Очевидно, что если собрать ядро без поддержки USB, то USB-драйвер работать не будет.

Но при этом, сейчас Линукс примерно так на порядок быстрее Windows при работе с файлами и процессами. Я недавно замерял простенький тест — создание глубокой структуры каталогов и навигация по нему. Линукс масштабировался линейно, Винда умерла менее чем на миллионе файлов.

С процессами — в Винде до сих пор нет аналога cgroup или даже просто нормального планировщика.

Ну а уж сеть лучше даже не упоминать виндофилам — там всё так плохо, что даже до MS это дошло.
Sapienti sat!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.