
Привет! Когда речь заходит о динамическом управлении памятью в Linux, мы имеем дело с несколькими разными подходами, каждый из которых имеет свои плюсы и минусы.
В этой статье разберём три аллокатора памяти ядра: SLAB, SLOB, а также SLUB.
Пользователь
Привет! Когда речь заходит о динамическом управлении памятью в Linux, мы имеем дело с несколькими разными подходами, каждый из которых имеет свои плюсы и минусы.
В этой статье разберём три аллокатора памяти ядра: SLAB, SLOB, а также SLUB.
Всем привет!
Не так давно на Хабре появился занятный пост о разработке процессора, и я понял, что созрел для своей первой статьи как раз в этом направлении.
Тема разработки эмуляторов олдскульных микропроцессоров типа того же Intel 8080 не нова. Если вы уже разбираетесь в вопросе, то для вас этот пост не будет чем-то новым, разве что вы увидите еще один подход к реализации такого проекта. Для тех, кто ничего об этом не слышал – прошу под кат.
Linux Kernel — это, пожалуй, один из самых распространённых (и, возможно, до сих пор недооценённых) программных продуктов в мире. Он является основой всех дистрибутивов Linux (что очевидно), но на этом его роль не заканчивается. Ядро также работает на множестве встроенных устройств практически повсюду. У вас есть микроволновка? Скорее всего, она работает на ядре Linux. Посудомоечная машина? Тоже. Если у вас достаточно средств на автомобиль Tesla, вы даже сможете найти несколько багов, исправить их и отправить патч в код Model S или Model X на GitHub. А что насчёт схем, которые не позволяют Международной космической станции сойти с орбиты и врезаться в Землю? Конечно, и там тоже Linux. Ядро легковесное — значит, отлично работает даже в условиях невесомости.
В этой статье напишем свой первый модуль ядра под Linux
Думаю почти каждому нравится сборка ПК (сам процесс), а также в последнее время многие как хобби (в IT) начинают увлекаться ручной работой по дереву, металлу и т.д.
Вот и я решил выбрать чем заняться, при этом мой старый ПК пришло время обновлять, но захотелось чего то особенного, и я решил сделать пассивное охлаждение для довольно мощного ПК (Слишком понравилось использовать бесшумные макбуки на ARM чипах).
Вначале вообще была идея сделать пассивное водяное охлаждение из обычной батареи (радиатора отопления).
В предыдущей статье про «флаттер крыла» я описывал механизм возникновения сильных изгибно- крутильных колебаний крыла при внезапном срыве потока на одной из плоскостей крыла на скорости полёта выше расчётно-крейсерской.
Теперь настала возможность обсудить геометрию профиля крыла, необходимую для повышения скорости полёта самолёта без флаттера.
Также нужно рассмотреть аэродинамику крыла при преодолении развитого флаттера при разгоне самолёта к сверхзвуку.
Профиль крыла для недопущения флаттера
Ранее мы уже выяснили, что уже с конца 1930-х годов стараниям профессора Келдыша было сформулировано общее правило для конструирования неподверженных флаттеру самолётов, а именно:
Крыло должно быть настолько тонким, чтобы не возникало срыва потока по верхней плоскости крыла.
Из этого правила следует следящие неприятные конструктивные следствия:
Для очень высоких скоростей полёта без возникновения флаттера крыло становится настолько тонким, что перестаёт выдерживать нагрузки от веса самолёта и динамических перегрузок при полёте в турбулентной атмосфере.
Так если в начале 1930-х у самолётов толщина профиля составляла 15-20% от ширины крыла по хорде, то к 1940-м толщины крыльев истребителей и бомбардировщиков упали до 8-15%, при этом максимальные толщины профиля сместились ближе к середине хорды крыла. (см.рис.1-4.)
Привет всем, это статья про DIY разработку и изготовление оригинального музыкального инструмента.
Когда-то я увидел электронный конструктор «арфа» где на рамке стояло 7 лазерных диодов и простой генератор тона. И вот захотел сделать лучше и больше – начался проект Оптоарфа.
Как и всегда, мне неважно, есть ли такое изделие в мире, важно желание творить и привнести свои идеи =). Какие были выбраны решения, как воплощались через тернии, случилась ли труба или арфа – читайте ниже
В одном из предыдущих материалов мы уже рассказывали про самый маленький open source коммутатор, который собрала команда американских школьников, участвовавших в соревнованиях по робототехнике. Сегодня мы решили продолжить тему и рассказать о других подобных проектах. Оказывается, многие инженеры собирают компактные свитчи в качестве хобби, желая разобраться в их устройстве.
В этом посте разобраны некоторые фокусы, причуды и фичи языка C (некоторые из них – весьма фундаментальные!), которые, казалось бы, могут сбить с толку даже опытного разработчика. Поэтому я потрудился сделать за вас грязную работу и (в произвольном порядке) собрал некоторые из них в этом посте. Примеры сопровождаются ещё более вольными краткими пояснениями и/или листингами (некоторые из них цитируются).
Конечно же, здесь я не берусь перечислять абсолютно всё, так как факты из разряда «функция nan()
не может устанавливать errno
, поскольку в определённых ситуациях поведёт себя как strtod()
» не слишком интересны.
ВНИМАНИЕ: сам факт попадания тех или иных вещей в эту подборку не означает автоматически, что я рекомендую или, наоборот, не рекомендую ими пользоваться! Некоторые из приведённых примеров никогда не должны просачиваться за пределы списков наподобие этого, тогда как другие примеры невероятно полезны! Уверен, что могу положиться на ваш здравый смысл, дорогие читатели.
В удивительном мире ИТ существуют проекты, узнав о которых можно сильно поменять свои взгляды на жизнь, реальность и саму разработку. Об одном из таких проектов и будет наш рассказ.
Всем привет! Сейчас за окном осенние деньки 2024 года. Вещает Пройдаков Евгений. Сейчас я руковожу группой разработки среды исполнения языка eXtraction and Processing в R&D департаменте Positive Technologies.
Доменно специфичный язык eXtraction and Processing является важной частью движка поведенческого анализа, используемого в таких продуктах Positive Technologies, как MaxPatrol SIEM и PT ISIM. Сегодня хотелось представить вашему вниманию выжимку нашего R&D процесса в экспериментах с WebAssembly.
Узнаем, что такое WebAssembly. Поймём, как его можно встроить в программный продукт. Коснёмся инструментов разработки и сред исполнения WebAssembly. А также в рамках одной статьи пройдём путь от постановки задачи до результатов по разработке среды исполнения для доменно специфичного языка программирования.
Кроме того, мы разберем некоторые проблемы, которые могут появиться у вас при попытке собрать и отладить большой С++ проект под WebAssembly. Материал может быть особенно полезен тем, кто хочет использовать WebAssembly за пределами веб‑браузера.
Более подробно про сам язык eXtraction and Processing можно почитать в прошлой статье цикла от моего коллеги Михаила Максимова.
Будем рады всем неравнодушным к теме разработки доменно специфичных языков, компиляторов, сред исполнения. Неважно, опытный вы разработчик, начинающий или только интересуетесь ей.
Флаттер‑ это загадочное явление в аэродинамике, которое есть, но объяснения которого до сих пор нет.
Про «флаттер» я уже писал отдельную «главу № 4» в первой своей большой статье про «Подъёмную силу крыла без „закона Бернулли“.
Недавно попытался перечитать снова эту главу, и оказалось, что её надо дописывать и публиковать отдельной статьёй, так как в ней всё не очень наглядно и совершенно непонятно написано.
В рамках большой статьи та куцая глава про «флаттер» была вполне уместна. Но вот оказалось, что само явление «флаттера» также плохо определено, как не определено в общепринятой «Аэродинамике» базовое понятие «подъёмная сила крыла».
В предыдущем посте я поделился своей радостью по поводу того, что сумел‑таки выковырять с LHX модельки игры и привести их в современный вид. И ещё самими модельками. И даже способом, котором я это сделать.
Но после этого я, по инерции, решил ковыряться дальше. Факультативно, так сказать.
Привет, Хабр! Это Антон Комаров из МТС Диджитал. Сегодня снова немного ностальгии — поговорим о Desktop2.
Представьте, что на дворе середина 90-х. Вы щелкаете переключателем питания на своем ПК с процессором Intel 486DX2. Раздается жужжание шпинделя жесткого диска, дисковод весело подхрюкивает шаговым двигателем, а на дисплее появляется его величество MS-DOS. Просто черный экран и строка, куда можно вводить команды. Понятное дело, что на этом далеко не уедешь, поэтому у многих пользователей стоял какой-нибудь Norton Commander. А чтобы насладиться настоящим графическим интерфейсом, можно было приобрести одну из первых версий Windows — например, 3.11.
То время давно прошло, и вот только сейчас, изучая различные материалы в сети, я наткнулся на интересную графическую оболочку тех времен. Называлась она Desktop2 и была создана немецким программистом Феликсом Риттером (Felix Ritter) в 1998 году. Детали — традиционно под катом.
Не так давно в среде спектрумистов в очередной раз была поднята тема про Covox. Как «старый спектрумист» формально понимаю, о чём речь, но вот железного устройства у меня, ни когда не было. В моём городе на точках продажи оно не прижилось, а для самостоятельного интереса на тот момент не было необходимого понимания и знания. Поиск информации выдал значительное количество разных схем и прочих технических вещей, но к моему большому удивлению, нигде не было описания для обывателя «что это такое и с чём его едят». Считаю, что стоит восполнить этот пробел.
Статья была опубликована в 2021 году в 29 номере журнала по ZX Spectrum'у "ЗаRulem Печатное Слово".
Статья написана в соавторстве с Вадимом Чертковым.
В предыдущий раз пришлось уделить внимание и бегло рассмотреть работу с файлами в ОС CP/M. А так как «Быстро, хорошо не бывает» (с) было приято решение о необходимости подробного и основательного разбора данного вопроса, так что бы в будущих статьях не тратить на него время и место.
Статья была опубликована в 2020 году в 28 номере журнала по ZX Spectrum'у "ЗаRulem Печатное Слово".
Статья написана в соавторстве с Вадимом Чертковым.