Mikä on tietojenkäsittelyn aloituspiste?

Tietokoneissa tulopiste on ohjelman, moduulin tai toiminnon kohta, josta koodi alkaa; erityisesti muistiosoite, josta se alkaa. Ohjelmassa se on ensimmäinen koodimoduuli tai jopa ensimmäinen koodirivi, joka suoritetaan. Lineaarisessa ohjelmassa, kuten BASIC tai COBOL, tulopiste kirjaimellisesti on koodin ensimmäinen rivi. Koodi seuraa sitten peräkkäin, kunnes suoritetaan jonkinlainen hyppy tai puhelu. Modulaarisessa ohjelmoinnissa, kuten kaikissa C -ohjelmointikielen muunnelmissa, tulopiste on aloitusmoduuli. C: ssä tämä on “Main ()” -toiminto.

Vanhemmissa ohjelmissa ja käyttöjärjestelmissä ohjelmalla voi olla useita aloituspisteitä suoritettavan toiminnon tai järjestelmän mukaan. Useimmissa nykyaikaisissa käyttöjärjestelmissä, mukaan lukien Windows® ja Unix, ohjelmat on kirjoitettu kielillä, jotka tukevat yhtä syöttöpistettä. Jopa nykyaikaisen tietojenkäsittelyn alkuaikoina BASICin kaltaiset kielet, vaikka niillä on vain yksi pääsypiste ohjelmaan, voivat tukea “pitkää hyppyä”, jolloin ohjelma saattaa “hypätä” yhdestä moduulista toisen moduulin tulopisteeseen. Tämä rohkaisi niin sanottua ”spagettikoodia”, jota oli vaikea ylläpitää tai muokata.

Pääsypiste ei ehkä edes viittaa ohjelman aloituspisteeseen, mutta se voi olla dynaamisen linkkirjasto (DLL), joka on eräänlainen miniohjelma, joka jaetaan muiden ohjelmien kesken. Näppäimistön syöttöä ohjaava DLL on yksi esimerkki. Ohjelman, moduulin tai toiminnon tyypistä riippumatta aloituspiste on yksittäinen piste, jossa käsittely on kyseisessä koodissa. Avain minkä tahansa kielen ymmärtämiseen tai minkään ohjelman muokkaamiseen ja tukemiseen on ymmärrys siitä, miten tulopiste tunnistetaan kyseisessä ohjelmassa tai käyttöjärjestelmässä.

Tulopisteiden käsite otettiin käyttöön, kun tietokoneohjelmointi jätti alkuaikojen täysin lineaariset menetelmät. Siihen aikaan tietokoneohjelma alkoi koodin ensimmäisellä rivillä ja jatkui rivi kerrallaan prosessin loppuun. Pian ohjelmointirakenteet, kuten silmukointi, ehdollinen haarautuminen, rekursio ja muut, loivat ohjelmia, jotka olivat toiminnallisesti tehokkaampia, mutta käsittely heilahti kaikkialla koodin sisällä. Näiden ohjelmien luonne tarkoittaa, että koodin rivejä tai osia saattaa olla monia ennen käsittelyä tosiasiallisesti alkavaa kohtaa. Tästä syystä tulopiste luotiin ja tunnistettiin.

C: ssä tästä tuli pääfunktio (). Riippumatta siitä, missä tämä toiminto oli koodissa, käsittely alkoi. Muilla kielillä tulopisteitä ei tunnisteta niinkään niiden sijainnin mukaan vaan siitä, missä ne eivät ole. Ohjelman alku voi sisältää osia muuttuvista ilmoituksista ja alirutiinista. Näistä alueista tai toiminnoista seuraava koodirivi on oletuksena tulopiste.