Take that, Microsoft!
Take that, Microsoft!
Which I usually take for sarcasm.
Here I'm quite sure it is a reference to a quite recent event.
Everyone decided that "telemetry" isn't spying and is totally fine (it obviously fucking is and it absolutely is not, respectively). Plus stuff like Bonjour came along.
The software seems to be designed to assume a perfect, exceedingly fat network connection at all times, and that all processes can do what they want with it.
In all the years I've been using Macs, as far as I can tell, there is nothing in the OS that says, "Oh, the person is sending e-mail over a crappy cellular connection. Maybe now is not the best time to download a multi-gigabyte software update."
I don't know what the situation is like on the Windows side, but I've always assumed that Apple bungs gigabit ethernet into the houses and cubicles of all of its developers, and they never have to connect to things in the real world.
(Don't know if this has ever been fixed because I've since kept Delivery Optimization turned off and rely on BITS instead, which does indeed seem to work without causing any bandwidth shortage incidents).
An ideal VM should be indistinguishable from a real machine.
For example a virtualized system running Android should generate fake IMU data, not sit at 0 linear acceleration all the time. And have a real-looking fake IMEI, not a string of 0s.
One strange aspect of this is that only a narrow range of current OSes run under virtualization. Qemu is great for running, say, current versions of Linux or Windows, but absolutely terrible if you try to run Linux 1.0 or Windows 95 or Solaris/x86 or any uncommon OS. (I tried a few of these several years ago out of curiosity, and none of them would even boot.) The reason is that we don't emulate enough of the corner cases in CPUs and devices to run those operating systems. eg. The SATA device only emulates the commands issued by drivers of modern operating systems, not every single command and dark corner of the real hardware.
To be fair there are emulators that try much harder to be cycle accurate, especially the ones designed to run old games. The MisTER is the current king here, but that uses an expensive FPGA and can just about emulate a 486 PC.
I am not a virt engineer but I could run W95, OS2 and heck, even Mac OS 9 under Qemu, recently.
Seriously, if you are a virt engineer, drop your title down :).
Qemu has an ISA pc module, and you need to disable kvm just to be sure. Set the CPU to Pentium and everything will be fine.
• Microsoft_Windows_NT_Server_Version_4.0_227-075-385_CD-KEY_419-1343253_1996.iso (1996, own copy)
Installer starts, locks up with screen corruption about 5 seconds in.
• https://archive.org/details/windows-95_fixcpu_iso_windows_is... (1994-ish)
Cannot read the emulated CD-ROM.
• https://archive.org/details/redhat-9.0_release (2003)
Installer boots, but fails at partitioning stage, the first time it accesses the disk.
• https://archive.org/details/IBMOS2Warp4Collection (1996)
Cannot read the emulated CD-ROM.
• Plan 9, 4th ed. (2003, own copy)
Gets quite far, up to the login, although with a lot of errors, but later hangs hard. (Out of all of them this looks closest to being possible to make work.)
I can also tell you that we're moving away from emulating i440fx entirely (to q35), and nothing prior to 2005 will work once that change has been made. In addition, changes to how virtio works means that guests before about 2010 that use virtio will have problems unless you take special steps.
1) Don't use Qemu from the kvm binary.
2) Don't use VirtIO
3) Don't set the CPU higher than a Pentium for w95/w98/NT4, Pentium2 may be fine for w98SE.
>qemu-system-i386 -M help
isapc ISA-only PC
>qemu-system-i386 --version
QEMU emulator version 6.1.0
Copyright (c) 2003-2021 Fabrice Bellard and the QEMU Project developers
This should work for NT4 qemu-system-i386 -cdrom $CDROM -m 32 -vga cirrus -net nic,model=pcnet -net user -cpu pentium -hda $DISK
Also, if qemu enables kvm by default, set the machine acceleration method to TCG.Bye, "virt engineer".
Could you provide link to discussion that i440fx going to be removed?
JK. Old stuff it's difficult to emulate if you only know qemu from KVM and you didn't use Qemu since the Bellard days, or Bochs.
Meanwhile, I emulated w95, w98, Linux 2.2/2.4 based distros (my first Linux), OS/2 and so on just fine. Even BeOS.
Anyways to answer your question, Virtual PC and VirtualBox can fully run old as well as new software, and the performance hit is not that bad (I ran multiple virtualized Windows Servers when a PC had 1GB of RAM). However more modern virtualization methods can offer bare metal-like performance, which Virtual PC/Virtualbox will never be able to make.
I was in my last year of high school around the time you mentioned when I was experimenting with running Windows NT with a copy of Virtual PC.
Specifically, look for examples of bugs they've fixed, and why they were triggered.
At this point, they're essentially all of the "X software depended on a quirk of Y feature, to do (whatever), because the developers chose to do it that way." For that one specific piece of software, and nowhere else.
And that's for a game console with highly standardized hardware and libraries. The general purpose computer has a bit larger mutation surface. :-)
Or, to crib from another sibling poster,
"You have a million places to make sure your virtualization looks like the actual artifact. Of those, 100 are used by everything, 1,000 are used by many things, and 10,000 are used by a few things. The remainder may be used by some piece of software out there, somewhere."
"You have a year to build a working product. Are you going to implement and equally test all million things?"
Ideal for what purpose?
virtio is a good example of where that breaks down. For a lot of use cases, directly exposing an explicitly virtual device rather than emulating real hardware can be much more efficient and avoid bugs.
For example, it may help a virtualised system avoid some layers of caching or optimisation if they are redundant because they are nested inside a system already doing that.
Making your VM indistinguishable from real hardware is nice for some use cases, absolutely, but in many it isn't what you want.
To shove it at companies like Tencent who will ban you for trying to run WeChat in a virtual machine, and restore freedom to the user to run software how they want. WeChat also randomly scans for Wi-Fi networks, I'm guessing they sniff VMs with tricks like that.
It should also be a violation of disability law to force users to use a hardware mobile phone to run a particular piece of software. VMs open the doors to custom accessibility solutions.
They shouldn't even have the right to know what it's running on, they should just hand me bytecode of a suggested (but not required) client, and open a port on their server for service.
Also in general to shove it at any company with potential spyware. I always run unknown closed-source software in a VM and I should have the basic right to do that. But sometimes those companies try to detect VMs. If the VM engine is good enough they shouldn't be able to.
Agree. I would go even further to state this probably comes pre-installed on any computer using it but anyone allowed access is only as standard user with the root user locked (maybe as standard user you do get monitored?)
And it's not like Microsoft gives too much fuck about anyone's hentai porn.
"Hey, you enjoy hentai (based on hashes of videos you watched last month, yes, we know you watched cumulatively 15 hours of the stuff, and hours more searching for them on torrent sites), enjoy 15% off of premium subscription to hentaihub, this month only!"
[1] https://www.xda-developers.com/microsoft-edge-buy-now-pay-la... , HN discussion: https://news.ycombinator.com/item?id=29288052
[2] https://answers.microsoft.com/en-us/windows/forum/windows_10...