Полный текст
Почему в Linux «Всё есть файл»? Или почему гениальные абстракции UNIX настолько гениальныМногие слышали, что в Linux «Всё есть файл». Поначалу это звучит как шутка, но на самом деле за этим кроется гениальная концепция. Хотя опытным пользователям она кажется тривиальной, новички и даже некоторые программисты часто не задумываются об этом уровне абстракции.В этой статье мы отбросим привычные библиотеки и инструменты, чтобы напрямую взглянуть на фундаментальные абстракции UNIX, заложенные ещё в прошлом веке. Для этого не нужны глубокие знания, лишь общее понимание компьютера и программирования.Будет разобрано устройство современных жёстких дисков, принципы хранения файловых систем и роль системных вызовов. Мы даже напишем простой модуль ядра Linux, чтобы прочувствовать, как реализуется концепция «Всё есть файл» на программном уровне. Приготовьтесь удивиться: процессы, мышь, тачпад и даже интернет-соединение — всё это в Linux тоже файл! Погружаемся в основы, которые определили развитие всего ПО.