Huom. Tällä sivulla kuvattu SURVO 98 on nykyisin jo "vanha Survo", joka muodosti aikanaan tärkeän siirtymävaiheen 16-bittisestä 32-bittiseen Survoon. Sittemmin SURVO 98 loi pohjan Survon uudelle SURVO MM -nimiselle Windows-versiolle.

Seppo Mustonen:

SURVO 98 - uusi 32-bittinen Survo

Uusi 32-bittinen SURVO 98 syntyi yli puoli vuotta kestäneen kokeilu- ja kehitystyön tuloksena. Koeversioita oli liikkeellä jo syksystä 1997 lähtien. Lopullinen ykkösversio saatiin valmiiksi helmikuussa 1998.

Tulokseen päädyttiin muutaman mutkan kautta. Olen aikaisempia vaiheita kuvannut mm. SURVO.TUT-lehden numerossa 1/97.

Lopullisessa toteutuksessa käytetään uutta DOS/32A-laajenninta. Tämän laajentimen on tehnyt Ruotsissa asustava Narech Koumar (Supernar Systems). DOS/32A on hämmästyttävästi vain 26 kilotavun kokoinen eli alle kymmenesosa DOS/4G:stä, jota käytimme SURVO 98:n koeversioiden teossa marraskuulle 1997 asti. DOS/32A oli alunperin monessa suhteessa vajavainen, mutta olemme Kimmo Vehkalahden kanssa saaneet Narechin vaiheittain toteuttamaan kaikki toiveemme. Näin uudesta Survosta on tullut vielä selvästi tehokkaampi. Tämä näkyy (DOS/4G-toteutukseen verrattuna) erityisesti suurien aineistojen (esim. havaintotiedostojen) käsittelyssä. Ohjelmatiedostot ovat pienentyneet noin 10 prosentilla ja ohjelmat nopeutuneet lisää saman verran.

SURVO 98 on pieniä poikkeuksia (jotka luetellaan alla) lukuunottamatta yhteensopiva SURVO 84C:n kanssa. Siis SURVO 84C -työt tehdään SURVO 98:ssa täsmälleen samalla tavalla. Myös tiedostorakenteet ja esim. sukrot ovat yhteensopivia.

SURVO 98:lla laaditut sovellukset kelpaavat SURVO 84C:lle, ellei ylitetä jälkimmäisen rajoituksia esim. toimituskenttien ja matriisien suhteen.

Uusinta SURVO 98:aa on ehditty perusteellisesti kokeilla useissa käyttöympäristöissä eli se toimii paitsi puhtaassa DOS:issa myös kaikissa Windowseissa ja OS/2:ssa.
     Toistaiseksi, varmuuden vuoksi, SURVO 98 toimii ikäänkuin SURVO 84C:n jatkeena, vaikka uusi Survo onkin täysin itsenäinen, aito 32-bittinen, suojatussa (protected) moodissa toimiva järjestelmä. SURVO 98 käynnistetään suoraan (esim. DOS-tasolta) komennolla SURVO 98 tai SURVO 84C:stä esim. komennolla _S tai näppäimellä ctrl-D. Samalla näppäimellä voi palata takaisin taustalla olevaan SURVO 84C:hen ja jatkaa tekeillä olevaa työtä. Näin yhdellä napinpainalluksella saattaa liikkua edestakaisin uuden ja vanhan Survon välillä ja vertailla niiden toimintoja. Muita kuin nopeuseroja ei pitäisi ilmetä.

SURVO 98:n edut SURVO 84C:hen verrattuna ovat mm. seuraavat:

Toimituskenttien koot ovat käytännössä rajattomat.
Kentän maksimileveys on 996 merkkiä. Suurin mahdollinen rivimäärä riippuu keskusmuistin koosta. mielettömän suurten kenttien (eli esim. 100000-rivisten) käyttöä on syytä kuitenkin välttää eikä suuria numeroaineistoja kannata muuten kuin poikkeustapauksissa pitää jatkuvasti toimituskentässä. Kenttien avartumisesta on varmasti monelle käyttäjälle hyötyä mm. muualla syntyneiden sotkuisten tekstitiedostojen muokkauksessa ennen kuin ne siirretään esim. Survon datatiedostoiksi.

Kookkaat (SURVO 84C:n kapasiteetin ylittävät) toimituskentät talletetaan tiivistettyinä niin, etteivät esim. tyhjät rivit eivätkä rivien tyhjät loppuosat vie lainkaan tilaa.
Aikaisemmasta käytännöstä poiketen nyt on usein kätevä pitää esim. kaikki yhteen työkohteeseen liittyvät tekstitiedot sekä laskenta- ja piirroskaaviot samassa toimituskentässä. Useimmissa tapauksissa kenttä kannattaa heti aluksi tehdä vaikkapa 1000-riviseksi.

Suurissakin (usean tuhannen muuttujan) datatiedostoissa voidaan käyttää pitkiä muuttujanimiä.
Datatiedostot ovat muuten rakenteeltaan täsmälleen samoja kuin SURVO 84C:ssä.

Tilastollisissa toiminnoissa muuttujien lukumäärät voivat olla useita satoja ja jopa tuhannen luokkaa.
SURVO 84C:ssa ehdoton yläraja oli 90 ja joissakin tilanteissa vain muutamia kymmeniä.

Matriisien maksimikoko (aikaisemmin 8100 alkiota) riippuu nyt käytännössä vain keskusmuistin koosta.
Voidaan siis laskea luokkaa 1000*1000 olevilla matriiseilla (aikaisemman 90*90 asemasta). On mahdollista myös ottaa käyttöön sellaisia tilastollisia menetelmiä, jotka toimiakseen tehokkaasti kuluttavat paljon muistitilaa. Tästä on hyvä esimerkki uusi DCLUSTER-moduli, joka tekee ryhmittelyanalyysia valmiiksi (esim. DIST-operaatiolla) lasketun havaintojen välisten etäisyyksien muodostaman matriisin avulla. Esim. 64 megatavun muistissa voi käsitellä jopa 2500 havainnon aineistoja.

Useimmat toiminnat ovat nopeutuneet SURVO 84C:hen verrattuna.
Tyypillinen parannus on 30% joskus jopa 100%, kun puhutaan puhtaasta laskennasta. Joissakin suuren aineiston hallinta- ja analysointitehtävissä nopeus voi olla 10-kertainen.

Myös kuvaruutugrafiikka on nopeampaa
ja SURVO 98 tukee sekä SVGA- (800*600) että XRES- (1024*768) grafiikkaa.

Jo tähän mennessä - tilanpuutteen poistuessa - on ollut mahdollista lisätä Survon toimittimen "älykkyyttä".
Esim. enää ei tekstiä kirjoitettaessa törmätä ilmoitukseen varjorivien loppumisesta vaan toimitin lisää niille tilaa automaattisesti.

SURVO 98 sisältää jo peruskokoonpanossaan toimintoja, jotka eivät olleet mukana SURVO 84C:ssä.
Näitä ovat mm. useat monimuuttujamenetelmät (SURVO 84C:ssä MULTI2-levykkeellä) ja kaikki Markku Korhosen laatimat ohjelmat (mm. ANOVA, DISCR, MTAB, FEDIT, MFEDIT, MFCOPY).

SURVO 98:n rajoitukset (toistaiseksi):

Kuvaruutugrafiikassa kuvien talletustavat eivät ole yhteensopivia. Siis SURVO 84C:llä tehdyt SPX-tiedostot (OUTFILE) eivät kelpaa SURVO 98:lle. Tämä johtuu siitä, että C-grafiikkakirjastofunktiot _getimage ja _putimage eivät ole yhteensopivia Microsoftin ja Watcomin C-kääntäjillä.

Kuvien kerrostaminen suoraan graafisessa moodissa (OVERLAY-täsmennyksellä) ei ainakaan toistaiseksi ole mahdollista. INFILE- ja OUTFILE-täsmennykset kuitenkin toimivat.
     Välttävä keino kiertää tämä rajoitus löytyi heinäkuussa 1998.

CHILD-komento (esim. toisen Survon kutsumiseksi) ei ole käytettävissä. On parempi toimia moniajojärjestelmässä ja käyttää siinä tarvittaessa useampaa Survoa.

Suomenkielinen oikoluku (OIO-komento) puuttuu.

Supermatriisikomennot on jätetty pois (tarpeettomina).

PLOT-operaatio ei enää tue Canonin ja HP:n kirjoittimia eikä piirtureita.

Huom. Tällä sivulla kuvattu SURVO 98 on nykyisin jo "vanha Survo", joka muodosti aikanaan tärkeän siirtymävaiheen 16-bittisestä 32-bittiseen Survoon. Sittemmin SURVO 98 loi pohjan Survon uudelle SURVO MM -nimiselle Windows-versiolle.