Bootstrap

Ní hionann ciall inniu do "boot" agus "bootstrap", gidh go bhfuil ceangal staireamhail eadarthu.

Nuair a bhí saoghal na ríomhaireachta óg, ní bhíodh sé de chumas in inneall córas na dubhshraithe uilig a lódáil in aon phíosa amháin. Bhíodh píosa beag de — an méid a b'fhéidir a choinneáil in firmware — a thigeadh isteach leis féin nuair a cheangluighthí an chumhacht. Bhí go leor sa phíosa seo le cur ar chumas an innill an chuid eile de chóras na dubhshraithe a léigheamh isteach (ó thaeip?) Bheirtí "bootstrapping" ar seo, agus gearradh sin síos go "booting". Gidh nach mbíonn feidhm le bootstrapping a thuilleadh nuair a chuirtear inneall a dhul, coinnigheadh an focal "boot" ar "inneall a chur a dhul".

Níl rud ar bith ró-dhiamhrach fán gheaitsidheacht seo, agus is ar éigean a thuilleann sé ainm speisialta mar "bootstrap". Níl ann ach go lódáiltí píosa amháin de chóras na dubhshraithe ón taoibh istigh ar dtús, agus go n-úsáidtí é leis an chuid eile a lódáil ón taoibh amuigh.

Ach go ginearálta, is é "bootstrapping": OIDEAS A RITH AIR FÉIN. Sé sin, sé an t-inchur téacs an oidis féin.

Caidé mar thiocfadh dá leithéid de smaoiteadh a bheith úsáideach? Bhuel, tá oidis áirid a ghlacann oideas mar shonraí, mar tá, compilers agus interpreters. Is ina measc seo a gheibh muid bootstrapping go coitcheannta, nuair a rithtear compiler nó interpreter air féin.

Mar shampla (David Watt, Programming Language Processors, 1993, lch 44):

A language processor, such as a translator or interpreter, is a program that processes programs expressed in a particular language (the source language). Suppose, now, that a language processor can be used to process itself! This process is called bootstrapping. The idea seems at first to be paradoxical, but it can be made to work. Indeed, it turns out to be extremely useful....

Is oideas é compiler a aistrigheann oideas atá cumtha i dteangaidh ríomhaireachta árd-leibhéil go bunchód an innill, le go dtig a rith. Ach caithfear an compiler a chumadh i dteangaidh eighinteacht fosta. Abair go gcumthar an compiler ins an teangaidh chéanna a láimhseálann sé. Lena úsáid, caithfear bunchód innill a dheánamh de; ach sin an job a ghní sé féin, ach nach dtig leis a dheánamh gan bunchód innill a bheith deánta de! Tá ciorcal annseo a gcaithfear briseadh isteach air.

Tá cúis mhaith le compiler a chumadh ina theangaidh féin. Má chumtar é i dteangaidh eile, ní thig leanstan á fhorbairt ach fhad is tá compiler don teangaidh eile sin ar fagháil. Ach má chumtar é ina theangaidh féin, nílthear ag brath comh mór ar rudaí nach bhfuil smacht orthu.

Sé réidhteach na faidhbe, cumas teangtha an compiler a mhéadú diaidh ar ndiaidh (incremental expansion of supported language features). Ní thuigfidh an chéad leagan den compiler ach fíor-bhuntús na teangtha, agus cumfar an chéad leagan seo i dteangaidh eighinteacht eile, a bhfuil compiler ar fagháil daoithe cheana féin. Le gach leagan ina dhiaidh sin, cuirfear leis an chumas teangtha, ach ní bhainfear úsáid ina chumadh as cumas ar bith nach rabh sa leagan roimhe sin. GHNÍTHEAR GACH LEAGAN ÚR A CHUR AR FAGHÁIL FRÍD AN LEAGAN ROIMHE SIN A RITH AIR - seo an bootstrap. Is féidir gach leagan a chaitheamh i dtraipéisí comh luath is a bíos an leagan úr compiled; agus thig gach leagan - ach amháin an leagan tosaigh - a chumadh ina theangaidh féin.

Bheir Watt samplaí eile de bootstrapping, m.sh. in iomchur (porting) compiler ó chineál amháin innill go cineál eile; nó, i ndeánamh córas compilation aon-chéime as córas dhá-chéime (P-code). I gcuid acu seo, rithtear an prógram, chan ar leagan níos úire de féin, ach air féin glan.

Téarma Gaedhilge ar "bootstrapping"? Deirfinn, fá phrógram a ndeántar bootstrapping leis, go bhfaghann sé marcaidheacht ar a mhuin féin. "Muin-mharcaidheacht", mar sin.


Ciarán Ó Duibhín
2002-02-26
Clár cinn / Home page / Page d'accueil / Hauptseite