Mobius — writing your own .NET runtime running on .NET Core / Mobius — создание собственной среды выполнения .NET, работающей на .NET Core

17 октября, 14:50

Key ideas

.NET application is «just» a piece of CIL bytecode to be executed by the .NET runtime. And .NET runtime is «just» a program that is able to perform this task. It happens that currently .NET Framework/.NET Core runtimes are written in C++. But what if we write .NET runtime as... .NET application? Is it possible at all? Does it sound like kind of inception and infinite recursion? I’ve decided to try this out and this is how Mobius project has been coined. Obviously, for a single person it can be only a small vertical proof-of-concept to be written. But I found it interesting to validate such idea and I find it small usages as well. I’d like to share with you this mental experiment, that allows you to better understand deep .NET runtime internals.


Тезисы

.NET-приложение это «всего лишь» байт-код CIL для запуска в среде .NET. В свою очередь, среда .NET это «всего лишь» программа, которая может выполнить эту задачу. Сейчас мы видим, что среды .NET Framework и .NET Core написаны на C++. А что, если написать среду .NET как .NET-приложение? Такое вообще возможно? Напоминает бесконечную рекурсию, не так ли? Я попытался реализовать эту идею — так и родился проект Mobius. Конечно, один человек может только создать простой вариант для демонстрации, но мне было интересно, как можно претворить это в жизнь. Более того, я нашел проекту несколько применений. В своем докладе я хочу поделиться с вами этим мысленным экспериментом — в результате вы получите более глубокое понимание среды выполнения .NET.

Презентация (на Я.Диске)

 

Доступ к записям выступлений DotFest платный.

 

Купить доступ 5 900 ₽

 

Или залогиньтесь, если уже куплено.

Dotnetos/Gritstep

Konrad Kokosa

Author of the Pro .NET Memory Management book. Programming for over a dozen years, solving performance problems and architectural puzzles in the .NET world, speeding up web applications. Independent consultant, blogger, speaker and fan of Twitter. He also shares his passion as a trainer in the area of .NET, especially about application performance and diagnostics. Microsoft MVP in the Visual Studio and Development Tools category. Co-founder of https://dotnetos.org initiative.


Автор книги «Управление памятью в .NET для профессионалов». В разработке более 12 лет. Решаю проблемы с производительностью и архитектурой в .NET, ускоряю веб-приложения. Независимый консультант, блоггер, докладчик и фанат Твиттера. В качестве наставника делюсь своим опытом в сфере .NET с упором на диагностику и производительность приложений. Специалист Microsoft MVP в категории Visual Studio and Development Tools. Со-основатель инициативы Dotnetos (https://asyncexpert.com).

Author of the Pro .NET Memory Management book. Programming for over a dozen years, solving performance problems and architectural puzzles in the .NET world, speeding up web applications. Independent consultant, blogger, speaker and fan of Twitter. He also shares his passion as a trainer in the area of .NET, especially about application performance and diagnostics. Microsoft MVP in the Visual Studio and Development Tools category. Co-founder of https://dotnetos.org initiative.


Автор книги «Управление памятью в .NET для профессионалов». В разработке более 12 лет. Решаю проблемы с производительностью и архитектурой в .NET, ускоряю веб-приложения. Независимый консультант, блоггер, докладчик и фанат Твиттера. В качестве наставника делюсь своим опытом в сфере .NET с упором на диагностику и производительность приложений. Специалист Microsoft MVP в категории Visual Studio and Development Tools. Со-основатель инициативы Dotnetos (https://asyncexpert.com).

Другие спикеры: