Ga naar inhoud


Aanbevolen berichten

Geplaatst:

Een Israëlische student heeft samen met een aantal Japanners een applicatie gemaakt waarmee het mogelijk is Linux samen met Windows te draaien, zo meldt LinuxWorld. Het systeem heet coLinux (Cooperative Linux) en werkt niet zoals verschillende emulatoren, waaronder VMware en Virtual PC, in user mode, maar in een speciale mode genaamd ring 0 of supervisor mode. De twee kernels draaien op deze manier naast elkaar. Er wordt steeds tussen de twee toestanden van de twee kernels gewisseld. Hierdoor heeft de Linux-kernel in zijn stukje processortijd volledige controle over de CPU en de MMU (Memory Management Unit) voor zijn eigen geheugenruimte. De Linux-kernel werkt in deze configuratie dus vrijwel net zo snel als dat hij in een niet gedeeld systeem zou doen.

 

De communicatie met de randapparatuur is een iets ingewikkelder verhaal. Dit moet eigenlijk door het host OS gedaan worden, omdat anders de twee kernels misschien aanvragen van elkaar terugkrijgen of tegenstrijdige opdrachten gaan uitdelen. Windows beheert dus de randapparatuur en biedt coLinux een aantal geëmuleerde apparaten aan. Zo kan Windows een gewoon bestand aanbieden dat coLinux vervolgens ziet als een bestandssysteem. Windows vangt ook alle interrupts af en geeft deze transparant door aan coLinux. coLinux heeft maar een klein aantal parameters van het host OS nodig om zijn werk te kunnen doen. Het moet dus niet al te moeilijk zijn om coLinux ook samen te laten werken met bijvoorbeeld Solaris of Linux zelf

 

bron: tweakers.net


Geplaatst:

Citaat:
Het moet dus niet al te moeilijk zijn om coLinux ook samen te laten werken met bijvoorbeeld Solaris of Linux zelf

 

Lijkt me dus wel moeilijk. Het feit dat een applicatie in RING 0 kan draaien is een gevolg van de brakke kernel implementatie van windows.

 

Een goed operating system hoort dit af te schermen, aangezien applicaties die in RING 0 draaien toegang hebben tot het geheugen gebied van de OS kernel. Dit is niet echt bevordelijk voor de stabiliteit van het systeem. (Het is dus ook mogelijk om middels een simpel programma dat zich in ring 0 nestelt de windows kernel te laten crashen)

Geplaatst:

Citaat:
(Het is dus ook mogelijk om middels een simpel programma dat zich in ring 0 nestelt de windows kernel te laten crashen)

 

Daar heb ik ring 0 niet voor nodig.

 

groeten,

Peter.

Niet gehinderd door enige vorm van technische kennis zet ik onbevangen overal mijn schroevendraaier en soldeerbout in.

Geplaatst:

Onzin. Er wordt gebruik gemaakt van api's die goed gedokumenteerd zijn en die beschikbaar zijn voor elke .NET programmeur.

 

Maarre, heeft dit bericht niet een errug laag sat-nieuws gehalte?

 

 

Citaat:

 

Lijkt me dus wel moeilijk. Het feit dat een applicatie in RING 0 kan draaien is een gevolg van de brakke kernel implementatie van windows.

Geplaatst:

Citaat:
Er wordt gebruik gemaakt van api's die goed gedokumenteerd zijn en die beschikbaar zijn voor elke .NET programmeur.

 

Zelfs als dat het geval is dan is het nog een brakke implementatie. Het is uit den boze dat een kernel andere applicaties toegang geeft tot ring 0. Een dergelijk programma heeft dan namelijk toegang tot het geheugengebied van de kernel met alle mogelijke gevolgen van dien

Geplaatst:

Hoe kom je daar nu bij? Het is zo dat normale applicaties normaal gesproken geen RING0 toegang hoeven, maar bij bijv. HW drivers of filesystem drivers is het niet ongewoon dat dit gebeurt, om voor de hand liggende performance redenen. De MS Developer ceedees komen met dokumentatie en praktijkvoorbeelden (samples) hoe zulks te implementeren is.

 

Rogn

 

 

Citaat:
Zelfs als dat het geval is dan is het nog een brakke implementatie. Het is uit den boze dat een kernel andere applicaties toegang geeft tot ring 0. Een dergelijk programma heeft dan namelijk toegang tot het geheugengebied van de kernel met alle mogelijke gevolgen van dien
Geplaatst:

In tegenstelling tot andere architecturen biedt Intel 3 ringen ipv 2.

 

Ring 0 : is bedoeld voor Kernel functions

Ring 1 : voor Device drivers en System functions

Ring 2 : User processen

 

Wanneer het OS gebruik maakt van deze opzet kan een device driver oid nooit de stabiliteit en werking van de kernel in gevaar brengen. Een programma of driver (en zeker niet non trusted code) behoort mamelijk nooit toegang te krijgen tot ring 0.

 

Microsoft maakt in haar implementatie echter geen gebruik van ring 1, maar laat device drivers daarentegen in ring 0 draaien. Dit is ook de reden dat een "foute" driver het complete systeem onder uit kan schoppen.

 

Dat het dus mogelijk is om user mode code te draaien in ring 0 is dus het gevolg van een slechte implementatie, waarbij onvoldoende gebruik gemaakt wordt van de mogelijkheden die de intel architectuur bied

Geplaatst:

Precies.

 

...en daarom zit ik hier, achter m'n Apple G4 dual cpu, met OS X en niet met een Windows/Intel PC.

 

OS X, dat me overigens naast de uitstekende kwaliteiten die dit besturingssysteem heeft, de mogelijkheid biedt Windows (XP/2000/etc.etc), Linux, BeOS, etc. etc. te gebruiken.

 

 

Rogn

Geplaatst:

Maar dan ben jij één van de weingen die weet wat een PC is en hoe die is opgebouwd. Deze kennis heeft de huis tuin en Nico gewoonweg niet.

Avensis

Geplaatst:

@avensis

 

Dit is ook niets waar je als gebruiker invloed op hebt.

 

Het zijn de core ontwikkelaars bij Microsoft die dat goed hadden moeten regelen

Geplaatst:

Gaat het ook niet om he.

Ring of zoals het eigenlijk heet LAYER das waar het om gaat.

En ja Bill poortje heeft die echt open staan.

Ga e niet vragen hoe en wat want dan krijg je echt geen antwoord.

Avensis

Geplaatst:

layer 0?

 

Ik denk dat je dat in de war bent bent communicatielagen of OS layers. Dat speelt zich op een veel hoger niveau af.

 

ringen (of rings) zijn security modes waarin een processor kan draaien. Een proces in ring 0 (supervisor mode) heeft bijvoorbeeld directe toegang tot de hardware. Een proces in ring 3 (user mode) niet.

Maak een account aan of log in om te reageren

Je moet een lid zijn om een reactie te kunnen achterlaten

Account aanmaken

Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!

Registreer een nieuwe account

Inloggen

Heb je reeds een account? Log hier in.

Nu inloggen
  • Wie is er online   0 leden

    • Er zijn geen geregistreerde gebruikers deze pagina aan het bekijken
×
×
  • Nieuwe aanmaken...