В книге "Компьютерная система: перспектива программиста" говорится, что "файлы являются абстракциями для устройств ввода-вывода, виртуальная память является абстракцией как для основной памяти, так и для устройств ввода-вывода на диске, а процессы - абстракции для процессора, основной памяти и устройства ввода/вывода ". Я этого не понимаю. Может кто-нибудь, пожалуйста, дать мне легкое для понимания объяснение?
Весь смысл об абстракциях состоит в том, что они не существуют физически, они просто концептуальны. Таким образом, устройство хранения данных представляет собой всего лишь кучу блоков хранения, но мы навязываем абстрактную концепцию каталогов и файлов как способ организации всех этих блоков хранения во что-то полезное. Каждый блок на устройстве хранения не имеет никакого способа "знать", что он принадлежит определенному файлу.
Аналогично, для других примеров, например, процессы физически не существуют - процессор просто выполняет код, но мы организуем код и способ его концептуального воплощения в процессы и потоки и т.д. - у ЦП нет "знаний" процессов, это просто исполняющая код машина.