#osdev
Explore tagged Tumblr posts
Text
wow systems development will be really fun! i cant wait to program my own operating system!!!
the uefi specification 2.8:
13 notes
·
View notes
Text
Alright, Im commencing plan "post osdev shit" and gonna update this as i debug the weird ass issue im having with serial comms.
the repo in question
the issue? i have a mostly simple serial communication system that allows the guest to send commands to the host in lieu of debugging. said system involves a bunch of types that are stored in Packets (ugh tumblr doesn't support code blocks). For some godforsaken reason two of the types (the OpenFile or WriteFile) are spitting out extra bytes? for no reason? when the size of the packets is 100% fixed to the size of the request explicitly to avoid extra bytes? so i have no clue why but im gonna put on the "osdev what the fuck" glasses and figure this shit out and put it here cuz why not.
7 notes
·
View notes
Text

The operating system project is going amazing
9 notes
·
View notes
Note
hello!! hopefully i'm not bothering you! i saw the post about running uclinux on macintosh plus, so i wanted to try it on my machine, i've found your source on github and i've gotten everything compiled however the kernal can't mount the root filesystem, neither through mame or my macintosh plus (sda1 is where the root file system should be, i increased the image size to 128mb from 64mb) thanks
hi, thanks for bringing this to my attention! i can't seem to replicate it though, even when i increase the image size to 128 mb it boots just fine in mame (and i don't really feel like pulling out my mac plus to test when i know it works in mame)
are you sure you're using the right command line options for mame? i can run it just fine with something along the lines of mame macplus -scsibus:1 harddisk -hard1 $(pwd)/root.img (god i wish i could get this to format properly i'm genuinely so fucking mad at tumblr rn. genuinely inexcusable)
and are you sure you're not getting the root filesystem mount error confused with the fact that it fails to boot into a shell for some reason? because i've been aware of that problem for a while, but haven't been motivated to try and fix it because i've been working on an os specifically designed to solve the many issues with nommu uclinux on low memory platforms
hopefully this is helpful, but if not then this is the most i can do without detailed instructions on how to replicate the issue because i can't figure it out myself
6 notes
·
View notes
Text
All-level Rust
Web servers require layers upon layers of software and hardware. Routing, multiplexing, protocols, everything. Rust is a viable solution to making a web server, because it's safe and fast, and has many crates to help (tokio, warp, ws). You can make a browser in Rust, as well as games.
But at the same time, you can make an operating system with it. The lowest level of access to a computer you can get, creating and dereferencing raw pointers, running on the CPU itself. You can make not only games but game engines. You can make compilers. You can do FFI. You can make FFI. Your entire stack can be made with Rust.
You would make a web server in JavaScript, Java, C#, Go, or maybe even Python. But you wouldn't use any of those to make an operating system, because they require a runtime aren't bare metal enough, or throw exceptions. They are good for making web servers because they abstract away problems like buffer overflows, and they are extendable languages. You would use C, C++, or Zig. They are good for making operating systems because it's easy to dig into memory ((unsigned short*)0xb8000 is the VGA text buffer).
Rust can do both. Sure, you can make a web server in those OS languages, but you need to make sure it's safe as hell. Rust itself is safe as hell.
/rust rant
#programming#server#web server#web development#operating system#operating systems#javascript#java#c#c++#csharp#zig#go#rust#osdev
10 notes
·
View notes
Text
who could have know osdev might be hard
4 notes
·
View notes
Text
that was such a cool project tbh

Linux on a PSP :3

3K notes
·
View notes
Text
lol osdev got me reading about linux kernel stuff it sounds wild like theres an "OOM killer" (OOM means out-of-memory but it sounds funny)
25 notes
·
View notes
Note
hi kit 👋
here's a photo of my cat (upper) and me (cursor) doing osdev

ooooo sounds so much funnn
3 notes
·
View notes
Text
This Week in Rust 599
Hello and welcome to another issue of This Week in Rust! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want something mentioned? Tag us at @thisweekinrust.bsky.social on Bluesky or @ThisWeekinRust on mastodon.social, or send us a pull request. Want to get involved? We love contributions.
This Week in Rust is openly developed on GitHub and archives can be viewed at this-week-in-rust.org. If you find any errors in this week's issue, please submit a PR.
Want TWIR in your inbox? Subscribe here.
Updates from Rust Community
Official
Announcing Google Summer of Code 2025 selected projects
Foundation
10 Years of Stable Rust: An Infrastructure Story
Newsletters
This Month in Rust OSDev: April 2025 | Rust OSDev
The Embedded Rustacean Issue #45
Project/Tooling Updates
Avian Physics 0.3
Two months in Servo: CSS nesting, Shadow DOM, Clipboard API, and more
Cot v0.3: Even Lazier
Streaming data analytics, Fluvio 0.17.3 release
CGP v0.4 is Here: Unlocking Easier Debugging, Extensible Presets, and More
Rama v0.2
Observations/Thoughts
Bad Type Patterns - The Duplicate duck
Rust nightly features you should watch out for
Lock-Free Rust: How to Build a Rollercoaster While It’s on Fire
Simple & type-safe localization in Rust
From Rust to AVR assembly: Dissecting a minimal blinky program
Tarpaulins Week Of Speed
Rustls Server-Side Performance
Is Rust the Future of Programming?
Rust Walkthroughs
Functional asynchronous Rust
The Power of Compile-Time ECS Architecture in Rust
[video] Build with Naz : Spinner animation, lock contention, Ctrl+C handling for TUI and CLI
Miscellaneous
April 2025 Rust Jobs Report
Crate of the Week
This week's crate is brush, a bash compatible shell implemented completely in Rust.
Thanks to Josh Triplett for the suggestion!
Please submit your suggestions and votes for next week!
Calls for Testing
An important step for RFC implementation is for people to experiment with the implementation and give feedback, especially before stabilization.
If you are a feature implementer and would like your RFC to appear in this list, add a call-for-testing label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature need testing.
No calls for testing were issued this week by Rust, Rust language RFCs or Rustup.
Let us know if you would like your feature to be tracked as a part of this list.
RFCs
Rust
Rustup
If you are a feature implementer and would like your RFC to appear on the above list, add the new call-for-testing label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature need testing.
Call for Participation; projects and speakers
CFP - Projects
Always wanted to contribute to open-source projects but did not know where to start? Every week we highlight some tasks from the Rust community for you to pick and get started!
Some of these tasks may also have mentors available, visit the task page for more information.
rama - add ffi/rama-rhai: support ability to use services and layers written in rhai
rama - support akamai h2 passive fingerprint and expose in echo + fp services
If you are a Rust project owner and are looking for contributors, please submit tasks here or through a PR to TWiR or by reaching out on X (formerly Twitter) or Mastodon!
CFP - Events
Are you a new or experienced speaker looking for a place to share something cool? This section highlights events that are being planned and are accepting submissions to join their event as a speaker.
No Calls for papers or presentations were submitted this week.
If you are an event organizer hoping to expand the reach of your event, please submit a link to the website through a PR to TWiR or by reaching out on X (formerly Twitter) or Mastodon!
Updates from the Rust Project
397 pull requests were merged in the last week
Compiler
async drop fix for async_drop_in_place<T> layout for unspecified T
better error message for late/early lifetime param mismatch
perf: make the assertion in Ident::new debug-only
perf: merge typeck loop with static/const item eval loop
Library
implement (part of) ACP 429: add DerefMut to Lazy[Cell/Lock]
implement VecDeque::truncate_front()
Cargo
network: use Retry-After header for HTTP 429 responses
rustc: Don't panic on unknown bins
add glob pattern support for known_hosts
add support for -Zembed-metadata
fix tracking issue template link
make cargo script ignore workspaces
Rustdoc
rustdoc-json: remove newlines from attributes
ensure that temporary doctest folder is correctly removed even if doctests failed
Clippy
clippy: item_name_repetitions: exclude enum variants with identical path components
clippy: return_and_then: only lint returning expressions
clippy: unwrap_used, expect_used: accept macro result as receiver
clippy: add allow_unused config to missing_docs_in_private_items
clippy: add new confusing_method_to_numeric_cast lint
clippy: add new lint: cloned_ref_to_slice_refs
clippy: fix ICE in missing_const_for_fn
clippy: fix integer_division false negative for NonZero denominators
clippy: fix manual_let_else false negative when diverges on simple enum variant
clippy: fix unnecessary_unwrap emitted twice in closure
clippy: fix diagnostic paths printed by dogfood test
clippy: fix false negative for unnecessary_unwrap
clippy: make let_with_type_underscore help message into a suggestion
clippy: resolve through local re-exports in lookup_path
Rust-Analyzer
fix postfix snippets duplicating derefs
resolve doc path from parent module if outer comments exist on module
still complete parentheses & method call arguments if there are existing parentheses, but they are after a newline
Rust Compiler Performance Triage
Lot of changes this week. Overall result is positive, with one large win in type check.
Triage done by @panstromek. Revision range: 62c5f58f..718ddf66
Summary:
(instructions:u) mean range count Regressions ❌ (primary) 0.5% [0.2%, 1.4%] 113 Regressions ❌ (secondary) 0.5% [0.1%, 1.5%] 54 Improvements ✅ (primary) -2.5% [-22.5%, -0.3%] 45 Improvements ✅ (secondary) -0.9% [-2.3%, -0.2%] 10 All ❌✅ (primary) -0.3% [-22.5%, 1.4%] 158
Full report here
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
No RFCs were approved this week.
Final Comment Period
Every week, the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
Tracking Issues & PRs
Rust
Tracking Issue for non_null_from_ref
Add std::io::Seek instance for std::io::Take
aarch64-softfloat: forbid enabling the neon target feature
Stabilize the avx512 target features
make std::intrinsics functions actually be intrinsics
Error on recursive opaque ty in HIR typeck
Remove i128 and u128 from improper_ctypes_definitions
Guarantee behavior of transmuting Option::<T>::None subject to NPO
Temporary lifetime extension through tuple struct and tuple variant constructors
Stabilize tcp_quickack
Change the desugaring of assert! for better error output
Make well-formedness predicates no longer coinductive
No Items entered Final Comment Period this week for Cargo, Rust RFCs, Language Reference, Language Team or Unsafe Code Guidelines.
Let us know if you would like your PRs, Tracking Issues or RFCs to be tracked as a part of this list.
New and Updated RFCs
RFC: Extended Standard Library (ESL)
Upcoming Events
Rusty Events between 2025-05-14 - 2025-06-11 🦀
Virtual
2025-05-15 | Hybrid (Redmond, WA, US) | Seattle Rust User Group
May, 2025 SRUG (Seattle Rust User Group) Meetup
2025-05-15 | Virtual (Girona, ES) | Rust Girona
Sessió setmanal de codificació / Weekly coding session
2025-05-15 | Virtual (Joint Meetup, Europe + Israel) | Rust Berlin + Rust Paris + London Rust Project Group + Rust Zürisee + Rust TLV + Rust Nürnberg + Rust Munich + Rust Aarhus + lunch.rs
🦀 Celebrating 10 years of Rust 1.0 🦀
2025-05-15 | Virtual (Zürich, CH) | Rust Zürisee
🦀 Celebrating 10 years of Rust 1.0 (co-event with berline.rs) 🦀
2025-05-18 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
Rust Readers Discord Discussion: Async Rust
2025-05-19 | Virtual (Tel Aviv-yafo, IL) | Rust 🦀 TLV
Tauri: Cross-Platform desktop applications with Rust and web technologies
2025-05-20 | Hybrid (EU/UK) | Rust and C++ Dragons (former Cardiff)
Talk and Connect - Fullstack - with Goetz Markgraf and Ben Wishovich
2025-05-20 | Virtual (London, UK) | Women in Rust
Threading through lifetimes of borrowing - the Rust way
2025-05-20 | Virtual (Tel Aviv, IL) | Code Mavens 🦀 - 🐍 - 🐪
Rust at Work a conversation with Ran Reichman Co-Founder & CEO of Flarion
2025-05-20 | Virtual (Washington, DC, US) | Rust DC
Mid-month Rustful
2025-05-21 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
Linking
2025-05-22 | Virtual (Berlin, DE) | Rust Berlin
Rust Hack and Learn
2025-05-22 | Virtual (Girona, ES) | Rust Girona
Sessió setmanal de codificació / Weekly coding session
2025-05-25 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
Rust Readers Discord Discussion: Async Rust
2025-05-27 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
Fourth Tuesday
2025-05-27 | Virtual (Tel Aviv, IL) | Code Mavens 🦀 - 🐍 - 🐪
Rust at Work - conversation with Eli Shalom & Igal Tabachnik of Eureka Labs
2025-05-29 | Virtual (Nürnberg, DE) | Rust Nuremberg
Rust Nürnberg online
2025-05-29 | Virtual (Tel Aviv-yafo, IL) | Rust 🦀 TLV
שיחה חופשית ווירטואלית על ראסט
2025-06-01 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
Rust Readers Discord Discussion: Async Rust
2025-06-03 | Virtual (Tel Aviv-yafo, IL) | Rust 🦀 TLV
Why Rust? למה ראסט? -
2025-06-04 | Virtual (Indianapolis, IN, US) | Indy Rust
Indy.rs - with Social Distancing
2025-06-05 | Virtual (Berlin, DE) | Rust Berlin
Rust Hack and Learn
2025-06-07 | Virtual (Kampala, UG) | Rust Circle Meetup
Rust Circle Meetup
2025-06-08 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
Rust Readers Discord Discussion: Async Rust
2025-06-10 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
Second Tuesday
2025-06-10 | Virtual (London, UK) | Women in Rust
👋 Community Catch Up
Asia
2025-05-17 | Delhi, IN | Rust Delhi
Rust Delhi Meetup #10
2025-05-24 | Bangalore/Bengaluru, IN | Rust Bangalore
May 2025 Rustacean meetup
2025-06-08 | Tel Aviv-yafo, IL | Rust 🦀 TLV
In person Rust June 2025 at AWS in Tel Aviv
Europe
2025-05-13 - 2025-05-17 | Utrecht, NL | Rust NL
RustWeek 2025
2025-05-14 | Reading, UK | Reading Rust Workshop
Reading Rust Meetup
2025-05-15 | Berlin, DE | Rust Berlin
10 years anniversary of Rust 1.0
2025-05-15 | Oslo, NO | Rust Oslo
Rust 10-year anniversary @ Appear
2025-05-16 | Amsterdam, NL | RustNL
Rust Week Hackathon
2025-05-16 | Utrecht, NL | Rust NL Meetup Group
RustWeek Hackathon
2025-05-17 | Amsterdam, NL | RustNL
Walking Tour around Utrecht - Saturday
2025-05-20 | Dortmund, DE | Rust Dortmund
Talk and Connect - Fullstack - with Goetz Markgraf and Ben Wishovich
2025-05-20 | Aarhus, DK | Rust Aarhus
Hack Night - Robot Edition
2025-05-20 | Leipzig, SN, DE | Rust - Modern Systems Programming in Leipzig
Topic TBD
2025-05-22 | Augsburg, DE | Rust Augsburg
Rust meetup #13:A Practical Guide to Telemetry in Rust
2025-05-22 | Bern, CH | Rust Bern
2025 Rust Talks Bern #3 @zentroom
2025-05-22 | Paris, FR | Rust Paris
Rust meetup #77
2025-05-22 | Stockholm, SE | Stockholm Rust
Rust Meetup @UXStream
2025-05-27 | Basel, CH | Rust Basel
Rust Meetup #11 @ Letsboot Basel
2025-05-27 | Vienna, AT | Rust Vienna
Rust Vienna - May at Bitcredit 🦀
2025-05-29 | Oslo, NO | Rust Oslo
Rust Hack'n'Learn at Kampen Bistro
2025-05-31 | Stockholm, SE | Stockholm Rust
Ferris' Fika Forum #12
2025-06-04 | Ghent, BE | Systems Programming Ghent
Grow smarter with embedded Rust
2025-06-04 | München, DE | Rust Munich
Rust Munich 2025 / 2 - Hacking Evening
2025-06-04 | Oxford, UK | Oxford Rust Meetup Group
Oxford Rust and C++ social
2025-06-05 | München, DE | Rust Munich
Rust Munich 2025 / 2 - Hacking Evening
2025-06-11 | Reading, UK | Reading Rust Workshop
Reading Rust Meetup
North America
2025-05-15 | Hybrid (Redmond, WA, US) | Seattle Rust User Group
May, 2025 SRUG (Seattle Rust User Group) Meetup
2025-05-15 | Mountain View, CA, US | Hacker Dojo
RUST MEETUP at HACKER DOJO
2025-05-15 | Nashville, TN, US | Music City Rust Developers
Using Rust For Web Series 2 : Why you, Yes You. Should use Hyperscript!
2025-05-15 | Hybrid (Redmond, WA, US) | Seattle Rust User Group
May, 2025 SRUG (Seattle Rust User Group) Meetup
2025-05-18 | Albuquerque, NM, US | Ideas and Coffee
Intro Level Rust Get-together
2025-05-20 | San Francisco, CA, US | San Francisco Rust Study Group
Rust Hacking in Person
2025-05-21 | Hybrid (Vancouver, BC, CA) | Vancouver Rust
Linking
2025-05-28 | Austin, TX, US | Rust ATX
Rust Lunch - Fareground
2025-05-29 | Atlanta, GA, US | Rust Atlanta
Rust-Atl
2025-06-05 | Saint Louis, MO, US | STL Rust
Leptos web framework
South America
2025-05-28 | Montevideo, DE, UY | Rust Meetup Uruguay
Primera meetup de Rust de 2025!
2025-05-31 | São Paulo, BR | Rust São Paulo Meetup
Encontro do Rust-SP na WillBank
If you are running a Rust event please add it to the calendar to get it mentioned here. Please remember to add a link to the event too. Email the Rust Community Team for access.
Jobs
Please see the latest Who's Hiring thread on r/rust
Quote of the Week
If a Pin drops in a room, and nobody around understands it, does it make an unsound? #rustlang
– Josh Triplett on fedi
Thanks to Josh Triplett for the self-suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, U007D, joelmarcey, mariannegoldin, bennyvasquez, bdillo
Email list hosting is sponsored by The Rust Foundation
Discuss on r/rust
2 notes
·
View notes
Text
osdev is a constant state of 5 and 6 and i have a hate-love relationship with it
When you're debugging code, there are a number of possible scenarios, in order of increasing scariness:
The code works, but with some known issues.
The code doesn't work, but I know why.
The code doesn't work, and I don't know why.
The code used to work, but I know what changed.
The code used to work, and I don't know what changed.
The code used to work, failed, and I fixed it so it works again, but now that I fixed it I'm not sure how it EVER worked before.
The code works, even though it clearly shouldn't, and I don't know why.
Just fixed a #6 issue at work so I'm a little shook.
2K notes
·
View notes
Text
What people don't tell you about osdev is that it changes you fundamentally as a person
0 notes
Text
Perhaps some gratitude for contemporary kids' culture
It has been so long since I last played Roblox around ~2009 (but I re-registered fairly recently but haven't tried anything just yet) but across this whole games' platform, I kinda find joy seeing the creativity and innovation of those kids in the ways they express themselves and all... (also remembered one convo I had with some friends' kids playing Roblox in the last year or so, which also warms my heart some to them)
youtube
Like how there are plenty of history reenactments, simulation / strategy games, content creators... quite the fascinating theater of a kids ecosystem. And among some more things I observed and witnessed in the past few months that make me see that humanity and Earth is healing. (We are getting somewhere better soon I swear, also manifesting towards it)
Idk, I appreciate it much as it is justly neat to discover what skills they practice and best deeds they are up to online in this ocean of madness. (Even in the proprietary monopolistic hellscape of side markets and data digging technologies, there is still hope amongst the young developers from what I understood)
youtube
youtube
Doesn't excuse the drama, abusive systems and horror stories coming out of this ecosystem nonetheless, but I wanted to show some empathy to this generation of people coming about, which deserve much better just like we do. (Scratch raycasters & "osdev" stuff is very cool too mind you)
youtube
So yeah, at least that whole thread of sorts motivates me furthermore to develop my very own libre creative ecosystem to improve onto this recipe of sorts... at the very least to see what great things can be made out of more... "obsolete" / "historical" tech; Thanks for reading and see you soon.
#maskoch#gratitude log#actually autistic#red instead#roblox kids and younglings stuff is fascinating to observe#Youtube
1 note
·
View note
Text
Why do bisexuals love osdev? Because their preferred system is BI-OS
0 notes
Text
There's a few options here, most of them centered on buffering techniques. Conventionally you double-buffer graphics, which is that you have a buffer (front-buffer) that you are displaying and a buffer (back-buffer) that you are drawing to and you flip between them every time a new frame is due to be drawn, typically just by pointing the graphics card at a memory address every 1/60th or 1/144th or whatever of a second, which is cheap.
You can do this as fast as your CPU and graphics card can keep up with it, or you could delay certain tasks to try and line them up with a target framerate and the buffer flips. If you're going faster than the graphics card and display can actually display frames, you could end up overwriting the back-buffer multiple times before it draws, which is "wasted" work, since you won't see it. Frame rate limiters can take various approaches to preventing this wasted work, with varying effects on latency and performance.
There's all sorts of things that could go wrong here, like tearing, where you have started overwriting the back buffer and the graphic card decides it's time to flip buffers before you're done, so you draw a frame that is torn in half wherever you were when the flip occured. Vertical sync, triple-buffering, and other techniques can be used to avoid this.
Of course, if you have enough control of the hardware (like with, say, a variable refresh rate capable display and graphics card, or in my case, with this LED strip and microcontroller I'm working with) you can just tell the GPU "okay, time to draw now" and it'll flip and draw from the buffer on demand provided you aren't exceeding its capabilities.
Further reading:
Let's say you're writing some code with graphical output. Like a game, or a gui, or whatever. It needs to write things to the screen every frame. But if you stick in a while loop or whatever, that's just gonna run as fast as the processor can run it, it will execute those lines of code as fast as it can. How do you... keep track of the frames, relative to this, and make everything work?
117 notes
·
View notes