Все потоки
Поиск
Написать публикацию
Обновить
90.81

Операционные системы

Без них как-то неудобно, ощущения не те

Сначала показывать
Порог рейтинга
Уровень сложности

Что будет на конференции по системному программированию sysconf?

Время на прочтение12 мин
Количество просмотров1.4K

Мир программирования «многоэтажный»: пока одни разработчики делают приложение для какой-то ОС, другие делают саму эту ОС. Пока одни используют в работе компилятор, другие работают над новой версией этого компилятора.

Мы уже много лет проводим конференции по разработке на самых разных языках, от JS до C++. Но теперь «спускаемся ниже», и в эту субботу впервые проведём конференцию по системному программированию sysconf. Она пройдёт в Москве, но можно участвовать и онлайн.

Продюсером конференции (главным отвечающим за неё человеком) стал Иван Углянский, который сам с головой погружен в мир системного программирования (вы можете помнить его доклад «Один день из жизни JVM-инженера»).

И чтобы Хабр знал, чего ожидать на sysconf, мы задали ему несколько вопросов, а также собрали в этом посте описания всех докладов.

Читать далее

Где твои системные вызовы?

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров3.1K

Ядро OpenBSD становится уже очень старым — ну просто очень — ему около сорока пяти лет. Оно, следовательно, не любит сюрпризов. Поэтому программы должны сообщать ему о том, где находятся их системные вызовы. В сегодняшнем выпуске «Вежливого программиста» мы поговорим о том, как это делать по всем правилам этикета.

Если вы программируете на C — всё это делается автоматически. Поэтому мы будем писать код только на языке, который совершенно нельзя назвать C, и при этом обойдёмся без линковки с libc.

Читать далее

Сложная цель: история одного патча

Уровень сложностиСложный
Время на прочтение4 мин
Количество просмотров2K

Питер в последние дни зимы это сплошной мрак, серость и уныние, которые вместе с меняющейся погодой способны вогнать в тоску даже самых стойких обитателей.

Именно в такой мрачный февральский день, автор все же решил одну из самых долгоиграющих проблем с оборудованием под FreeBSD.

Читать далее

Ультимативные крестики-нолики и iPXE

Время на прочтение10 мин
Количество просмотров6.6K

Привет, Хабр! Меня зовут Вова, я разработчик в Selectel. На днях меня осенило: загрузка сервера по сети — это прекрасный инструмент, из которого можно сделать что-нибудь необычное. Например, игру. У нас есть минимальный набор: командный интерпретатор, возможность скачивать и выполнять произвольный код.

Ранее я уже использовал инструменты не по назначению, когда создавал Морской бой на SQL, тетрис в QR-коде, крестики-нолики в DNS и Gravity Defied на sed. С прошлой «серии» ненормального программирования прошло почти два года — время вновь попробовать силы и придумать что-нибудь новое.
Читать дальше →

Plexus P/20: самый редкий UNIX-сервер

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров4.5K

Который был оживлен и запущен в эмуляторе, спустя 40 лет после банкротства компании‑создателя. Самая редкая операционная система и самое редкое железо из всего что автор когда‑либо видел за жизнь.

Читать далее

Полтора года с телефоном на «Авроре»: плюсы и минусы российской ОС с точки зрения обычного пользователя

Время на прочтение9 мин
Количество просмотров56K

В 2023 году я узнал из видео одного блогера, что смартфоны с операционной системой «Аврора» можно взять на тестирование. Заинтересовавшись, я обратился в компанию «Открытая Мобильная Платформа» с просьбой предоставить устройство и вскоре получил в своё распоряжение смартфон Ayya с ОС «Аврора» версии 4. Оказалось, что компания вполне себе открыта к сотрудничеству по этому вопросу. Получение смартфона также совпало с началом розничных продаж других устройств на базе «Авроры».

За полтора года я успел испытать две версии системы: сначала это была «Аврора» 4, а позднее и 5. Важно отметить, что «Аврора» до сих пор не предназначена для массового рынка. Даже наличие устройств в розничной продаже не означает, что они способны удовлетворить все потребности обычных пользователей. Это отражается на моём пользовательском опыте, о котором я подробно расскажу в дальнейшем.

Этот обзор будет отличаться от классической структуры, где устройство описывается по отдельным пунктам: характеристики, плюсы, минусы и заключение. Вместо этого я сосредоточусь на мыслях и личных впечатлениях от использования смартфона. Приятного чтения!

Читать далее

Обходим BitLocker и вытягиваем из памяти ключи в Windows 11

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров23K
В этой статье я покажу, как можно обойти шифрование BitLocker в Windows 11 (версия 24H2) и извлечь из памяти ключи шифрования тома (full volume encryption key, FVEK) при помощи моего инструмента Memory-Dump-UEFI.

Краткая справка


Если у нападающего есть физический доступ к устройству, то он потенциально может получить доступ, резко перезапустив компьютер и выполнив дамп ОЗУ из недавно выполнявшихся экземпляров Windows. Дамп памяти можно проанализировать, чтобы найти конфиденциальную информацию, например, ключи FVEK. Эта методика не работает гарантированно, потому что после отключения питания содержимое ОЗУ быстро деградирует.


Существует множество методик замедления этой деградации памяти, например, физическое охлаждение ОЗУ или использование внешних источников питания с целью поддержания подачи энергии. Для своего демо я закоротил контакты сброса на материнской плате устройства, что заставляет систему резко отключаться без потери питания.

Ещё одна потенциальная проблема заключается в secure boot — стандарте безопасности, который ограничивает то, что может выполняться при запуске системы. Эта защита имеет собственные ограничения, и ещё уже обходили при помощи shim и множества других способов, которые для нашего демо несущественны.
Читать дальше →

ZX Windows. «Форточки» для «Спекки»

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров13K


Только представьте себе такую картину: начало девяностых, вы возвращаетесь домой из школы. Бросив рюкзак с учебниками и тетрадками в угол, вы включаете свой любимый ZX Spectrum, запускаете на нем «винду»… Стоп! На восьмибитном Zilog Z80 невозможно использовать ОС с GUI, пределом его функциональных возможностей всегда считалась довольно продвинутая, но скромная в плане интерфейса iS-DOS или TR-DOS. Да и объем оперативки от 48 до 256 килобайт не позволял особо разгуляться. Так, по крайней мере, принято считать, однако словацкий программист Mobisek Marek взялся разрушить этот стереотип, самостоятельно написав… практически настоящую Windows для ZX Spectrum. Получилось? Давайте посмотрим…
Читать дальше →

Разработчики установщика Windows 95 забыли, что в MS-DOS есть графика?

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров20K

Когда я написал статью о том, почему установщик Windows 95 использовал три операционные системы [перевод на Хабре], в которой сказал, что установщик на основе MS-DOS был бы текстовым, то мне возразили: «Но ведь MS-DOS могла отображать графику! Вы что там, все глупые?»

Да, MS-DOS могла работать с графикой, в том смысле, что она не очень мешала программисту работать с графикой. Но абсолютно всё ему приходилось делать самому. Не существовало графических примитивов, кроме вызова BIOS для отрисовки отдельного пикселя. Всё остальное было на разработчике, который и не собирался пользоваться вызовом BIOS для отрисовки пикселей, потому что он был медленным. Чтобы добиться хоть какой-то производительности, приходилось непосредственно работать с буфером кадров.

Итак, теперь нам нужно написать графическую библиотеку для отрисовки чего-то сложнее, чем отдельный пиксель. К счастью, для Windows 95 требовалась минимум VGA-видеокарта, поэтому ей не приходилось беспокоиться о CGA или EGA. Напомню, что VGA-адаптер требовал работы с планарными режимами, что было очень утомительно. К счастью, у нас есть способная помочь команда спецов по планарным режимам VGA, работающая в соседних кабинетах над видеодрайверами Windows.

Читать далее

KasperskyOS Community Edition SDK: что это за система и как попробовать ее в деле

Время на прочтение8 мин
Количество просмотров9.7K

Мы часто рассказываем о KasperskyOS — микроядерной ОС для подключенных к Интернету систем с особыми требованиями к кибербезопасности. И периодически получаем закономерный вопрос: а где можно пощупать эту вашу KasperskyOS? Поскольку на данный момент KasperskyOS является закрытой операционной системой, мы пока не готовы раскрыть ее исходный код. Однако всем, кому это интересно, можем предложить познакомиться с KasperskyOS Community Edition SDK (KasperskyOS CE SDK). В этом посте мы расскажем, из чего состоит SDK, и разберемся, как взаимодействовать с нашей операционной системой.

KasperskyOS CE SDK — это общедоступная версия KasperskyOS, разработанная с целью демонстрации основных принципов разработки безопасных решений. С помощью Community Edition SDK вы можете разрабатывать свои проекты, основываясь на подходе Secure by Design, то есть с учетом безопасности, заложенной в архитектуру решения.

Читать далее

Windows 11 — по-прежнему ничего стоящего

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров37K

С вами Dedoimedo, и я хочу поделиться историей об очередном эпизоде мазохизма. Раз в несколько месяцев я запускаю свой тестовый ноутбук, на котором в качестве альтернативной системы стоит Windows 11, и проверяю, произошли ли в этой ОС какие-нибудь ощутимые изменения. Последняя такая авантюра была в сентябре, и тогда я столкнулся с кучей проблем.

Но не всё так страшно. Недавно я прочёл на The Register статью, в которой показано, что аудитория Windows 11 не просто не растёт, а сокращается. Как же прекрасно. Просто песня. Люблю читать бахвальные маркетинговые заявления высокопоставленных представителей компаний, особенно на фоне суровой проверки реальностью. Но в этом есть смысл.

Windows 11 бесполезна — файловый менеджер тормозной, раздел настройки не дотягивает до панели управления, а аппаратные требования зачастую препятствуют возможности апгрейда. Что тут сказать… Карма и всё такое…

Приступим?
Читать дальше →

Ещё раз о моделях памяти, применявшихся в DOS

Уровень сложностиСложный
Время на прочтение9 мин
Количество просмотров11K

Некоторое время назад я написал несколько статей о различных трюках, применявшихся в операционной системе DOS, чтобы вписаться в те жёсткие лимиты памяти, которые действовали в реальном режиме на архитектуре x86. Постоянно возникал и оставался без ответа один вопрос: а каковы были различные «модели», которые предлагались компиляторами тех времён? Взгляните, как выглядело меню для генерации кода в Borland Turbo C++.

Tiny (крошечный), small (маленький), medium (средний), compact (компактный), large (большой), huge (огромный)… Что означают эти опции? Каковы их эффекты? Ещё важнее… а так ли важен весь этот антиквариат сегодня, в мире 64-разрядных машин и гигабайтных ОЗУ? Чтобы ответить на этот вопрос, сделаем небольшой обзор архитектуры 8086 и тех двоичных форматов, которые поддерживались в DOS.

Читать далее

Coherent OS: забытый клон Unix v7

Время на прочтение7 мин
Количество просмотров4.8K

Начало 80-х. AT&T, в чьей Bell Labs был разработан Unix, внезапно осознала очевидный факт: их программный продукт популярен, но при этом не приносит никакого дохода. Руководство решает начать продажу коммерческих лицензий.

Если верить журналу Byte за октябрь 1983 года, лицензию Unix для частной компании можно было купить за умопомрачительные 20 000 долларов. Лишь немногие могли себе позволить такие траты (справедливости ради, для учебных заведений ценник был гораздо ниже — всего 200 долларов США). В это непростое время появился проект, который поставил своей целью конкурировать с оригинальным Unix. Сегодня расскажу, что из этого вышло.

Читать далее

Ближайшие события

Операционная система в 1 000 строках кода (часть 5)

Уровень сложностиСредний
Время на прочтение21 мин
Количество просмотров7.9K

Это завершающая часть проекта по написанию собственно ОС. Здесь мы реализуем дисковый ввод/вывод и файловую систему, а также вкратце подведём итоги и наметим дальнейшие шаги на пути доработки системы.

▍ Навигация по частям


Читать дальше →

Полезное для Linux

Время на прочтение11 мин
Количество просмотров23K

Описываю некоторые вещи, которые могут пригодиться при работе в linux-дистрибутивах. В основном на примере своей предпочитаемой ОС, Manjaro.

Читать далее

Операционная система в 1 000 строк кода (часть 4)

Время на прочтение14 мин
Количество просмотров4.8K

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

Навигация по частям


Читать дальше →

12 + 8 шагов к мониторингу аномальной активности в ОС Нейтрино

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров1.2K


Активности в операционной системе могут быть самыми разнообразными. Это может быть запуск нового процесса или потока, обращение к файловой системе, выделение памяти и многое другое.


Могут возникнуть ситуации, когда (вследствие действий злоумышленника и\или программной\аппаратной ошибки) эта активность становится аномальной, то есть поведение системы начинает отличаться от ожидаемого. Запуск неизвестного процесса на этапе эксплуатации изделия, потребление процессом необычно большого количества памяти, установка сетевых соединений, которых не должно быть в системе — всё это примеры аномальной активности, возможно требующие внимания со стороны пользователя или разработчика.


Подробнее о мониторинге написано в одной из наших статей — Мониторинг аномальной активности в операционной системе «Нейтрино».


В этой статье мы рассмотрим пример практического использования монитора аномалий в ОС Нейтрино.

Читать дальше →

Операционная система в 1 000 строк кода (часть 3)

Уровень сложностиСредний
Время на прочтение28 мин
Количество просмотров9.2K

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

▍ Навигация по вышедшим частям


Читать дальше →

Операционная система в 1 000 строках кода (часть 2)

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров11K

Продолжаем серию статей, посвящённую написанию собственной минималистичной ОС. В прошлой части мы познакомились со всеми вводными компонентами проекта и поставили общие цели. В этой же мы реализуем загрузку ядра, вывод строки Hello World!, механизм паники ядра, а также некоторые функции управления памятью и работы со строками.

▍ Навигация по вышедшим частям


Читать дальше →

Как мы создавали свою серверную ОС: пошаговая история NiceOS Z

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров2.8K

Всем привет! Мы — команда разработчиков NiceOS (на данный момент развиваем проект Z (сервер), следующий этап проект X - рабочая станция с графической оболочкой). В нашей статье расскажем, как именно мы сделали (и продолжаем развивать) собственную серверную дистрибуцию Linux, заточенную под российские реалии: требования к сертификации, поддержку ГОСТ-криптографии, локализацию и работу с отечественным оборудованием.

Сегодня NiceOS Z — это легковесная серверная ОС без графического окружения, которая умеет:

Читать далее