Mitä mieltä olette geneettisistä koodeista? Tätä minulta kysyttiin työhaastattelussa, kun esitin olevani jyvällä alan nykyisistä tuulista..
Pitäisi kuulema osata tehdä käyttöjärjestelmäkäännös siten, että se olisi jokaisella koneella erilainen. Kaikki softat olisi siten myös käännettävä erillään ja vain protokollarajapinnat olisi avoimet. Eli suomeksi: Et voi tietää kirjoittaessasi koodia, mikä esim. koodin endianess tulee olemaan, se määräytyy kääntäjästä randomina.
Prosessoritkin luodaan uudestaan, eli käskykanta pitää "aktivoida" ennen käyttöä ja käyttöjärjestelmä sitten lukitsee sen siten, ettei sitä voi muuttaa.
Veikkaan, että seuraavan sukupolven koneissa ei juuri ole viruksia ja kaikki ohjelmat ovat open sourcea! Binäärijakelut kun ei enää tule toimimaan..
Pitäisi kuulema osata tehdä käyttöjärjestelmäkäännös siten, että se olisi jokaisella koneella erilainen. Kaikki softat olisi siten myös käännettävä erillään ja vain protokollarajapinnat olisi avoimet. Eli suomeksi: Et voi tietää kirjoittaessasi koodia, mikä esim. koodin endianess tulee olemaan, se määräytyy kääntäjästä randomina.
Prosessoritkin luodaan uudestaan, eli käskykanta pitää "aktivoida" ennen käyttöä ja käyttöjärjestelmä sitten lukitsee sen siten, ettei sitä voi muuttaa.
Veikkaan, että seuraavan sukupolven koneissa ei juuri ole viruksia ja kaikki ohjelmat ovat open sourcea! Binäärijakelut kun ei enää tule toimimaan..
Vastaukset 5
Vanhimmat
Ei. Tulevaisuus on vain applea. Muuta ei tarvita.
Koodi millä tahansa ja kääntäjät eri rajapintoja varten. Siinähän se.
Veikkaan ettet osannut vastata kysymykseen :(
Geneettinen koodi... tässä vähän haiskahtaa ns. 'teknoporno' eli jos ajattellaan näin; kirjoitat koodia, josta et tiedä mikä on lopputulos -> mites tämä laatupuoli hoidetaan, jos et itsekään tiedä lopputulos ja kuka korjailee komponenttien sisäiset ongelmat (suorituskyky, bugit...). Rajapinnat on kaikissa samoja, en ymmärrä miten varmistetan että rajapinnat toimivat samalla tavalla...
Sitten ehkä tyhmäkysymys; onko tällä jotain reaalimaailman soveltamiskohteita?
"onko tällä jotain reaalimaailman soveltamiskohteita"
Ei. Vielä. Ehkä joskus.
Perussovellus on helppo: otetaan hw-näkökohta ja invertoidaan esim. 1. bitti _kaikessa_ mitä prosessori käsittelee. Tämän jälkeen kääntäjään on helppo tai ainakin kohtuullisella vaivalla tehtävissä vastaava implementaatio.
Nyt jos viruksen "binäärikoodi" yritetään ajaa sellaisenaan, ei se toimi. Tästä saa äkkiä tehtyä 2^32 versiota 32-bittisessä ympäristössä samasta koodista. Ja eiköhän tuon testaa, kun riittää todeta, että kääntäjä toimii oikein.
Eikös muuten tuo geneettinen koodi ole tällä hetkellä hanskattuna sillä tavalla, että on erilaisia arkkitehtuureja eri versioita ohjelmasta liikkeellä, jolloin virukset eivät pääse saastuttamaan kaikkia järjestelmiä..