William Lamie | |
---|---|
Born | Hawaii, U.S. | July 15, 1961
Other names | Bill Lamie |
Education | Central Michigan University (CMU) San Diego State University (SDSU) |
Occupation(s) | software engineer, businessman, investor |
Years active | 1980s–present |
Known for | Creator of real-time operating systems Nucleus, ThreadX, PX5 |
William (Bill) Lamie (born 15 July 1961) is an American software engineer. He is known as the author of the Nucleus, ThreadX and PX5 real-time operating systems (RTOS). [1] [2] [3]
Lamie was born in Hawaii and grew up in Southern California and then Michigan. Bill started his Computer Science studies at Central Michigan University (CMU). His father Edward Lamie was a Computer Science professor and department head at CMU, where he first realized that Computer Science was his passion. In 1985, he completed his Bachelor of Science in Computer Science (BSCS) degree from San Diego State University (SDSU).
Lamie's area of expertise within the field of Computer Science lies in real-time operating systems (RTOS). His interest in this field was sparked during his initial employment at Digital Wizards, a San Diego–based company. Digital Wizards provided the US Navy an RTOS called Executive Operating System (EXOS), of which he was a major contributor. After EXOS, he worked for Scientific Atlanta and then started consulting in the real-time, embedded arena.
In the late 1980s Lamie created the Nucleus RTOS and co-founded Accelerated Technology (ATI), which is now part of Siemens Embedded. The Nucleus RTOS comprised two variants, namely Nucleus RTX and Nucleus PLUS. Nucleus PLUS offered dynamic object creation/deletion capabilities and a more extensive range of functionality compared to Nucleus RTX. As of 2023, the Nucleus RTOS has been employed in approximately 3 billion devices. [4] In 1995, he made the decision to depart from Accelerated Technology.
In 1997, Lamie created a new real-time operating system known as ThreadX and co-founded Express Logic, a software development company. In 2019, Microsoft acquired Express Logic, including the ThreadX technology. [5] [6] ThreadX gained recognition in the embedded industry for its advantages in terms of size, performance, and simplicity when compared to the Nucleus RTOS. According to VDC Research, ThreadX has been deployed in nearly 11 billion instances. Following the acquisition, Microsoft rebranded the technology as Azure RTOS. [7]
In 2022, Lamie left Microsoft and introduced a new RTOS known as the PX5 RTOS. The PX5 RTOS differentiates itself from ThreadX by leveraging data encapsulation and Pointer/Data Verification (PDV) techniques, resulting in notable benefits in terms of size, speed, and security. Moreover, the PX5 RTOS features a native implementation of the POSIX pthreads API, an IEEE standard, enabling code sharing across embedded Linux platforms and reducing the need for additional engineering training. Subsequently, in January 2023, he established a new company named PX5. [8] [9] [10] [11] [12] [13] [14]
The Portable Operating System Interface is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines both the system and user-level application programming interfaces (APIs), along with command line shells and utility interfaces, for software compatibility (portability) with variants of Unix and other operating systems. POSIX is also a trademark of the IEEE. POSIX is intended to be used by both application and system developers.
A real-time operating system (RTOS) is an operating system (OS) for real-time computing applications that processes data and events that have critically defined time constraints. An RTOS is distinct from a time-sharing operating system, such as Unix, which manages the sharing of system resources with a scheduler, data buffers, or fixed task prioritization in multitasking or multiprogramming environments. All operations must verifiably complete within given time and resource constraints or else fail safe. Real-time operating systems are event-driven and preemptive, meaning the OS can monitor the relevant priority of competing tasks, and make changes to the task priority. Event-driven systems switch between tasks based on their priorities, while time-sharing systems switch the task based on clock interrupts.
QNX is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market.
pSOS is a real-time operating system (RTOS), created in about 1982 by Alfred Chao, and developed and marketed for the first part of its life by his company Software Components Group (SCG). In the 1980s, pSOS rapidly became the RTOS of choice for all embedded systems based on the Motorola 68000 series family architecture, because it was written in 68000 assembly language and was highly optimised from the start. It was also modularised, with early support for OS-aware debugging, plug-in device drivers, Internet protocol suite (TCP/IP) stacks, language libraries, and disk subsystems. Later came source code level debugging, multiprocessing support, and further computer networking extensions.
VxWorks is a real-time operating system developed as proprietary software by Wind River Systems, a subsidiary of Aptiv. First released in 1987, VxWorks is designed for use in embedded systems requiring real-time, deterministic performance and in many cases, safety and security certification for industries such as aerospace, defense, medical devices, industrial equipment, robotics, energy, transportation, network infrastructure, automotive, and consumer electronics.
An Embedded Operating System (EOS) is an operating system designed specifically for embedded computer systems. These systems aim to enhance functionality and reliability to perform dedicated tasks. When the multitasking method employed allows for timely task execution, such an OS may qualify as a real-time operating system (RTOS).
RTLinux is a hard realtime real-time operating system (RTOS) microkernel that runs the entire Linux operating system as a fully preemptive process. The hard real-time property makes it possible to control robots, data acquisition systems, manufacturing plants, and other time-sensitive instruments and machines from RTLinux applications. The design was patented. Despite the similar name, it is not related to the Real-Time Linux project of the Linux Foundation.
In computing, POSIX Threads, commonly known as pthreads, is an execution model that exists independently from a programming language, as well as a parallel execution model. It allows a program to control multiple different flows of work that overlap in time. Each flow of work is referred to as a thread, and creation and control over these flows is achieved by making calls to the POSIX Threads API. POSIX Threads is an API defined by the Institute of Electrical and Electronics Engineers (IEEE) standard POSIX.1c, Threads extensions .
Nucleus RTOS is a real-time operating system (RTOS) produced by the Embedded Software Division of Mentor Graphics, a Siemens Business, supporting 32- and 64-bit embedded system platforms. The operating system (OS) is designed for real-time embedded systems for medical, industrial, consumer, aerospace, and Internet of things (IoT) uses. Nucleus was released first in 1993. The latest version is 3.x, and includes features such as power management, process model, 64-bit support, safety certification, and support for heterogeneous computing multi-core system on a chip (SOCs) processors.
FreeRTOS is a real-time operating system kernel for embedded devices that has been ported to 40 microcontroller platforms. It is distributed under the MIT License.
Eclipse ThreadX is a highly deterministic, embedded real-time operating system (RTOS) programmed mostly in the language C.
TI-RTOS is an embedded tools ecosystem created and offered by Texas Instruments (TI) for use across a range of their embedded system processors. It includes a real-time operating system (RTOS) component-named TI-RTOS Kernel, networking connectivity stacks, power management, file systems, instrumentation, and inter-processor communications like DSP/BIOS Link. It is free and open-source software, released under a BSD license.
IntervalZero, Inc. develops hard real-time software and its symmetric multiprocessing (SMP) enabled RTX and RTX64 software transform the Microsoft Windows general-purpose operating system (GPOS) into a real-time operating system (RTOS).
QP is a family of open source real-time embedded frameworks (RTEFs) and runtime environments based on active objects (actors) and hierarchical state machines. The QP family consists of the lightweight QP/C and QP/C++ frameworks, written in C (C99) and C++ (C++11), respectively.
NuttX is a free and open-source real-time operating system (RTOS) with an emphasis on technical standards compliance and on having a small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the main governing standards in NuttX are from the Portable Operating System Interface (POSIX) and the American National Standards Institute (ANSI). Further standard application programming interfaces (APIs) from Unix and other common RTOSes are adopted for functions unavailable under these standards, or inappropriate for deeply embedded environments, such as the fork system call.
RTX / RTX64 are real-time operating system (RTOS) by the firm IntervalZero. They are software extensions that convert Microsoft Windows operating system into a RTOS. It was the first Windows real-time solution on the market.
Zephyr is a small real-time operating system (RTOS) for connected, resource-constrained and embedded devices supporting multiple architectures and released under the Apache License 2.0. Zephyr includes a kernel, and all components and libraries, device drivers, protocol stacks, file systems, and firmware updates, needed to develop full application software.
PX5 RTOS is a real-time operating system (RTOS) designed for embedded systems. It is implemented using the ANSI C programming language.