e-tinkerer

A Place for my train of thought, mainly electronics, mcus and math

  • On Linux init managers

    In this post let’s look into the first process that is run in the linux userland: the init process. We’ll look briefly at the kernel-userland interface and existing init managers. This post is per se not a tutorial but an overview of concepts relating to init managers.

    A brief overview of init managers

    A reminder of the kernel boot process: the kernel initializes the system, loads in-tree kernel modules, detects and initializes hardware. After this the kernel is ready to start running userland.

    Read more…
  • Computing Fibonacci, but using registers, and assembly

    In this post we’ll go a bit deeper into computation methods using variables in different volatile and non-volatile memory storages. As a foreword, while I’ve had this experimentation idea for some time now the fact that there is only mild academic interest in the whole experimentation setup and possible results I’ve skipped the whole effort of actually take an iniative.

    Still I’ve been curious on what the results of this experimentation would be. Thanks to AI tools I could finally look into this niche topic.

    Read more…
  • Fundamental data structures: Linked List

    This post covers an intermediate system/algorithm designer to a high-throughput data system using linked lists. For the same of brevity code examples are kept brief.

    Motivation

    The theory behind one of the most fundamental data structures linked list is by itself fascinating but to give a motivation let’s start with a real-life example. Recently I’ve had to deal with a lot of sensor data. By lot I mean 40Msps of 32bit data which is around 160MBps. Using memcpy on all of it is simply not a viable option because memory oprations are known to be slow and the system is already busy with the data stream and we haven’t yet even talked about the application layer. Since we don’t want to waste cpu time copying this data stream and we still want to do something useful with the data what options do we have?

    Read more…