Почти все продолжали сидеть на WinXP. Vista шла только с новыми ноутбуками, и народ пытался снести ее и поставить старую добрую хрюшку, и там начинались пляски с драйверами всяких карт-ридеров и сетевых карт.
Может что-то путаю, но возможно NetMeeting иногда не ставился как компонент, и его просто скопировал с флешки со своего ноутбука.
Год примерно 2002, звонили однокласниками друг другу через HyperTerminal, и в нем же и чатились, и обменивались файлами. Бесплатно, без интернета, без смс. Играли в игры, в которых была поддержка встроенного модема Warcraft, Starcraft.
Примерно в 2003 году узнали, что в windows можно создать сетевое подключение, которое будет не звонить через модем куда-либо, а просто ждать звонка.
Один участник настраивает подключение, которое ждет. А второй настраивает обычное подключение как через провайдера. Начали чатиться через dxdiag, в нем случайно нашли вкладку для проверки работы сетевого подключения. Потом переключились на netmeeting, и начали играть в игры, в которых была сетевая игра, но не было встроенной звонилки. Worms Armageddon...
Несколько одноклассников смогли поиграть в игру втроем! Два соседа кинули сетевой кабель через окно, а третий участник позвонил одному из них через modem.
Год 2005, появление знания, что в магазине "Бурый медведь" в Москве можно купить любой компьютерный разъем, и не только компьютерный. Или, например, переходник IDE 2,5-3,5.
Год, кажется, 2009, у меня появился ноутбук с wifi, у соседа был комп с wi-fi сетевой картой. Настроили Wi-Fi Ad-hoc соединение и чатились через NetMeeting...
Пару раз тестировал patroni. Легко получал split brain. В другой раз при переключении мастера, на реплике не оказалось последних добавленных в БД данных.
До третьего эксперимента, как патрони будет работать с 2Тб базой просто не дошел.
Скорее всего у меня руки кривые, но проблема была в том, что у последующих эксплуатантов степень кривизны была неизвестна.
Между прочим, ускорить время на компьютере действительно можно через самый настоящий hack обработчика прерываний.
INT 08h (8) System Timer
This interrupt is a hardware interrupt (IRQ 0) activated by the system
timer 18.2 times per second (every 55 ms). The default handler does
the following:
þ Keeps a count of the number of timer ticks at memory location
0:46Ch (System Timer Counter--long integer). After 24 hours of
operation, a flag is set at memory location 0:470h to signal
this condition and the System Timer Counter (0:46Ch) is reset to
0.
þ Decrements the Diskette Drive Motor Off Counter at memory
location 0:440h if it is not 0. When this location reaches 0,
the diskette drive motor is turned off and the Diskette Drive
Motor Status byte at memory location 0:43Fh is updated to
reflect that the motor has been turned off.
þ Generates INT 1Ch.
þ For the PC Convertible, generates INT 4Ah if an alarm interrupt
occurs.
A long time ago решал учебную задачу на перехват управления этим обработчиком. Компьютер был под управлением Windows 95. И вот после очередного неудачного запуска программы, написанной на asm, обращаю внимание, что компьютер показывает мне неправильное время. Открываю настройку часов, и у меня отпадает челюсть, секундная стрелка натурально бежит, и делает круг, наверное, примерно секунд за 10!
За давностью лет уже не помню, с чем это связано. Что-то вроде после загрузки компьютера управление часами в ОС передаются этому обработчику, и тк он вызывается 18 раз в секунду, то внутри обработчика должен быть внутренний счетчик, чтобы добавлять реальную секунду только на 18 запуск счетчика. А тк я сломал обработчик, то он стал прибавлять целую секунду при каждом запуске. К сожалению повторить такое поведение больше не смог, а про записи экранов тогда можно было только мечтать.
>А какая разница, штатные там пределы или не штатные? Тут уже аварийная ситуация, поддержание обещанной спецификацией скорости обмена уже никого не волнует. А синхрометки с дисков никуда ведь не делись.
Действительно никакой разницы, что головки и управляющий софт, рассчитаны читать и записывать на штатной скорости в определенных отклонениях. И теперь вы предлагаете "заинженерить некий алгоритм дозаписи данных" в аварийной ситуации?
А вам инженеры ответят. Если хотите надежно писать, используйте флаг FUA. Наша задача обеспечить безопасность поверхности диска и головок в аварийной ситуации, а не безопасность ваших данных.
FUA When set to one forces the data to be written to the storage media before completion status is indicated. When cleared to zero the device may indicate completion status before the data is committed to the media.
>Можете навскидку привести хотя бы парочку устройств, выпущенных за последние лет 5, где сектор 512б? Хотел бы убедиться что такое еще существует на массовом рынке.
Начал шариться по первым попавшимся серверам, HDD-диски да 512/4096 Но вот есть SSD 512/512 почему и зачем?
Hidden text
=== START OF INFORMATION SECTION ===
Device Model: SAMSUNG MZ7WD480HMHP-00003
Firmware Version: DXV8003Q
User Capacity: 480 103 981 056 bytes [480 GB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
TRIM Command: Available, deterministic, zeroed
это китайская подделка
=== START OF INFORMATION SECTION ===
Model Family: Samsung based SSDs
Device Model: Samsung SSD 860 EVO 500GB
Serial Number: 2022102100219
Firmware Version: U0625A0
User Capacity: 500 107 862 016 bytes [500 GB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
Form Factor: 2.5 inches
TRIM Command: Available
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS-2 T13/2015-D revision 3
SATA Version is: SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Sat Jul 29 01:19:29 2023 MSK
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
это оригинал
=== START OF INFORMATION SECTION ===
Model Family: Samsung based SSDs
Device Model: Samsung SSD 870 QVO 4TB
Serial Number: S5STNF0T205912B
LU WWN Device Id: 5 002538 f4221d451
Firmware Version: SVQ02B6Q
User Capacity: 4 000 787 030 016 bytes [4,00 TB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
Form Factor: 2.5 inches
TRIM Command: Available, deterministic, zeroed
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS-4 T13/BSR INCITS 529 revision 5
SATA Version is: SATA 3.3, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Sat Jul 29 01:20:31 2023 MSK
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
Ну вот предположим, что пользователь редактирует документ, расположенный на флешке через обычный MS Word. Редактор при работе создает временный файл в каталоге с документом, и вот вдруг, мы уже там данные приложений храним.
Я в курсе про PWR_OK. Насколько я помню, этот сигнал использовался для проверки готовности к старте системы, и если его коротнуть на землю, то система мгновенна уходила в ребут.
Hidden text
В интернете кто-то не прав.
Давайте зафиксируем предмет спора.
Те вы утверждаете, что при потере сигнала PWR_OK материнская плата каким-то образом передает сигнал по какой-то шине подключенным устройствам, что-то вроде "я потеряла питание, вы там как-нибудь сами".
Нет. Вы просто не сталкивались с ситуацией, когда после некоторого обьема записи данных, скорость SSD резко падает до совсем неприличных значений, и скорость записи SSD становится хуже древних HDD.
Извините, но вы же сами себе противоречите: пишете про то, что требуются операции на работу с таблицой трансляции, и дефрагментации данных пользовательских секторов во внутренних блоках памяти. Но при этом "для SSD записать один байт не дороже HDD"
а можно ссылочку на такую команду, что она успевает передаться? Совершенно непонятно, кто успевает ее отправить и каким образом.
Я не спорю есть штатная команда, которая отправляется перед штатным выключением, но не в данном случае.
2) Винчестеры аварийно сбрасывают свои внутренние кэши на диск — энергии, запасённой коденсаторами блока питания, на это хватает.
Простите чьего блока питания? Китайского БП на 300 китайских ватт с высохшими конденсаторами? Внутри HDD блок питания условный, там просто стабилизаторы напряжения для рабочих напряжений электроники.
4) сбрасывают свои внутренние кэши на диск
кэши дисками не записываются при потере питания. Вам об этом даже в статье написали. Если хотите надежно записать данные на физический носитель, используйте при записи флаг SYNC, тогда данные сразу попадут на физическую ячейку памяти носителя.
Но некоторые носители при определенных условиях могут игнорировать этот флаг, и сразу рапортовать о том, что записали. Например, так делают SSD c конденсаторами. НО не все SSD имеют конденсаторы, и некоторые SSD без конденсаторов ведут себя, как будто имеют резервный запас энергии, те банально обманывают систему, и в случае сбоя потеряют данные.
Другой пример, есть RAID контроллеры с батарейкой. Некоторые думают, что это батарейка, для того чтобы диски успели записать данные. Так вот НЕТ. Эта батарейка для питания чипов памяти кэша контроллера. Данные из кеша будут записаны при следующем включении. И если питание не вернется через N-часов, то данные в кеше будут потеряны.
И вот кстати, именно RAID контроллеры с батарейкой при настройках по умолчании игнорируют флаг SYNC предполагая, что батарея заряжена и работает штатно. Пока внезапно не выяснится, что самопроверка контроллера не выявила, что батарея не сохраняет заявленное количество энергии.
5) мотор шпинделя переходит в режим генератора
а можно ссылочку? имхо городская легенда. Если мотор переключить в режим генератора, диски еще быстрее остановятся, а у нас как бы обратная задача - успеть записать данные в режиме, когда скорость дисков уже невозможно поддерживать в штатных пределах.
Из практики при выключении диска в момент записи, сектор успевается пометится как сбойный и увеличивается счетчик Current Pending Sector Count. При следующем чтении этого сектора, если все ок, то сектор возвращается в работу, а счетчик Pending уменьшается.
А какой взрыв мозга начинается, если задуматься над тем, а что будет если выключить электричество именно в момент перезаписи физического сектора на диске. А если это SSD, у которого размер сектора на самом деле не 512 и не 4096 байт...
У меня есть родственник, который очень сильно не верил во всю эту альтернативную медицину. И однажды решил проверить эту самую магнитотерапию, чтобы доказать другому родственнику, что это все самовнушение. Какого же было его удивление, когда прибору удалось снять или уменьшить боль. Одно из обьяснений почему же работает, быть может банальный прогрев каких-то внутренних тканей, но для этой версии там, кажется, частоты слишком низкие.
Если вы предполагаете, что получили рута, то только отключение машины от сети, и полная переустановка.
Пока вы там боролись со скриптами, скорее всего в систему уже поставили перекомпиленный ssh-server и все ваши пароли, если вы их использовали, уже отправились куда-надо. Еще говорят, что если подключиться к такой зараженной машине с пробросом ssh-ключа через -A, то и приватный ключ может утечь.
У вас root был получен, в данном случае самое правильное действие сжечь все.
Странно, что ни вы, ни ваш админ не знают этих базовых правил безопасности в 2023 году.
Далее.
>Собирает оттуда пути до приватных ключей пользователя и адреса, сохранённые в known_hosts.
Ваши разработчики же не хранят ключи на серверах? Да? (картинка со Скайуокером)
А еще если разработчики используют docker, то считайте, что у них есть есть root на сервере, потому что docker run -ti --rm -v /:/tmp bash bash
Неоднократно видел, как кто-то ставил какой-либо portainer на сервер, а потом там волшебным образом появлялся очередной контейнер с -v /:/tmp
Вы почему-то так же как и автор статьи не цитируете следующий пункт.
3) информация, полученная в результате декомпилирования, может использоваться лишь для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, не может передаваться иным лицам, за исключением случаев, когда это необходимо для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, а также не может использоваться для разработки программы для ЭВМ, по своему виду существенно схожей с декомпилируемой программой для ЭВМ, или для осуществления другого действия, нарушающего исключительное право на программу для ЭВМ.
И вот тут простор для трактовки огромен. Как мы видим тут есть признаки и распространения информации, и признаки разработки аналогичного функционала. Вот в этих нюансах тут можно начать судиться годами со всеми кассациями в вышестоящие суды.
В России хоть и заявлено не прецедентное право, но все равно нужно искать правоприменительную практику по этой статье. Именно для случая чтения чужих форматов данных.
Почти все продолжали сидеть на WinXP. Vista шла только с новыми ноутбуками, и народ пытался снести ее и поставить старую добрую хрюшку, и там начинались пляски с драйверами всяких карт-ридеров и сетевых карт.
Может что-то путаю, но возможно NetMeeting иногда не ставился как компонент, и его просто скопировал с флешки со своего ноутбука.
Олдскулы свело.
Год примерно 2002, звонили однокласниками друг другу через HyperTerminal, и в нем же и чатились, и обменивались файлами. Бесплатно, без интернета, без смс. Играли в игры, в которых была поддержка встроенного модема Warcraft, Starcraft.
Примерно в 2003 году узнали, что в windows можно создать сетевое подключение, которое будет не звонить через модем куда-либо, а просто ждать звонка.
Один участник настраивает подключение, которое ждет. А второй настраивает обычное подключение как через провайдера. Начали чатиться через dxdiag, в нем случайно нашли вкладку для проверки работы сетевого подключения. Потом переключились на netmeeting, и начали играть в игры, в которых была сетевая игра, но не было встроенной звонилки. Worms Armageddon...
Несколько одноклассников смогли поиграть в игру втроем! Два соседа кинули сетевой кабель через окно, а третий участник позвонил одному из них через modem.
Год 2005, появление знания, что в магазине "Бурый медведь" в Москве можно купить любой компьютерный разъем, и не только компьютерный. Или, например, переходник IDE 2,5-3,5.
Год, кажется, 2009, у меня появился ноутбук с wifi, у соседа был комп с wi-fi сетевой картой. Настроили Wi-Fi Ad-hoc соединение и чатились через NetMeeting...
Так легко,
1) останавливаем мастер
2) promote replica
3) забываем скопировать на старый мастер файлик standby.signal и запускаем его.
цепочки WAL разъехались на серверах.
Пару раз тестировал patroni. Легко получал split brain. В другой раз при переключении мастера, на реплике не оказалось последних добавленных в БД данных.
До третьего эксперимента, как патрони будет работать с 2Тб базой просто не дошел.
Скорее всего у меня руки кривые, но проблема была в том, что у последующих эксплуатантов степень кривизны была неизвестна.
Между прочим, ускорить время на компьютере действительно можно через самый настоящий hack обработчика прерываний.
A long time ago решал учебную задачу на перехват управления этим обработчиком. Компьютер был под управлением Windows 95. И вот после очередного неудачного запуска программы, написанной на asm, обращаю внимание, что компьютер показывает мне неправильное время. Открываю настройку часов, и у меня отпадает челюсть, секундная стрелка натурально бежит, и делает круг, наверное, примерно секунд за 10!
За давностью лет уже не помню, с чем это связано. Что-то вроде после загрузки компьютера управление часами в ОС передаются этому обработчику, и тк он вызывается 18 раз в секунду, то внутри обработчика должен быть внутренний счетчик, чтобы добавлять реальную секунду только на 18 запуск счетчика. А тк я сломал обработчик, то он стал прибавлять целую секунду при каждом запуске. К сожалению повторить такое поведение больше не смог, а про записи экранов тогда можно было только мечтать.
>А какая разница, штатные там пределы или не штатные? Тут уже аварийная ситуация, поддержание обещанной спецификацией скорости обмена уже никого не волнует. А синхрометки с дисков никуда ведь не делись.
Действительно никакой разницы, что головки и управляющий софт, рассчитаны читать и записывать на штатной скорости в определенных отклонениях.
И теперь вы предлагаете "заинженерить некий алгоритм дозаписи данных" в аварийной ситуации?
А вам инженеры ответят. Если хотите надежно писать, используйте флаг FUA. Наша задача обеспечить безопасность поверхности диска и головок в аварийной ситуации, а не безопасность ваших данных.
https://sata-io.org/system/files/specifications/SerialATA_Revision_3_1_Gold.pdf
Обычные дешевые потребительские SSD не содержат конденсаторов, достаточных для записи из кеша.
Если уж SSD не успевает записать данные из кеша, то HDD тем более не сможет.
>Вы совсем-совсем никаких несоответствий тут не видите? Точно?
Не вижу. Точно.
>Можете навскидку привести хотя бы парочку устройств, выпущенных за
последние лет 5, где сектор 512б? Хотел бы убедиться что такое еще
существует на массовом рынке.
Начал шариться по первым попавшимся серверам, HDD-диски да 512/4096
Но вот есть SSD 512/512 почему и зачем?
Hidden text
Ну вот предположим, что пользователь редактирует документ, расположенный на флешке через обычный MS Word. Редактор при работе создает временный файл в каталоге с документом, и вот вдруг, мы уже там данные приложений храним.
Пользовательский опыт, он такой.
>Внутренние кэши драйва — те, которые расположенвы на плате самого винчестера — насколько мне известно, таки записываются
насколько мне известно, НЕ записываются. Особенно если это обычные потребительские диски, а не диски уровня enterprise.
Смотрите, какой потрясающий пример.
https://www.ibm.com/support/pages/disable-cache-best-practice-prevent-cache-data-loss-during-unexpected-power-outage-50-gb-sata-18-inch-non-hot-swap-ssd-ibm-bladecenter-hs22v
SSD теряет данные из кэша при потере питания. И это не баг в прошивке, как может показаться на первый взгляд.
This firmware will change the default write cache setting from enable to
disable on the 50 GB 1.8-inch SATA Non Hot-Swap Solid State Drive.
В следующей версии просто по умолчанию будет отключен кеш. и все. И нет никаких конденсаторов.
Я в курсе про PWR_OK. Насколько я помню, этот сигнал использовался для проверки готовности к старте системы, и если его коротнуть на землю, то система мгновенна уходила в ребут.
Hidden text
В интернете кто-то не прав.
Давайте зафиксируем предмет спора.
Те вы утверждаете, что при потере сигнала PWR_OK материнская плата каким-то образом передает сигнал по какой-то шине подключенным устройствам, что-то вроде "я потеряла питание, вы там как-нибудь сами".
Нет. Вы просто не сталкивались с ситуацией, когда после некоторого обьема записи данных, скорость SSD резко падает до совсем неприличных значений, и скорость записи SSD становится хуже древних HDD.
Извините, но вы же сами себе противоречите: пишете про то, что требуются операции на работу с таблицой трансляции, и дефрагментации данных пользовательских секторов во внутренних блоках памяти. Но при этом "для SSD записать один байт не дороже HDD"
Это все городские легенды. (с)
1) команду "мы падаем, всем приготовиться"
а можно ссылочку на такую команду, что она успевает передаться? Совершенно непонятно, кто успевает ее отправить и каким образом.
Я не спорю есть штатная команда, которая отправляется перед штатным выключением, но не в данном случае.
2) Винчестеры аварийно сбрасывают свои внутренние кэши на диск — энергии, запасённой коденсаторами блока питания, на это хватает.
Простите чьего блока питания? Китайского БП на 300 китайских ватт с высохшими конденсаторами? Внутри HDD блок питания условный, там просто стабилизаторы напряжения для рабочих напряжений электроники.
4) сбрасывают свои внутренние кэши на диск
кэши дисками не записываются при потере питания. Вам об этом даже в статье написали. Если хотите надежно записать данные на физический носитель, используйте при записи флаг SYNC, тогда данные сразу попадут на физическую ячейку памяти носителя.
Но некоторые носители при определенных условиях могут игнорировать этот флаг, и сразу рапортовать о том, что записали. Например, так делают SSD c конденсаторами. НО не все SSD имеют конденсаторы, и некоторые SSD без конденсаторов ведут себя, как будто имеют резервный запас энергии, те банально обманывают систему, и в случае сбоя потеряют данные.
Другой пример, есть RAID контроллеры с батарейкой. Некоторые думают, что это батарейка, для того чтобы диски успели записать данные. Так вот НЕТ. Эта батарейка для питания чипов памяти кэша контроллера. Данные из кеша будут записаны при следующем включении. И если питание не вернется через N-часов, то данные в кеше будут потеряны.
И вот кстати, именно RAID контроллеры с батарейкой при настройках по умолчании игнорируют флаг SYNC предполагая, что батарея заряжена и работает штатно. Пока внезапно не выяснится, что самопроверка контроллера не выявила, что батарея не сохраняет заявленное количество энергии.
5) мотор шпинделя переходит в режим генератора
а можно ссылочку? имхо городская легенда. Если мотор переключить в режим генератора, диски еще быстрее остановятся, а у нас как бы обратная задача - успеть записать данные в режиме, когда скорость дисков уже невозможно поддерживать в штатных пределах.
Из практики при выключении диска в момент записи, сектор успевается пометится как сбойный и увеличивается счетчик Current Pending Sector Count. При следующем чтении этого сектора, если все ок, то сектор возвращается в работу, а счетчик Pending уменьшается.
А какой взрыв мозга начинается, если задуматься над тем, а что будет если выключить электричество именно в момент перезаписи физического сектора на диске.
А если это SSD, у которого размер сектора на самом деле не 512 и не 4096 байт...
У меня есть родственник, который очень сильно не верил во всю эту альтернативную медицину. И однажды решил проверить эту самую магнитотерапию, чтобы доказать другому родственнику, что это все самовнушение. Какого же было его удивление, когда прибору удалось снять или уменьшить боль. Одно из обьяснений почему же работает, быть может банальный прогрев каких-то внутренних тканей, но для этой версии там, кажется, частоты слишком низкие.
Уважение культурных традиций
Про Samsung QVO, просто оставлю это здесь
Картинко, как SSD стал медленнее древнего HDD
https://www.tomshardware.com/reviews/samsung-870-qvo-sata-ssd
Если вы предполагаете, что получили рута, то только отключение машины от сети, и полная переустановка.
Пока вы там боролись со скриптами, скорее всего в систему уже поставили перекомпиленный ssh-server и все ваши пароли, если вы их использовали, уже отправились куда-надо. Еще говорят, что если подключиться к такой зараженной машине с пробросом ssh-ключа через -A, то и приватный ключ может утечь.
У вас root был получен, в данном случае самое правильное действие сжечь все.
Странно, что ни вы, ни ваш админ не знают этих базовых правил безопасности в 2023 году.
Далее.
>Собирает оттуда пути до приватных ключей пользователя и адреса, сохранённые в known_hosts.
Ваши разработчики же не хранят ключи на серверах? Да? (картинка со Скайуокером)
А еще если разработчики используют docker, то считайте, что у них есть есть root на сервере, потому что docker run -ti --rm -v /:/tmp bash bash
Неоднократно видел, как кто-то ставил какой-либо portainer на сервер, а потом там волшебным образом появлялся очередной контейнер с -v /:/tmp
В отличие от MacBook Air, на клавиатуре ноутбука из статьи есть полноразмерные стрелки.
Утерянная технология древней цивилизации.
Вы почему-то так же как и автор статьи не цитируете следующий пункт.
3) информация, полученная в результате декомпилирования, может использоваться лишь для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, не может передаваться иным лицам, за исключением случаев, когда это необходимо для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, а также не может использоваться для разработки программы для ЭВМ, по своему виду существенно схожей с декомпилируемой программой для ЭВМ, или для осуществления другого действия, нарушающего исключительное право на программу для ЭВМ.
И вот тут простор для трактовки огромен. Как мы видим тут есть признаки и распространения информации, и признаки разработки аналогичного функционала. Вот в этих нюансах тут можно начать судиться годами со всеми кассациями в вышестоящие суды.
В России хоть и заявлено не прецедентное право, но все равно нужно искать правоприменительную практику по этой статье. Именно для случая чтения чужих форматов данных.