A Crazy Idea

Pages: 12
closed account (9wX36Up4)
i have an idea guys but i don't know how to do and i can't do it. it is just an idea!!!

u know somebodies uses two hardware together(for example: Pardus nad Windows Together). But what about the two hardware works in the same time in one computer with using the same chip ,same graphics card ,same ram(but these are separated two virtually). for example when i push Ctrl+Alt+Shift+F1 monitor will show me the windows screen but the linux screen will work at the background but i push Ctrl+Alt+Shift+F2 linux screen will shown and windows will work at the bacground.

guys this is just an crazy idea please do not laugh at me.
this is just an idea i didn't mean i want it so much. but i will work on it

Sorry for the bad english
If you mean different OS's, then products like Virtual Box already do this.
I don't understand your post at all.
You want to... run two different operating systems at the same time... yet neither being run in a virtual machine?

You want to design your own Virtual Machine software, which can boot by itself like an operating system?
closed account (9wX36Up4)
yes not with a virtual machine i want both work in the same time independent but i guess it needs something that working under both microsofts and linux consoles. so it can control them both
Last edited on
Virtual Box is the way to do this. You could have a third shell like OS to manage the two running at the same time but why bother with the overhead? With VB you simply setup your primary OS then have your virtual machine sandbox the other OS. Personally unless you're talking about servers which traditionally have too much hardware anyway then give me a KVM switch and two PC's on a peer-to-peer network. Then again electricity is pretty cheap in my area.
@Recosway,
If what you want to do is what I think you want to do, then you would

1. Load all the OSes into memory, somehow tricking each one into only using a subset of memory (e.g., Windows gets the first, say, 512 MB and Linux gets the next 512 MB). You could do that by passing a different memory map to each one, which tells it that the other's memory is unusable.

2. Then you would need to find a way of switching between the OSes. The only way of doing that I can think of would be to trick each OS into thinking the other was a process, so that they would do the switching by themselves. That has it's own problems - you have to make all the OSes give each other ring 0 permission which isn't always possible, and you also have to know how every OS stores process information, or be locked into a subset of OSes.

3. Then you have to deal with output. Take the screen, for example; does the user switch between viewing each OS or does each OS get a section of the screen to draw to? Each one has its own problems - letting the user switch means using the keyboard or some other input device so you know when to switch which means hooking input when each OS might need to use it (and if you hook the input and then pass it on to each OS in turn, each one might interpret it differently). Letting each OS draw to a different section of the screen will be hard to manage (if it's even possible). Further, if you have an odd number of OSes, it's pretty hard to divide the screen up fairly and in a way that doesn't make each OS completely unusable. Finally, you could theoretically have any number of OSes; unless the screen being used is about 18 feet across, with any more than four divisions, it's going to be pretty hard to see anything. With the hard drive, I don't think you'll be able to manage all the read/write requests. You can't have two OSes reading and writing to the disk at the same time. An OS manages processes trying to read different parts of the disk at once by requesting an I/O operation and then letting the HD inform the OS when its done. However you won't be able to do that with an OS because OSes have direct access to the hard drive.

4. Input - how do you decide which OS gets what input? When a key is pressed on the keyboard, how do you decide which OS to send it to? You can't just send it to all of them, because they could all interpret one key in many different ways.

In short, what you want to do is probably not quite impossible, but it's so close to impossible I wouldn't expect much to come of it. It would be far easier with custom hardware - if you had a BIOS that every OS had to use to do anything hardware-related (kind of like the PS2 BIOS), then this would be easy as hell. Even if you only wanted to run OSes like DOS (so you could have a custom BIOS, since DOS uses the BIOS for everything) this would be fairly easy. With modern Oses that don't really use the BIOS (except _sometimes_ to change video mode) it will be far harder, if not impossible.
closed account (9wX36Up4)
chrisname, u really understand what i mean. But like i said it is just an idea but i really like to work on it. i will try my best but i guess it needs something that a system working between bios and linux and windows doses it is very hard to make like u say almost impossible. But i think only crazies can change the world(oh God what i m talking about :D) whatever i want your help guys
It's not just nearly impossible, it's perfectly impossible. The biggest problems being how to deal with memory and how to deal with interrupts.
For example, say one system is doing some I/O and there's a switch. What happens to the operation?
Some data is copied between two devices and an interrupt is sent when it's done; who gets it?
Current architectures are simply not designed to deal with this sort of thing.
I'm less interested in the implementation of this, and more about how this would even be useful.
closed account (9wX36Up4)
u know makers of operating systems which are based on linux works on executing .exe files which are maden for windows as u know. And for faster transition between windows or mac and linux.
whatever i m repeating it again i didn't said i really really want it so much i just said it will be very good if it be
closed account (1vRz3TCk)
Type 1 Hypervisor?
http://en.wikipedia.org/wiki/Hypervisor

(or did I miss the point in only giving a quick scan?)
@ ascii: In the end Virtualization is all about cost savings. Let's say for example you have an E mail server for your office, the only time this server does anything is when it is sending or recieving E mail, which is a fairley lightweight operation, so in theory you could get by with a pretty minimal hardware profile. But because your boss doesn't want the company's E mail backups to take three or four weeks at a time you end up throwing a ton of hardware at it like Multiple Xeon\Phenom CPU's, Rendundent PSU's, RAID 5\10\1+0 array's, ECC RAM and Liquid Cooling. The same goes for your FTP server, proxy filter, Internal File Server, Security System, Active Directory etc. etc. etc.

Each system on it's own only has one hardware intensive task to perform but that task is so important that you need that latest and greatest hardware to do it. Enter Virtualization, by partitioning the hardware you can allow each one of these vital processes to share the massivley expensive server you bought so that they can perform the hardware intensive tasks when they need to but still do the day to day stuff with out getting in each others way. As a bonus it also allows you to run Multiple OS's on a single box so you aren't for example prevented from running Nagios just because Active Directory requires Windows Server. The cool part about the last bit is this: Say some piece of software that one of the system's needs has a critical update and needs to reboot. On a Virtualized machine you can reboot the OS on that session with out the other sessions even knowing about it further minimizing downtime for those systems.

I'm not even going to get into the savings on infrastructure costs, like the battery backups or the PAIR of 2x1.5 meter heat exchangers that we have at my office just to cool the server room.
closed account (9wX36Up4)
CodeMonkey
i telling u i don't want to make it virtually. Do u understand.
Computergeek01
thank u for your message. I will think about all u wrote. but the part which u called coll is not impossible if what i want is possible. i thought about it last night and i guess it really must be a system working under the doses so we can control all the operating systems. but there is one more problem. Probably the most annoying one. if i can make that system it will run both systems together with put both in order. And it will make slower the computer. also it will use all part of the computer.

AND THAT MEANS THERE İS JUST ONE DİFFERENT FROM VirtualBox AND İT'S THERE WİLL BE +1 VİRTUAL MACHİNE WORKİNG.
and it is not useful it is just an unuseful program.

I guess i must find another way for achieve it.
I'm pretty sure the only way to do it (without using virtualisation) is with custom hardware and a custom BIOS. The problem is you then need to port OSes to the new hardware/BIOS (which means excluding closed source OSes like Windows or Mac OS).
Last edited on
closed account (9wX36Up4)
yeah you are right. and now i m learning how to make custom bios.(i know basically for now) i just know configuring windows.
Perhaps I didn't make it clear in my last post. When I said how this would be useful, I meant how would it be useful over just using a Virtual Machine instead, which would be much more efficient and hardware independent.
A custom PC BIOS will only work with real mode OSes like DOS and old versions of UNIX, with Windows and Linux you still won't be able to do what you want.

When I said custom BIOS I was talking about something like the PS3 hypervisor. If you could write something like that and port Linux to it, then you'd be able to get that working.

Btw, If you're set on writing your own BIOS, USE AN EMULATOR, all the BB code in the world couldn't emphasise enough how important that is. If you flash your PC's CMOS every time you want to test the BIOS eventually you will leave your system completely unbootable.
closed account (9wX36Up4)
yes that is a risk. and if my bios will make my system completely unbootable...... whatever ineed to learn bios making first then how to backup a bios from another computer or my computer(which one is easier). okay last night i have read some articles about making bios.i believe i can do this
that a great idea
Pages: 12