Câu trả lời:
Bạn có thể chạy một hệ điều hành đa tiến trình ngay cả khi không hỗ trợ phần cứng (không có MMU ), với tất cả các con trỏ biểu thị một địa chỉ vật lý. Tuy nhiên, bạn mất một số tính năng chính thường được cung cấp thông qua MMU:
fork
là tạo một bản sao của bộ nhớ vật lý của quá trình và tạo một bản đồ bộ nhớ ảo mới từ cùng một địa chỉ ảo đến các địa chỉ vật lý mới.Có những hệ điều hành giống như unix hoạt động trên các hệ thống không có MMU.
vfork
được hỗ trợ) và không có bảo vệ bộ nhớ; nhưng có đa nhiệm ưu tiên.¹ Trong unices hiện đại, điều này thường được thực hiện một cách lười biếng (copy-on-write), trong đó một lần nữa dựa trên MMU nâng cao một ngoại lệ khi nó không thể tìm thấy một trang vật lý.
Điều chắc chắn là có thể với một số hạn chế như bảo vệ bộ nhớ sẽ là một vấn đề như đã nêu. Ví dụ: TepClinux http://www.uclinux.org/ hỗ trợ nhiều quy trình mà không cần thực hiện bộ nhớ ảo. Lưu ý rằng một số CPU như ít nhất là Thiết bị tương tự Blackfin cung cấp MPU (Bộ bảo vệ bộ nhớ) http://docs.blackfin.uclinux.org/doku.php?id=bfin:mpu . Điều này cho phép bộ nhớ ảo ít hệ điều hành hơn vẫn cho phép phân vùng bộ nhớ.
Điều này phụ thuộc vào cách bạn xác định quy trình so với chủ đề về bộ nhớ.
Một trong những chức năng của bộ nhớ ảo là phân vùng. Mặc dù có thể chạy nhiều tiến trình mà không cần phân vùng, nhưng điều này sẽ giống như chạy nhiều luồng hơn là các tiến trình - chia sẻ cùng một không gian địa chỉ.