[OSDev] Software multitasking i porty w ring3

[OSDev] Software multitasking i porty w ring3
Wolverine
  • Rejestracja: dni
  • Ostatnio: dni
0

Jaki maly problemik mam, otoz chce zrobic drivery dzialajace pod ring3 w ktorym jak wiadomo nie ma portow (przynajmniej "domyslnie"). W TSSie za to jest cos takiego jak IO permision mask, sek w tym, ze nie korzystam z TSS (tzn nie w pelni, tylko po to aby odczytac stos dla innego dpla). Czy ktos ma jakis pomysl zeby dac procesowi mozliwosc bawienia sie portami nie przepisujac zamiany kontekstow?

darktemplar
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 34
0

Flaga IOPL ustawiona tylko-dla-procesu-w-tej-chwili nie pomoże?

!! A-TAK-POZA-TYM !! Po co ci drivery na Ring3?

Wolverine
  • Rejestracja: dni
  • Ostatnio: dni
0

Masz racje, doczytalem i jest tak jak mowisz. Jesli IOPL jest >= PL to proces ma dostep do portow, jesli nie to sprawdza jeszcze maske IO, IOPL mozna zmieniac tylko z PL=0 wiec wszystko jest kul. Dzieki.

A, po co mi drivery na ring3?

  1. Ochrona - zdarzy sie, ze przez przypadek sie gdzie cli,hlt pojawi i co ... wiem, ze majac ostep do IO mozna posiekac system no ale juz trudniej. Po poprzednim moim topiku i rozkminieniu tego wszystkiego dostalem szala na punkcie bezpieczenstwa.
  2. Elastycznosc - drivery to zwykle procesy z jakas tam flaga, nie musze sie martwic, ze jakby dzialaly na ring0 to inne rzeczy na stos by kladlo przerwanie itp. Po prostu prosciej tak.</delphi>

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.