воскресенье, 26 февраля 2006 г.

Странности MacOS X

Под давлением обстоятельств (работа, знаете ли) вернулся к MacOS X. И понадобилось мне удалить два насыщенных каталога (много файлов, подкаталогов, подподкаталогов и опять файлы и так далее). Удалял из Midnight Commander'а (у меня на MacOS много гнутого софта установлено), удалял два каталого целиком, вместе с содержимым. Через некоторое время MC ругнулся, что не может удалить каталог, поскольку тот "не пуст". Такая ошибка сама по себе странна (тем более, что под Solaris или Linux я ее ни разу в таких случаях не наблюдал) и в данном примере вообще не должна возникать. Повторный запуск удаления (F8, F8 ;) помогает, но опять ненадолго.
Вывод я могу сделать только такой: при насыщенном потоке файловых операций со многими файлами возможна рассинхронизация файловых кешей, и, в данном случае, инода каталога не успевает обновиться одновременно с обновлением инод файлов (то есть, считается, что в каталоге файлы есть, но формально-то и уже нет --- были удалены); а это, в свою очередь, блокирует удаление каталога. Видимо, есть некий системный процесс (или поток? или даже много таковых, учитывая микроядерность этого добра), который не успевает делать свою работу (не то локи нужные, не то семафорчики не ставит, я уж тут не знаю...) и, фактически, является причиной сбоя. Кстати, повторяемость --- 100%.
Резюме: как нагруженный файл сервер, http-сервер для сайта с активным динамическим контентом MacOS X вряд ли можно использовать. Но зато --- модно. Нынче.

Комментариев нет:

Отправить комментарий

Спутник взлетает. Первая ступень отработала.

 И, кажется, неплохо: Посмотрим, что будет когда отработает вторая.