Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 9
На сайте нет зарегистрированных пользователей

Пользователей: 13,372
новичок: vausoz
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Движение шарика в эллиптическои параболоиде на Delphi [OpenGL] + Блок схемы
Моделирование работы крупного аэропорта на GPSS + Пояснительная записка
Лабораторная работа по динамическим спискам на Turbo Pascal (удаление ду...

Удаление открытых файлов
Если процесс UNIX удаляет файл, открытый другим процессом (или тем же процессом повторно), ядро просто помечает такой файл как удаленный и убирает его вхождение в родительском каталоге.



Хотя другие процессы и не могут больше открыть такой файл, процессы, открывшие его, могут продолжать им пользоваться.


Также может иметь смысл заглянуть на сайт samosvalanapa.ru, ведь именно там можно узнать много нового на тему http://samosvalanapa.ru/. Тема купить песок может показаться на первый взгляд незначительной и даже не тематичной. Но стоит посетить сайт samosvalanapa.ru, и тема купить песок начинает проявлять себя с неожиданной стороны и вызывает всё больший интерес. Дело в том, что тема купить песок очень подробно представлена на сайте samosvalanapa.ru. Трудно найти более детальное освещение темы купить песок чем это сделано на сайте samosvalanapa.ru. Спасибо сайту samosvalanapa.ru за такое доскональное преподнесение темы купить песок.


Только после закрытия файла последним из процессов ядро системы физически удаляет такой файл. Описанное средство применяется некоторыми утилитами для временных файлов.



Для системы NFS это представляет определенную проблему, так как сервер не обладает информацией об открытых файлах. Для того чтобы обойти создавшуюся трудность, необходимо изменить код клиента NFS, потому что именно клиент не знает об открытых файлах. Когда клиент обнаруживает попытку удаления открытого файла, он автоматически подменяет вызванную операцию на RENAME, давая файлу новое имя и место на диске. Обычно клиент использует необычные и длинные имена, которые скорее всего не будут конфликтовать с уже существующими. После закрытия файла последним процессом клиент создает запрос REMOVE для его удаления.
Описанная методика хороша, если процесс, открывающий файл, выполняется на той же машине, что и удаляющий его. Однако не существует защиты против удаления файла процессом другого клиента (или сервера). Если удаление произойдет, пользователь получит неожиданное сообщение об ошибке («устаревший дескриптор файла») при последующих попытках чтения или записи в этот файл. Еще одна неувязка может возникнуть в случае сбоя в работе клиента, произошедшего после операции RENAME и до REMOVE: на сервере останется лишний файл («мусор»),
Чтение и запись
В системах UNIX системные вызовы read и write блокируют vnode файла перед началом ввода-вывода. Такой подход делает операции чтения и записи неделимыми. Если по отношению к одному и тому же файлу одновременно будет вызвана функция write, ядро выполнит их последовательно. Вторая операция чтения начнет работу только после завершения первой. Точно так же система гарантирует отсутствие изменений в файле при его чтении. Обрабатывает блокировку локальный зависимый от файловой системы код в контексте одной операции vop_rdwr.
В случае файла NFS клиентский код при одновременной попытке доступа к файлу двух процессов на локальной машине делает эти операции последовательными. Однако если это окажутся процессы, запущенные на разных машинах, они будут пытаться получить доступ к серверу независимо друг от друга. Операция read или write может потребовать нескольких запросов RPC (максимальный размер сообщения RPC равен 8 192 байт), при том что сервер, не хранящий информацию о состояниях, не поддерживает блокировку между этими запросами.


Система NFS не предлагает защиты в случае совмещения запросов ввода-вывода.
Взаимодействующие процессы могут использовать для защиты файлов или их частей протокол сетевого администратора блокировки (NLM). Этот протокол предлагает только рекомендательную блокировку. Отсюда следует, что процесс всегда может обойти ее и получить доступ к файлу, если он этого захочет.
Опубликовал katy July 12 2015 06:56:26 · 0 Комментариев · 3727 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Delphi 2005. Разр...
3D Тетрис [Исходн...
Архив значков
Защита от спама ...
GPSS World Studen...
Billenium Effects...
Mass Photo Upload
Иллюстрированный ...
Отключение и вклю...
Клавиатурный трен...
Strawberry Prolog...
Blobs [Исходник н...
3d Tank [Исходник...
Измерение тактово...
Delphi 7: Для про...
PHP 5 в подлинник...
Стелтинг Стивен, ...
Анимированное поя...
Trojan [Исходник ...
Голосование для ...

Топ загрузок
Приложение Клие... 100793
Delphi 7 Enterp... 98016
Converter AMR<-... 20298
GPSS World Stud... 17059
Borland C++Buil... 14238
Borland Delphi ... 10373
Turbo Pascal fo... 7390
Калькулятор [Ис... 6080
Visual Studio 2... 5228
Microsoft SQL S... 3674
Случайные статьи
Где мы находимся?
реализация функции...
Удивительное казин...
В меню DVD выберит...
1.1. Набросок решения
Распределение конц...
Query Builder.
Error In Integer c...
Элементы управлени...
Приведение типов
Поток с использова...
«Parimatch»: ставк...
использовании или ...
Инструктор
Адрес блога: дирек...
Системы пакетной т...
Программирование: ...
Конструктор
Унифицированный вх...
Команда DIV
Полноценный отдых ...
Радиостанции
Описание GPSS-прог...
Относительно небол...
Линейное рехеширов...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?