Задать вопрос
@heavybrain

Как компьютер работает с файлами, открытыми в локальной сети?

Как компьютер работает с файлами открытыми в локальной сети? Например, если 10 человек откроют один файл Photoshop в PSD формате, который расположен на сервере. Во время работы с этим файлом он загружается в оперативную память на сервере или в память на компьютере пользователя? Ресурсы какого ПК используются в этот момент? Так же во время изменения файла, например 10 человек одновременно рисуют в этом файле, работает ли при этом жесткий диск? Или все происходит в оперативной памяти а жесткий диск работает только во время сохранения?
  • Вопрос задан
  • 190 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 3
@Drno
Если мы про SMB - то
Файл скачивает на ПК, открывается в проге
Файл изменяется, сохраняется на ПК
Файл копируется обратно в сетевую папку, заменяя собой лежащий там файл

Для того чтобы не перезаписать чужое, файл блокируется на изменения если его уже кто то открыл. Вы не сможете с 2х разных ПК открыть на редактирование 1 файл. Первый откроет с полными правами, последующие ПК - только просмотр

Ресурсы сервера используются только для передачи файла, поэтому и можно разворачивать файлопомойку чуть ли не на "калькуляторе"
Ответ написан
CityCat4
@CityCat4
//COPY01 EXEC PGM=IEBGENER
Например, если 10 человек откроют один файл Photoshop в PSD формате, который расположен на сервере

Нет, сынок, это фантастика (С) Реклама
Откроет его первый открывший. Все остальные либо получат оповещение "Файл уже открыт для записи юзером VASYAN, открыть копию?" либо просто не смогут открыть - в зависимости от интеллекта программы.
Одновременная правка файла десятком людей возможна только в том случае, когда файл поддерживает такую работу. Фото#оп к таким не относится от слова совсем. Даже если десяток челов наоткрывает десяток копий - они все поперезапишут работу друг друга :)
Ответ написан
@rPman
Как компьютер работает с файлами открытыми в локальной сети?
С файлами (этот стандарт вытекает из posix, который реализуют так или иначе, начиная с локальных файлов) помимо операций чтения и записи есть операция блокировки, когда у файла как бы остается пометка, как именно разрешается открывать данный файл одновременно другими программами (это определяет экземпляр программы, первой открывшей файл), там есть варианты - все запрещено, разрешается только читать, и разрешается читать и писать, в последнем случае никаких транзакций нет, кто последний записал - те изменения и будут сохранены. Никто из участников не получает уведомлений об изменениях и не может понять, какие они.

Так же во время изменения файла, например 10 человек одновременно рисуют в этом файле
Это наисложнейший функционал, разработка которого потребует заметных усилий и его в конечном счете реализуют очень мало компаний, майкрософт со своими офисными документами или тот же гугл, много заметных крупных проектов похвастаться тем же?

Рекомендую частное (не красивое) решение - одновременное подключение к рабочему столу с помощью vnc/anydesk/teamviewer (у последних двух есть возможность автоматической блокировки удаленного управления, если мышью кто то управляет, показывает одновременно все мыши с никнеймами, плюс добавить сюда голосовой чат.

В этом случае не получится редактировать одновременно и тем более разные части документа, но работа в режиме контролер-редактор очень даже возможна.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы