There are so many parameter qemu have, we can get a brief list by:
$ qemu-system-x86_64 --help
For detailed description, refer to: http://www.qemu.org/qemu-doc.html
-help print the main help list
-audio-help print list of audio drivers and their options
-name string set the name of the guest
specify machine UUID
These 3 parameters specify cpu related information.
-m megs set virtual RAM size to megs MB [default=128]
These 3 parameter related to drive.
-boot [a|c|d|n] boot on floppy (a), hard disk (c), CD-ROM (d), or network (n)Flowing parameters are just some quick sort for -drive:
'-hdachs c,h,s[,t]'I have a question, what's the meaning of bus=?,unit=?, what's the relationship between bus and index? Seems the total number of ide bus should not more than 2, but for virtio block, seems there is none limitation.
That's also means that the knowledge of hardware specification is very important. PCI specification, USB specification, Power PC Instructions, etc.
-k language use keyboard layout (for example "fr" for French)
-soundhw c1,... enable audio support
and only specified sound cards (comma separated list)
use -soundhw ? to get the list of supported cards
use -soundhw all to enable all of them
-usb enable the USB driver (will be the default soon)
-usbdevice name add the host or guest USB device 'name'
I'd like to remind myself that there are so many kinds of hardware and also related specifications in the IT world, one of the most important thing the OS(the Kernel) need to deal with is the hardware wrapping. It's truly the duty of OS to provide a common and abstract interface to access all the resources connected to the computer system. We are lucky when we work on the top of SCI(system call interface) by the help of the OS, and we will recognize how important the OS is as soon as when we trying to join in the kernel developing team or just trying to read some code of the low level programs.Qemu is a simple, as it's just need to simulate the interface provided by the hardware, it do not have to realize the real hardware, so, it just cost little instructions to simulate the behavior of the hardware, but need not realize it.One of the most important feature of operating system is to wrap the difference of so many different kinds of hardware, and provide the upper level programs a common, abstract, and very stable interfaces.
Then, I can say that the most important duty of OS are process management and hardware resource management.
And, the difference between Virtual machine simulator and OS?
They are against each other! The OS would like to wrap the difference from the hardware and provide a common, stable, abstract interface to the high level programs, but the virtual machine simulator is completely the different, it will provide lots of different hardware interfaces to simulate the real multiple-hardware world. It's so int resting!
OS and simulator are a pair of programs do the polarity work.
The result of running the simulator, it will generate a computer with so many different and complex hardware interfaces, similar to the real machine does.