awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
tock avatar

tock/tock

0
View on GitHub↗
6,351 星标·836 分支·Rust·3 次浏览www.tockos.org↗

Tock

Tock is a secure embedded operating system and microcontroller kernel designed to isolate untrusted applications and drivers. It functions as a memory-safe process isolator that uses a combination of hardware memory protection and language-level type safety to execute mutually distrustful applications on bare metal.

The system distinguishes itself through a hardware abstraction layer that decouples high-level components from specific microcontroller implementations using standardized traits. It further employs a virtualization layer to allow multiple independent software components to share a single piece of physical hardware.

The kernel covers a broad range of capabilities, including capability-based API access, grant-based memory management to prevent global heap exhaustion, and an event-based scheduler for managing process execution. It also provides mechanisms for runtime application updates by flashing new binaries to non-volatile storage while the system remains running.

Features

  • Hardware-Based Memory Protection - Uses hardware Memory Protection Units to enforce memory access boundaries and isolate mutually distrustful application processes.
  • Embedded Operating Systems - Provides a modular operating system distribution specifically tailored for secure execution on resource-constrained embedded hardware.
  • Task Schedulers - Implements a kernel-level mechanism for managing the execution order and context switching of concurrent tasks.
  • Kernel Event Schedulers - Manages hardware interrupts and application process execution via a kernel-level scheduler based on pending callbacks.
  • Hardware Abstraction Layers - Decouples high-level kernel components from specific microcontroller hardware using standardized traits.
  • Secure Embedded Operating Systems - Runs multiple distrustful applications on microcontrollers using memory protection to ensure system stability and security.
  • MPU-Based Application Isolation - Executes untrusted applications in separate threads with reduced privileges using a hardware memory protection unit.
  • Hardware Abstraction Layers - Provides a standardized interface that decouples high-level system components from specific microcontroller hardware implementations.
  • Grant-Based Allocators - Allocates memory from application heaps to the kernel via grants to prevent global heap exhaustion.
  • Process Isolation - Employs security techniques to restrict process access to system resources by running applications in isolated execution environments.
  • System Call Interfaces - Defines the secure software interrupt mechanism used by user-space applications to request kernel services.
  • Microcontroller Kernels - Implements a core kernel for embedded devices that manages hardware abstraction and process scheduling on bare metal.
  • Capability-Based Access Controls - Employs a security model that requires specific delegatable authorization objects to permit the execution of sensitive kernel functions.
  • Execution Schedulers - Provides a scheduler that controls the execution order and timing of concurrent processes.
  • Embedded Binary Updates - Provides a mechanism to update device functionality by flashing new binaries to non-volatile storage during runtime.
  • Runtime Binary Flashing - Allows loading and flashing of application binaries to non-volatile storage for updates while the system is running.
  • Peripheral Resource Virtualization - Shares a single piece of physical hardware among multiple independent software components through a controlled virtualization layer.
  • Hardware Driver Virtualization - Provides virtualization layers that wrap physical hardware drivers to allow multiple components to share a single resource.
  • System Call and Driver Callback Routings - Implements a system for routing kernel control through registered driver callbacks and system call tables.
  • Hardware Resource Virtualization - Wraps physical hardware drivers in software layers to allow multiple system components to share a single resource.
  • User-Space Upcalls - Signals user processes by executing registered callback functions through a controlled system call interface.
  • Process and Memory Management - Manages the allocation of memory from application heaps to the kernel via grants for safe data exchange.
  • Managed Memory Allocators - Uses specialized allocators and fixed-size buffers to ensure predictable memory consumption and prevent global heap exhaustion.
  • Process Lifecycle Managers - Controls application execution by blocking processes via yield calls and waking them during driver events.
  • Inter-Process Communication - Provides communication protocols and interfaces that allow separate application processes to exchange data and synchronize actions.
  • Kernel-to-User Bridges - Implements a mechanism to route asynchronous notifications and callbacks from the kernel back to user-space processes.
  • Type-Safe Component Isolation - Leverages Rust type and module systems to isolate trusted kernel drivers without requiring hardware memory protection.
  • Language-Level Driver Isolation - Uses a language sandbox to protect internal modules and drivers from each other without incurring hardware overhead.
  • Real-Time Operating Systems - Secure embedded operating system for Cortex-M.
  • Operating Systems - Secure embedded OS for Cortex-M microcontrollers.

Star 历史

tock/tock 的 Star 历史图表tock/tock 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

tock/tock 是做什么的?

Tock is a secure embedded operating system and microcontroller kernel designed to isolate untrusted applications and drivers. It functions as a memory-safe process isolator that uses a combination of hardware memory protection and language-level type safety to execute mutually distrustful applications on bare metal.

tock/tock 的主要功能有哪些?

tock/tock 的主要功能包括:Hardware-Based Memory Protection, Embedded Operating Systems, Task Schedulers, Kernel Event Schedulers, Hardware Abstraction Layers, Secure Embedded Operating Systems, MPU-Based Application Isolation, Grant-Based Allocators。

tock/tock 有哪些开源替代品?

tock/tock 的开源替代品包括: mit-pdos/xv6-public — xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an… riot-os/riot — RIOT is a real-time operating system designed for resource-constrained microcontrollers. It provides a kernel for… rt-thread/rt-thread — RT-Thread is an IoT real-time operating system and embedded device kernel. It provides a lightweight execution… s-matyukevich/raspberry-pi-os — This project is a bare-metal operating system developed for ARM64 architecture. It serves as a low-level… cfenollosa/os-tutorial — This project is an educational curriculum designed to teach the fundamentals of operating system development and… zephyrproject-rtos/zephyr — Zephyr is a real-time operating system and cross-platform embedded framework designed for resource-constrained…

Tock 的开源替代方案

相似的开源项目,按与 Tock 的功能重合度排序。
  • mit-pdos/xv6-publicmit-pdos 的头像

    mit-pdos/xv6-public

    9,466在 GitHub 上查看↗

    xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an instructional kernel for x86 and RISC-V architectures, featuring a virtual memory manager and support for symmetric multiprocessing. The system is designed to demonstrate core OS principles through a simplified re-implementation of Unix Version 6. It provides a controlled environment for studying system calls, trap handling, and process lifecycles. Its capability surface covers process management, including scheduling and context switching, and memory management via page tables for

    C
    在 GitHub 上查看↗9,466
  • riot-os/riotRIOT-OS 的头像

    RIOT-OS/RIOT

    5,760在 GitHub 上查看↗

    RIOT is a real-time operating system designed for resource-constrained microcontrollers. It provides a kernel for managing hardware peripherals, memory, and multitasking on embedded devices, featuring a microcontroller hardware abstraction layer to unify hardware access across different chipsets. The system employs a preemptive tickless task scheduler with priority-based execution to maximize energy efficiency in battery-powered hardware. It also includes an embedded security framework consisting of cryptographic APIs and secure transport protocols to facilitate authenticated over-the-air fir

    C
    在 GitHub 上查看↗5,760
  • rt-thread/rt-threadRT-Thread 的头像

    RT-Thread/rt-thread

    12,048在 GitHub 上查看↗

    RT-Thread is an IoT real-time operating system and embedded device kernel. It provides a lightweight execution environment for microcontrollers, combining a real-time kernel with a hardware abstraction layer to manage multi-threaded task scheduling and hardware resource allocation. The project is built as a modular framework that utilizes a package-based ecosystem. This allows for the integration of reusable software libraries and high-level services through a loosely coupled architecture. The system covers real-time task scheduling, resource-constrained memory management, and embedded hardw

    Caiotarmcortex-a
    在 GitHub 上查看↗12,048
  • s-matyukevich/raspberry-pi-oss-matyukevich 的头像

    s-matyukevich/raspberry-pi-os

    13,854在 GitHub 上查看↗

    This project is a bare-metal operating system developed for ARM64 architecture. It serves as a low-level implementation of kernel engineering, focusing on the fundamental construction of an OS from the hardware level up. The system is distinguished by its comprehensive approach to ARM64 processor control, featuring a red-black tree task scheduler and a hierarchical page table system for virtual memory management. It implements a sophisticated privilege model that handles transitions between kernel and user modes, ensuring process isolation through address space splitting and exception level m

    Carmarmv8assembler
    在 GitHub 上查看↗13,854
  • 查看 Tock 的所有 30 个替代方案→