flat assembler
Message board for the users of flat assembler.
![]() Goto page 1, 2 Next |
Author |
|
Dex4u 12 Feb 2012, 21:39
I can not talk much for menuetos, but this is the same with all ASM OS including mine.
This may surprise some people, but its true there is a bigger difference in speed between hobby OS that are run under real hardware and emulators. Than OS like linux that run on real pc and in emulators. Theres also the hlt loop problem where even with hlt in a loop it still runs at 100% cpu use. This is not the case when run on real hardware. I think the problem is that emulator are not really emulating x86, but more the way moden OS run on x86. As a example KolibriOS runs faster in emulators than menuetos, i am not sure why this is, but i think it could be to do with the fact that its optimized to run under emulation. As its no faster when run on real hardware compared to menuetOS. As a side note, qemu runs hobby OS's faster than other emulators i have tried. |
|||
![]() |
|
Ville 14 Feb 2012, 11:18
We recommend VirtualBOX for testing. Menuet64 has a driver for the VirtualBOX network interface.
Besides, the GUI in Linux distributions you mentioned does not seem to have window 3D effects or transparency, which are enabled by default in Menuet64. These things should be taken into account when testing. Emulators (especially software emulators) are really not our main target anymore. All USB devices, for example, are used with real hardware. |
|||
![]() |
|
Madis731 15 Feb 2012, 15:16
VirtualBox can have hardware virtualization enabled (when CPU supports it). QEMU can not. Bochs was even slower (I still use it sometimes because of its debugging capabilities).
Its always a good idea to disable transparency and other effects when testing on emulators. For better experience try the real hardware. |
|||
![]() |
|
rugxulo 16 Feb 2012, 22:38
I would make a (not very) educated guess that Fabrice Bellard codes so that the Linux emulation is fast, first and foremost. I'm not even sure QEMU supports segmentation properly (e.g. 16-bit pmode) from what I had read a few years ago. I doubt that's changed. In other words, nobody cares about anything but Linux Linux Linux and maybe Windows, esp. only 32-bit and 64-bit. It's even been said that finding a stable modern build of QEMU for Windows is almost impossible. I wouldn't doubt it. But anyways ....
|
|||
![]() |
|
bogdanontanu 17 Feb 2012, 15:33
It is the fault of Menuet and not a problem with the emulators.
Menuet uses some wrong concepts and implementations. Those are not visible in real hardware because are hidden by the speed of modern hardware and somehow by the brute force of ASM. However in emulators those conceptual error become visible and annoying because the emulators are slower and can not hide it anymore. Yes emulators do have problems but if this was the case them Menuet would have not run at all in them (like Octa OS does). I use nothing from linux or from windows in my SolarOS and still it runs very fast in emulators (faster than linux/unix/windows) and it runs even faster on real hardware. |
|||
![]() |
|
Ville 17 Feb 2012, 16:20
Meanwhile, in a far away place, called the real world.
It is the fault of Solar OS and not a problem with real CPUs. Solar OS uses some wrong concepts and implementations. Those are clearly visible in real hardware. Solar OS is missing pre-emptive multitasking, television, printer, usb storage support and so on.. In other words, you can aim at emulators as long as you like, but at some point you need to start thinking about the features of real world computers and CPUs ![]() Menuet64 has support for pre-emptive multitasking, television, printer, usb storage.. the things you can not find by sticking your head in to the conviniently limiting world of software emulators. Last edited by Ville on 17 Feb 2012, 19:57; edited 1 time in total |
|||
![]() |
|
Dex4u 17 Feb 2012, 19:46
Ville wrote: Menuet64 has support for pre-emptive multitasking Multitasking is from the dark ages, it came about because cpu where so expensive, that they need to use every last ounce (time slicing). But now in the modern world, cores are cheap, we will just give each task a core or two. Take the i-pad or phone as a example of modern OS's, even though the OS could multi-task, steve jobs chose not to use it ( which is the same as saying it not needed). And what people think is a form of multi-tasking, is really just a dedicated chip. Everything comes full circle if you wait long enough. |
|||
![]() |
|
Ville 17 Feb 2012, 19:52
Multitasking is really just a part of the solution. The real aim is to have a protected environment, where one application doesn't interfere with another. With co-operative multitasking, executing a simple jmp $ will halt the entire system or cpu. With pre-emptive multitasking combinied with memory protection (M64), you can simply remove the misbehaving application from the process list.
|
|||
![]() |
|
bubach 17 Feb 2012, 19:54
Hahah, take it easy. Talking badly about someone's OS is like calling their children ugly. A big no-no!
![]() I felt I had to make a comment about it so there's not a full blown war next time I visit. ![]() Different goals is a good thing, and we'll just have to hope someone with time and emulator support as high priority will take the time to contribute some VESA optimizations to Menuet. ![]() |
|||
![]() |
|
JohnFound 17 Feb 2012, 20:37
Well, Ville is known as touchy person
![]() |
|||
![]() |
|
Dex4u 17 Feb 2012, 21:23
JohnFound wrote: Well, Ville is known as touchy person It must be something to do with OS dev, as i am known for being touchy on other forums, but out of respect for Tomasz Grysztar, i keep my lips sealed ![]() But to prove its the emulators fault, i can use 3 emulators all on the same PC, all running the same image and you will see big differences in the speed from each emulator. virtualbox runs slow bochs runs slow qemu run OK But run the same image on your PC, you may find that qemu is slow and virtualbox is OK. They should all be the same. |
|||
![]() |
|
JohnFound 17 Feb 2012, 22:04
BTW QEMU have accelerator module that (AFAIK) runs some of the code directly to the CPU without emulation (if it is possible) but then 32bit Linux could be faster than 64bit Menuet if the host machine is 32bit because all 64bit instructions will be emulated.
This is normal and is not actually "optimized for Linux and Windows" in the same conditions 32bit Menuet will run faster as well. Nevertheless I think that ASM written OSes must run relatively fast in any conditions. |
|||
![]() |
|
revolution 17 Feb 2012, 22:32
JohnFound wrote: Nevertheless I think that ASM written OSes must run relatively fast in any conditions. |
|||
![]() |
|
JohnFound 17 Feb 2012, 23:08
revolution - that is exactly what I wanted to say.
![]() |
|||
![]() |
|
Dex4u 17 Feb 2012, 23:19
If that is the case, why is this slow on one emulator and OK in another.
http://www.dex-os.com/MinDos/freedos.img In that freedos image is a program called fireworks, i renamed it fire.com It runs fast or slow depending on emulator. You can get the code and how its coded here: http://yaniv.leviathanonline.com/blog/comp/simd-fireworks/ I have chose dos as a single tasking example (so your only test program). [EDIT] Because of this topic i down loaded sol os and i must say its a great OS, love the "GUI elements" and runs great on qemu, but its slows as hell in my virtualBox under linux. So its no faster than any other asm OS[/EDIT] |
|||
![]() |
|
JohnFound 18 Feb 2012, 07:10
Dex4u - Linux is slow by itself when we are talking about graphics and UI, so running GUI emulated OS on top of Linux should be really slow.
After some reading about emulators, I conclude that the only viable comparison of speeds can be made on Bochs. All other emulators use tricks in order to accelerate the execution of the guest OS. |
|||
![]() |
|
smiddy 18 Feb 2012, 12:53
This whole (hole?
![]() ![]() Good morning all, have a great day, ok?! |
|||
![]() |
|
JohnFound 18 Feb 2012, 13:19
smiddy wrote: I like bubach's comment: "Talking badly about someone's OS is like calling their children ugly." There is a big difference - the parent can't change his children look&feel, but the OS creator can. So, teasing OS creators (wisely) can make them to reach the new achievements and not to sleep on his laurels. ![]() ![]() _________________ Tox ID: 48C0321ADDB2FE5F644BB5E3D58B0D58C35E5BCBC81D7CD333633FEDF1047914A534256478D9 |
|||
![]() |
|
bubach 18 Feb 2012, 15:31
SolOS isn't GPL anymore? :s Maybe I shouldn't keep bits of his code online if he decided to close it?
http://bos.asmhackers.net/docs/floppy/snippet_2 |
|||
![]() |
|
Goto page 1, 2 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.