Dalam dunia software, ada banyak bertebaran operating system, bukan hanya os windows, linux ataupun mac os yang biasanya kita kenal. Tetapi ada banyaak sekali, mulai dari freedos, unix, minix, freebsd dan lainnya. Tetapi dapat saya resume ada 2 kategori yaitu windows dan non windows (unix), atau dari segi komersial, yang gratis dan berbayar. Beragamnya os ini menyebabkan masing-masing developer mengembangkan sofware dalam environtmentnya masing-masing. Hal ini menyebabkan jika sofware dibuat dalam environment os yang berbeda, maka tidak akan dapat dijalankan di operating system lain. Tetapi sukurlan dengan perkembangan terbaru ada mekanisme virtual yang dapat mengemulasikan os agar dapat berjalan di os lainnya, seperti vmware, virtualbox, qemu, dan docker.