Задать вопрос
Ответы пользователя по тегу Системное программирование
  • Как обнаружить высокое потребление CPU?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Сложно судить о проблемах только по CPU.

    Например если у тебя система, которая делатет рендеринг картинок или кодирует видео то она
    обычно забирает столько CPU сколько есть в наличии.

    Если у тебя event-like система, которая обслуживает события от бизнеса то ты можешь мерять
    какие-то бизнес-метрики. Например - сколько сообщений в секунду система пропустила и на основании
    этого делать выводы.

    А очередь диска или загрузка ядер CPU в данной задаче не говорят ни о чем обычно. Может они - высокие
    но бизнес чувствует себя нормально. А может быть 1 % CPU занят но база в блокировках и эта проблема не
    видима со стороны системных метрик.
    Ответ написан
    Комментировать
  • Какие книги прочитать чтобы написать свою операционную систему?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Мне кажется что это блажь. Операционные системы в наше время люди не пишут.
    Ее написать невозможно по причине бесконечных технических требований которые
    мы (читатели хабра) применяем к этому термину. И если вы по каким-то причинам
    будете сокращать или вычеркивать эти требования - то на выходе будет не ОС
    а некий программный продукт который содержит подмножество функций ОС.

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

    Написание своей уникальной ОС - это дорога длиной в жизнь.

    Если писать не свою ОС а клонировать имеющиеся проекты то надо тоже на этом акцентировать
    внимание.
    Ответ написан
    7 комментариев
  • Как выучить язык ассемблера?

    mayton2019
    @mayton2019
    Bigdata Engineer
    а в перспективе хочу научиться писать читы(ну и возможно вирусы, хихи)

    На счет платформы, то в основном интересует Linux и Windows(но линукс все таки больше)


    Я недавно смотрел статистику ОС Desktop по браузерам. Вобще получается что 75% windows, 15% macos, и только 7% - всякие Unknown + Linux. Вобщем если брать как асм как оружие массового поражения - то поражать особо некого. Кроме того владельцы линуксов - это такие себе ленивые кабанчики. Трояны твои они не откроют все равно. Экзешники не качают. Все сами собирают. Вобщем безсмысленное это дело.

    А вот для пользы асм нужен там где есть performance issue и где С++ ник никак не может разобраться почему так.

    Еще демки можно писать с 3d. Или игры наподобие MDK. Кто-то в 90х мне говорил что она на Асм написана. Хотя я не верю. Ну вряд-ли. Может какие-то мелкие куски.
    Ответ написан
  • Можно ли в Linux запустить процесс при OOM?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Полностью согласен с ораторами насчет виртуализации.

    По поводу ситуации что уже случилась. Скорее всего заход в баш вам ничего не даст. Т.к. любые команды что вы будете выполнять будут запускать процессы и вы будете снова и снова получать ту-же ситуацию что и с башом. Тоесть каким-то чудом зашли но ничего сделать толком нельзя.

    Нужно 100% собрать логи и посмертные снимки памяти приложений. Или приложения. Скорее всего оно одно. И оно-же является источником проблемы. Это приложение надо перенести в докер к лимитами по памяти и там запускать.

    Дампы памяти надо проанализировать и понять что флудит. С точки зрения приложения должны быть какие-то гарантии или требования по штатному режиму работы. Тоесть если ему надо 8Г то дайте ему ровно 8 и не больше.
    Ответ написан