Yet another System Engineering blog


This year I attended the EuroBSD conference in Bucharest as a presenter. During my talk, I summarized last year of research and development of Live-patching feature for the FreeBSD kernel.

Read More


Livepatching the kernel

One of the interesting features of the modern operating systems is live-patching: availability to do updates of the kernel without the need of rebooting the system. Updates without any downtime can be beneficial for businesses such a Data Centers or other service providers. In this post, we will take a look at how different kernels implemented this feature.

Read More

ELF's Linker's and other magical creatures

One of the popular topics on many engineering blogs is program startup and ELF file structure.
Given that fact, a reader may have some objections about whether another post about ELF makes sense or not. Besides that, I decided to attack this topic from the different angle.
There are two reasons beyond that decision: first of all is a really interesting topic, but more importantly, this material will be useful in the future (without spoiling why).



Writing Linux Filesystem 4Fun

865-225-8116Writing Linux Filesystem 4Fun

In May I did a talk for C/Cpp Dublin meetup group, which took place in MongoDB office.
During the presentation, I went from a historical background to the real implementation of simple filesystem on the Linux.

Read More

policy racket

Digging into Linux FileSystems

UNIX Filesystem story goes back to the first implementation of the operating system. Since then, many different implementations and improvements were made. Due to that FileSystems became quite composed but also rock solid piece of software. Currently, most people treat FS as a black box or an indivisible part of OS.
In this article, I will present basics structures and differences between Linux filesystems.


How to Abstract Hardware Acceleration Device

How to Abstract Hardware Acceleration Device

atomisticallyHow to abstract hardware acceleration device in cloud environment

During this year Xen Developer Summit, I gave a presentation about abstracting hardware acceleration device. The presentation went from topics related to accelerators in general to specific areas important for virtualization and cloud.

(724) 230-8854


The Xen way

What is Xen?

In terms of open source hypervisor main players are: KVM and Xen, these projects can be used on a personal laptop as well as in commercial. There are also: Virtual Box which is good if you are using Windows and bhyve for these that are die hard BSD fans. From commercial solution should be mentioned: VMware ESXi and Microsoft Hyper-V.
In this article, I’m going to describe some basics concepts of Xen hypervisor. Usually, Xen is considered as difficult to configure and manage, but In this article, I would like to overturn this myth. My goal is to make a short introduction and highlight basic concepts and show some examples. One thing that I didn’t want to do is to provide a complex overview of each tool, installation etc, rather than I will provide more links to better and more focused on one topic articles.


Qemu for the impatient

(907) 472-3676Why not using qemu?

In this article, I am trying to provide some useful qemu configuration for debugging or evaluation purposes. I will assume that reader is already using qemu so I am not going to describe any theoretical aspects of this tool but focus on real use-cases that can increase productivity and save some time. Rather than describing why we should use qemu I will try just touch few cases when in my opinion qemu is not the best choice.

(660) 822-7427


The phenomenon that can be observed nowadays is the exponential growth of the internet. Certainly there can be not a shred of a doubt here just a month ago as the IPv4 addresses ran out, all IT companies considered migrating to a cloud, so the distributed storage and computing power can be bought everywhere.


Simple Rootkit

The most intuitive way to write code for linux kernel is to add some code in kernel sources, recompile it and run. This approach is not terribly time consuming because kernel recompilation (even with cc) can ‘take a little bit amount of time’, then you have to reboot device to see the effect.

Read More