building an OS (all streams)

Playlist of all my kernel dev streams

Curated by: offlinemark (147 videos)


Currently Playing: building my own OS in c++ (week 132, context switch integration tests)

tldr: I want to hear your systems programming challenges. DM me =) [contact below] #livecoding #operatingsystem #coding hey everyone - I’m trying to learn how I can be more helpful to this community beyond just streams. I’d like to talk to some people about their challenges in the world of systems programming, whether they're technical, career, or anything else. If you’re interested, just DM me. thank you 🙏 contact: Discord (mm64k) Instagram (offlinemark) Email (mark @ offlinemark.com) -- welcome: https://offlinemark.com/welcome discord: https://discord.gg/P6zQBsD2ng Welcome! I’m an aspiring systems programmer. Professionally, I used to work in infosec, but now I work on music production software & hardware. I stream OS/kernel development every week for 2 hours. (I’ve done this for over 75 weeks in a row! Sundays 10a-12 ET) From February 2024 to May 2025, I streamed myself doing all the labs for MIT’s old Operating Systems Engineering course (6.828 (2018)). Through doing this, I became very familiar with JOS, which is the x86 OS used for the course. I had almost no experience with OS development when I started, although I did have much experience with programming and low level concepts. I did the coursework because I wanted to write my own OS, but felt I wasn’t ready. Now, from May 2025 to present, I’m pursuing my own learning agenda with OS development, and starting my on own OS. If this resonates with you, please subscribe and I'll see you in a stream :) 00:00:00 Start 00:03:34 Overview of the Snitch-based integration test framework and how to run tests 00:09:26 Explanation of the flags test: verifying CPU flags are preserved correctly during context switching 00:16:35 Investigating why the deliberately broken flags test still incorrectly passes 00:36:18 Deep dive into x86 direction flag (DF) behavior and why normal code generation never sets it 00:48:50 Rewriting the flags integration test correctly using two cooperating tasks 01:04:26 Unexpected page fault discovered when setting the direction flag inside the test 01:33:22 Switching from the direction flag to the safer ID flag as a scratch bit for testing 02:07:48 Discovering a C++ optional comparison bug causing tasks to wake up prematurely 02:18:02 All integration tests pass and roadmap preview for the upcoming timer interrupt and preemptive multitasking era


Tracks in this Playlist