Hlavní navigace

Názor k článku Bude váš Linux potřebovat antivirus? od abyssal - Neviem, ci ste si poriadne precitali, co som...

  • Článek je starý, nové názory již nelze přidávat.
  • 17. 11. 2005 16:41

    abyssal (neregistrovaný)
    Neviem, ci ste si poriadne precitali, co som pisal predtym. Ako alternativa PIC bol uvadzany uz na zaciatku. IMHO je to celkom dobre riesenie, ale mam radsej principialne riesenia - t.j. PIC mi pride trocha ako "hack". Na jednej strane, urcite je to rychlejsie, predsa natahovanie pred programatorom skrytych casti segmentovych registrov pri ich zmene nie je najrychlejsie. Na druhej strane, neviem o kolko by bol size/speed overhead pri segmentovanej verzii. Cally vnutri kniznice su vsetky relativne, potial je to easy. Problem nastava len pri volani rutin z inych kniznic. Hlavny problem vidim v tom, ze segmentovych registrov je malo. Co by sa dalo riesit hardwarovo - pridanim nejakeho mnozstva registrov - co je ale zrejme drahe a pravdepodobne nenastane, pretoze to nikto neziada.

    Druha moznost by bola napr. vyhradit dva segmentovy registre (napr. FS, GS) pre segment kodu a dat jadra tak, ze by sa softwarovo simulovala brana volania. Dynamic loader by proste zavolal rutinu jadra na "zaregistrovanie" kniznice, programy vyzadujuce kniznicu by zavolali nejaku upravenu verziu dlopen, ktora by vratila nejake 32-bitove cislo ako identifikaciu kniznice. Kod by sa predlzil o 2xMOV pre kazde volanie, jeden na identifikaciu kniznice a druhy na entry point. Neboli by treba relokacie - len pri loadnuti kniznice by sa naplnilo par hodnot v statickej datovej casti, kde by boli ulozene tie identifikacie pouzivanych zdielanych kniznic.

    Netvrdim, ze je to genialne riesenie, ani ze by to nejak extremne zrychlilo cely proces (oproti branam volania a inym prostriedkom poskytovanym hardwarom), ale je to jedna z dalsich moznosti. Nikdy som to neskusal zmerat, ale keby som mal za ulohu vytvorit OS so zameranim predovsetkym na bezpecnost (rychlost az na druhom mieste), asi by som to skusil, resp. vyhladal si vyskum, co uz niekto robil. Mozno je cena naozaj prohibitivny overhead - co je mozno dovod, preco sam Intel doporucoval upustit od segmentacie. Ale to boli casy Pentium Pro, procesory trocha zrychlili odvtedy, je teoreticky mozne, ze by niekto zvolil takyto pristup (spekulacia). Ten MS Singularity OS je tiez krok podobnym smerom, aj ked inymi prostriedkami. Tazko povedat, ci sa to niekedy ujme.

    BTW, preco si myslite, ze mam zdielane kniznice skompilovane bez -fpic? Ono by to u mna bez toho s niektorymi featurami dost dobre nefungovalo :-) Inak typicky sa linker (ld) snazi do urcitej miery vytvorit position-independent code aj bez -fpic, dava "DT_TEXTREL in object" warning ak sa mu to nepodari.