Перейти к основному содержимому

Базовые операции с данными — итоги

Всем

Кратко — что стоит унести из раздела "Базовые операции с данными". Если пункт кажется туманным — откройте указанную главу или оглавление.


FAQ — Часто задаваемые вопросы

Типичные ситуации с файлами, буферами и кэшем. Определения для зачёта — в чек-листе.

Вопрос. Печатаю на русском, а на экране английские буквы — клавиатура сломалась?

Ответ. USB передаёт код клавиши (scan code); ОС сопоставляет раскладку. Проверьте переключатель языка (Win+Space) и индикатор в трее. Подробнее здесь — глава 1.

Вопрос. Нажал "Сохранить", выключил ПК — часть правок пропала.

Ответ. Запись часто идёт через буфер page cache; данные попадают на диск с задержкой. Нормальное завершение ОС сбрасывает буферы; жёсткое отключение — риск потери. Подробнее здесь — глава 2.

Вопрос. Двойной щелчок по файлу — он сразу "в памяти"?

Ответ. ОС запускает программу, связанную с расширением; приложение само читает байты с диска. Подробнее здесь — глава 1, глава 2.

Вопрос. Перетащил файл с диска D: на C: — почему копировался минуту, а не "мгновенно"?

Ответ. Между разными накопителями "перемещение" — это копирование байтов + удаление источника, а не смена имени в одной ФС. Подробнее здесь — глава 2, глава 4.

Вопрос. "Вырезал" файл (Ctrl+X), вставка сорвалась — файл пропал?

Ответ. Источник часто остаётся, пока вставка не завершилась; буфер обмена — промежуточное хранилище, не мгновенный перенос. Подробнее здесь — глава 4.

Вопрос. Shift+Delete — данные стёрты навсегда?

Ответ. Это логическое удаление без корзины; секторы на диске могут быть восстановлены, пока их не перезаписали. Для секретов нужны отдельные методы затирания. Подробнее здесь — глава 4.

Вопрос. Сайт после обновления "сломанный", у соседа нормальный — кто виноват?

Ответ. Часто кэш браузера отдаёт старый CSS/JS. Hard refresh (Ctrl+F5) или очистка кэша для сайта. Подробнее здесь — глава 3.

Вопрос. Очистил "кэш DNS" — интернет стал быстрее. Магия?

Ответ. Кэш хранил устаревшую запись IP для домена; после сброса резолвер запросил свежий адрес. Подробнее здесь — глава 3.

Вопрос. Кэш процессора и "кэш" в браузере — одно и то же?

Ответ. Общая идея — быстрая копия для повторного доступа; L1–L3 у CPU, page cache у ОС, HTTP-кэш у браузера — разные уровни и политики. Подробнее здесь — глава 3.

Вопрос. Скрипт из другой папки не находит файл по относительному пути.

Ответ. Относительный путь считается от текущей рабочей директории (cwd), а не от места скрипта. Запускайте из нужной папки или используйте абсолютный путь. Подробнее здесь — глава 2.

Вопрос. В терминале read(2) — это всегда 2 байта?

Ответ. 2 в примере — аргумент "сколько байт запросить", не фиксированный размер чтения. Зависит от API и доступных данных в буфере. Подробнее здесь — глава 2.

Вопрос. Удалил строку в базе данных — почему нет "корзины" как в Windows?

Ответ. СУБД использует транзакции, soft delete или бэкапы, а не OS Recycle Bin. Восстановление — из журнала или резервной копии. Подробнее здесь — глава 4.

Вопрос. Скопировал ярлык на рабочем столе — это копия файла?

Ответ. Ярлык — ссылка на объект; копируется указатель, а не байты документа. Подробнее здесь — глава 4.

Вопрос. "Create" в CRUD — это только "создать новый файл"?

Ответ. Create — любая операция записи новой сущности: строка в БД, новая запись в API, файл на диске. Read/Update/Delete — остальные три буквы. Подробнее здесь — глава 4.

Вопрос. stdin и клавиатура — одно и то же для программы?

Ответ. stdin — абстрактный поток ввода; по умолчанию с клавиатуры, но может быть файл или pipe (program < input.txt). Подробнее здесь — глава 1.

Вопрос. Диск "100% занят" в диспетчере — это только мои файлы?

Ответ. Нагрузка диска — очередь операций I/O (чтение/запись, swap, индексация); фоновые службы и антивирус тоже дают проценты. Подробнее здесь — глава 1, глава 2.

Вопрос. Hit и miss в кэше — что это на пальцах?

Ответ. Hit — нужные данные уже в кэше (быстро); miss — пришлось идти к медленному источнику (диск, сеть). Подробнее здесь — глава 3.

Вопрос. LRU и LFU — зачем знать политики вытеснения?

Ответ. Когда кэш переполнен, ОС решает, какую строку выкинуть: давно не использовали (LRU) или редко (LFU). Объясняет "странное" повторное торможение после большой нагрузки. Подробнее здесь — глава 3.

Вопрос. Путь C:\Users\...\file.txt — с чего начинается дерево папок?

Ответ. С корня тома (C:\); дальше вложенные каталоги. Unix — от /. Относительный путь — от текущей папки. Подробнее здесь — глава 2.

Вопрос. Сортировка по дате в проводнике и фильтр "*.pdf" — разные операции?

Ответ. Сортировка меняет порядок отображения без удаления; фильтр/поиск по маске отбирает подмножество файлов. Подробнее здесь — глава 2.

Вопрос. Буфер обмена и page cache — путаница в терминах.

Ответ. Clipboard — между приложениями для Ctrl+V; page cache — внутри ОС для ускорения чтения файлов с диска. Подробнее здесь — глава 3, глава 4.

Вопрос. Программа "зависла" при записи большого файла — диск мёртв?

Ответ. Возможна синхронная запись или flush большого объёма; UI ждёт завершения I/O. Проверьте активность диска и свободное место. Подробнее здесь — глава 2.

Вопрос. DMA — зачем процессор "отдыхает" при копировании с USB?

Ответ. Direct Memory Access позволяет устройству писать в RAM без участия CPU в каждом байте — меньше нагрузка и выше скорость. Подробнее здесь — глава 1.

Вопрос. Async I/O в Node.js — это "многопоточность"?

Ответ. Часто это неблокирующие вызовы и event loop; диск и сеть обрабатываются без остановки всего процесса на одном запросе. Подробнее здесь — глава 1.

Вопрос. Копировал папку с Git — почему .git тоже скопировался?

Ответ. Операция Read+Write на уровне ФС копирует все байты и метаданные, включая скрытые каталоги; для "чистой" копии без истории — git clone или архив без служебных папок. Подробнее здесь — глава 2, глава 4.

Вопрос. "Очистить кэш" в настройках телефона — удалятся мои фото?

Ответ. Обычно сбрасываются временные копии приложений, а не пользовательские файлы в галерее; читайте подпись диалога. Подробнее здесь — глава 3.

Вопрос. Update в CRUD и "Сохранить" в Word — одна идея?

Ответ. Да: изменить существующие данные на носителе (перезапись байтов или строки в БД). Create — новый объект; Delete — пометить или стереть. Подробнее здесь — глава 4.

Вопрос. Что такое CRUD простыми словами?

Ответ. Create, Read, Update, Delete — четыре базовые операции с данными. В проводнике: создать файл, открыть, сохранить, удалить. В БД и API — тот же каркас. Подробнее здесь — глава 4.

Вопрос. Горячие клавиши Ctrl+C, Ctrl+V, Ctrl+X — что делают?

Ответ. Ctrl+C — копировать в буфер; Ctrl+V — вставить; Ctrl+X — вырезать (копия + удаление после вставки). Delete — удалить; Shift+Delete — минуя корзину. Подробнее здесь — глава 4.

Вопрос. Что такое буфер обмена (clipboard)?

Ответ. Временное хранилище ОС для копирования между программами. Отдельно от кэша диска и page cache. Подробнее здесь — глава 4.

Вопрос. Чем копирование файла отличается от перемещения?

Ответ. На одном диске перемещение часто меняет только запись в каталоге; между дисками — полное копирование байтов и удаление источника. Подробнее здесь — глава 2, глава 4.

Вопрос. Можно ли восстановить удалённый файл из корзины?

Ответ. Да, пока файл в корзине — восстановление одним кликом. После Shift+Delete или очистки корзины — шанс есть через утилиты, пока секторы не перезаписаны. Подробнее здесь — глава 4.

Вопрос. Что такое кэш браузера и зачем его чистить?

Ответ. Браузер хранит копии CSS, JS и картинок для быстрой повторной загрузки. Очистка помогает при "старом" виде сайта после обновления. Подробнее здесь — глава 3.

Вопрос. Что такое stdin и stdout?

Ответ. Стандартный ввод и вывод процесса в терминале: stdin — обычно клавиатура; stdout — текст в консоль. Можно перенаправить в файл или pipe. Подробнее здесь — глава 1, Терминал.

Вопрос. Что такое ввод-вывод (I/O) в компьютере?

Ответ. Обмен данными с устройствами: клавиатура, диск, сеть, USB. Программа читает и пишет байты через ОС. Подробнее здесь — глава 1.

Вопрос. Что такое page cache в операционной системе?

Ответ. ОС держит в RAM копии недавно читанных блоков файлов, чтобы не ходить на диск каждый раз. Отдельно от кэша CPU. Подробнее здесь — глава 2, глава 3.

Вопрос. Почему файл не сразу попадает на диск после Save?

Ответ. Запись часто буферизуется в page cache; на диск сбрасывается позже (flush). При сбое питания несохранённое в буфере может потеряться. Подробнее здесь — глава 2.

Вопрос. Что такое offset (позиция) в файле?

Ответ. Номер байта, с которого начнётся следующее чтение или запись. Seek/перемотка меняет offset. Подробнее здесь — глава 2.

Вопрос. Чем логическое удаление отличается от физического?

Ответ. Логическое — файл помечен удалённым (корзина, free list), байты на диске ещё есть. Физическое — секторы перезаписаны или затёрты. Подробнее здесь — глава 4.

Вопрос. Как искать файлы по расширению "*.pdf" в Windows?

Ответ. В проводнике — поле поиска или маска "*.pdf" в нужной папке; в PowerShell — Get-ChildItem -Filter "*.pdf". Подробнее здесь — глава 2.

Вопрос. Что такое корневой каталог (C:, /)?

Ответ. Верхний уровень дерева папок на томе. Путь от корня — абсолютный; от текущей папки — относительный. Подробнее здесь — глава 2.

Вопрос. Что такое hit и miss в кэше?

Ответ. Hit — данные найдены в кэше (быстро); miss — пришлось читать с медленного источника. Подробнее здесь — глава 3.

Вопрос. Что такое LRU и LFU в кэшировании?

Ответ. Политики вытеснения: LRU — удалить давно не использованное; LFU — редко используемое. Подробнее здесь — глава 3.

Вопрос. Чем сортировка файлов отличается от фильтрации?

Ответ. Сортировка меняет порядок списка; фильтр/поиск — показывает только подходящие имена или типы. Подробнее здесь — глава 2.

Вопрос. Что такое DMA при копировании с флешки?

Ответ. Direct Memory Access — устройство пишет в RAM без участия CPU в каждом байте, ускоряя передачу. Подробнее здесь — глава 1.

Вопрос. Что такое буферизация при чтении файла?

Ответ. Чтение блоками в память вместо байт за байтом — меньше обращений к диску. Делает ОС и программы автоматически. Подробнее здесь — глава 2.

Вопрос. Безопасно ли очищать кэш Windows?

Ответ. Обычно да: удаляются временные копии, не ваши документы. Первый запуск программ после очистки может быть чуть медленнее. Подробнее здесь — глава 3.

Вопрос. Что такое file descriptor (fd) в Linux?

Ответ. Числовой дескриптор открытого файла или сокета в процессе; отдельно от позиции чтения (offset). Подробнее здесь — глава 2, Терминал.

Вопрос. Чем аппаратный ввод-вывод отличается от stdin/stdout?

Ответ. Аппаратный — физические устройства (клавиатура, диск); stdin/stdout — абстракция потоков для программы, которую можно перенаправить. Подробнее здесь — глава 1.


Что запомнить

Операции с данными

CRUD (Create, Read, Update, Delete) — каркас любой системы хранения. В интерфейсе те же идеи — создать файл, открыть, сохранить изменения, удалить; плюс копирование и перемещение (чтение + запись + смена метаданных).


Уровни хранения и ускорения

От медленного к быстрому:

  1. Постоянное хранилище (диск, SSD).
  2. ОЗУ — основная память процессов и page cache файлов.
  3. Кэш — CPU (L1–L3), браузер, DNS, буферы приложений.

Три опорные мысли

  • Почти любая работа с данными сводится к чтению и записи байтов; остальное — метаданные и интерфейс.
  • Буферизация и кэширование убирают лишние обращения к диску и ускоряют повторный доступ.
  • Ввод-вывод — не только клавиатура и монитор, но и файлы, сеть, stdin/stdout; позиция в файле и политики кэша объясняют "странное" поведение (старый файл в кэше, медленная запись).

Куда идти дальше

ТемаРаздел
"Данные и информация""Данные и информация"
"Структуры данных""Структуры данных"
"Текст — о разделе""Текст — о разделе"
"Как работает компьютер — о разделе""Как работает компьютер — о разделе"

Проверьте себя: Чек-лист самопроверки.