Sestaveni testovacich konfiguraci OS TUOX ========================================== Jednotlive testovaci konfigurace jsou generovany na zaklade nastaveni maker v souboru TEST.CNF (zejmena TEST_PHASE a TEST_CODE) Povelove soubory pro sestavovani systemu ---------------------------------------- K.BAT - kompilace kernelu a tasku. Prikopirovava se c0fs.obj pro verzi systemu spousteneho z EXE - spusteni BC - projekt !.prj TEST_PHASE 1 - 15 F.BAT - kompilace kernelu, tasku a FS do spolecneho modulu. Prikopirovava se c0fs.obj pro verzi systemu spousteneho z EXE - spusteni BC - projekt fs!.prj TEST_PHASE 16 - 63 Tyto testovaci faze predpokladaji v A: disketu s MINIX file systemem M.BAT - kompilace kernelu, tasku a MM do spolecneho modulu. Prikopirovava se c0fs.obj pro verzi systemu spousteneho z EXE - spusteni BC - projekt mm!.prj TEST_PHASE 64 - 255 Volitelne muze byt pripojen i FS, ktery se natahne z FAT jako samostatny modul (pri definici symbolu LOAD_FS_MODULE). Modul samostatneho FS se sestavuje skriptem FI.BAT. FI.BAT - kompilace File Systemu jako samostatneho modulu (pro ulozeni na boot disketu nebo natazeni z DOS FAT pri startu systemu z EXE). Pouzije se c0fs.obj z adresare test. Modul je na zaver prefiltrovan aplikaci EXE2TUOX. ! TEST_PHASE musi byt 1024 MI.BAT - kompilace Memory Manageru jako samostatneho modulu (pro ulozeni na boot disketu) - ZATIM NEDODELANO ! TEST_PHASE musi byt ? Soubory projektu BC++ 3.1 ------------------------- !.prj - kernel+tasky (Floppy task zatim simulovan pres BIOS (biosflop.c), po oziveni nahradit za floppy/floppy.c) - inicializacni kod kernelu (KMAIN.C), kod hlavniho vstupniho bodu (c0fs.obj) - knihovny pomocnych funkci kompilatoru (BCLIB/*.OBJ) - knihovny pro systemove nezavisle funkce , - testovaci kod (test/test1.c-test/test15.c) - pomocn fs!.prj - kernel+tasky+FS - inicializacni kod kernelu (KMAIN.C) - knihovny pomocnych funkci kompilatoru, - knihovny pro systemove nezavisle funkce , - testovaci kod (test/test16.c-test/test63.c) Pro uspesny start FS musi byt pripraven svazek s root file systemem (v nasem pripade disketa v A:). Naformatovat ji lze napr. v Linuxu jako filesystem MINIX: /sbin/mkfs.minix -n14 /dev/fd0 Pozn.: takto naformatovany filesystem lze primontovat k Linuxovemu souborovemu systemu prikazem mount. mm!.prj - kernel+tasky+MM - inicializacni kod kernelu (KMAIN.C) - knihovny pomocnych funkci kompilatoru, - knihovny pro systemove nezavisle funkce , - testovaci kod (test/test64.c-) - modul DOSSVC.C - cteni ze souboru pomoci DOS. Pouzito v EXECLDR.C a FSLDR.C - modul FSLDR.C - zavedeni modulu FS z DOS FAT behem zavadeni systemu - modul EXECLDR.C - pro test volani exec() bez pritomnosti FS (spousteny modul se pred startem systemu nacte do pameti z FAT pres DOS funkce (DOSSVC.C) V pozdejsich fazich se samostatne zavadi modul FS do pameti (z FAT disku, v main() kernelu pred startem systemu) tx.prj - kompilace samostatneho programu pro otestovani volani exec() (program natazen z FAT pri startu systemu do pametoveho bufferu) + aplikace EXE2TUOX (pro TEST_PHASE 72, neni-li zatim pritomen FS) txd.prj - kompilace samostatneho programu pro otestovani exec() (program natazen primo z MINIX file systemu) + aplikace EXE2TUOX POZN.: tx.prj a txd.prj se lisi pouze hlasenim, ktere vznikly program vypisuje Poznamky -------- Dulezita poznamka 1: Kod hlavniho vstupniho bodu programu (c0fs.asm) existuje ve dvou verzich: pro pripad, ze kompilujeme jednotlive moduly (kernel, FS, MM, programy TUOXu) pro format TUOX (ziska se z vznikleho EXE aplikaci utility EXE2TUOX) nebo pro spousteni systemu jako EXE programu. Ve druhem pripade je pri prekladu modulu c0fs.asm deklarovan symbol EXE. Prelozena verze pro sestaveni samostatnych modulu a programu pro TUOX je v adresari test, verze v adresari kernel je prelozena se symbolem EXE a je urcena pro sestaveni systemu spousteneho z EXE. !!! Popletou-li se verze modulu c0fs.obj, system pri startu spadne (nebo na program nepujde aplikovat EXE2TUOX) !!! Dulezita poznamka 2: Nektere testovaci kody nekonci funkci returnToDOS(), ale nekonecnou smyckou. V takovemto pripade se v rezimu startu systemy z EXE lze do DOSu vratit stiskem klavesy [End]. Pomocne kody urcene pro testovani --------------------------------- TESTMGR.C: kod zajistujici pripojeni prislusneho testovaciho kodu podle symboly TEST_CODE (z adresare test) KPRINTF.C: kod pro vypis hlaseni primo do video-ram (obdoba printf()) EXITOR.C: kod umoznujici ukoncit beh TUOXu (navrat do DOSu) stiskem klavesy [End]. Rovnez poskytuje funkci ReturnToDOS() volatelnou z testovacich kodu, ktera plni stejny ucel.