4 ms·
The Xbox operating system does base on Windows though. It's just locked down in some areas and lacks some higher level builtin programs of Windows and has a dif
by est31 6y ago
The Xbox operating system does base on Windows though. It's just locked down in some areas and lacks some higher level builtin programs of Windows and has a different launcher/DE. It's a half-lie at most.
Also, the parts of Windows that Xbox does ship with are the most important ones for Microsoft shareholders. Nobody would want to edit their documents from their Xbox. That would in fact be harmful because some people might not buy a proper PC then (as is observable years later with the advent of smartphones). But the Xbox uses the DirectX API as well as builds on all the Windows-isms. So if you built a game for Windows, it's not hard to port it to Xbox, and vice versa.
- klodolph 6y agoI’ve had coworkers who were on the original Xbox team and they told me that the OS was not Windows. One of the things about the Xbox OS is that the OS itself gets a fixed timeslice each frame to do whatever it needs while the game is running, in order to make it so the game can get the rest of the frame to run. This sounds to me like a decision that has far-reaching consequences. I’m sure that it shares plenty code with Windows. You might say that the OS is based on Windows. But it’s definitely not Windows.
- yjftsjthsd-h 6y agoBy that standard, is a Hyper-V server running Windows? AFAIK, that's also just running NT as a guest.
- numpad0 6y agoI too remember the "Xbox kernel is not Windows" narratives in 2000s-2010s. Clearly Microsoft then considered it "not Windows", IIRC especially on Xbox 360. It's not that a VMM that reside parallel to the Xbox kernel makes it not Windows or not. Sometimes they said it's "built with technologies from Windows" or sometimes it was "built specifically for Xbox" but they maintained it's not Windows.
- pjmlp 6y agoYes, Hyper-V is a type 1 hypervisor, Windows is just another guest OS.
- est31 6y agoHmmm. So I estimated too much Windows in Xbox's OS. Thanks for your anecdotes.
- spijdar 6y agoIt's a little more complicated than that. A lot of the code in the NT kernel running on XBox was written specifically for the console. The filesystem drivers, the TCP/IP stack, the HAL, and possibly other components were rewritten from scratch for XBox specifically. It wasn't just locked down, a significant portion of "Windows" was entirely missing, and a decent chunk was replaced with new, Windows-incompatible code. I suppose it depends on what "based on" means, though. It is technically based on Windows, but not like most people would take that to mean. e.g, when you say "based on linux", you don't take it to mean, "based on our custom kernel based on the initial loader and memory management and debugger functions in linux with the rest scrapped and replaced with a custom stack". Using a little hyperbole there, but yeah. It does use DirectX, and is more Windows than not. But I can definitely see why someone might see it as a "lie" that it's "based on Windows".
- yjftsjthsd-h 6y agoMy reading of https://en.wikipedia.org/wiki/Xbox_system_software https://en.wikipedia.org/wiki/Xbox_system_software + https://en.wikipedia.org/wiki/MinWin https://en.wikipedia.org/wiki/MinWin was that it was more like an embedded device that does in fact use Linux as the kernel but throws out the userspace and runs busybox + custom code, or even further like https://gokrazy.org/ https://gokrazy.org/ - at which point it is Linux, but ... I mean, there's a reason why people don't think of Android as being a Linux system.
- phire 6y agoMinWin is arguably the windows kernel without most of the userspace. Though it's still massive and contains a lot of userspace: 25MB on disk, 40MB in memory. The xbox kernel has absolutely no connection, it forked off at a completely different point and was hacked and slashed until it fits into just 256KB.
- monocasa 6y agoIt's way less Windows than Android is Linux. They took out the idea of processes for instance. A single executable runs at a time, and it's dynamically linked against the kernel and running in kernel space. There are no system calls instructions used, just normal call instructions that get fixed up on load. USB, network, and graphics stacks all live in the executable, not the kernel provided by the box (despite everything running in kernel space). I've been writing a Rust based devkit for the Original Xbox recently and it feels more like uCOS than Windows.