Artisan

Artisan
Рейтинг
377
Регистрация
04.03.2005
Пишу программы для вычислительных машин, от драйверов устройств, до сложных систем для работы с большим количеством знаний. Умею бережно использовать железо, и другие ресурсы.
amso:
Artisan:
Прочитайте еще раз выше про ext3 файловую
систему и контрольные суммы в журнале, ...

Только после того, как начнете "детально разбирать проблемы, отличать одно от второго и не делать вредные обобщения"

Что и требовалось доказать,

пингвины не знают свою систему,

и совсем не хотят учиться, ...

amso:
тем, хотя бы, что прерывания есть, приоритеты, ioctl рутина и т.п. Драйверы у нас чем занимаются? Да, такой возможности может не быть. Но ошибочно утверждать, что ее нет вообще.

И много пользы Вам принесут драйверы

если хитрое железо их обманывает?

amso:
Ваше "как обычно" я оценил в истории с reiserfs.

И что Вы оценили? Что ReiserFS это B+ дерево и если испортится корень то пропадет все полностью? Или то что ReiserFS не отдает тип файла при чтении каталога? А уточнить всегда полезно для освежения знаний и лучшего понимания мира.

amso:
Все что вы описали, можно рассматривать на
отдельных уровнях работы, а не в куче в одном абзаце.

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

amso:
А для компенсации недостатков writeback cache еще пока никто не усложняет фс. Для этого делают battaried writeback cache.

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

amso:
И не надо путать writeback cache в диске и в контроллере.

Что пнем об сову, что совой об пень,

все равно сове будет больно, ...

amso:
А фс усложняют для других случаев
и еще раз - не надо все валить в кучу.

Прочитайте еще раз выше про ext3 файловую

систему и контрольные суммы в журнале, ...

kostich:
лан... valgrind спасет мир!
ps. но когда его в нормально виде под фряху допортируют?
или я давно его не ставил?

Не всегда есть время ждать спасателя, ...

amso:
а для чего вообще операционная система?

Повторю другими словами с пояснением, какое

отношение имеет операционная система к порядку

действий железа на который она не может влиять?

http://sr5tech.com/write_back_cache_experiments.htm
With write back caching turned on by default, an ATA drive can signal the completion of writes more quickly than if it had to wait until the data was completely transferred to the disk media. However, in the even of a failure (such as power failure, hardware failure, etc.), data corruption may happen if the data on the disk cache has not been flushed out to the disk media. Another problem with ATA write back cache is that data may be flushed out to disks out-of-order, i.e., if block A arrives to cache before block B, block B may be flushed out to disk before block A. While turning the write back cache off for ATA disks will avoid data corruption problem, performance will degrade. In addition, the drives will be used in a less reliable mode, since ATA vendors do not certify the recovery of drives that deactivate write-back caching.

А усложнять файловую систему для того

чтобы избежать повреждения от хитростей

железа это отдельная печальная тема, ...

amso:
Свалили в одну кучу все - работу в юзерспейсе, sync и fsync, работу fs, которых много и все работают по-разному, а некоторые еще и внутри себя позволяют разные принципы работы с журналами, довалили i/o планировщики, которых тоже несколько и с разными политиками, и еще да, давайте довалим туда работу firmware контроллера, если он у нас есть.

По делу есть что написать? Или пингвины

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

amso:
Если бы мы спорили о ЯП, мне бы пришлось выслушивать аргументы о том, что php/perl/python/прочие языки с динамическим выделением памяти лучше си, там меньше шансов наступить на мину/острелить себе ногу.

C тоже не идеал, декларации типа EQUIVALENCE в FORTRAN отсутствуют, родные non-preemptive со-программы типа как в MODULA-2 отсутствуют, поэтому приходится дорабатывать напильником, ...

amso:
Это просто анекдот

Вот такие они, дикие пингвины на воле, ...

amso:
Вы это тоже из практики работы с MS-DOS'ом взяли?
В юниксах этот момент куда сложнее.

А какое отношение имеет операционная

система к порядку действий железа?

amso:
Резюмируем попроще - я считаю, что достаточно просто sync'ить данные, когда есть в этом необходимость, сохраняя производительность. Вы, как я понял, хотите неотложенную запись в любом случае, то есть перенесли проблему из юзерспейса в кернелспейс.

Я хочу чтобы операционная система и железо писали на носитель в том порядке в котором я запрашиваю запись, этого вполне достаточно для целостности данных, по умолчанию у FreeBSD такое пожелание выполняется для метаданных, а запись в обычные файлы выполняется асинхронно для ускорения. А если делать sync но железо будет менять порядок записи на носитель, то целостность данных в общем случае может нарушиться например при внезапной остановке железа. Кстати если sync блокирует задачу до своего полного выполнения, то такие действия не годятся для изделий которые должны быстро отвечать на запросы, а если sync не блокирует задачу до своего полного выполнения, то задача не может быть уверена что целостность данных обеспечена.

amso:
Это и называется - отстрелить себе ногу.

Это называется футбол на минном поле, ...

amso:
А код открыт, куда уж больше документации.

Не всегда есть время играть в сапера, ...

amso:
SLES это коробка, а не "ядро у пингвинов".

Объясняю что значит на практике в ядре по умолчанию. Не всегда получается выбрать желаемое, а часто трудящиеся не знают что выбрать. Заказал я однажды VPS сервер, выбрал Slackware пингвина и ext3 файловую систему, а хостер поставил Ubuntu пингвина и ReiserFS файловую систему, потому что такое сочетание выбирает большинство их пользователей.

amso:
кернел 2.4.15, в котором появился ext3.

У ext3 файловой системы тоже не все идеально,

хотя она журнальная и считается надежной.

http://en.wikipedia.org/wiki/Ext3

Only metadata is journaled; file contents are not, but it's guaranteed that file contents are written to disk before associated metadata is marked as committed in the journal. This is the default on many Linux distributions. If there is a power outage or kernel panic while a file is being written or appended to, the journal will indicate the new file or appended data has not been "committed", so it will be purged by the cleanup process. (This appends and new files have the same level of integrity protection as the "journaled" level.) However, files being overwritten can be corrupted because the original version of the file is not stored. Thus it's possible to end up with a file in an intermediate state between new and old, without enough information to restore either one or the other (the new data never made it to disk completely, and the old data is not stored anywhere). Even worse, the intermediate state might intersperse old and new data, because the order of the write is left up to the disk's hardware.

Ext3 does not do checksumming when writing to the journal. If barrier=1 is not enabled as a mount option (in /etc/fstab), and if the hardware is doing out-of-order write caching, one runs the risk of severe filesystem corruption during a crash.[13][14] (This option is not enabled by default on almost all popular Linux distributions, and thus most distributions are at risk.)
amso:
Вы еще начните для комплекта утверждать, что контроллеры без write back cache лучше, потому что без него меньше шансов потерять данные.

В правильном железе порядок записи на носитель сохраняет порядок запросов на запись, то есть кэширование записи на носитель не влияет на целостность данных. Ошибки возникают только когда сам порядок запросов на запись позволяет нарушить целостность данных, что получается при асинхронном режиме согласно определению. А про неправильное железо и ext3 файловую систему уже написано выше, выгоды от хитростей в железе исчезают потому что приходится усложнять файловую систему.

amso:
Вопрос о пионерии остается в силе. Теперь уже в контексте - линукс хуже, потому что там больше шансов отстрелить себе ногу.

Там больше шансов наступить на скрытые грабли,

потому что пингвины хуже документированы, ...

amso:
Та вы что, столько нового узнаю сегодня :) и где он по умолчанию?
Или включена в коробку - уже по умолчанию?
http://en.wikipedia.org/wiki/ReiserFS
Introduced in version 2.4.1 of the Linux kernel, it was the first journaling file system to be included in the standard kernel. ReiserFS is the default file system on the Elive, Xandros, Yoper, Linspire, GoboLinux and Kurumin Linux[citation needed] Linux distributions. ReiserFS was the default file system in Novell's SUSE Linux Enterprise until Novell decided to move to ext3 on October 12, 2006[1] for future releases.

Не в коробку, а в ядро у пингвинов, ...

amso:
В freebsd нет дискового кэширования? Или Вы принудительно свои fs с -o sync монтируете? Тогда снимаю шляпу перед Вашим стремлением к стабильности в ущерб эффективности. Неужели в freebsd нет вызовов sync()/fsync() и там единственный способ сбрасывать дисковые кэши - это их не использовать?

Кэширование есть но асинхронное по умолчанию выключено, ...

http://people.freebsd.org/~murray/bsd_flier.html

FreeBSD uses the UFS (Unix File System), which is a little more complex than Linux's ext2. It offers a better way to insure filesystem data integrity, mainly with the "sofupdates" option. This option decreases synchronous I/O and increases asynchronous I/O because writes to a UFS filesystem aren't synced on a sector basis but according to the filesystem structure. This ensures that the filesystem is always coherent between two updates.

The Linux ext2 filesystem gets its performance from having an asynchronous mount. You can mount FreeBSD UFS filesystems as asynchronous but this is very dangerous and no seasoned Unix admin would do this. It's amazing that Linux is designed this way by default. Often a hard carsh permanently damages a mount. FreeBSD or Solaris can sustain a very hard crash with only minor data loss, and the filesystem will be remountable with few problems.

Yahoo! News / $1.2B B-2 stealth bomber crashes in Guam

HAGATNA, Guam - A B-2 stealth bomber plunged to the ground shortly after taking off from an air base in Guam on Saturday, the first time one crashed, but both pilots ejected safely, Air Force officials said.

The aircraft was taking off with three others on their last flight out of Guam after a four-month deployment, part of a continuous U.S. bomber presence in the western Pacific. After the crash, the other three bombers were being kept on Guam, said Maj. Eric Hilliard at Hickham Air Force Base in Hawaii.

At least one B-2 bomber had taken off safely from Andersen Air Force Base but was brought back when another aircraft plunged to the ground.

There were no injuries on the ground or damage to buildings, and no munitions were on board. Each B-2 bomber costs about $1.2 billion to build.

Thick, black smoke could be seen billowing from the wreckage at Andersen, said Jeanne Ward, a resident in the northern village of Yigo who was on the base visiting her husband.

Ward said she didn't witness the crash but noticed a rising plume of smoke behind the base's air control tower.

She said crowds began to gather as emergency vehicles arrived. "Everybody was on their cell phones, and the first thing everyone wanted to know was did the pilots make it out in time," she said.

The Air Force, without identifying the pilots, said one was medically evaluated and released, and the other was in stable condition at Guam Naval Hospital.

A board of officers will investigate what caused the bat-like aircraft to crash at 10:30 a.m., shortly after taking off from a runway. It was the first crash of a B-2 bomber, said Capt. Sheila Johnston, a spokeswoman for Air Combat Command at Langley Air Force Base in Virginia.

All 21 stealth bombers are based at Whiteman Air Force Base in Missouri, but the Air Force has been rotating several of them through Guam since 2004, along with B-1 and B-52 bombers.

The rotations are designed to boost the U.S. security presence in the Asia-Pacific region while other U.S. forces diverted to fight in the Middle East.

The B-2 was first publicly displayed in 1988 and took its first flight a year later. The first bomber was delivered to Whiteman in 1993.

The bombers on Guam were scheduled to return to Missouri now that six B-52s from the 96th Bomb Wing at Barksdale Air Force Base, La., have arrived to replace them.

The distinctive B-2 is described as a "multi-role bomber" that blends stealth technology with a highly efficient aerodynamic design. It is able to deliver large payloads at great range and has been used in combat over Kosovo, Afghanistan and Iraq.

The accident occurred 11 days after a Navy plane crashed into the ocean about 20 miles northeast of Guam's Ritidian Point. Four aircrew members ejected from the EA-6B Prowler electronic warfare aircraft and were rescued by helicopter.

Guam is a U.S. territory 3,700 miles southwest of Hawaii.
DJ_AlieN:
Универсально лучшей машины не существует, есть мерседес, есть лексус, есть бентли. Каждому своя ОС в качестве сервера: одним linux, другим фря, третим sun.

Ключевая фраза здесь в качестве сервера,

то есть согласно пригодности к этой задаче

и надо оценивать систему в этой теме, ...

amso:
Или хотите предложить таблицу указателей на блоки FS размещать в оперативке, как в случае с FAT, и ощутить все прелести такого подхода на многотерабайтной фс с миллионами файлов?

Кстати о размещении данных файловой системы в оперативной памяти, для комплекта можно еще вспомнить монтирование Linux файловых систем по умолчанию в асинхронном режиме, так чтобы информация о файловой системе кэшировалась в памяти и редко записывалась на внешний носитель, что при внезапной остановке операционной системы может привести к таким повреждениям файловой системы которые починить не получится.

DJ_AlieN:
Господа, по-моему и так явно что Вы друг другу не докажете собственную правоту. Вашу бы энергию, да в мирное русло!

Согласно голосованию FreeBSD ведет в счете, ...

Всего: 5931