Компьютеры получили сильный импульс развития в начале XX века благодаря применению табуляционных машин в переписи населения США и финансовом учете. С производства табуляционных машин начинала IBM.
Загрузка Linux происходит в следующем порядке:
загрузчик (обычно grub2);
ядро образ initramfs;
монтирование корневой файловой системы;
init (upstart, systemd) сценарии.
Операционная система предоставляет интерфейс системных вызовов для прикладных программ. Этот интерфейс позволяет оперировать абстракциями «файл», «процесс», «сокет», не привязываясь к деталям их реализации.
Поговорим о том, как Linux считает память и какие есть виды памяти. Проведём обзор средств и утилит. Рассмотрим, зачем нужен page cache и как он помогает системе, а также способы ограничения памяти для приложений.
0:00:10 1. План курса. Рекомендуемая литература
0:13:50 2. Лекция 1. Введение
0:15:14 3. Понятие операционной системы
0:29:20 4. История эволюции вычислительных систем (1945 — н.в.)
2:23:15 5. Системные вызовы
В этом видео мы начнем разговор об операционных системах. Видео имеет некую степень суровости, потому что мы не будем обсуждать «названия», или особенности администрирования конкретных операционных систем. Вместо этого мы разберем структуру операционной системы, обсудим два взгляда на задачи функционирования операционных систем (со стороны железа и со стороны программ), назовем основные абстракции, которыми оперирует операционная система.
Расскажем про классическую модель безопасность UNIX и расширения Posix ACL, системы журналирования syslog и journald. Обсудим мандатные модели доступа (SELinux, AppArmor), устройство netfilter и iptables, а также procfs, sysctl и hardening OS. Поговорим про устройство стекового фрейма и уязвимости, связанные с переполнением буфера на стеке, механизмы защиты от подобных атак: ASLR, NX-Bit, DEP.