Summer '20 news update
From adapting to our new working situation to recruiting new staff members and engaging new clients, it’s been a busy summer. Find out more in our latest update ...
Making a Stratum 1 Linux Time Server: Part 3
We have found out in the previous two parts of this series why distributed devices might need a method to synchronise their time to a reference. One method for doing this is through a time server. In this article we will show you how to setup a stratum 1 NTP time server running on a Debian or Ubuntu based Linux system.
Making a Stratum 1 Linux Time Server: Part 2
In the previous article we saw that getting distributed devices to agree on the current time is hard. This article, the second in a series of three, will introduce the concept of a time server – a critical piece of infrastructure required to make everyone agree on the time.
Making a Stratum 1 Linux Time Server: Part 1
In general, distributed devices need to agree on time in order to effectively coordinate tasks, but getting every one to tell the same time is challenging! This article, the first in a series of three, will introduce you to these challenges by discussing why many distributed clocks may not tell the same time.
Introduction to Real-Time Operating Systems: Part 4
All real-time operating systems have “gotchas”, even those targeted at critical applications. The most infamous is “priority inversion”. This article outlines what this is and explains how it can degrade a system’s performance.
Introduction to Real-Time Operating Systems: Part 2
In the embedded world, the use of a real-time operating system (RTOS) is commonplace, and with the advent of the Internet of Things (IoT) they are becoming more so. You may be deciding to use an RTOS for the first time, or perhaps you are thinking of moving to a new one. This is the second article in our series on RTOSes to help you to get started.
Introduction to Real-Time Operating Systems: Part 1
Critical systems must meet deadlines reliably. A driverless car must stop in time to avoid collisions, so how does it try to ensure this? This blog is the first in a series of posts that introduces some of the main concepts of real-time operating systems (RTOS), that is, systems that provide determinism and predictability. It answers the fundamental question, "what is an RTOS?", and discusses the difference between "hard" and "soft" real-time use cases. The aim is to empower any reader looking at real-time systems for the first time by arming them with the basic level of knowledge required to understand this somewhat specialist topic.