Meg lehetne valósítani egy ilyen operációs rendszert?
Nos. Ez egy vízió, egy elképzelés, de lehet filozófiálásnak is mondani.
Nos. Az alap elképzelés, egy linux kernellel futó windows-os programokat és driver-öket támogató rendszer lenne.
Az egész alapvetően egy minimal linux rendszerre épülne. Lehetne teljes asztali linux is, csak akkor ugye meg kellene oldani olyan problémát hogy az X window system-et, meg jó néhány programot át kéne írni hogy a windows-os driver-öket használja. Ebben az elképzelésben maradjunk mondjuk egy minimal linux-nál.
Az illesztés az olyan lenne, hogy lenne egy kernel modul, ami be tudja tölteni a windows-os részeket, és a windows dll-ek, meg maga az ntoskrnl is hogy egyből tudja hívni a linux a kernelt. És nem úgy lenne megoldva mint a wine, hogy a windows exe hívja a wine server-t, az átadja a hívást egy lib-nek, ami meg hívja a rendszert.
Ugyan így a driver-öknél. Hogy a driver hívja a maga kis dll-jeit, az meg a linux szervert.
A mappázást úgy képzelném el, hogy a gyökérkönyvtárba plusz egy mappa, ami a windows-os fájlokat tartalmazza. Abba lenne a rendszer mappa, a két program files, stb. A felhasználó kezelés, meg a biztonsági rész teljesen a linux-é lenne.
A grafikus felület windows szerű lenne. Így könnyebb kompatibilitást biztosítani a grafikus, hang meg minden féle driver-ökkel. De persze jobb, átszabhatóbb, esetleg cserélhető grafikus felülettel lenne ellátva.
Bejönne persze egy új terminál is, ami egy linux-os terminál emulator lenne, és a linux rendszert lehetne vezérelni, akár rendszergazdaként is. És persze egy exe program lenne.
Hogy miért lenne jó, valószínű gyorsabb program futtatás egy nyilt forráskódú rendszeren, egy (remélhetőleg) stabil kernelre épülne az egész, teljes körű driver kompatibilitás.
Hogy miért lenne rossz? A linux jópár előnyét el kellene dobni.
Ez csak filozófia, egy mi lenne ha. Mindenki véleményére kíváncsi vagyok. És tutom. Lehet megvalósíthatatlan, mert ha lehetne akkor meg lenne valósítva (vagy nem), de ettől tekintsünk el. Bár a technikai részekbe is bele lehetne merülni.
Ha el akarunk filózni rajta, akkor én két részre bontanám a dolgot.
Első a driver szintű kompatibilitás. Ha nagyon akarjuk, ESETLEG megoldható olyanféle módon, mint ahogy az ndiswrapper működik. De mivel ez plusz egy réteget jelent a kernel fölött, gyanítom, lassabb lenne mint Windowson a natívan használt driverek.
Második az applikáció szintű kompatibilitás. Ez az, amit a Wine és a ReactOS csinál már évtizedek óta. Sok Windowsos program elfut így, de nagyon sok nem. És ez nem csak technológiai kérdés, hanem jogi, pénzügyi, összeiparági kérdés. Ha nagyon akartak volna, a nagy techcégek eddig is beállhattak volna valamelyik ilyen jellegű projekt mögé, mégsem tették, nem véletlenül.
Az X.org meg a terminál ezek után már csak részletkérdés.
Eddig olvastam:
"Az alap elképzelés, egy linux kernellel futó windows-os programokat és driver-öket támogató rendszer lenne."
Továbbra is a miért a kérdés. Ha van olyan Windows program, aminek nincs alternatívája, nem fut Wine alatt és nem tudsz élni nélküle, akkor tessék Windowst használni.
A ReactOS is egy hamvában holt ötlet.
Amikor egy operációs rendszert fejleszteni kezdenek, akkor egy adott hardvert alapul véve, valamilyen célnak megfelelően alakítják ki a rendszer szerkezetét, képességeit.
Ennek apropóján vesznek már kidolgozott memória menedzselési eljárásokat és ebből kiválasztják azt, netán azokat, amelyek a célnak megfelelnek. Ugyanígy tesznek az ütemező kialakításánál is. Már ha az opre amúgy multitaszk igényeknek is meg kell feleljen.
Amikor ez megvan, akkor állnak neki a tervezésnek. A fő modulok igény szerinti specifikálásának, ekkor döntik el, hogy a hardverelemek miképpen, milyen rendszer szerint kommunikáljanak egymással és az userrel. Ez lesz a HAL.
Ha mindez megvan, akkor osztják ki a feladatokat a fejlesztőknek akik lekódolják, tesztelik.
A linux egy unix klón, a unix meg egy hálózatos, nagygépes, multiuseres, többfeladatos operációs rendszer, egy elég shit grafikus kiegészítéssel.
A windows meg egy grafikus felületű, eredendően single useres, desktop operációs rendszer.
A kettő más és más célra készült. Különbözik a kernelük architektúrája, más a memóriamenedzsment, más a szolgáltatások rendszere és más a hardverelérés, -kezelés is.
Amit te akarsz, az olyan, mintha a fürdőnadrágot és a nagykabátot keresztezve próblánál egy olyan ruhát létrehozni, ami egyszerre hasznos plusz 40 és minusz 10 fokban is. Hát ilyen nem lesz.
Mielőtt legközelebb effélén agyalnál, javaslom olvasgass, ismerd meg mi az a monolit, vagy moduláris, exo-, nano- mikro- stb. kernel, milyen memória menedzselési lehetőségek, milyen ütemező fajták vannak és tudd meg, hogy melyik mire jó. Olvasd el Andrew Tannenbaum, Operációs rendszerek c. könyvét.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!