Multitarefa e multiprocessamento podem ser realizados em computadores que não possuem uma unidade de gerenciamento de memória (MMU) para fornecer memória virtual. Existem muitos sistemas operacionais que suportam multitarefa e / ou multiprocessamento para processadores que não possuem uma MMU. Eu não sei quando o Unix utilizou memória virtual.
Existem outros requisitos de hardware além da memória virtual que o Unix precisa para implementar seus recursos de multiprocessamento. Key é o modo protegido ou supervisor da CPU, ou seja, o modo kernel versus o modo de usuário.
Are there current Unix systems that don't use virtual memory?
Eu assumo que todas as versões modernas do Unix utilizam uma MMU.
O uClinux é uma versão do Linux que não requer uma MMU e não usa memória virtual. Mas não espere o mesmo nível de segurança entre os processos que o Linux real. É um sistema operacional para dispositivos embarcados para executar programas de aplicativos confiáveis.
Does the C runtime even support that?
A linguagem de programação C não está vinculada ao Unix ou Linux. Nem requer memória virtual. C pode ser usado para programar microcontroladores de 8 bits. Uma biblioteca de tempo de execução é específica para uma versão de um sistema operacional e um compilador. Existem versões da biblioteca de tempo de execução C para o uClinix para processadores que não possuem uma MMU.