Как текстовый редактор управляет синхронизацией между памятью и диском? - PullRequest
0 голосов
/ 24 мая 2019

Я предполагаю, что рабочий процесс типичного текстового редактора -

open file
  |
  v
read file ===========> memeory
into memory               ^
  |                       ǁ
  v                       ǁ
user input ==============="

Затем, когда пользователь нажимает команду Save, что на самом деле происходит?Я предполагаю, что реализация различается в разных редакторах, но должно быть какое-то типичное поведение (или несколько типичных поведений на выбор).

Приложение редактора просто переопределяет файл с содержимым в памяти?Или он сначала изменяет память и диск, а затем записывает их постепенно (например, используя fseek)?

Существует ли какая-либо широко используемая библиотека для этого типа использования (читать текстовый файл и синхронизировать его с диском по требованию)?И в этом отношении я в настоящее время работаю над проектом nodejs, но сам язык не является проблемой, так как всего, на что можно сослаться, будет достаточно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...