Базовые операции с данными — итоги
Кратко — что стоит унести из раздела "Базовые операции с данными". Если пункт кажется туманным — откройте указанную главу или оглавление.
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) — каркас любой системы хранения. В интерфейсе те же идеи — создать файл, открыть, сохранить изменения, удалить; плюс копирование и перемещение (чтение + запись + смена метаданных).
Уровни хранения и ускорения
От медленного к быстрому:
- Постоянное хранилище (диск, SSD).
- ОЗУ — основная память процессов и page cache файлов.
- Кэш — CPU (L1–L3), браузер, DNS, буферы приложений.
Три опорные мысли
- Почти любая работа с данными сводится к чтению и записи байтов; остальное — метаданные и интерфейс.
- Буферизация и кэширование убирают лишние обращения к диску и ускоряют повторный доступ.
- Ввод-вывод — не только клавиатура и монитор, но и файлы, сеть, stdin/stdout; позиция в файле и политики кэша объясняют "странное" поведение (старый файл в кэше, медленная запись).
Куда идти дальше
| Тема | Раздел |
|---|---|
| "Данные и информация" | "Данные и информация" |
| "Структуры данных" | "Структуры данных" |
| "Текст — о разделе" | "Текст — о разделе" |
| "Как работает компьютер — о разделе" | "Как работает компьютер — о разделе" |
Проверьте себя: Чек-лист самопроверки.