Kryteria Popka-Goldberga – kryteria właściwego funkcjonowania maszyny wirtualnej oraz kryteria możliwości zbudowania takowej na zadanej architekturze komputera przedstawione w 1974 roku przez Geralda J. Popka i Roberta P. Goldberga.

Warunki Maszyna wirtualna w myśli Popka i Goldberga by być skuteczna musi spełniać trzy warunki: Odpowiedniość – program działający na maszynie wirtualnej musi zachowywać się w dokładnie taki sam sposób, jak na rzeczywistym sprzęcie; Kontrola zasobów – wirtualna maszyna musi w pełni kontrolować wszystkie zasoby, które są wirtualizowane; Wydajność – większa część instrukcji musi być wykonywana bez udziału maszyny wirtualnej;

Zbiory instrukcji W systemie operacyjnym wyróżnia się trzy zbiory instrukcji dostępnych na danej architekturze: Instrukcje uprzywilejowane – ich efektem jest przerwanie lub wywołanie systemowe w trybie użytkownika lub ich brak w trybie jądra; Instrukcja wrażliwe ze względu na kontrolę – w trakcie wykonywania mogą zmienić konfigurację zasobów systemowych; Instrukcje wrażliwe ze względu na wykonanie – ich działanie jest zależne od konfiguracji systemu;

Warto pamiętać, że nie są ani rozłączne, ani nie sumują się do zbioru wszystkich instrukcji architektury.

Twierdzenie Z tą wiedzą możemy poznać twierdzenie przedstawione przez Popka i Goldberga: