What is the applied standard for simulating hardware here?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
User avatar
ehenkes
Member
Member
Posts: 124
Joined: Mon Mar 23, 2009 3:15 am
Location: Germany
Contact:

What is the applied standard for simulating hardware here?

Post by ehenkes »

I had a discussion about the test standard for OS. In my opinion bochs is such a standard software, but other people told me that qemu is the ideal standard for simulation of hardware.
What is your opinion? Which is the best simulation software, and why?
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: What is the applied standard for simulating hardware here?

Post by Combuster »

There is no standard as such. The whole idea of testing is to have all situations covered with as little effort as possible. Which means that if you test with only one emulator, you want something that is most realistic. In which case I would go for Virtual PC. (which exposes most bugs that would also be seen on real hardware)

However, we do not only want to test. When something fails, we want to have some background information, and all the information we can get to solve the problem as quickly as possible. In which case Bochs logging and debugging features makes everything else pale.

Also, fixing yourself onto only one emulator/VM/system has the disadvantage that you only see the problems that arise from that specific system, and only use the features that are part of that system. In any case, testing regularly on different software, and more preferrably, real hardware, is the only way to get the most bugs out of your software.

In between the two extremes, there is QEmu, VirtualBox, and VMWare. If you must use only one, pick the one with the best balance of features for you.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
AndrewAPrice
Member
Member
Posts: 2303
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Re: What is the applied standard for simulating hardware here?

Post by AndrewAPrice »

I personally like VMWare.

Bochs is much slower than the other 'emulators' because it actually emulates each instruction of the system, trying to be as realistic as possible which is useful for debugging. The others, virtualize rater than emulate, they translate protected instructions and try to run most of the code on your native processor (IO is another story), giving you close-to-native speed.

If you have a modern system, then testing on Bochs can be a good indicator of if your OS is fast enough.
My OS is Perception.
Tobiking
Posts: 6
Joined: Mon Oct 26, 2009 3:43 pm

Re: What is the applied standard for simulating hardware here?

Post by Tobiking »

I prefer QEmu because of it's flexibility. You can choose between emulation and virtualization. There are also several types of network and graphic cards emulated. For ease of use, you can load multiboot compliant directly without a bootloader. QEmu can also simulate a tftp server for the guest, so you can have grub load your kernel and modules over the net instead of creating new images every time you change something.
Post Reply