Amazing writeup, love this types of blog posts and hope the hawaii trip was enjoyable
I ported Mac OS X to the Nintendo Wii
281–290 of 337 posts
Re: I ported Mac OS X to the Nintendo Wii
#282Earlier quoted context omitted.
Another funny history fact with the Wii is Windows Vista released the same month in North America. People were so upset that the minimum requirement for Vista said 512 MB (which was already more than the average existing home PC of the time had without an upgrade) but it ran like crap unless you had more. We truly had to get away with less back then. These days it feels like there is a bit more headroom where 8 GB is…
Recently I was ranting about this very thing, my work machine running win 11 has 16gb ram and Windows just sits at 8Gb on idle. My first laptop had 1 gig of ram... until I got my mac (16GB M1 Air) I used to manage with 4GB RAM while serving clients... Optimization seems to have been forgotten these days
Re: I ported Mac OS X to the Nintendo Wii
#283Before figuring out how to tackle this project, I needed to know whether it would even be possible. According to a 2021 Reddit comment: There is a zero percent chance of this ever happening. Feeling encouraged, I started with the basics: what hardware is in the Wii, and how does it compare to the hardware used in real Macs from the era. I LOL'd
Re: I ported Mac OS X to the Nintendo Wii
#284Re: I ported Mac OS X to the Nintendo Wii
#285Earlier quoted context omitted.
IOKit was almost done in Java; C++ was the engineering plan to stop that from happening. Remember: there was a short window of time where everyone thought Java was the future and Java support was featured heavily in some of the early OS X announcements. Also DriverKit's Objective-C model was not the same as userspace. As I recall the compiler resolved all message sends at compile time. It was much less dynamic.
Mostly because they thought Objective-C wasn't going to land well with the Object Pascal / C++ communities, given those were the languages on Mac OS previously. To note that Android Things did indeed use Java for writing drivers, and on Android since Project Treble, and the new userspace driver model since Android 8, that drivers are a mix of C++, Rust and some Java, all talking via Android IPC with the kernel.
Re: I ported Mac OS X to the Nintendo Wii
#286How do you get good like this?
Re: I ported Mac OS X to the Nintendo Wii
#287What stood out to me is how much of this worked because of strong abstraction boundaries. It’s interesting because we don’t often think about OS-level abstractions in the same way anymore — but projects like this really show how powerful they are when they’re done right. Makes me wonder how feasible something like this would be with modern systems, where things feel more tightly coupled and security constraints are m…
I feel that modern macOS might be even more abstracted, not less. But it is absolutely more complicated and will probably require a bunch more work.
Re: I ported Mac OS X to the Nintendo Wii
#288Re: I ported Mac OS X to the Nintendo Wii
#289Earlier quoted context omitted.
Recently I was ranting about this very thing, my work machine running win 11 has 16gb ram and Windows just sits at 8Gb on idle. My first laptop had 1 gig of ram... until I got my mac (16GB M1 Air) I used to manage with 4GB RAM while serving clients... Optimization seems to have been forgotten these days
The reason it sits at 8GB on idle is... optimization. The memory is there to be used, so the OS will use it to improve performance until it's needed for more important tasks.
The OS only only has one large source of memory it uses "optimistically" - the file/buffer cache. But that's tracked separately, so it doesn't show up in normal memory usage numbers (unless you don't know how to read them).
The other source of "extra" memory usage is memory mapped executable files, which can be unmapped and then read back on demand. That's quite small though.
Everything else (mostly) is actual memory usage caused by actual drivers and programs (though it can be swapped, but that's a major perf hit).
The major reason for Windows memory bloat is the hundreds of inefficient services from both Microsoft and hardware vendors that run at startup. The "optimization" pool (let's not call it that way) is way smaller than that.
eg. pre-loading an application is a pessimization if there's not enough memory - not only does it permanently eat away a portion of the total memory due to the intricacies of Windows working set memory management, it will need to be swapped out when actual demand for memory arises, competing with other disk access.
The only actual "optimization" in Windows is Superfetch, and that barely works these days.
Re: I ported Mac OS X to the Nintendo Wii
#290Earlier quoted context omitted.
Recently I was ranting about this very thing, my work machine running win 11 has 16gb ram and Windows just sits at 8Gb on idle. My first laptop had 1 gig of ram... until I got my mac (16GB M1 Air) I used to manage with 4GB RAM while serving clients... Optimization seems to have been forgotten these days
I really wish this meme would die. Every modern operating system - macOS, Linux and Windows - use available memory for certain performance optimizations. It doesn’t mean when needed, that memory isn’t available for other applications and your computer just starts swapping.