1.10. Кэш
Кэш
Когда есть несколько процессов, которым понадобятся данные, буферизация позволяет процессу положить данные, и переходить дальше, продолжая работу, не ожидая завершения обработки данных вторым процессом, обеспечивая многозадачность. Пример буферизации – кэширование. ★ Кэш – промежуточный буфер с быстрым доступом к нему, как раз для кэша используется память с большей скоростью доступа. Набор данных в основной памяти, как и в кэше, состоит из набора записей, где у каждой записи есть индекс (номер, идентификатор, как пункт в таблице), и кэш использует ещё один идентификатор, называемый «тег», который содержит номер индекса из основной памяти. Причем, основной памятью мы называем оперативную память, а временной – кэш-память. Таким образом:
- есть хранилище (диск), основная память (ОЗУ) и временная память (буфер, кэш);
- основная память содержит индексы для каждой записи в наборе данных:
| Индекс основной памяти | Данные |
|---|---|
| 0 | Кот |
| 1 | Собака |
| 2 | Гусь |
- временная память содержит тег, который равень индексу из основной памяти:
| Индекс кэша | Тег (индекс основной памяти) | Данные |
|---|---|---|
| 0 | 2 | Гусь |
| 1 | 0 | Кот |
- кэш-память используется как дополнительный компонент процессоров, оперативной памяти, и многих других устройств. Таким образом, читая книгу по страницам, вам проще все страницы держать у себя на столе, чем бежать за каждой страницей в библиотеку. Так и работает буфер.

А чтение и запись?
★ Чтение (Read) – процесс получения данных из источника:
- файла на диске;
- оперативной памяти;
- сети (например, загрузка веб-страницы).
★ Запись (Write) – процесс сохранения данных в определенное место:
- в файл;
- в базу данных;
- на сервер.