Linux Academy
28.3K subscribers
724 photos
89 videos
5 files
597 links
Download Telegram
Всякий раз, когда упоминается Rust в Linux! 🦀

#rust #rustlang #programming
😁274🔥3🍌1
C умел «объектный стиль» задолго до модных споров про ООП.

В Linux-драйверах это видно особенно хорошо. Каждый драйвер фактически реализует интерфейс, просто заполняя структуру с указателями на функции.

file_operations из include/linux/fs.h - хороший пример. Ядро говорит: вот набор операций, которые может поддерживать файл, сокет или устройство. Драйвер сам решает, какие обработчики дать:

open
read
write
release
mmap
fsync
unlocked_ioctl

Если операция не нужна, поле остаётся NULL, и ядро использует поведение по умолчанию там, где это возможно.

По сути это тот же контракт между системой и реализацией, только без классов, наследования и рантаймовой магии. Есть таблица функций, есть объект, есть набор действий, которые с ним можно выполнить.

Именно поэтому C до сих пор живёт в ядрах, драйверах и системном коде. Он не навязывает модель абстракций, но даёт достаточно низкоуровневых инструментов, чтобы собрать нужную модель самому.

Просто вместо красивого слова interface у тебя struct с function pointers.

#programming #linux #c
22👍8🔥6👎1
🐧 Linux появился из проекта, который вообще не должен был стать операционной системой

Весной 1991 года Линус Торвальдс изучал возможности нового компьютера на базе Intel 386. Сначала он написал драйвер клавиатуры, затем последовательный порт и простую терминальную программу.

Потом появились переключение задач, драйвер диска и небольшая файловая система. Обычный эксперимент постепенно превратился в ядро собственной ОС.

25 августа Линус написал знаменитое сообщение: он делает бесплатную систему «просто как хобби» и не ждёт, что она станет большой и профессиональной.

Спустя 35 лет Linux работает на серверах, смартфонах, суперкомпьютерах и почти всей современной облачной инфраструктуре.

Один из главных проектов в истории технологий начался с любопытства к новому компьютеру.

https://www.cs.cmu.edu/~awb/linux.history.html

#Linux #OpenSource #Programming #ИсторияIT
33👍16🔥11👏5