Keeping the portable cFS core untouched while implementing OSAL for a custom microkernel is an interesting approach. How challenging was the PSP integration?
Porting NASA's Core Flight System (cFS) to our Custom OS — cfs-on-exploidus
2 Comments
@[grinch]
Thanks for the great question, @grinch!
The PSP integration was definitely the most nuanced part compared to OSAL, primarily because traditional cFS PSP assumes direct, privileged access to platform hardware, physical memory ranges, and raw interrupt traps. On a capability-gated microkernel like Exploidus OS, we had to re-map those assumptions:
Memory Ranges & Capability Delegation:
Standard PSP expects direct pointer access for RAM, EEPROM, and CDS (Critical Data Store). On our microkernel, memory regions cannot be addressed arbitrarily; they require explicit capability grants. We implemented the PSP memory access APIs (CFE_PSP_MemRead/Write) by mapping them to capability-bounded typed memory objects, ensuring cFS apps cannot step outside their allocated space.Reset Types & State Preservation (CDS):
Distinguishing Power-On Reset (POR) from Processor/Warm Reset is critical for CDS survivability in cFS. Because the microkernel isolates state across fault domains, we mapped the CDS to a persistent capability-backed shared memory vault that survives worker restarts and warm reboots without exposing unprotected physical RAM.Exception Handling & Fault Containment (SEU mitigation):
In a traditional monolith/RTOS, unhandled hardware traps caught by the PSP often crash the runtime or require a board reset. In our microkernel architecture, hardware traps and radiation-induced SEUs are intercepted by the kernel pager/fault handler and delivered as typed IPC fault notifications. This allowed the PSP to report the fault and initiate isolated task recovery without bringing down the entire flight software stack.
Overall, keeping the cFS core pristine while adapting the PSP meant turning raw hardware assumptions into isolated, capability-bound services. It added initial architectural overhead, but the resulting resilience and fault containment have been well worth it.
Please log in to add a comment.
Please log in to comment on this post.
More Posts
- © 2026 Coder Legion
- Feedback / Bug
- Privacy
- About Us
- Contacts
- You Tube
- Tiktok
- Premium Subscription
- Terms of Service
- Early Builders
I build execution runtimes, microkernel primitives, and line-rate packet engines from first principles focusing on deterministic real-time scheduling, memory safety, and hardware capability enforcement.
Key Technical Focus & Active Work:
• Flight Software & Space Systems:
Ported NASA's Core Flight System (cFS) natively to Exploidus OS (custom capability microkernel) with zero portable core patches. Implemented native OSAL/PSP syscall mappings, a deterministic 100 Hz minor-frame scheduler (SCH), double-buffered Table Services (TBL) for live GNC PID parameter hot-reloading, and BLAKE3 capability-gated effector actuation. Co-authored the Community Security Architecture Proposal v0.1 presented on NASA cFS Discussion #1168.
• Operating System Development:
Architected Exploidus OS, a security-oriented x86-64 microkernel featuring intent-based preemptive scheduling (INTENT_COMPUTE), userspace atomic futex primitives (SYS_FUTEX), and ExFS (crash-consistent filesystem with provenance records).
• High-Throughput Linux Networking & eBPF:
Engineered aegis-filter / xdp-guard (pure Rust), a line-rate Layer-4 ingress defense engine operating at the NIC driver layer (XDP_DROP) to mitigate multi-million PPS volumetric floods before sk_buff kernel memory allocation. Published on crates.io.
• Open Source Contributions:
Identified and resolved an inherited 1-bit specification discrepancy in the CCSDS File Delivery Protocol (CFDP) Metadata PDU closure-requested flag within NASA's F Prime framework (PR #6143, verified by NASA core maintainers).
Core Stack:
C (C99/C11), C++20, Rust, x86-64 Assembly, Linux Kernel Internals, Microkernels, eBPF/XDP, Futex, QEMU, GDB.
Code & Repositories:
• Personal GitHub: https://github.com/rahadbhuiya
• Exploidus Labs: https://github.com/Exploidus
• Research Site: https://exploidus.com Show less
More From rahadbhuiya
Related Jobs
- Marketing Systems AdministratorHarris Computer · Full time · Springfield, IL
- Systems Engineer (Springfield, Tennessee) (On-Site)Metrolina Greenhouses · Full time · Springfield, IL
- Financial Management Systems Engineer (TS/SCI w/CI Poly Required)AM Technologies · Full time · Springfield, IL
Commenters (This Week)
Contribute meaningful comments to climb the leaderboard and earn badges!