Очень много кода для обзора. Но нет ни обзора возможностей системы, ни устройства файловой системы. Нет ключевого понятия "блочное устройство", хотя "блок" встречается довольно часто.
В первом абзаце приводятся советские машины, и среди них БК-0011М, для которой эта система по сути не была родной. Но нет упоминаний например УКНЦ и Немига.
Я немного иногда имею дело с RT-11, так что знаком с ней по крайней мере внешне, но даже мне эта статья ничего не даёт.
Советую сделать автоматический "тестовый стенд", куда подставляешь очередную версию "ядра эмуляции" (библиотеку в вашем случае), прогоняется ряд тестов, которыми определяется, что вы не получили регрессии. Например, для нескольких своих эмуляторов я делал тесты вида "загрузить вот это, подождать, нажать клавишу, подождать, сделать скриншот и проверить его совпадение с эталоном". Постепенно накапливать базу таких тестов.
Подумать про трейсинг -- задаём например число uint32 под маску что трассировать: команды CPU, обращения к внешним устройствам итд. Собрать трассу бывает весьма полезно при отладке.
Подумать про API для отладчика. Это может быть набор вызовов. И/или это может быть полноценный GDB stub - позволит отлаживаться по GDB протоколу, для него есть UI инструменты.
Делать отладчик, например, в виде консольного диалога. Отдельными командами можно запустить выполнение, управлять точками останова, смотреть регистры и память, сохранить/загрузить полное состояние эмулятора. Отладчик поможет в сложных случаях. Можно проходить инструкции "параллельной отладкой" в двух эмуляторах, сравнивая результаты.
Реализовать сохранение состояний и их загрузку, убедиться что всё состояние эмулятора точно сохраняется и восстанавливается.
Подумать про кросс-платформенность, чтобы библиотека собиралась и одинаково полноценно работала под Linux/Mac/Windows, а возможно и под ARM или Wasm.
Пока вы используете SDL для UI, как я понял. Посмотрите в сторону ImGui, им можно делать крутые инструменты визуализации и отладки.
Если судить о состоянии темы по статьям 9 и 14 летней давности, то конечно может показаться, что всё ужасно.
С кросс-разработкой под PDP11 like (к которым в частности относятся МС0511 УКНЦ, Немига, Союз-Неон) всё нормально. Не так давно я описал текущее состояние вот тут (статья не закончена): https://github.com/nzeemin/ukncbtl-doc/wiki/Toolchain-ru
Для начинающих материалов действительно мало, это да.
Как-то не представляю себе, как это СВО стала драйвером роста. На мой взгляд, всё немного по-другому.
Во-первых, как мы все знаем, в ИТ в РФ зарплаты несколько выше остального рынка труда. Такие зарплаты возникли за счёт того, что был большой сектор западного аутсорса. Этот сектор с началом СВО сначала уменьшился, а затем сдулся почти до нуля. Без такого рычага рост зарплат идёт уже только по инерции. То есть, фактор зарплатного роста убрали, но это пока ещё не так заметно.
Второе, пандемия подарила нам работу на удалёнке. Оказалось, что при грамотной организации, удалёнка позволяет сохранить эффективность. Это позволило компаниям массово нанимать людей из провинции -- тех кто по каким-то причинам не хочет или не может ехать в крупные города. То есть, круг потенциальных айтишников (и клиентов онлайн-курсов) довольно сильно вырос.
Что касается онлайн-курсов, их популярность росла постепенно. Эти компании раскручивают свой бизнес, больше вкладывают в рекламу, больше приток учащихся. Да, они часто говорят про большие зарплаты, и да, они уже сильно влияют на рынок стажёров и джунов.
Ещё один фактор СВО: эмиграция ИТ специалистов, причём уехали в основном мидлы и сеньоры, освободив рабочие места в РФ.
По этим причинам, на внутренний рынок выплеснулось множество соискателей, и освободилось множество рабочих мест. Не одномоментно, всё это растянулось на полгода-год. Но это "забило" цепочки найма компаний, на них обрушилась масса работы, количество резюме выросло в разы, количество собеседований соответственно тоже.
Эти факторы постепенно "перевернули" рынок труда в ИТ в РФ, он стал рынком работодателя, когда на одну вакансию мы имеем сразу множество кандидатов, соответсвенно, время от начала поиска работы до выхода на работу тоже значительно возросло.
Вот такая в целом картинка. К сожалению, без конкретных цифр.
Вангую, что будет грандиозный распил в духе "Фонда поддержки участников войны" -- 97% расходов на начальство разных уровней, остальное -- на опсов с бесплатным GitLab.
В девяностые годы ресурсов на то, чтобы развивать собственные решения, не было, и IT-отрасль попадает под влияние западных технологий.
Не только это сыграло, были и другие факторы. Ещё в 1980-е был взят осознанный курс на копирование западных технологий. Прямого копирования чаще всего конечно не было, в силу того что различалась элементная база. Копирование архитектуры потащило за собой копирование софта -- с одной стороны, это дало экономию, с другой -- наращивало отставание.
Казалось бы, компаниям нужно всеми силами пытаться удержать специалистов. Но реальные зарплаты людей не растут. Возможно, дело в общемировом сужении IT-рынка (за рубежом за это время уволили больше 200 тысяч сотрудников, см. Layoffs.fyi). Возможно, снизилось число российских IT-фирм, которые или закрылись или тоже переехали за рубеж. Или есть какое-то другое объяснение. Предлагайте свои варианты в комментариях.
Полностью отрезался рынок западных проектов, ушли все аутсорсеры, потому что программистов из РФ стало сложно/невозможно ставить на такие проекты. Эта часть рынка была самая высокая по зарплате. Соответственно, отрезалась возможность поменять место работы на зарплату 2x от текущей. Остальным работодателям нет больше необходимости подтягивать зарплату повыше.
В каком смысле - не гарантирует? Спецификация wasm это стандарт, есть поддержка значит соответствует стандарту. По скорости конечно может быть медленнее чем на десктопе, как и JavaScript.
Это всё про возвраты. Так а по существу претензии, про сервис Профит - что-то будет ответить? Из статьи это выглядит так что сервис как предложение поработать - совершенно невозможен.
В этот раз отчёт очень не показательный. Не видно ответа на главный вопрос - как на рынок повлияли события конца февраля и далее? И авторы даже не пытались найти на него ответ.
Об этом возможно тут уже говорили, зависело от того по какому министерству проходила разработка. Для БК и УКНЦ были сделаны сборки, в которые ушла большая часть логики машины.
Это очень странная статья.
Очень много кода для обзора. Но нет ни обзора возможностей системы, ни устройства файловой системы. Нет ключевого понятия "блочное устройство", хотя "блок" встречается довольно часто.
В первом абзаце приводятся советские машины, и среди них БК-0011М, для которой эта система по сути не была родной. Но нет упоминаний например УКНЦ и Немига.
Я немного иногда имею дело с RT-11, так что знаком с ней по крайней мере внешне, но даже мне эта статья ничего не даёт.
Макаров А.В. Архитектура ЭВМ и Низкоуровневое программирование.
-- а не подскажете, откуда это? похоже на методичку к предмету, но довольно глубокую по содержанию и объёму. этот Макаров -- где его можно найти?
Это не "альтернатива JetBrains", а "альтернатива некоторым продуктам JetBrains" -- программный продукт не может быть альтернативой компании.
Ну и стоит конечно посматривать как другие люди подобные эмуляторы пишут, например:
https://github.com/punesemu/puNES
https://github.com/eariassoto/dear_nes
https://github.com/gordnzhou/imnes-emulator
https://github.com/LIJI32/SameBoy
Стоит также глянуть, как в проекте MESS организовано разделение устройств и систем, подход к исчислению времени.
Несколько мыслей / предложений / рекомендаций:
Советую сделать автоматический "тестовый стенд", куда подставляешь очередную версию "ядра эмуляции" (библиотеку в вашем случае), прогоняется ряд тестов, которыми определяется, что вы не получили регрессии. Например, для нескольких своих эмуляторов я делал тесты вида "загрузить вот это, подождать, нажать клавишу, подождать, сделать скриншот и проверить его совпадение с эталоном". Постепенно накапливать базу таких тестов.
Подумать про трейсинг -- задаём например число uint32 под маску что трассировать: команды CPU, обращения к внешним устройствам итд. Собрать трассу бывает весьма полезно при отладке.
Подумать про API для отладчика. Это может быть набор вызовов. И/или это может быть полноценный GDB stub - позволит отлаживаться по GDB протоколу, для него есть UI инструменты.
Делать отладчик, например, в виде консольного диалога. Отдельными командами можно запустить выполнение, управлять точками останова, смотреть регистры и память, сохранить/загрузить полное состояние эмулятора. Отладчик поможет в сложных случаях. Можно проходить инструкции "параллельной отладкой" в двух эмуляторах, сравнивая результаты.
Реализовать сохранение состояний и их загрузку, убедиться что всё состояние эмулятора точно сохраняется и восстанавливается.
Подумать про кросс-платформенность, чтобы библиотека собиралась и одинаково полноценно работала под Linux/Mac/Windows, а возможно и под ARM или Wasm.
Пока вы используете SDL для UI, как я понял. Посмотрите в сторону ImGui, им можно делать крутые инструменты визуализации и отладки.
Если судить о состоянии темы по статьям 9 и 14 летней давности, то конечно может показаться, что всё ужасно.
С кросс-разработкой под PDP11 like (к которым в частности относятся МС0511 УКНЦ, Немига, Союз-Неон) всё нормально. Не так давно я описал текущее состояние вот тут (статья не закончена): https://github.com/nzeemin/ukncbtl-doc/wiki/Toolchain-ru
Для начинающих материалов действительно мало, это да.
Как ещё перевести "Relaxed SIMD"?
Как-то всё в кучу.
Каким образом Kandinsky (генерация изображений по текстовому описанию) поможет мне писать код?
Как-то не представляю себе, как это СВО стала драйвером роста.
На мой взгляд, всё немного по-другому.
Во-первых, как мы все знаем, в ИТ в РФ зарплаты несколько выше остального рынка труда. Такие зарплаты возникли за счёт того, что был большой сектор западного аутсорса. Этот сектор с началом СВО сначала уменьшился, а затем сдулся почти до нуля. Без такого рычага рост зарплат идёт уже только по инерции. То есть, фактор зарплатного роста убрали, но это пока ещё не так заметно.
Второе, пандемия подарила нам работу на удалёнке. Оказалось, что при грамотной организации, удалёнка позволяет сохранить эффективность. Это позволило компаниям массово нанимать людей из провинции -- тех кто по каким-то причинам не хочет или не может ехать в крупные города. То есть, круг потенциальных айтишников (и клиентов онлайн-курсов) довольно сильно вырос.
Что касается онлайн-курсов, их популярность росла постепенно. Эти компании раскручивают свой бизнес, больше вкладывают в рекламу, больше приток учащихся. Да, они часто говорят про большие зарплаты, и да, они уже сильно влияют на рынок стажёров и джунов.
Ещё один фактор СВО: эмиграция ИТ специалистов, причём уехали в основном мидлы и сеньоры, освободив рабочие места в РФ.
По этим причинам, на внутренний рынок выплеснулось множество соискателей, и освободилось множество рабочих мест. Не одномоментно, всё это растянулось на полгода-год. Но это "забило" цепочки найма компаний, на них обрушилась масса работы, количество резюме выросло в разы, количество собеседований соответственно тоже.
Эти факторы постепенно "перевернули" рынок труда в ИТ в РФ, он стал рынком работодателя, когда на одну вакансию мы имеем сразу множество кандидатов, соответсвенно, время от начала поиска работы до выхода на работу тоже значительно возросло.
Вот такая в целом картинка. К сожалению, без конкретных цифр.
Вангую, что будет грандиозный распил в духе "Фонда поддержки участников войны" -- 97% расходов на начальство разных уровней, остальное -- на опсов с бесплатным GitLab.
В ту же тему, наткнулся недавно на вот такой тред в Твиттере, с описанием и расследованием одной трагедии: https://twitter.com/ishearealone/status/1647330658476503040
Не только это сыграло, были и другие факторы. Ещё в 1980-е был взят осознанный курс на копирование западных технологий. Прямого копирования чаще всего конечно не было, в силу того что различалась элементная база. Копирование архитектуры потащило за собой копирование софта -- с одной стороны, это дало экономию, с другой -- наращивало отставание.
Так копирование один-к-одному тоже было, в Воронеже.
Полностью отрезался рынок западных проектов, ушли все аутсорсеры, потому что программистов из РФ стало сложно/невозможно ставить на такие проекты. Эта часть рынка была самая высокая по зарплате. Соответственно, отрезалась возможность поменять место работы на зарплату 2x от текущей. Остальным работодателям нет больше необходимости подтягивать зарплату повыше.
https://caniuse.com/wasm
В каком смысле - не гарантирует? Спецификация wasm это стандарт, есть поддержка значит соответствует стандарту. По скорости конечно может быть медленнее чем на десктопе, как и JavaScript.
На мобилках всё должно быть хорошо - поддержка wasm в мобильных браузерах тоже давно есть.
Это всё про возвраты. Так а по существу претензии, про сервис Профит - что-то будет ответить? Из статьи это выглядит так что сервис как предложение поработать - совершенно невозможен.
В этот раз отчёт очень не показательный. Не видно ответа на главный вопрос - как на рынок повлияли события конца февраля и далее? И авторы даже не пытались найти на него ответ.
Об этом возможно тут уже говорили, зависело от того по какому министерству проходила разработка. Для БК и УКНЦ были сделаны сборки, в которые ушла большая часть логики машины.