Na tanulmanyozgatom itt az exos mukodeset, hogy minnel reszletesebb valaszt kapjak a korabbi kerdeseimre, es kozben felmerultek kerdesek bennem, leirom ide oket, hatha Zozo majd jol megvalszolja oket.
Az egy alapvetes ugye, hogy az exost ugy terveztek, hogy egyszerre egy alkalmazast szolgaljon ki. Raadasul ezt ugy valositottak meg, hogy nincs egy operacios rendszer shell, vagy ilyesmi, amibol az alkalmazasok elindulnak es ahova visszaternek, hanem az alkalmazasok egymasnak adjak at a stafetat, es valnak "current applications program"- ma, roviditve CAP- pa. Ha mi szeretnenek megis egy olyan CAP- ot ami felepitese vagy hasznalata soran alkalmas erre ( pld. egy basic interpreter CAP- ot, aminek ugye van egy parancsertelmezoje, vagy egy exdos interfeszt, aminek szinten van ), szoval szeretnenek egy ilyen CAP- ot egyfajta shell- kent hasznalni es elinditani belole masik programokat ( olyanokat amik eddig szinten CAP- pa valtak futasuk soran ) akkor azt kell megoldjuk, hogy a lefuttatott program ne valjon CAP- pa, hanem csak sima szubrutinhivassal hivodjon meg, majd terjen vissza az ot hivo CAP- ba. Vegyuk eszre, hogy ugye ezzel a futtatott alkalmazast exos szempontjabol a futtato CAP "reszeve" tettuk, amig a lefuttatott alkalmazas fut, es nem ter vissza az igazi CAP- ba, addig o latja el a CAP szerepet.
Valamilyen uton modon tehat egyutt kell dolgozzon a futtatott program az ot futtato CAP- pal, a futtatott programnak a futtato CAP egyfajta shell- je lesz, abban az ertelemben hogy ugye onnan indul es oda ter vissza, az operacios rendszert o ( azzal szemben mintha o is CAP- pa valna a futtatasakor ) a futtato CAP modositasai, beallitasai utan erzekeli, gondolok itt olyanra, hogy ha az CAP altal vezerelve az exos epp jatszik le egy hangot, akkor azt o mar ugy kapja meg, ha a CAP altal vezerelve az exos kepernyojen meg van jelenitve valami ( pld. basic,wp,epdos ) akkor o azt mar ugy kapja meg, stb.
Erre oly modon lehetne adni valami altalanos megoldast, hogy ha feltetelezzuk hogy a futtatott program egy tipikus demo vagy jatek, ami az elso inicializalasa utan ugyis lekapcsolja majd az exos- t es soha tobbe nem is akarja a futasa soran majd hasznalni. Ekkor lehetne a korabban emlitett exos "ki/be kapcsolo" altalanos funkciot tenni a betolto rendszerbovitobe. De hat egy ilyen visszaterosen lefuttatott program miert ne lehetne egy exos alapu program, aki a futasa soran aktivan hasznalja az exos- t. ( Viszont meg mindig nem egy rendszerbovito, mert visszaterese utan nem marad rezidens ) Arrol nem is beszelve, hogy ezeknek a visszateresre alkalmas programoknak az altaluk lefoglalt memoriakat fel kene szabaditania visszateres elott, kulonben tobbszori futtatas eseten elfogyhat a memoria.
Mindezeket osszeteve arra a kovetkeztetesre jutottam, hogy nem nagyon kell a betoltonket ellatni semilyen funkcioval, a betoltott program a betoltonek es igy a CAP- nak egy sima szubrutinja lesz es kesz. Minden mas dontest az alkalmazas hozhat meg, es meg is kell hoznia. Hogy neki fontos- e, hogy ot most milyen CAP hivta meg ( wp, basic, epdos, vagy mi ), hogy o most hogy akar mukodni, lekapcsolja a hardvert az exosrol, es onmagaban fut, vagy epp exos hivasokkal akar operalni, mondjuk nyitva egy videolapot, es arra dolgozva. Termeszetesen mindent amit lefoglalt, vagy elallitott, vissza is kell adja az exosnak, ill. vissza is kell allitsa, mielott visszater a betoltohoz, es azon keresztul a CAP- hoz.
Azt majd meglatom hogy meg lehet- e oldani, hogy rendszerbovito command string- kent megvalositva lehetseges lesz- e egy altalanos exosrol lekapcsolas/visszakapcsolas funkciot megvalositani, amit majd felhasznalo fele nem hirdetne a betolto rendszerbovito, de vegrehajtani tudna, es ezt arra lehetne hasznalni, hogy a legaltalanosabb esetre megis lenne tamogatas a rendszerbovitoben, es annak ellenere hogy a betolto semmit nem fog csinalni a tenyleges betoltesen es a call- lal torteno meghivason kivul, a meghivott program megteheti majd azt, hogy exos hivasokkal betolti a szukseges tovabbi reszeit/adatait, majd ha ez megtortent, akkor meghivja azt a rendszerbovito kommand stringet, ami majd lefade- eli az exos kepet, es lementi/lekapcsolja az exosrol a hardverallapotot, aztan fut ahogy akar, majd visszateres elott meghivja az exost visszaallito rendszerbovito kommandot, es visszater ret- tel a betoltobe. Egeszen biztos hogy mivel ezek hivasok lesznek, ezert peldaul sp elmentese/visszatolteset nem fogja tartalmazni ez az altalanos kod, es lehet hogy lesz mas ilyen is amit nem lehet majd megoldani, de a nagyja funkcionalitas elerheto lesz. Evvel ugya majd jatek kozben is meg lehet csinalni, hogy mondjuk visszakapcsolja az exost mukodove vele, betolti a kovetkezo palyat, majd ujra lekapcsolja vele az exost, es fut tovabb a jatek. De ez mar csak egy kenelmi funkcio lesz, amit majd vagy hasznal a betoltott program vagy nem, vegeredmenyben, ezzel vagy enelkul, minden a lefuttatott alkalmazas felelossege lesz.