Ano, říkalo se tomu harvardská architektura. Běžné počítače ji ale nikdy nepoužívaly. Ono úplně stačí, když si uživatel rozdělí pevný disk na oddíly a pak dojde do stavu, kde v jednom oddíle místo dochází, zatímco v druhém přebývá. Představa, že něco takového budeme řešit i s operační pamětí je zajímavá.
Nikoliv, ono se to nekde stale pouziva, dokonce to mas napsane ve svem odkazu (pripadne i v anglickem originale).
Ahoj Ondřeji, až Ti RIPEáci dají opušťák, tak se zase stav na Pyvo do Plzně.
Použij BTRFS nebo něco podobného, co bere partitions jen jako archaismus pro uspokojení potřeb starších bratříčků a nebudou tě hranice oblastí omezovat.
S RAM je to divočejší, hranice jsou dynamické od přirození, ale záleží kdo je hlídá a jak dobře.
Dobrý základ pro ten ochranný mechanismus by tu byl, například v podobě Chráněného režimu alias Protection rings https://cs.wikipedia.org/wiki/Privilegovan%C3%BD_re%C5%BEim
Akorát by to chtělo protáhnout kousek dál za OS i na systémové utility a zároveň tomu dodat i druhou část, aby ten kód programů byl v RAM neměnitelný.
Tedy ohlídat si věci jako přetečení, ke kterému v tomhle případě s RARem nejspíš došlo.
(Ale co Ti budu povídat, znáš to lépe než já.)
22. 8. 2023, 12:16 editováno autorem komentáře
Prave ze je to cim dal snazsi. Duvodem jsou predevsim tvurci, kteri typicky cim dal casteji vubec netusi, jak ten SW a HW pod tou jejich aplikaci vlastne funguje.
Kuprikladu ve win bylo a je naprosto typickou funkcnosti, kterou si naprosto drtiva vetsina neuvedomuje, ze kdyz zavolas asociaci souboru, tak se ten soubor z pohledu OS spusti. Jiste ze se da zjistit ona asociovana aplikace a pak ji to pripadne predat jako parametr ... jenze takhle je to jednodussi ze?
To je opet jen pidiprikladek. Takze tvurce proste zavola nejakou funkci, o ktere vlastne nevi co dela nebo nedela, a te preda nejaka data, ktera ta funkce muze klidne take spustit.
Mimochodem, samosemodifikujici SW je pro spoustu ucelu paradni vec. Kdyz nic jinyho, je to peknej zpusob jak to za behu patchnout ze?
Ve skutecnosti vsemozne "ochrany" tak maximalne hazi pod nohy klacky a klady uzivatelum.
Kuprikladu ve win bylo a je naprosto typickou funkcnosti, kterou si naprosto drtiva vetsina neuvedomuje, ze kdyz zavolas asociaci souboru, tak se ten soubor z pohledu OS spusti.
Ve skutečnosti je to tak, že se volá akce, která se se souborem má provést. Těch akcí je často víc, třeba open, edit, print… Jedna z těch akcí je obvykle výchozí. A ta se volá, když na soubor třeba poklepete v Průzkumníku.
Jako vzdy ... nikoli.
Ve skutecnosti se vzdy vola exec. Teprve pak se zjistuje (kdyz se to nepovede spustit) co s tim dal. Proto se daly a daji spusti treba "obrazky", protoze widlim je jedno co je v pripone, kdyz je to uvnitr exe, spusti se to. A je jim samozrejme i uplne jedno, zda k te pripone je nebo neni prirazena nejaka aplikace, ta na to nema zadny vliv.
V poslednich verzi (w10+) to trochu obfluskovali, takze uz to neni az tak primocare, ale ta funkcnost tam je.
Ovsem vzhledem je stovkam jinych zpusobu jak spustit libovolny kod, je toto spise jen tresnicka.
Hw oddelenou pamet pro data a executable stack mely nektere dnes uz archaicke serverove procesory. I nektere OS umely stack a heap nastavit globalne nebo per proces tak, ze pri pokusu o execute dostal proces SIGSEGV
Jen zkriplena levna ibm pc architektura urcena pro levne workstation pochopitelne nemela v puvodnim navrhu hw nic okolo bezpecnosti. Ale protoze byla levna a stala se rozsirenou, tak vyhrala i v serverovem segmentu a spousta bezpecnostnich problemu (a v dobe vzniku i neznamych hrozeb) se pak resila hackovanim ve firmware a v OS, aby se zachovala zpetna kompatabilita.
Treba multiprocessing (digital alpha) a paralelni pristup k pameti (spark) nedohnala intel architektura jeste nekolik dekad (a posleze jen hrubym vykonem hw).