Re[7]: Когда же винда научится извлекать устройства?
От: CreatorCray  
Дата: 11.01.24 18:17
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Спасибо, адмирал!

P>Причем иногда держит, а иногда нет.

Он вообще безобразно написан.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[9]: Когда же винда научится извлекать устройства?
От: CreatorCray  
Дата: 11.01.24 18:17
Оценка: :)
Здравствуйте, B0FEE664, Вы писали:

BFE>>>Некорректно работающая программа — это программа не соблюдающая требования.

CC>>Какие именно требования?

BFE>В данном случае требования стандарта USB.

О как оно, михалыч!
И какие же именно требования стандарта USB должна выполнять прикладная программа?
Предвкушаю интересную историю!
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[7]: Когда же винда научится извлекать устройства?
От: CreatorCray  
Дата: 11.01.24 18:17
Оценка:
Здравствуйте, Alekzander, Вы писали:

A>А кто додумал "дисковый"?

Моя профессиональная деформация

A> Кеш не дисковый, а иконочный.

А, тогда понятно.

A>Кстати, популярный ответ на вопрос на SO "У меня не обновляются иконки, как дальше жить?" — taskkill /f /im tgitcache.exe.

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

A>Видимо, единственный сценарий, который был в голове у его разработчиков, это "поставил декодер-пак типа K-Lite, и поверх всех файлов с видео будет логотипчик K-Lite".

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

CC>>А кто им вообще пользуется?

A>
Не, я серьёзно. Что Explorer что Finder — говно на палочке. Примерно как IE, который нужен чтобы скачать на голую машину нормальный браузер, нужны чтоб первый раз запустить нормальный файловый менеджер.

A>Я так понимаю, OneDrive это майкрософтовская реализация популярного во всём мире способа монетизации (которым пользуются и Яндекс, и Гугл), в виде подписки за хранение файлов.

Выглядит как попытка МС в iCloud drive

A>А папка Personal — это его представление на уровне виндового UI.

A>Image: firefox_K7UPUXbERJ.png
У меня такого тупо нету. Вот и чудесно!
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[6]: Когда же винда научится извлекать устройства?
От: CreatorCray  
Дата: 11.01.24 18:17
Оценка: +1
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>И правильно — нечего Telegram лишать этого файла (хотя я и не знаю, зачем он ему нужен)


Полное имя не видно но чота мне кажется что это shader cache
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[7]: Когда же винда научится извлекать устройства?
От: CreatorCray  
Дата: 11.01.24 18:17
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>И уж если гражданский FAR способен не просто сказать Sharing violation, а указать ФИО виновника, то уж винда-то могла бы как минимум не хуже подсуетиться.

C file sharing violation всё сильно проще, на unmount же FAR переглючивает и он перечисляет примерно 180 левых процессов, тогда как на самом деле держит второй инстанс такого же FAR
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[11]: Когда же винда научится извлекать устройства?
От: CreatorCray  
Дата: 11.01.24 18:20
Оценка:
Здравствуйте, Слава, Вы писали:

С>Не зависит в смысле "другой сервис", а в смысле "кто с ним взаимодействовал", пайпы открывал и т.п.

Ты хоть представляешь какой это объём никому нафиг не упавшего логгинга?

С>Да неужели никому не всравшихся.

Юзеру точно это всё не надо. Юзеру надо гонять свои workloads.

С> То-то каждый прод логами обложен.

And it shows...
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[8]: Когда же винда научится извлекать устройства?
От: B0FEE664  
Дата: 11.01.24 18:31
Оценка:
Здравствуйте, CreatorCray, Вы писали:

BFE>>И потерять данные? Зачем?

CC>А с чего ты взял что ты их потеряешь?

Так уже было несколько раз.
И каждый день — без права на ошибку...
Re[13]: Когда же винда научится извлекать устройства?
От: m2user  
Дата: 11.01.24 18:32
Оценка:
PD>>С каталогами сложнее. Строго говоря, даже в NTFS хендл на каталоги получить нельзя, разве что для backup операций.

_>Один из вариантов получения и использования хэндла директории — мониторинг изменений в ней: CreateFile+FILE_LIST_DIRECTORY/ReadDirectoryChanges, и подозреваю что шеллы вроде FAR и Total Commander используют это для отслеживания изменения в директории.


Да просто даже security (права доступа) посмотреть на каталоге. А то, что там требуется флаг FILE_FLAG_BACKUP_SEMANTICS для получения хэндла на каталог (и действий с бэкапом напрямую не связанных), ну вот такое Win API
Да и FindFirstFile, если я правильно помню, тоже неявно хэндл открывает на каталог.
Re[10]: Когда же винда научится извлекать устройства?
От: B0FEE664  
Дата: 11.01.24 18:43
Оценка:
Здравствуйте, CreatorCray, Вы писали:

BFE>>>>Некорректно работающая программа — это программа не соблюдающая требования.

CC>>>Какие именно требования?
BFE>>В данном случае требования стандарта USB.
CC> О как оно, михалыч!
CC>И какие же именно требования стандарта USB должна выполнять прикладная программа?

Прикладная программа, типа 'антивирус', должна реагировать на запрос системы отцепится от устройства, раз уж она среагировала на системное событие об появлении нового устройства.
И каждый день — без права на ошибку...
Re: Когда же винда научится извлекать устройства?
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 11.01.24 19:53
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Посылаю очередной луч позора в Редмонд.

S>Начиная примерно с восьмёрки, пацаны занимаются какой-то хернёй, решая несуществующие проблемы.

Пора бы уже немножечко и линукс пробовать... Могу дистро предложить, если что Я их за год перебрал небольшое ведёрко
Re[5]: Когда же винда научится извлекать устройства?
От: rFLY  
Дата: 11.01.24 21:39
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Как раз флешки у неё извлекаются более-менее нормально, примерно в половине случаев. Залипают обычно всякие SCSI-драйвы.

Ты же разобрался, что проблема не в ОС.
Re[2]: Когда же винда научится извлекать устройства?
От: CreatorCray  
Дата: 11.01.24 22:31
Оценка: :))
Здравствуйте, Pauel, Вы писали:

P>Пора бы уже немножечко и линукс пробовать...

Даже при всём загнивании винды ей до печального состояния дохлого пингвина ещё далеко.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[11]: Когда же винда научится извлекать устройства?
От: CreatorCray  
Дата: 11.01.24 22:31
Оценка:
Здравствуйте, B0FEE664, Вы писали:

BFE>Прикладная программа, типа 'антивирус'

Интересное у тебя представление о прикладных программах.
Впрочем ладно, так о каком именно требовании "стандарта USB" (C) идёт речь?
Какой пункт стандарта?
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[6]: Когда же винда научится извлекать устройства?
От: Sinclair Россия https://github.com/evilguest/
Дата: 12.01.24 01:50
Оценка: :)
Здравствуйте, rFLY, Вы писали:
S>>Как раз флешки у неё извлекаются более-менее нормально, примерно в половине случаев. Залипают обычно всякие SCSI-драйвы.
FLY>Ты же разобрался, что проблема не в ОС.
Разобрался, что как раз в ОС: WSL2 — это компонент винды. Написан левой задней ногой.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[9]: Когда же винда научится извлекать устройства?
От: Pavel Dvorkin Россия  
Дата: 12.01.24 04:30
Оценка: :)
Здравствуйте, Sinclair, Вы писали:

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

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

И это действие никак не является рекомендуемым MS.

Кстати, я пару раз словил BSOD при удалении флешки.

Рекомендуемое действие только одно — Safe Remove...

И предлагать делать нечто небезопасное MS не будет.

А рекомендовать убить процесс сервиса — небезопасное.

На свой страх и риск — делайте. Запретить выдергивать флешку она не может — нет возможности запретить.

PD>>Вот туда его и нужно послать. Если он разбирается в PE и умеет искать в ResMon — тогда он может на свой страх и риск что-то и сделать.

S>То есть, Far, по-вашему, действует неправильно?

FAR действует правильно. Он не дает возможности убить этот процесс.

И если бы ты предлагал лишь сообщить, какой процесс держит устройство — я бы согласился. Но без возможности принудительно освободить.
With best regards
Pavel Dvorkin
Re[8]: Когда же винда научится извлекать устройства?
От: Sinclair Россия https://github.com/evilguest/
Дата: 12.01.24 04:37
Оценка: +1
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>К чему приведет убиение кого-то из них ? На этот вопрос и мы с тобой не всегда ответим.
Сервис убивать незачем. Ему можно выдать Стоп либо Пауза. С какой целью ты занимаешься доведением до абсурда?

PD>А еще учти, что приличная часть сервисов живет в svchost, количество процессов которого растет с каждой новой версией Windows прямо таки с ужасающей скоростью. Убить один сервис в svchost нельзя, можно только весь svchost убить. К каким последствиям это приведет — даже думать не хочу.

Ну так и не надо об этом думать. Тем более, что svchost — это имя .exe, а процессов там гораздо больше.
Надо думать о том, как улучшить жизнь пользователя.

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

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


PD>Ну а продвинутым пользователям ничего не стоит зайти в оснастку "Services" и там копаться. Они должны понимать, что они делают и понимать, что они отвечают за свои действия.

Чтобы заходить в оснастку сервиса, нужно знать, что там искать.
Как видно из рассмотренного примера, это весьма нетривиальное упражнение.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[3]: Когда же винда научится извлекать устройства?
От: Pavel Dvorkin Россия  
Дата: 12.01.24 04:46
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Даже при всём загнивании винды ей до печального состояния дохлого пингвина ещё далеко.


Я бы не стал говорить о загнивании Windows

ИМХО проблема тут вот в чем. Windows линии NT как она была задумана и сделана в версиях 3.x — 4.0 — 2000 — вполне неплохо спроектированная и реализованная система.

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

То, что MS при таких условиях сумела сделать все же вполне работоспособную систему, несомненный ей плюс. Но проблемы, конечно, множатся.

Радикальное решение — написать заново с нуля, пожертвовав некоторыми устаревшими возможностями и сделав более логичную систему. Примерно так, как когда-то заменяли 9x на NT. Не спеша и не суетясь. Вначале создать рабочий прототип (вроде NT 3.1 — 4.0), но с четкой архитектурой, потом выверенно добавлять к нему возможности, пускать все это в ограниченное использование (как 2000, которая, если помнишь, не была рассчитана на конечного юзера), и когда-нибудь новая система заменит Windows 15

Увы, этого скорее всего не будет. Затраты колоссальные, а профит неясен.
With best regards
Pavel Dvorkin
Re[10]: Когда же винда научится извлекать устройства?
От: Sinclair Россия https://github.com/evilguest/
Дата: 12.01.24 04:56
Оценка: -1
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>И это действие никак не является рекомендуемым MS.
PD>Кстати, я пару раз словил BSOD при удалении флешки.
Ну так в том и дело, что улучшение экспириенса, чтобы уменьшить частоту таких инцидентов — дело благое.

PD>И предлагать делать нечто небезопасное MS не будет.

Опять двадцать пять. А ничего, что прибитие программы при выходе из сессии — тоже небезопасная штука? Или у кого-то есть иллюзия о том, что криво написанная программа запорет данные при forced unmount, но не запорет при forced process kill?

PD>На свой страх и риск — делайте. Запретить выдергивать флешку она не может — нет возможности запретить.

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

PD>FAR действует правильно. Он не дает возможности убить этот процесс.

Но он же не посылает к Руссиновичу!

PD>И если бы ты предлагал лишь сообщить, какой процесс держит устройство — я бы согласился. Но без возможности принудительно освободить.

Я предлагаю копать в сторону улучшения экспириенса. Описание конкретного решения, понятно, будет значительно длиннее — потому что есть несколько разных частных случаев, которые нужно обрабатывать по-разному.
А ты зацепился за какую-то второстепенную деталь, и споришь ради спора, а не ради конструктивного обсуждения.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[12]: Когда же винда научится извлекать устройства?
От: Sinclair Россия https://github.com/evilguest/
Дата: 12.01.24 04:57
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Для таблицы FAT точно никаких хендлов быть не может. А ее драйвер "открывает", то есть получает доступ к ней.
Продолжаю непонимать, что мешает открыть хэндл на "таблицу FAT", и каким образом процесс может получить к ней доступ иначе, чем через handle.

PD>С каталогами сложнее. Строго говоря, даже в NTFS хендл на каталоги получить нельзя, разве что для backup операций.

Ну, не совсем для backup. Например, для получения нотификаций об изменениях ФС. Именно для этого explorer и FAR получают хэндлы, а вовсе не для каких-то backup операций
Кроме этого, есть ещё и отдельный нюанс в трактовке термина "получить".
Получить прямо сам хэндл, чтобы его пощупать — это одно.
А вот захватить, хоть и не напрямую, можно безо всякого backup semantics. Достаточно вызвать FindFirstFile/FindFirstFileEx.
Внутри они, естественно, откроют фолдер, и процессом будет захвачен точно такой же хэндл, как и в результате CreateFile.

PD>Как там внутри все же обращаются с каталогами при обычном доступе к файлам — не помню.

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

PD>Ничего. Оно не разрешает закончить сеанс.

Ну и вот.

PD>Можем его убить в известном тебе диалоге. Но это окончание приложения, а приложения запускаются от УЗ, сессия которого сейчас и закрывается.

И?
PD>О том, почему можно разрешить юзеру убивать приложения, а сервисы нельзя, я писал вчера, повторять не буду.
Со вчера ничего не изменилось. Права на остановку сервисов у пользователя были и вчера, и позавчера, и сегодня есть.

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

Нет там никаких особенных последствий.

PD>Вот тут я изложил свою точку зрения наиболее цельно


PD>https://rsdn.org/forum/flame.comp/8665592.1
Автор: Pavel Dvorkin
Дата: 10.01 19:18

Там опять какие-то нерелевантные рассуждения вместо попытки подумать головой.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[9]: Когда же винда научится извлекать устройства?
От: Pavel Dvorkin Россия  
Дата: 12.01.24 05:12
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Сервис убивать незачем. Ему можно выдать Стоп либо Пауза. С какой целью ты занимаешься доведением до абсурда?


Стоп — это его окончание. Не все сервисы можно останавливать. А те, которые можно, еще вопрос, стоит ли. Ты хочешь удалить флешку, а в итоге перестанет работать БД, с которой сейчас идет интенсивная работа.
А на паузу он может не реагировать или реагировать неправильно , то есть не освободив хендлы. Что потом делать ?

S>Ну так и не надо об этом думать. Тем более, что svchost — это имя .exe, а процессов там гораздо больше.


Я как бы в курсе

S>Надо думать о том, как улучшить жизнь пользователя.


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

S>Приведу ещё один пример — тридцать лет назад все инсталляторы умели только требовать ребут. На случай, если какие-то из удаляемых инсталлятором файлов были заблокированы.

S>Потом потихонечку научились определять, а были ли какие-то из файлов залочены, и если нет, то и не предлагать перезагрузку.
S>Потом начали предупреждать перед началом установки: "тут кое-какие файлы сейчас залочены, если продолжим — потом придётся перезагружаться".
S>Потом начали выводить список программ, которые мешают установке.
S>Потом начали выводить список программ, которые мешают установке, и предлагать "давайте мы попробуем их сейчас закрыть, а после инсталляции обратно запустим".

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

S>Несмотря на то, что возможные улучшения — очевидны.

Ответил сегодня в другом сообщении.


PD>>Ну а продвинутым пользователям ничего не стоит зайти в оснастку "Services" и там копаться. Они должны понимать, что они делают и понимать, что они отвечают за свои действия.

S>Чтобы заходить в оснастку сервиса, нужно знать, что там искать.
S>Как видно из рассмотренного примера, это весьма нетривиальное упражнение.

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

Ты мне пример из прошлого привел. Приведу и я

2x лет назад. Я раздобыл дистрибутив XP и ставлю его. С CD, само собой. До этого живу на 2000.
Поставил. Красиво. Изучаю.
Щелкаю правой на файле — нет вкладки Security. Нет и все. Что за черт ?
У меня появляется нехорошее подозрение, что XP — это следующая версия 9x . А если так, то зачем мне она нужна ?
Копаюсь в хелпах. Наконец нахожу упоминание админа и подозрение исчезает. В 9x никаких админов отроду не было.

Оказывается, они скрыли эту вкладку. Чтобы ее вернуть, надо галочку поставить, а её найти надо. Нашел наконец, поставил и все появилось.

Зачем они так сделали ? А все из тех же соображений. Увидит неграмотный юзер эту вкладку, ну и из любопытства изменит разрешения на system32, скажем. Что дальше будет — сам понимаешь.

Вот это и есть забота о пользователе.

Другой пример. Почему в Андроид нельзя легко и просто включить root ? И contra — почему не сделали так, чтобы root вообще нельзя было включать ? Технически и то, и другое возможно.
Ну да, первое — отчасти из-за того, что тогда смогут удалять те приложения, которые Google не хочет разрешить удалять.
Но ИМХО не это главное. Главное то, что с root можно будет убить систему, удалив то, что вообще удалять никогда нельзя. Окирпичить девайс.

Вот поэтому и такое промежуточное решение. root поставить можно, но для неграмотного юзера это почти невозможная задача. А уж если он достаточно продвинут — поставить сможет, но должен понимать, что берет ответственность на себя.

В общем, fool proof в классическом виде. Во всех 3 случаях.
With best regards
Pavel Dvorkin
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.