Subj : Re: Worky work To : poindexter FORTRAN From : tenser Date : Tue Jan 23 2024 06:17:07 On 22 Jan 2024 at 07:01a, poindexter FORTRAN pondered and said... pF> -=> Blue White wrote to Poindexter Fortran <=- pF> pF> BW> With Proxmox on a Pi, can you run non-ARM OSes in those VMs? I read pF> BW> that you really can't if you are using something like Virtualbox to pF> BW> host it -- i.e. you cannot run an OS that expects intel hardware too pF> BW> well -- but am curious about Proxmox. pF> pF> I think you are limited to ARM OSes. There's an ARM port of Windows pF> 10/11, not sure about software support for it - and a bunch of Linux pF> distros that run as a guest under Proxmox. Correct. Proxmox is not an emulator, it's not even exactly a hypervisor (though it says that it is...). The hypervisor is actually QEMU+KVM; proxmox just wraps it all up in a nice package. So what is a hypervisor? It's a thing that lets you run _virtual machines_. What, then is a "virtual machine"? It is a mode of execution that allows one to run system software on a computer in a way that the software thinks that it is running directly on hardware, but is in fact, being mediated by other software. What is systems software? Think an operating system or firmware. So in a sense, virtual machines are to machines what virtual memory is to memory. Hypervisors these days are usually divided into two components: the VMM, which runs on the bare metal (or can be nested under another VM!) and drives the hardware, and the "hypervisor" (yes, it's ambiguous) that runs in userspace and does things like emulate hardware devices, etc, and talks to the VMM. In many Linux setups, the VMM is KVM and the userspace hypervisor is QEMU or something similar. Virtual machines are actually quite old; they were built on a lot of early mainframe systems. IBM has been providing virtual machines on the mainframe since the late 1960s; Multics had an execution environments that could run programs for the DTSS system; TOPS-20 had an adapter that could run TOPS-10 programs. VMs were studied formally in the 1970s, and computer scientists Gerald Popek and Robert Goldberg put forth definitions that distinguish virtual machines from emulations/simulations. The central distinction is that the _bulk_ of instructions executed by the virtual machine are executed directly by hardware; P&G specified that an architecture is virtualizable if the _privileged_ instructions in the architecture could be trapped and emulated (but of course, things like `add` just ... run). Emulators and simulators, on the other hand, tend to have software that interprets all instructions, with nothing running on the bare metal. So for something running on an ARM processor to execute an operating system compiled for x86, it would necessarily not be a virtual machine, but rather an emulator. --- Mystic BBS v1.12 A48 (Linux/64) * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (21:1/101) .