Про курс і автора
Звідки він узявся
Section titled “Звідки він узявся”Курс виріс із лекцій, які я читав студентам освітньої програми «Інтернет речей» у Національному університеті «Львівська політехніка». Аудиторний варіант складався з десяти лекцій, і в нього були свої вади, помітні лише зсередини.
Найпомітніша — перекіс. Понад сорок відсотків матеріалу припадало на управління пам’яттю, причому з відчутними повторами: віртуальна пам’ять пояснювалася двічі, свопінг двічі, фрагментація двічі. Натомість вводу-виводу, дискам, файловим системам і безпеці не діставалося жодної повної лекції. Завантаження описувалося через BIOS і MBR, хоча студенти щодня мають справу з UEFI. Контейнерам був присвячений один слайд.
Тому це не конспект лекцій, викладений у мережу. Матеріал перебудований: вісімнадцять модулів у шести частинах, окремі модулі про підсистему вводу-виводу, диски, файлові системи, захист і віртуалізацію, а розділ про пам’ять стиснуто з чотирьох лекцій до трьох модулів без утрат.
Що змінилося, крім структури
Section titled “Що змінилося, крім структури”Кожен модуль спирається на залізо. Абстракція подається разом з апаратним обмеженням, заради якого її придумали. Спершу MMU, потім віртуальна пам’ять; спершу переривання від таймера, потім планувальник.
Усе перевіряється на власній машині. У кожному модулі є розділ «як це насправді в Linux» — команди, які студент запускає в себе й бачить справжній вивід. Усі вони прогнані на живих системах, а не написані з голови.
Практики стало більше. Тринадцять лабораторних у двох напрямах: системне програмування на C і адміністрування Linux. Вісім із них мають автоперевірку, яку я перевіряв не лише еталонним розв’язком, а й навмисно зіпсованим — інакше перевірка нічого не варта.
Мене звати Михайло Веселовський. В ІТ я понад двадцять років, з них близько одинадцяти — у технічній підтримці всіх трьох ліній. Працював системним адміністратором, інженером підтримки, QA-інженером і технічним письменником, близько семи років — тимлідом і техлідом. Зараз керую підтримкою в PLVision.
До того були EPAM Systems, Sentia у Данії, Cohaesio, OnApp, VPS.NET і Parallels — здебільшого експлуатація: Linux-сервери, мережа, резервне копіювання, чергування й розбір чужих інцидентів. Паралельно веду BSBR.team, невелику компанію, яка робить DevOps для стартапів.
Це багато що пояснює в самому курсі. Питання «чому воно повільне» і «чому воно впало» тут не вправа наприкінці розділу — це те, чим я займався щодня роками. Звідси й вимога підтверджувати кожне твердження командою на власній машині: у підтримці слово без доказу не варте нічого.
У Львівській політехніці я свого часу закінчив бакалаврат з комп’ютерної інженерії та магістратуру з комп’ютерних мереж і систем, а в 2022–2023 навчальному році читав там лекції студентам «Інтернету речей». Саме з тих лекцій цей курс і виріс.
Умови використання
Section titled “Умови використання”Тексти курсу поширюються за ліцензією CC BY-SA 4.0, код лабораторних робіт — за MIT. Тобто матеріал можна брати й використовувати у своєму викладанні, зокрема й змінений, за умови посилання на джерело.
Якщо ви берете цей курс за основу для власного, мені буде цікаво про це почути.
Як зі мною зв’язатися
Section titled “Як зі мною зв’язатися”- Easy Tech Blog — легке пояснення складних технічних речей; цей курс живе на його піддомені
- michael.veselovski.co.uk — нотатки про домашню інфраструктуру й самохостинг
Помилку в матеріалі, неточність у команді чи незрозуміле місце повідомляйте не соромлячись: курс від цього тільки виграє. Кілька фактичних помилок у ньому знайшлися саме тоді, коли я перевіряв власні твердження на реальних системах, і я не думаю, що знайшлися всі.