Béaloideas na ríomhchláraitheoirí agus na n-innealtóirí (cuid 1)

Béaloideas na ríomhchláraitheoirí agus na n-innealtóirí (cuid 1)

Seo rogha scéalta ón Idirlíon faoin gcaoi a mbíonn léirithe dochreidte ag fabhtanna uaireanta. B'fhéidir go bhfuil rud éigin le rá agat freisin.

Ailléirge carr le huachtar reoite fanaile

Scéal d'innealtóirí a thuigeann nach bhfuil an soiléir i gcónaí an freagra, agus is cuma cé chomh fada agus is cosúil na fíricí, tá siad fós ar na fíricí. Fuair ​​Rannóg Pontiac de General Motors Corporation gearán:

Seo an dara huair a scríobh mé chugat, agus ní chuirim an milleán ort as gan freagra a thabhairt, mar tá sé craiceáilte. Tá traidisiún ag ár dteaghlach uachtar reoite a ithe gach oíche tar éis dinnéir. Athraíonn na cineálacha uachtar reoite gach uair, agus tar éis an dinnéir, roghnaíonn an teaghlach ar fad cén uachtar reoite atá le ceannach, agus téim chuig an siopa ina dhiaidh sin. Cheannaigh mé Pontiac nua le déanaí agus ó shin i leith tá mo thurais chun uachtar reoite a fháil ina fhadhb. Feiceann tú, gach uair a cheannaím uachtar reoite fanaile agus go dtiocfaidh mé ar ais ón siopa, ní thosóidh an carr. Má thugann mé aon uachtar reoite eile, tosaíonn an carr gan fadhb ar bith. Ba mhaith liom ceist thromchúiseach a chur, is cuma cé chomh dúr a fhuaimeann sé: “Cad é faoin Pontiac a fhágann nach dtosaíonn sé nuair a thugaim uachtar reoite fanaile, ach a thosaíonn go héasca nuair a thugaim blas eile d’uachtar reoite liom?”

Mar is féidir leat a shamhlú, bhí uachtarán na rannóige amhrasach faoin litir. Mar sin féin, ar eagla na heagla, chuir mé innealtóir chun seiceáil. Bhí ionadh air gur bhuail fear saibhir, dea-oilte a bhí ina chónaí i gceantar álainn é. D'aontaigh siad teacht le chéile díreach tar éis an dinnéir ionas go bhféadfadh an bheirt acu dul go dtí an siopa le haghaidh uachtar reoite. An tráthnóna sin fanaile a bhí ann, agus nuair a tháinig siad ar ais go dtí an carr, ní thosódh sé.

Tháinig an t-innealtóir trí thráthnóna eile. An chéad uair a bhí an uachtar reoite seacláide. Thosaigh an carr. An dara huair bhí uachtar reoite sútha talún. Thosaigh an carr. Ar an tríú tráthnóna d'iarr sé a ghlacadh fanaile. Níor thosaigh an carr.

Go réasúnach, dhiúltaigh an t-innealtóir a chreidiúint go raibh ailléirgeach ag an gcarr le huachtar reoite fanaile. Mar sin, d’aontaigh mé le húinéir an ghluaisteáin go leanfadh sé dá chuairteanna go dtí go bhfaigheadh ​​sé réiteach ar an bhfadhb. Agus ar an mbealach, thosaigh sé ag tabhairt nótaí: scríobh sé síos an fhaisnéis go léir, am den lá, cineál gásailín, am teachta agus filleadh ón siopa, etc.

Thuig an t-innealtóir go luath gur chaith úinéir an ghluaisteáin níos lú ama ag ceannach uachtar reoite fanaile. Ba é an chúis ná leagan amach na n-earraí sa siopa. Ba é uachtar reoite fanaile an ceann ba choitianta agus coinníodh é i reoiteoir ar leith ar thaobh tosaigh an tsiopa chun é a dhéanamh níos éasca é a aimsiú. Agus bhí na cineálacha eile go léir i gcúl an siopa, agus ghlac sé i bhfad níos mó ama chun an éagsúlacht agus an pá ceart a fháil.

Anois ba í an cheist don innealtóir: cén fáth nár thosaigh an carr dá mbeadh níos lú ama caite ón nóiméad a múchadh an t-inneall? Ós rud é go raibh an fhadhb in am, ní uachtar reoite fanaile, fuair an t-innealtóir an freagra go tapa: glas gáis a bhí ann. Tharla sé gach tráthnóna, ach nuair a chaith úinéir an ghluaisteáin níos mó ama ag lorg uachtar reoite, d'éirigh leis an inneall fuarú go leor agus thosaigh sé go héasca. Agus nuair a cheannaigh an fear uachtar reoite fanaile, bhí an t-inneall fós ró-the agus ní raibh am ag an glas gáis a dhíscaoileadh.

Morálta: Uaireanta bíonn fadhbanna go hiomlán craiceáilte uaireanta.

Crash Bandicoot

Tá sé pianmhar taithí a fháil air seo. Mar ríomhchláraitheoir, éiríonn leat an milleán a chur ar do chód sa chéad, sa dara háit, sa tríú háit... agus áit éigin sa deichiú háit is tú an milleán atá ar an tiomsaitheoir. Agus níos faide síos ar an liosta milleán tú cheana féin ar an trealamh.

Seo é mo scéal faoin fabht crua-earraí.

Don chluiche Crash Bandicoot, scríobh mé cód le luchtú agus sábháil ar chárta cuimhne. Maidir le forbróir cluiche smug den sórt sin, bhí sé cosúil le siúlóid sa pháirc: shíl mé go dtógfadh an obair roinnt laethanta. Mar sin féin, chríochnaigh mé debugging an cód ar feadh sé seachtaine. Ar an mbealach, réitigh mé fadhbanna eile, ach gach cúpla lá d'fhill mé ar an gcód seo ar feadh cúpla uair an chloig. Bhí sé agony.

D'fhéach an symptom mar seo: nuair a shábhálann tú athsheinm reatha an chluiche agus nuair a fhaigheann tú rochtain ar an gcárta cuimhne, éiríonn gach rud beagnach i gcónaí. Is minic a dhéanann taifeadadh gearr damáiste don chárta cuimhne. Nuair a dhéanann imreoir iarracht a shábháil, ní hamháin go mainneoidh sé a shábháil, ach freisin scriosann an léarscáil. cacamas.

Tar éis tamaill, thosaigh ár léiritheoir ag Sony, Connie Bus, ag scaoll. Níorbh fhéidir linn an cluiche a sheoladh leis an bhfabht seo, agus sé seachtaine ina dhiaidh sin níor thuig mé cad ba chúis leis an bhfadhb. Trí Connie, rinneamar teagmháil le forbróirí PS1 eile: an bhfuil aon duine tar éis teacht ar aon rud cosúil leis? Níl. Ní raibh fadhbanna ag éinne leis an gcárta cuimhne.

Nuair nach bhfuil aon smaointe agat maidir le dífhabhtú, is é an t-aon chur chuige atá fágtha ná “roinnt agus ceannasú”: bain níos mó agus níos mó de chód ón gclár lochtach go dtí go bhfuil blúire beag fágtha a chruthaíonn an fhadhb fós. Is é sin, gearrann tú amach an clár píosa ar phíosa go dtí go bhfanann an chuid ina bhfuil an fabht.

Ach is é an rud, tá sé an-deacair smután a ghearradh as cluiche físeáin. Conas é a rith má bhain tú an cód a dhéanann aithris ar dhomhantarraingt? Nó carachtair a tharraingt?

Mar sin, ní mór dúinn stubs a chur in ionad modúil iomlána a ligeann orainn rud éigin úsáideach a dhéanamh, ach i ndáiríre rud an-simplí a dhéanamh nach féidir earráidí a bheith ann. Ní mór dúinn a scríobh crutches den sórt sin le haghaidh an cluiche a bheith ag obair ar a laghad. Is próiseas mall agus pianmhar é seo.

I mbeagán focal, rinne mé é. Bhain mé níos mó agus níos mó píosaí cód go dtí gur fágadh an cód tosaigh mé a chumraíonn an córas chun an cluiche a rith, a thosaíonn na crua-earraí rindreála, etc. Ar ndóigh, ag an gcéim seo ní raibh mé in ann roghchlár sábhála agus luchtaithe a chruthú, mar bheadh ​​orm stub a chruthú don chód grafaicí go léir. Ach d’fhéadfainn ligean orm gur úsáideoir mé ag baint úsáide as an scáileán sábhála agus lódála (dofheicthe) agus iarraidh ar shábháil agus ansin scríobh chuig an gcárta cuimhne.

D’fhág sé seo píosa beag cód dom a raibh an fhadhb thuas fós aige – ach bhí sé fós ag tarlú go randamach! Is minic a d'oibrigh gach rud go breá, ach uaireanta bhí glitches ann. Bhain mé beagnach gach cód cluiche, ach bhí an fabht fós beo. Bhí sé seo iontach: ní dhearna an cód a bhí fágtha faic i ndáiríre.

Ag am éigin, timpeall a trí ar maidin is dócha, tharla smaoineamh dom. Bíonn amanna beachta cur i gcrích i gceist le hoibríochtaí léimh agus scríofa (ionchur/aschur). Nuair a bhíonn tú ag obair le tiomántán crua, cárta cuimhne nó modúl Bluetooth, déanann an cód ísealleibhéil atá freagrach as léamh agus scríobh amhlaidh de réir bíoga clog.

Le cabhair ó chlog, déantar gléas nach bhfuil ceangailte go díreach leis an bpróiseálaí a shioncronú leis an gcód atá á fhorghníomhú ar an bpróiseálaí. Cinneann an clog an ráta baud - an luas ag a tharchuirtear sonraí. Má bhíonn mearbhall ann maidir le hamanna, ansin cuirtear na crua-earraí nó na bogearraí, nó an dá cheann, ar dhaoine eatarthu freisin. Agus tá sé seo an-dona, mar is féidir na sonraí a damáiste.

Cad a tharlaíonn má chuireann rud éigin inár gcód mearbhall ar na hamanna? Sheiceáil mé gach rud a bhaineann leis seo i gcód an chláir tástála agus thug mé faoi deara gur shocraigh muid an t-amadóir in-ríomhchláraithe i PS1 go 1 kHz (1000 tic in aghaidh an tsoicind). Tá sé seo go leor; de réir réamhshocraithe, nuair a thosaíonn an consól, ritheann sé ag 100 Hz. Agus úsáideann an chuid is mó cluichí an minicíocht seo.

Shocraigh Andy, forbróir an chluiche, an t-amadóir go 1 kHz ionas go ndéanfaí gluaiseachtaí a ríomh ar bhealach níos cruinne. Is gnách le Andy dul thar bord, agus má dhéanaimid aithris ar dhomhantarraingt, déanaimid é chomh cruinn agus is féidir!

Ach cad a tharlóidh má chuir luasú an lasc ama isteach ar uainiú foriomlán an chláir ar bhealach éigin, agus mar sin ar an gclog a rialaíonn an ráta baud don chárta cuimhne?

Rinne mé trácht ar an gcód lasc ama. Níor tharla an earráid arís. Ach ní chiallaíonn sé seo go seasta againn é, mar gheall ar an teip a tharla go randamach. Cad a tharlaíonn má bhí an t-ádh orm?

Cúpla lá ina dhiaidh sin rinne mé triail arís leis an gclár tástála. Níor tháinig an fabht arís. Chuaigh mé ar ais go dtí an bunchód cluiche iomlán agus d'athraigh mé an cód sábhála agus luchtaithe ionas go n-athshocródh an t-amadóir in-ríomhchláraithe go dtí a luach bunaidh (100Hz) roimh rochtain a fháil ar an gcárta cuimhne, agus ansin athshocrú ar ais go 1kHz. Ní raibh aon tuairteanna níos mó.

Ach cén fáth ar tharla sé seo?

D'fhill mé ar an gclár tástála arís. Rinne mé iarracht patrún éigin a aimsiú nuair a tharla earráid le hamadóir 1 kHz. Faoi dheireadh thug mé faoi deara go dtarlaíonn an earráid nuair a imríonn duine éigin le rialtóir PS1. Ós rud é gur annamh a dhéanfainn é seo mé féin - cén fáth a mbeadh rialtóir ag teastáil uaim agus mé ag tástáil sábháil agus cód luchtaithe? - níor thug mé an spleáchas seo faoi deara fiú. Ach lá amháin bhí duine dár n-ealaíontóirí ag fanacht liom an tástáil a chríochnú - is dócha go raibh mé ag mallachtú ag an nóiméad sin - agus go nimhneach sé an rialtóir ina lámha. Tharla earráid. “Fan, cad é?!” Bhuel, déan arís é!"

Nuair a thuig mé go raibh an dá imeacht seo idirnasctha, bhí mé in ann an earráid a atáirgeadh go héasca: thosaigh mé ag taifeadadh chuig an gcárta cuimhne, bhog mé an rialtóir, agus scrios mé an cárta cuimhne. D'fhéach sé cosúil le fabht crua-earraí domsa.

Tháinig mé chuig Connie agus d'inis mé di faoi mo fhionnachtain. Chuir sí an t-eolas ar aghaidh chuig duine de na hinnealtóirí a dhear an PS1. “Dodhéanta,” a d’fhreagair sé, “Ní féidir gur fadhb crua-earraí é.” D'iarr mé ar Connie comhrá a shocrú dúinn.

Chuir an t-innealtóir glaoch orm agus rinneamar argóint ina chuid Béarla briste agus mo Sheapáinis (thar a bheith) briste. Mar fhocal scoir dúirt mé, “Lig dom mo chlár tástála 30 líne a sheoladh díreach nuair a bhíonn fabht ag baint leis an rialtóir a bhogadh.” D'aontaigh sé. Dúirt sé gur cur amú ama a bhí ann agus go raibh sé an-ghnóthach ag obair ar thionscadal nua, ach go n-éireodh leis toisc gur forbróir an-tábhachtach do Sony muid. Ghlan mé suas mo chlár tástála agus chuir mé chuige é.

An tráthnóna dár gcionn (bhí muid i Los Angeles agus bhí sé i dTóiceo) ghlaoigh sé orm agus ghabh sé leithscéal go dona. Fadhb crua-earraí a bhí ann.

Níl a fhios agam cad é an fabht go díreach, ach ón méid a chuala mé ag ceanncheathrú Sony, má shocraíonn tú an t-amadóir chuig luach ard go leor, chuir sé isteach ar chomhpháirteanna ar an máthairchlár i gcomharsanacht an lasc ama. Ba é ceann acu rialtóir ráta baud don chárta cuimhne, a shocraigh an ráta baud do na rialtóirí freisin. Ní innealtóir mé, mar sin b'fhéidir go ndearna mé praiseach de rud éigin.

Ach is é an bunlíne ná go raibh trasnaíocht idir comhpháirteanna ar an máthairchlár. Agus nuair a tharchuirtear sonraí go comhuaineach tríd an gcalafort rialaitheora agus an calafort cárta cuimhne le lasc ama ag rith ag 1 kHz, cailleadh giotán, cailleadh sonraí, agus rinneadh damáiste don chárta.

Ba dona

Sna 1980í, scríobh mo mheantóir Sergei bogearraí don SM-1800, clón Sóivéadach den PDP-11. Tá an microcomputer seo díreach suiteáilte ag stáisiún iarnróid in aice le Sverdlovsk, mol iompair tábhachtach san APSS. Dearadh an córas nua chun vaigíní agus trácht lasta a threorú. Ach bhí fabht annoying ann a ba chúis le tuairteanna randamach agus tuairteanna. Tharla titim i gcónaí nuair a chuaigh duine abhaile tráthnóna. Ach in ainneoin imscrúdú críochnúil an lá dár gcionn, d'oibrigh an ríomhaire i gceart i ngach tástáil láimhe agus uathoibríoch. De ghnáth léiríonn sé seo riocht cine nó fabht iomaíoch éigin eile a tharlaíonn faoi choinníollacha áirithe. Tuirseach de ghlaonna déanach san oíche, chinn Sergei a fháil go dtí an bun é, agus ar an gcéad dul síos, a thuiscint cad iad na coinníollacha sa chlós marshalling ba chúis leis an miondealú ríomhaire.

Ar dtús, bhailigh sé staitisticí ar gach titim gan mhíniú agus chruthaigh sé graf de réir dáta agus ama. Bhí an patrún soiléir. Tar éis dó a bheith ag breathnú ar feadh cúpla lá eile, thuig Sergei go bhféadfadh sé am teipeanna córais sa todhchaí a thuar go héasca.

D’fhoghlaim sé go luath nár tharla cur isteach ach amháin nuair a bhí an stáisiún ag sórtáil eallach traenach ó thuaisceart na hÚcráine agus iarthar na Rúise ar aghaidh chuig seamlas in aice láimhe. Bhí sé seo aisteach ann féin, toisc go raibh an seamlas ar fáil ag feirmeacha atá suite i bhfad níos dlúithe, sa Chasacstáin.

Phléasc stáisiún cumhachta núicléiche Chernobyl i 1986, agus mar gheall ar thitim radaighníomhach níorbh fhéidir na ceantair máguaird a áitriú. Éillíodh limistéir mhóra i dtuaisceart na hÚcráine, sa Bhealarúis agus in iarthar na Rúise. Agus é in amhras faoi leibhéil arda radaíochta sna carráistí a tháinig isteach, d’fhorbair Sergei modh chun an teoiric seo a thástáil. Cuireadh cosc ​​ar an daonra dáileogmhéadair a bheith acu, agus mar sin chláraigh Sergei é féin le roinnt fir mhíleata ag an stáisiún iarnróid. Tar éis roinnt deochanna vodca, d'éirigh leis a chur ina luí ar shaighdiúir an leibhéal radaíochta i gceann de na carráistí amhrasacha a thomhas. Iompaigh sé amach go raibh an leibhéal arís agus arís eile níos airde ná na gnáthluachanna.

Ní hamháin gur scaoil an t-eallach go leor radaíochta, bhí a leibhéal chomh hard sin gur cailleadh giotán randamach i gcuimhne an SM-1800, a bhí suite i bhfoirgneamh in aice leis an stáisiún.

Bhí ganntanas bia sa USSR, agus chinn na húdaráis feoil Chernobyl a mheascadh le feoil ó réigiúin eile sa tír. D'fhág sin gur féidir an leibhéal iomlán radaighníomhaíochta a laghdú gan acmhainní luachmhara a chailliúint. Tar éis dó a fhoghlaim faoi seo, líon Sergei láithreach doiciméid le haghaidh eisimirce. Agus stop na tuairteanna ríomhaire leo féin nuair a tháinig laghdú ar an leibhéal radaíochta le himeacht ama.

Trí na píopaí

Ar uairibh, chruthaigh Movietech Solutions bogearraí do phictiúrlanna, a dearadh le haghaidh cuntasaíochta, díolachán ticéad agus bainistíocht ghinearálta. Bhí an-tóir ar an leagan DOS den aip shuaitheanta i measc slabhraí amharclainne scannáin beaga agus meánmhéide i Meiriceá Thuaidh. Mar sin ní haon ionadh é, nuair a fógraíodh leagan Windows 95, a bhí comhtháite leis na scáileáin tadhaill is déanaí agus na bothanna féinseirbhíse, agus a bhí feistithe le gach cineál uirlisí tuairiscithe, go tapa bhí tóir air freisin. Is minic a chuaigh an nuashonrú gan fadhbanna. Chuir an fhoireann TF áitiúil trealamh nua isteach, d'aistrigh siad sonraí, agus lean gnó. Ach amháin nuair nach raibh sé seo caite. Nuair a tharla sé seo, chuirfeadh an chuideachta amach James, ar a dtugtar "An Glantóir."

Cé go dtugann an leasainm le tuiscint go bhfuil cineál neafarach ann, níl sa ghlantóir ach meascán de theagascóir, suiteálaí agus jack-of-all-trades. Chaith James cúpla lá ar shuíomh an chliaint ag cur na gcomhpháirteanna go léir le chéile, agus ansin chaithfeadh sé cúpla lá eile ag múineadh don fhoireann conas an córas nua a úsáid, ag réiteach aon fhadhbanna crua-earraí a d’eascair agus ag cuidiú go bunúsach leis na bogearraí ina n-óige.

Mar sin, ní haon ionadh é gur tháinig Séamas chuig an oifig ar maidin le linn na n-amanna hectic seo, agus sula bhféadfadh sé a dheasc a bhaint amach, chuir an bainisteoir beannú dó, agus é líonta le caiféin thar mar is gnách.

“Tá eagla orm go gcaithfidh tú dul go Annapolis, Albain Nua, chomh luath agus is féidir.” Chuaigh a gcóras iomlán síos, agus tar éis oíche oibre lena n-innealtóirí, ní féidir linn a dhéanamh amach cad a tharla. Tá an chuma ar an scéal gur theip ar an líonra ar an bhfreastalaí. Ach amháin tar éis an córas a bheith ar siúl ar feadh roinnt nóiméad.

— Nár fhill siad ar an seanchóras? - D'fhreagair James go hiomlán dáiríre, cé gur leathnaigh sé a shúile go meabhrach agus iontas air.

— Go díreach: "d'athraigh a speisialtóir TF tosaíochtaí" agus chinn siad imeacht lena seanfhreastalaí. James, shuiteáil siad an córas ag sé shuíomh agus díreach tar éis íoc as tacaíocht den scoth, agus tá a ngnó á reáchtáil anois mar a bhí sé sna 1950idí.

Dhírigh James suas beagán.

- Sin ábhar eile. Ceart go leor, a ligean ar tús a chur leis.

Nuair a shroich sé Annapolis, ba é an chéad rud a rinne sé ná teacht ar an gcéad amharclann an chustaiméara a raibh fadhb aige. Ar an léarscáil a tógadh ag an aerfort, bhí cuma mhaith ar gach rud, ach bhí cuma amhrasach ar an gceantar thart ar an seoladh inmhianaithe. Ní ghetto, ach i gcuimhne ar an scannán noir. Agus Séamas páirceáilte ag an gcosán i lár an bhaile, tháinig striapach chuige. Mar gheall ar mhéid Annapolis, is dócha gurb é an t-aon cheann amháin sa chathair ar fad. Thug a cuma láithreach chun cuimhne an carachtar cáiliúil a thairg gnéas ar airgead ar an scáileán mór. Ní hea, ní faoi Julia Roberts, ach faoi Jon Voight [tagairt don scannán "Midnight Cowboy" - thart. lána].

Tar éis dó an striapach a chur ar a bealach, chuaigh Séamas go dtí an phictiúrlann. D'éirigh an ceantar máguaird níos fearr, ach thug sé le tuiscint go raibh sé imithe i léig. Ní hé go raibh Séamas róbhuartha. Tá sé in áiteanna trua roimhe seo. Agus ba é seo Ceanada, áit a bhfuil fiú muggers dea-bhéasach go leor chun "go raibh maith agat" a rá tar éis duit do sparán a ghlacadh.

Bhí bealach isteach taoibh na pictiúrlainne i gcarn cúng. Shiúil Séamas go dtí an doras agus bhuail sé. Go gairid creaked sé agus d'oscail beagán.

-An glantóir thú? - tháinig guth hoarse ón taobh istigh.

- Sea, is mise atá ann... tháinig mé chun gach rud a shocrú.

Shiúil James isteach sa stocaireacht phictiúrlann. Is cosúil nach raibh aon rogha eile acu, thosaigh an fhoireann ag tabhairt ticéid pháipéir do chuairteoirí. Rinne sé seo deacair tuairisciú airgeadais, gan trácht ar shonraí níos suimiúla. Ach bheannaigh an fhoireann le James le faoiseamh agus thug siad go dtí an seomra freastalaí é láithreach.

Ar an gcéad amharc, bhí gach rud go breá. Rinne James logáil isteach ar an bhfreastalaí agus sheiceáil sé na gnáth-áiteanna amhrasacha. Fadhb ar bith. Mar sin féin, as rabhadh go leor, dhún James an freastalaí, athsholáthar an cárta líonra, agus rolladh siar an córas. Thosaigh sí láithreach ag obair go hiomlán. Thosaigh an fhoireann ag díol ticéid arís.

Chuir Séamas glaoch ar Mharc agus chuir sé an scéal in iúl dó. Níl sé deacair a shamhlú go mb’fhéidir go mbeadh James ag iarraidh cloí leis agus féachaint an dtarlóidh aon rud gan choinne. Chuaigh sé síos an staighre agus thosaigh sé ag fiafraí de na fostaithe cad a tharla. Is léir go bhfuil an córas stoptha ag obair. Chas siad é agus ar aghaidh, d'oibrigh gach rud. Ach tar éis 10 nóiméad thit an córas as.

Díreach ag an nóiméad seo a tharla rud éigin cosúil leis. Go tobann, thosaigh an córas ticéadaithe ag caitheamh earráidí. Chlaon an fhoireann agus rug siad ar na ticéid páipéir, agus rinne James deifir go dtí an seomra freastalaí. Bhí cuma mhaith ar gach rud leis an bhfreastalaí.

Ansin chuaigh duine de na fostaithe isteach.

— Tá an córas ag obair arís.

Bhí mearbhall ar Shéamus mar ní raibh faic déanta aige. Níos cruinne, ní rud ar bith a chuirfeadh ar an gcóras oibriú. Logáil sé amach, phioc sé suas a ghuthán, agus ghlaoigh líne tacaíochta a chuideachta. Go gairid tháinig an fostaí céanna isteach sa seomra freastalaí.

- Tá an córas síos.

Bhreathnaigh Séamas ar an bhfreastalaí. Patrún suimiúil agus eolach de chruthanna ildaite ag rince ar an scáileán - píopaí a scríobh agus a idirnascadh go caotically. Tá an spárálaíscáileáin seo feicthe againn go léir ag pointe éigin. Bhí sé rindreáilte go hálainn agus go litriúil hypnotizing.


Bhrúigh Séamas cnaipe agus d’imigh an patrún as. Rinne sé deifir go dtí oifig na dticéad agus ar an mbealach bhuail sé le fostaí a d'fhill air.

— Tá an córas ag obair arís.

Más féidir leat pailme meabhrach a dhéanamh, sin é go díreach a rinne Séamas. Spárálaíscáileáin. Úsáideann sé OpenGL. Agus mar sin, le linn oibriú, ídíonn sé acmhainní uile an phróiseálaí freastalaí. Mar thoradh air sin, críochnaíonn gach glao chuig an bhfreastalaí le teorainn ama.

D'fhill James ar an seomra freastalaí, logáil isteach, agus chuir sé scáileán bán in ionad an spárálaíscáileáin leis na píopaí áille. Is é sin, in ionad spárálaíscáileáin a ídíonn 100% d'acmhainní próiseálaí, shuiteáil mé ceann eile nach n-ídíonn acmhainní. Ansin d'fhan mé 10 nóiméad chun mo thuairim a sheiceáil.

Nuair a shroich James an chéad phictiúrlann eile, bhí sé ag smaoineamh ar conas a mhínigh sé dá bhainisteoir go raibh sé díreach tar éis 800 km a eitilt chun an spárálaíscáileáin a mhúchadh.

Crash le linn céim áirithe den ghealach

Fíorscéal. Lá amháin tháinig fabht bogearraí chun cinn a bhí ag brath ar chéim na gealaí. Bhí gnáthamh beag a úsáidtear go coitianta i gcláir MIT éagsúla chun an comhfhogasú go dtí an chéim fíor na Gealach a ríomh. Chuir GLS an gnáthamh seo isteach i gclár LISP a d’aschur, agus comhad á scríobh, líne le stampa ama beagnach 80 carachtar ar fad. Ba rí-annamh go mbeadh an chéad líne de theachtaireacht rófhada sa deireadh agus go dtiocfadh an chéad líne eile. Agus nuair a bheidh an clár a léamh níos déanaí an comhad, cursed sé. Bhí fad na chéad líne ag brath ar an dáta agus an t-am cruinn, chomh maith le fad na sonraíochta céime ag an am a phriontáiltear an stampa ama. Is é sin, bhí an fabht ag brath go litriúil ar chéim na gealaí!

An chéad eagrán páipéir Comhad béarlagair (Steele-1983) bhí sampla de líne den sórt sin ba chúis leis an bhfabht a ndearnadh cur síos air, ach “socraigh” an clóchuradóir é. Tá sé seo curtha síos ó shin mar "fabht chéim gealaí".

Mar sin féin, bí cúramach le boinn tuisceana. Cúpla bliain ó shin, tháinig innealtóirí ó CERN (Ionad Eorpach um Thaighde Núicléach) ar earráidí i dturgnaimh a rinneadh ag an Imbhuailteoir Mór-Leictreon-Positron. Ós rud é go ndéanann ríomhairí próiseáil ghníomhach ar an méid ollmhór sonraí a ghineann an gléas seo sula dtaispeánann siad an toradh d'eolaithe, dúirt go leor go raibh na bogearraí íogair ar bhealach éigin do chéim na gealaí. Fuair ​​roinnt innealtóirí éadóchasach bun na fírinne. Tharla an earráid mar gheall ar athrú beag ar gheoiméadracht an fháinne 27 km ar fad mar gheall ar dhífhoirmiú an Domhain le linn imeacht na Gealaí! Chuaigh an scéal seo isteach i mbéaloideas na fisice mar “Díoltas Newton ar Fhisic Cháithníní” agus sampla den nasc idir na dlíthe is simplí agus is sine san fhisic agus na coincheapa eolaíocha is airde.

Stopann an traein an leithreas a shruthú

Ba é an fabht crua-earraí is fearr ar chuala mé trácht air riamh ná ar thraein ardluais sa Fhrainc. Mar thoradh ar an fabht bhí coscánaithe éigeandála ar an traein, ach amháin má bhí paisinéirí ar bord. I ngach cás den sórt sin, tógadh an traein as seirbhís, seiceáilte, ach níor aimsíodh aon rud. Ansin cuireadh ar ais go dtí an líne é, agus bhuail sé láithreach stop.

Le linn ceann de na seiceálacha, chuaigh innealtóir a bhí ag taisteal ar an traein go dtí an leithreas. Nigh sé ar shiúl go luath, borradh! Stad éigeandála.

Chuaigh an t-innealtóir i dteagmháil leis an tiománaí agus d’fhiafraigh sé:

— Cad a bhí tú a dhéanamh díreach roimh coscánaithe?

- Bhuel, mhoilligh mé síos ar an sliocht ...

Bhí sé seo aisteach, mar le linn gnáthoibriú slows an traein síos ar shliocht an iliomad uaireanta. Chuaigh an traein ar aghaidh, agus ar an gcéad shliocht eile thug an tiománaí foláireamh:

- Tá mé ag dul go mall síos.

Níor tharla tada.

— Cad a rinne tú le linn an choscánaithe deiridh? - a d'fhiafraigh an tiománaí.

- Bhuel... bhí mé sa leithreas...

- Bhuel, ansin téigh go dtí an leithreas agus déan cad a rinne tú nuair a théann muid síos arís!

Chuaigh an t-innealtóir go dtí an leithreas, agus nuair a thug an tiománaí foláireamh: “Tá mé ag moilliú,” shruth sé an t-uisce. Ar ndóigh, stop an traein láithreach.

Anois d’fhéadfaidís an fhadhb a atáirgeadh agus ba ghá an chúis a aimsiú.

Tar éis dhá nóiméad, thug siad faoi deara go raibh cábla cianrialaithe coscán an innill (bhí inneall amháin ag an traein ag gach ceann) dícheangailte ó bhalla an chomh-aireachta leictreach agus go raibh sé ina luí ar an sealaíochta a rialaíonn an solenoid breiseán leithris... Nuair a bhí an sealaíocht iompaithe ar, chruthaigh sé trasnaíocht sa chábla coscáin, agus ní raibh ach coscánaithe éigeandála san áireamh i gcosaint an chórais i gcoinne teipeanna.

An geata a bhí fuath FORTRAN

Cúpla mí ó shin thugamar faoi deara go raibh na naisc líonra ar an mórthír [a bhí sé seo i Haváí] ag éirí an-, an-mhall. D'fhéadfadh sé seo go deireanach ar feadh 10-15 nóiméad agus ansin go tobann tarlú arís. Tar éis roinnt ama, mo chomhghleacaí gearán liom go bhfuil na naisc líonra ar an mórthír i gcoitinne ní Obraíonn sé. Bhí roinnt cód FORTRAN aige ar ghá é a chóipeáil chuig meaisín ar an mórthír, ach níorbh fhéidir é mar "níor fhan an líonra fada go leor chun an uaslódáil FTP a chríochnú."

Sea, tharla gur tharla teipeanna líonra nuair a rinne comhghleacaí iarracht comhad le cód foinse a FTP i FORTRAN chuig meaisín ar an mórthír. Rinneamar iarracht an comhad a chartlannú: ansin rinneadh é a chóipeáil go réidh (ach ní raibh díphacáileoir ag an meaisín sprice, mar sin níor réitíodh an fhadhb). Ar deireadh rinneamar "scoilt" an cód FORTRAN ina phíosaí an-bheaga agus sheolamar ceann ag an am iad. Cóipeáladh an chuid is mó de na blúirí gan fadhbanna, ach níor chuaigh cúpla píosa, nó a rith ina dhiaidh sin go leor iarrachtaí.

Nuair a scrúdaíomar na sleachta fadhbacha, fuaireamar amach go raibh rud éigin i gcoiteann acu: chuimsigh siad go léir bloic tráchta a thosaigh agus a chríochnaigh le línte comhdhéanta de chaipiteal C (mar b’fhearr le comhghleacaí trácht a dhéanamh in FORTRAN). Chuireamar ríomhphost chuig saineolaithe líonra ar an mórthír agus d’iarr muid cabhair orthu. Ar ndóigh, bhí siad ag iarraidh samplaí dár gcomhaid a fheiceáil nach bhféadfaí a aistriú trí FTP... ach níor shroich ár litreacha iad. Ar deireadh tháinig muid suas le simplí déan cur síoscén chuma atá ar chomhaid neamh-aistrithe. D'oibrigh sé :) [Dare liom sampla de cheann de na tuairimí fadhbacha FORTRAN a chur anseo? Is dócha nach fiú é!]

Sa deireadh d'éirigh linn é a dhéanamh amach. Suiteáladh geata nua le déanaí idir ár gcuid den champas agus líonra na mórthíre. Bhí deacracht mhór aige paicéid a tharchur ina raibh píosaí de chás uachtair C! Ní fhéadfadh ach roinnt de na paicéid seo acmhainní an gheata a úsáid agus cosc ​​a chur ar an gcuid is mó de na paicéid eile dul tríd. Rinneamar gearán le monaróir an gheata... agus d'fhreagair siad: “Ó, tá, tá fabht C arís agus arís eile romhat! Tá a fhios againn cheana féin faoi." Réitíomar an fhadhb sa deireadh trí gheata nua a cheannach ó mhonaróir eile (mar chosaint ar an gcéad cheann acu sin, d’fhéadfadh sé a bheith ina bhuntáiste do roinnt daoine nach bhféadfaí cláir FORTRAN a aistriú!).

Amanna crua

Cúpla bliain ó shin, agus mé ag obair ar chóras ETL a chruthú i Perl chun costais trialacha cliniciúla chéim 40 a laghdú, bhí orm thart ar 000 dáta a phróiseáil. Níor éirigh le beirt acu sa tástáil. Níor chuir sé seo isteach go mór orm mar gur tógadh na dátaí seo ó shonraí a chuir an cliant ar fáil agus ba ábhar iontais é go minic, déarfaimid. Ach nuair a sheiceáil mé na sonraí bunaidh, d'éirigh sé amach gurb iad na dátaí seo ná 1 Eanáir, 2011 agus 1 Eanáir, 2007. Shíl mé go raibh an fabht sa chlár a bhí díreach scríofa agam, ach d'éirigh sé amach go raibh sé 30 bliain cheana féin. Sean. Seans go bhfuil sé seo ina rúndiamhair dóibh siúd nach bhfuil cur amach acu ar éiceachóras na mbogearraí. Mar gheall ar chinneadh fada cuideachta eile airgead a dhéanamh, d'íoc mo chliant liom fabht a shocrú a thug cuideachta amháin isteach trí thimpiste agus an ceann eile de réir a chéile. Chun go dtuigeann tú cad atá á rá agam, ní mór dom labhairt faoin gcuideachta a chuir leis an ngné a tháinig chun bheith ina fhabht, chomh maith le roinnt imeachtaí suimiúla eile a chuir leis an bhfabht mistéireach a shocraigh mé.

Sna seanlaethanta maithe, uaireanta athshocródh ríomhairí Apple a ndáta go dtí an 1 Eanáir, 1904 go spontáineach. Bhí an chúis simplí: d’úsáid sé “clog córais” faoi chumhacht ceallraí chun súil a choinneáil ar an dáta agus ar an am. Cad a tharla nuair a fuair an ceallraí bás? Thosaigh ríomhairí ag rianú an dáta faoi líon na soicind ó thús aga. Faoin am a bhí i gceist againn an dáta tagartha bunaidh, agus do Macintoshes ba é 1 Eanáir, 1904. Agus tar éis don cheallraí bás a fháil, athshocraíodh an dáta reatha chuig an gceann sonraithe. Ach cén fáth ar tharla sé seo?

Roimhe seo, d'úsáid Apple 32 giotán chun líon na soicind a stóráil ón dáta bunaidh. Is féidir le giotán amháin ceann amháin de dhá luach a stóráil - 1 nó 0. Is féidir le dhá ghiotán ceann amháin de cheithre luach a stóráil: 00, 01, 10, 11. Trí ghiotán - luach amháin as ocht: 000, 001, 010, 011, 100 , 101, 110, 111, etc. Agus d'fhéadfadh 32 ceann de 232 luach a stóráil, is é sin, 4 soicind. Maidir le dátaí Apple, b'ionann é seo agus thart ar 294 bliain, mar sin ní féidir le Mac níos sine dátaí tar éis 967 a láimhseáil. Agus má fhaigheann ceallraí an chórais bás, athshocraítear an dáta go 296 soicind ó thús an aga, agus caithfidh tú an dáta a shocrú de láimh gach uair a chasann tú ar an ríomhaire (nó go dtí go gceannaíonn tú ceallraí nua).

Mar sin féin, chiallaigh cinneadh Apple dátaí a stóráil mar soicind ón aga nach raibh muid in ann dátaí a láimhseáil roimh an ré, rud a raibh iarmhairtí forleathana aige, mar a fheicfimid. Thug Apple isteach gné, ní fabht. I measc rudaí eile, chiallaigh sé seo go raibh córas oibriúcháin Macintosh díolmhaithe ó “fabht na mílaoise” (rud nach bhféadfaí a rá faoi go leor feidhmchlár Mac a raibh a gcórais dáta féin acu chun srianta a shárú).

Lean ar aghaidh. D'úsáideamar Lotus 1-2-3, "iarratas killer" IBM a chabhraigh leis an réabhlóid PC a sheoladh, cé go raibh VisiCalc ag ríomhairí Apple, rud a d'éirigh leis an ríomhaire pearsanta. Ar mhaithe le cothroime, mura mbeadh 1-2-3 le feiceáil, is ar éigean a bheadh ​​ríomhairí pearsanta tar éis éirí as, agus d’fhéadfadh go mbeadh forbairt an-difriúil ar stair na ríomhairí pearsanta. Chaith Lotus 1-2-3 go mícheart le 1900 mar bhliain bhisigh. Nuair a d'eisigh Microsoft a chéad scarbhileog, Multiplan, ghlac sé sciar beag den mhargadh. Agus nuair a sheol siad an tionscadal Excel, chinn siad ní hamháin an scéim ainmniúcháin sraitheanna agus colúin ó Lotus 1-2-3 a chóipeáil, ach freisin comhoiriúnacht fabhtanna a chinntiú trí 1900 a chóireáil mar bhliain bhisigh d'aon ghnó. Tá an fhadhb seo fós ann inniu. Is é sin, i 1-2-3 ba fabht é seo, ach in Excel bhí sé ina chinneadh comhfhiosach a chinntigh go bhféadfadh gach úsáideoir 1-2-3 a gcuid táblaí a allmhairiú isteach i Excel gan na sonraí a athrú, fiú má bhí sé mícheart.

Ach bhí fadhb eile ann. Ar dtús, d'eisigh Microsoft Excel don Macintosh, nár aithin dátaí roimh 1 Eanáir, 1904. Agus in Excel, measadh go raibh 1 Eanáir, 1900 mar thús na ré. Mar sin, rinne na forbróirí athrú ionas go n-aithin a gclár an cineál ré agus sonraí a stóráil laistigh di féin de réir an ré atá ag teastáil. Scríobh Microsoft fiú alt míniúcháin faoi seo. Agus ba chúis leis an gcinneadh seo mo fhabht.

Fuair ​​​​mo chóras ETL scarbhileoga Excel ó chustaiméirí a cruthaíodh ar Windows, ach a d'fhéadfaí a chruthú ar Mac freisin. Mar sin, b’fhéidir gurb é an 1 Eanáir, 1900, nó an 1 Eanáir, 1904 tús na ré sa tábla. Conas a fháil amach? Taispeánann formáid comhaid Excel an fhaisnéis riachtanach, ach níor léirigh an parsálaí a d'úsáid mé é (anois a dhéanann sé), agus ghlac sé leis go bhfuil a fhios agat an t-aga le haghaidh tábla ar leith. Is dócha go bhféadfainn níos mó ama a chaitheamh ag tuiscint formáid dhénártha Excel agus ag seoladh paiste chuig an údar parsálaí, ach bhí go leor eile le déanamh agam don chliant, agus mar sin scríobh mé heorastúil go tapa chun an t-aois a chinneadh. Bhí sí simplí.

In Excel, is féidir an dáta 5 Iúil, 1998 a léiriú san fhormáid "07-05-98" (córas Meiriceánach gan úsáid), "5 Iúil, 98", "5 Iúil, 1998", "5-Iúil-98" nó formáid eile gan úsáid (go híorónta, ba é ISO 8601 ceann de na formáidí nár thairg mo leagan de Excel). Mar sin féin, laistigh den tábla, stóráladh an dáta neamhfhormáidithe mar "35981" don aga-1900 nó "34519" don ré-1904 (is ionann na huimhreacha agus líon na laethanta ón ré). Níor úsáid mé ach parsálaí simplí chun an bhliain a bhaint as an dáta formáidithe, agus ansin úsáid mé an parsálaí Excel chun an bhliain a bhaint as an dáta neamhfhormáidithe. Má bhí difríocht idir an dá luach ag 4 bliana, ansin bhí a fhios agam go raibh mé ag baint úsáide as córas le epoch-1904.

Cén fáth nár úsáid mé ach dátaí formáidithe? Toisc gur féidir 5 Iúil, 1998 a fhormáidiú mar "Iúil, 98" le lá na míosa caillte. Fuair ​​​​muid táblaí ón oiread sin cuideachtaí a chruthaigh iad ar an oiread sin bealaí éagsúla go raibh sé suas fúinne (sa chás seo, mise) na dátaí a dhéanamh amach. Ina theannta sin, má fhaigheann Excel ceart é, ba cheart dúinn!

Ag an am céanna tháinig mé ar 39082. Lig dom a mheabhrú duit gur mheas Lotus 1-2-3 1900 mar bhliain léim, agus rinneadh é seo arís go dílis in Excel. Agus ó chuir sé seo lá amháin leis an mbliain 1900, d'fhéadfadh go leor feidhmeanna ríomh dáta a bheith mícheart don lá sin féin. Is é sin, d'fhéadfadh 39082 a bheith 1 Eanáir, 2011 (ar Macs) nó 31 Nollaig, 2006 (ar Windows). Má bhain mo “pharsálaí bliana” an bhliain 2011 as an luach formáidithe, tá gach rud ceart go leor. Ach ós rud é nach bhfuil a fhios ag parsálaí Excel cén t-aga atá á n-úsáid, tá sé réamhshocraithe go dtí epoch-1900, ag filleadh ar an mbliain 2006. Chonaic m’iarratas go raibh an difríocht 5 bliana, mheas sé gur earráid é, logáil mé é, agus thug sé luach neamhfhormáidithe ar ais.

Chun dul timpeall air seo, scríobh mé é seo (pseudocode):

diff = formatted_year - parsed_year
if 0 == diff
    assume 1900 date system
if 4 == diff
    assume 1904 date system
if 5 == diff and month is December and day is 31
    assume 1904 date system

Agus ansin rinneadh na 40 dáta go léir a pharsáil i gceart.

I lár poist cló mór

Go luath sna 1980idí, d'oibrigh m'athair ag Storage Technology, rannán atá as feidhm anois a chruthaigh tiomántáin téipe agus córais aeroibrithe le haghaidh beathú téip ardluais.

D'athdhear siad na tiomántáin ionas go bhféadfadh siad tiomántán lárnach “A” amháin a bheith ceangailte le seacht dtiomántán “B”, agus d'fhéadfadh an OS beag RAM a rialaíonn an tiomántán “A” oibríochtaí léamh agus scríobh a tharmligean chuig na tiomántáin “B” go léir.

Gach uair a cuireadh tús le tiomántán “A”, b'éigean diosca flapach a chur isteach sa tiomántán forimeallach ceangailte le “A” chun an córas oibriúcháin a lódáil isteach ina chuimhne. Bhí sé thar a bheith primitive: chuir microcontroller 8-giotán cumhacht ríomhaireachta ar fáil.

Ba é an spriocghrúpa do threalamh den sórt sin ná cuideachtaí a raibh stórais sonraí an-mhóra acu - bainc, slabhraí miondíola, etc. - a raibh gá leo go leor lipéad seoltaí nó ráitis bhainc a phriontáil.

Bhí fadhb ag cliant amháin. I lár jab priontála, d’fhéadfadh tiomántán ar leith “A” éirí as a bheith ag obair, rud a chuirfeadh stop leis an jab ar fad. Chun oibriú an tiomántáin a athbhunú, bhí ar an bhfoireann gach rud a atosú. Agus má tharla sé seo i lár tasc sé uair an chloig, ansin cailleadh cuid mhór ama ríomhaire costasach agus cuireadh isteach ar sceideal na hoibríochta ar fad.

Cuireadh teicneoirí ó Storage Technologies. Ach in ainneoin a n-iarrachtaí is fearr, ní raibh siad in ann an fabht a atáirgeadh faoi choinníollacha tástála: ba chosúil go dtarlódh sé i lár na bpost priontála mór. Ní raibh an fhadhb na crua-earraí, ionad siad gach rud a d'fhéadfadh siad: RAM, microcontroller, tiomáint flapach, gach cuid shamhlú den tiomántán téip - an fhadhb fós ann.

Ansin ghlaoigh na teicneoirí ar an gceanncheathrú agus ghlaoigh siad an Saineolaí.

Rug an saineolaí ar chathaoir agus cupán caife, shuigh sé sa seomra ríomhaireachta - sna laethanta sin bhí seomraí tiomnaithe do ríomhairí - agus d'fhéach sé agus an fhoireann ag ciúáil jab mórchló. Bhí an saineolaí ag fanacht le teip a tharla - agus rinne sé. Bhreathnaigh gach duine ar an Saineolaí, ach ní raibh aon smaoineamh aige cén fáth ar tharla sé seo. Mar sin d’ordaigh sé an post a scuaine arís, agus d’fhill an fhoireann agus na teicneoirí go léir ar an obair.

Shuigh an saineolaí síos sa chathaoir arís agus thosaigh sé ag fanacht le teip. Timpeall sé huaire an chloig a rith agus tharla an teip. Ní raibh aon smaointe ag an Saineolaí arís, ach amháin gur tharla gach rud i seomra a bhí lán de dhaoine. D'ordaigh sé an misean a atosú, suí siar síos agus fanacht.

De réir an tríú teip, thug an Saineolaí rud éigin faoi deara. Tharla an teip nuair a d'athraigh pearsanra téipeanna i dtiomántán eachtrach. Thairis sin, tharla an teip chomh luath agus a shiúil duine de na fostaithe trí tíl áirithe ar an urlár.

Bhí an t-urlár ardaithe déanta as tíleanna alúmanaim a leagadh ar airde 6 go 8 orlach. Bhí go leor sreanga ó ríomhairí ag rith faoin urlár ardaithe chun cosc ​​a chur ar aon duine céim ar chábla tábhachtach de thaisme. Leagadh na tíleanna go han-docht chun smionagar a chosc ó dhul faoin urlár ardaithe.

Thuig an saineolaí go raibh ceann de na tíleanna dífhoirmithe. Nuair a sheas fostaí ar a chúinne, chuimil imill na tíl i gcoinne na tíleanna in aice láimhe. Chuimil na codanna plaisteacha a cheangail na tíleanna leo freisin, rud a d'eascair microdischarges statacha a chruthaigh trasnaíocht minicíochta raidió.

Sa lá atá inniu ann, tá RAM i bhfad níos fearr a chosaint ó chur isteach minicíochta raidió. Ach ní mar sin a bhí an scéal sna blianta sin. Thuig an saineolaí gur chuir an cur isteach seo isteach ar an gcuimhne, agus ar oibriú an chórais oibriúcháin leis. Ghlaoigh sé ar an tseirbhís tacaíochta, d'ordaigh sé tíleanna nua, shuiteáil iad é féin, agus d'imigh an fhadhb.

Tá sé lán mara!

Tharla an scéal i seomra freastalaí, ar an gceathrú nó an cúigiú hurlár d’oifig i Portsmouth (sílim), i gceantar na nduganna.

Lá amháin thuairt an fhreastalaí Unix leis an mbunachar sonraí is mó. Atosaigh siad é, ach go sona sásta lean sé ag titim arís agus arís eile. Shocraigh muid glaoch a chur ar dhuine ón tseirbhís tacaíochta.

An fear tacaíochta... Ceapaim go raibh Mark an t-ainm a bhí air, ach is cuma sin... ní dóigh liom go bhfuil aithne agam air. Is cuma, i ndáiríre. Cloímis le Mark, ceart go leor? Go hiontach.

Mar sin, cúpla uair an chloig ina dhiaidh sin tháinig Mark (níl sé i bhfad ó Leeds go Portsmouth, tá a fhios agat), iompú ar an bhfreastalaí agus d'oibrigh gach rud gan fadhbanna. Tacaíocht tipiciúil diabhal, éiríonn an cliant an-trína chéile faoi seo. Féachann Mark trí na comhaid logála agus ní fhaigheann sé rud ar bith ina choinne. Mar sin téann Mark ar ais ar an traein (nó cibé modh iompair ar tháinig sé air, b’fhéidir gur bó bhacach a bhí inti... mar sin féin, is cuma, ceart go leor?) agus téann sé ar ais go Leeds, tar éis dó a bheith amú an lae.

An tráthnóna céanna sin tuairteanna an fhreastalaí arís. Tá an scéal mar an gcéanna ... ní ardaíonn an freastalaí. Déanann Mark iarracht cabhrú go cianda, ach ní féidir leis an gcliant an freastalaí a thosú.

Traein eile, bus, meringue líomóide nó cacamas éigin eile, agus Mark ar ais i Portsmouth. Féach, buataisí an fhreastalaí gan aon fhadhbanna! Míorúilt. Caitheann Mark roinnt uaireanta an chloig ag seiceáil go bhfuil gach rud in ord leis an gcóras oibriúcháin nó leis na bogearraí agus téann sé chuig Leeds.

Timpeall lár an lae tuairteanna an fhreastalaí (tóg go héasca é!). An uair seo is cosúil go bhfuil sé réasúnta na daoine tacaíochta crua-earraí a thabhairt isteach chun an freastalaí a athsholáthar. Ach níl, tar éis thart ar 10 uair an chloig titeann sé freisin.

Tháinig an scéal arís agus arís eile ar feadh roinnt laethanta. Oibríonn an freastalaí, tuairteanna tar éis thart ar 10 n-uaire an chloig agus ní thosaíonn le haghaidh an 2 uair an chloig eile. Sheiceáil siad fuarú, sceitheadh ​​​​cuimhne, sheiceáil siad gach rud, ach fuair siad rud ar bith. Ansin stop na tuairteanna.

D'imigh an seachtain go suairc... bhí gach éinne sásta. Sásta go dtí go dtosóidh sé ar fad arís. Tá an pictiúr mar an gcéanna. 10 n-uaire oibre, 2-3 uair an chloig d'am neamhfhónaimh...

Agus ansin dúirt duine éigin (sílim go ndúirt siad liom nach raibh baint ar bith ag an duine seo le TF):

"Tá sé an taoide!"

Bhí stares bán ar an sceimhle, agus is dócha go raibh leisce ar lámh duine éigin faoin gcnaipe glao slándála.

“Stopann sé ag obair leis an taoide.”

Is cosúil gur coincheap go hiomlán eachtrach é seo d’oibrithe tacaíochta TF, nach dócha go léifidh siad Bliainiris na Taoide agus iad ag suí síos le haghaidh caife. Mhínigh siad nach bhféadfadh sé seo a bheith bainteach leis an taoide ar bhealach ar bith, toisc go raibh an freastalaí ag obair ar feadh seachtaine gan teipeanna.

“An tseachtain seo caite bhí an taoide íseal, ach an tseachtain seo tá sé ard.”

Roinnt téarmaíochta dóibh siúd nach bhfuil ceadúnas luamh acu. Braitheann taoidí ar an timthriall gealaí. Agus an Domhan ag rothlú, cruthaíonn tarraingt imtharraingteach na Gréine agus na Gealaí tonn taoide gach 12,5 uair an chloig. Ag tús an timthriall 12,5 uair an chloig tá taoide ard, i lár an timthriall tá trá, agus ag an deireadh tá taoide ard arís. Ach de réir mar a athraíonn fithis na gealaí, is amhlaidh a athraíonn an difríocht idir an lán mara agus lán mara. Nuair a bhíonn an Ghealach idir an Ghrian agus an Domhan nó ar an taobh eile den Domhan (gealach lán nó gealach ar bith), faigheann muid taoidí Syzygyn - na taoidí arda is airde agus na taoidí ísle is ísle. Ag leath na gealaí faigheann muid taoidí ceathrúna - na taoidí is ísle. Laghdaíonn an difríocht idir an dá dhálaí foircneacha go mór. Maireann an timthriall gealaí 28 lá: syzygian - quadrature - syzygian - quadrature.

Nuair a míníodh do na teicneoirí croílár na bhfórsaí taoide, cheap siad láithreach go gcaithfeadh siad na póilíní a ghlaoch. Agus go leor loighciúil. Ach tharla sé go raibh an gaige ceart. Coicís roimhe sin, chuaigh scriosán i bhfad ón oifig. Gach uair a d'ardaigh an taoide go dtí airde áirithe é, chríochnaigh cuaille radair na loinge suas ag leibhéal urlár an tseomra freastalaí. Agus chruthaigh an radar (nó trealamh cogaidh leictreonach, nó bréagán míleata éigin eile) caos sna ríomhairí.

Misean eitilte le haghaidh an roicéad

Cuireadh de chúram orm córas rialaithe agus monatóireachta seolta roicéad mór (thart ar 400 míle líne) a aistriú chuig leaganacha nua den chóras oibriúcháin, den tiomsaitheoir agus den teanga. Níos cruinne, ó Solaris 2.5.1 go Solaris 7, agus ó Chóras Forbartha Verdix Ada (VADS), scríofa in Ada 83, go dtí an córas Rational Apex Ada, scríofa in Ada 95. Cheannaigh Rational VADS, agus bhí a táirge imithe i léig, cé go ndearna Rational iarracht leaganacha comhoiriúnacha de phacáistí a bhain go sonrach le VADS a chur i bhfeidhm chun an t-aistriú chuig tiomsaitheoir Apex a éascú.

Chabhraigh triúr liom ach an cód a thiomsú go glan. Thóg sé dhá sheachtain. Agus ansin d'oibrigh mé liom féin chun an córas a oibriú. I mbeagán focal, ba é an ailtireacht agus an cur i bhfeidhm córas bogearraí ba mheasa a bhí agam, agus mar sin ghlac sé dhá mhí eile chun an calafort a chríochnú. Cuireadh an córas isteach ansin le haghaidh tástála, rud a thóg roinnt míonna eile. Ceartaigh mé láithreach na fabhtanna a fuarthas le linn tástála, ach laghdaigh a n-uimhir go tapa (córas táirgthe a bhí sa chód foinse, agus mar sin d'oibrigh a fheidhmiúlacht go leor go hiontaofa, ní raibh orm ach na fabhtanna a d'eascair le linn oiriúnú don tiomsaitheoir nua a bhaint). Faoi dheireadh, nuair a bhí gach rud ag obair mar ba chóir, aistríodh mé chuig tionscadal eile.

Agus ar an Aoine roimh Thanksgiving, ghlaoigh an fón.

Bhí an seoladh roicéad ceaptha a thástáil i thart ar thrí seachtaine, agus le linn tástálacha saotharlainne ar an comhaireamh síos, cuireadh bac ar an t-ord na n-orduithe. Sa saol fíor, chuirfeadh sé seo deireadh leis an tástáil, agus dá dtarlódh an bac laistigh de chúpla soicind tar éis an t-inneall a thosú, tharlódh roinnt gníomhartha do-aisiompaithe sna córais chúnta, rud a d'éileodh ullmhacht fhada - agus chostasach - na roicéad. Ní bheadh ​​sé tosaithe, ach bheadh ​​go leor daoine an-trína chéile faoin am a chailleadh agus a lán, a lán airgid. Ná lig d'aon duine a insint duit go gcaitheann an Roinn Cosanta airgead go meargánta - níor bhuail mé riamh le bainisteoir conarthach nár chuir buiséad ar dtús nó sa dara háit, agus an sceideal ina dhiaidh sin.

Sna míonna roimhe seo, reáchtáladh an dúshlán comhaireamh síos seo na céadta uair i go leor éagsúlachtaí, gan ach cúpla míbhuntáiste. Mar sin bhí an dóchúlacht go dtarlódh sé seo an-íseal, ach bhí a iarmhairtí an-suntasach. Méadaigh an dá fhachtóir seo, agus tuigfidh tú go raibh seachtain saoire scriosta tuartha ag an nuacht domsa agus do na mórán innealtóirí agus bainisteoirí.

Agus tugadh aird domsa mar an duine a rinne an córas a iompar.

Mar is amhlaidh i gcás an chuid is mó de na córais atá ríthábhachtach ó thaobh slándála de, rinneadh go leor paraiméadair a logáil, agus mar sin bhí sé éasca go leor na línte cód a cuireadh i bhfeidhm sular thit an córas a aithint. Agus ar ndóigh, ní raibh aon rud neamhghnách ina dtaobh; cuireadh na habairtí céanna i gcrích go rathúil na mílte uair sa rith chéanna.

Chuireamar glaoch ar na daoine ó Apex go Rational mar gurbh iadsan a d’fhorbair an tiomsaitheoir agus glaodh ar chuid de na gnáthaimh a d’fhorbair siad sa chód amhrasach. Bhí siad (agus gach duine eile) sásta go raibh gá le dul go dtí bun na faidhbe a bhfuil tábhacht náisiúnta ag baint léi.

Ós rud é nach raibh aon rud suimiúil sna hirisí, shocraigh muid iarracht a dhéanamh an fhadhb a atáirgeadh i saotharlann áitiúil. Ní tasc éasca a bhí anseo ó tharla an teagmhas timpeall uair amháin in aghaidh gach 1000 rith. Cúis amhrais amháin a bhí ann ná gur cuireadh glaoch ar fheidhm mutex a d’fhorbair an díoltóir (cuid den phacáiste imirce VADS) Unlock ní raibh mar thoradh ar dhíghlasáil. Phróiseáil an snáithe próiseála ar a dtugtar an fheidhm teachtaireachtaí buille croí, a tháinig go ainmniúil gach soicind. D'ardaigh muid an minicíocht go 10 Hz, is é sin, 10 uair in aghaidh an tsoicind, agus thosaigh sé ag rith. Thart ar uair an chloig ina dhiaidh sin ghlas an córas é féin. Sa logáil, chonaic muid go raibh an t-ord na dteachtaireachtaí taifeadta mar an gcéanna le linn na tástála teip. Rinneamar roinnt ritheanna eile, cuireadh bac ar an gcóras go seasta 45-90 nóiméad tar éis an tús, agus gach uair a chuimsigh an logáil an bealach céanna. Cé go raibh cód difriúil á rith againn go teicniúil - bhí minicíocht na teachtaireachta difriúil - bhí iompar an chórais mar an gcéanna, agus mar sin bhíomar muiníneach go raibh an cás ualaigh seo ag cruthú na faidhbe céanna.

Anois b'éigean dúinn a dhéanamh amach cá háit go díreach a tharla an blocáil i seicheamh na slonn.

Baineadh úsáid as córas tascanna Ada mar gheall ar chur i bhfeidhm an chórais seo, agus d'úsáid sé go han-íseal é. Is tógáil ardleibhéil inrite comhuaineach iad tascanna in Ada, rud cosúil le snáitheanna forghníomhaithe, nach bhfuil tógtha ach sa teanga féin. Nuair is gá cumarsáid a dhéanamh le dhá thasc, déanann siad "rendezvous" a shocrú, na sonraí is gá a mhalartú, agus ansin stop a chur leis an rendezvous agus filleadh ar a gcuid forghníomhaithe neamhspleácha. Mar sin féin, cuireadh an córas i bhfeidhm ar bhealach difriúil. Tar éis tasc sprice a bheith rendezvous, rinneadh an tasc sprice sin le tasc eile, a rendezvoused ansin le tríú tasc, agus mar sin de go dtí go raibh roinnt próiseála críochnaithe. Ina dhiaidh sin, críochnaíodh na rendezvous seo go léir agus b'éigean do gach tasc filleadh ar a chur i gcrích. Is é sin, bhíomar ag déileáil leis an gcóras glaonna feidhm is costasaí ar domhan, rud a chuir stop leis an bpróiseas “ilthascanna” ar fad agus é ag próiseáil cuid de na sonraí ionchuir. Agus roimhe seo ní raibh fadhbanna mar thoradh air seo ach toisc go raibh an tréchur an-íseal.

Rinne mé cur síos ar an meicníocht tasc seo mar nuair a iarradh nó nuair a bhíothas ag súil le réiteach a chríochnú, d'fhéadfadh "lasc tasc" a bheith ann. Is é sin, d'fhéadfadh an próiseálaí tús a phróiseáil tasc eile atá réidh le cur i gcrích. Tharlaíonn sé go raibh nuair a bhíonn tasc amháin réidh le rendezvous le tasc eile, tasc go hiomlán difriúil is féidir tús a fhorghníomhú, agus ar deireadh thiar a rialú ar ais go dtí an chéad rendezvous. Agus d’fhéadfadh teagmhais eile tarlú a fhágann go n-athrófaí an tasc; Is é imeacht amháin den sórt sin ná glao chuig feidhm chórais, mar shampla mutex a phriontáil nó a fhorghníomhú.

Chun a thuiscint cén líne cód a bhí ag cruthú na faidhbe, bhí orm bealach a aimsiú chun dul chun cinn a thaifeadadh trí sheicheamh ráiteas gan lasc tasc a spreagadh, rud a chuirfeadh cosc ​​​​ar thimpiste. Mar sin ní raibh mé in ann leas a bhaint as Put_Line()chun oibríochtaí I/O a sheachaint. D’fhéadfainn athróg cuntair nó rud éigin cosúil leis a shocrú, ach conas is féidir liom a luach a fheiceáil murar féidir liom é a thaispeáint ar an scáileán?

Chomh maith leis sin, nuair a bhí an logáil á scrúdú, d’éirigh sé amach, in ainneoin an reo i bpróiseáil teachtaireachtaí buille croí, a chuir bac ar oibríochtaí I/O uile an phróisis agus a chuir cosc ​​ar phróiseáil eile, leanadh le cúraimí neamhspleácha eile a chur i gcrích. Is é sin, níor cuireadh bac iomlán ar an obair, ach slabhra (criticiúil) tascanna.

Ba é seo an leid a bhí ag teastáil chun an slonn blocála a mheas.

Rinne mé pacáiste Ada ina raibh tasc, cineál áirimh, agus athróg dhomhanda den chineál sin. Bhí liteartha ináirithe ceangailte le habairtí sonracha den seicheamh fadhbanna (m.sh. Incrementing_Buffer_Index, Locking_Mutex, Mutex_Unlocked). Ós rud é gur stóráladh an cód oibiachta de seo go léir tairiseach sa chuimhne, ní dócha go raibh an t-aistriú tasc mar thoradh ar é a chur i gcrích. Bhíomar amhrasach go príomha faoi nathanna cainte a d’fhéadfadh an tasc a athrú, ó tharla an blocáil ar fhorghníomhú seachas filleadh nuair a athraíodh an tasc (ar chúiseanna éagsúla).

Rith an tasc rianaithe i lúb agus rinne sé seiceáil go tréimhsiúil féachaint an raibh athrú tagtha ar luach na hathróige domhanda. Le gach athrú, sábháladh an luach chuig comhad. Ansin fan gearr agus seiceáil nua. Scríobh mé an athróg chuig an gcomhad toisc nár cuireadh an tasc i gcrích ach amháin nuair a roghnaigh an córas é le cur i gcrích agus an tasc á athrú sa réimse fadhbanna. Cibé rud a tharla sa tasc seo, ní chuirfeadh sé isteach ar thascanna bactha eile nach mbaineann leo.

Bhíothas ag súil, nuair a shroich an córas an pointe chun an cód fadhbach a fhorghníomhú, go ndéanfaí athróg dhomhanda a athshocrú agus é ag bogadh go dtí gach slonn eile. Ansin tarlóidh rud éigin a fhágann go n-athróidh an tasc, agus ós rud é go bhfuil a mhinicíocht forghníomhaithe (10 Hz) níos ísle ná an tasc monatóireachta, d'fhéadfadh an monatóir luach an athróg dhomhanda a ghabháil agus é a scríobh. I ngnáthstaid, d’fhéadfainn seicheamh athfhillteach a fháil d’fhothacar áirimh: na luachanna deiridh den athróg ag am an taisc-lasc. Agus é ar crochadh, níor cheart go n-athródh an athróg dhomhanda a thuilleadh, agus léireoidh an luach deireanach scríofa cén slonn nár chríochnaigh.

Rith mé an cód le rianú. Reoite sé. Agus d'oibrigh an monatóireacht mar clockwork.

Bhí an seicheamh a rabhthas ag súil leis sa loga, ar cuireadh isteach air ag luach a thabharfadh le fios gur glaodh mutex Unlock, agus nach bhfuil an tasc críochnaithe - mar atá an cás leis na mílte glaonna roimhe seo.

Bhí innealtóirí Apex ag déanamh anailís fhiabhrasach ar a gcód ag an am seo agus fuair siad áit sa mutex ina bhféadfadh glas tarlú, go teoiriciúil. Ach bhí an dóchúlacht an-íseal, ós rud é nach bhféadfadh blocáil a bheith mar thoradh ach ar sheicheamh áirithe imeachtaí a tharlaíonn ag am áirithe. Dlí Uí Mhurchú, guys, is é Dlí Uí Mhurchú é.

Chun an píosa cód a theastaigh uaim a chosaint, chuir mé pacáiste beag dúchais Ada mutex in ionad na nglaonna feidhm mutex (tógtha ar bharr fheidhmiúlacht mutex an OS) chun rochtain mutex ar an bpíosa sin a rialú.

Chuir mé isteach sa chód é agus rith an tástáil. Seacht n-uaire níos déanaí bhí an cód fós ag obair.

Cuireadh mo chód faoi bhráid Rational, áit a ndearna siad é a thiomsú, a dhíchóimeáil, agus seiceáil nár bhain sé úsáid as an gcur chuige céanna a úsáideadh sna feidhmeanna mutex fadhbacha.

Ba é seo an t-athbhreithniú cód is plódaithe de mo ghairm bheatha 🙂 Bhí thart ar dheichniúr innealtóirí agus bainisteoirí sa seomra liom, bhí deichniúr eile ar ghlao comhdhála - agus scrúdaigh siad go léir thart ar 20 líne de chód.

Rinneadh athbhreithniú ar an gcód, cuireadh comhaid inrite nua le chéile agus cuireadh isteach iad le haghaidh tástála foirmiúla aischéimnithí. Cúpla seachtain ina dhiaidh sin, d’éirigh leis an tástáil comhairimh síos agus d’éirigh an roicéad.

Ceart go leor, tá sé sin go maith agus go maith, ach cad é pointe an scéil?

Fadhb thar a bheith uaigneach a bhí ann. Na céadta mílte línte cód, forghníomhú comhthreomhar, breis agus dosaen próisis idirghníomhaithe, droch-ailtireacht agus droch-chur i bhfeidhm, comhéadain do chórais leabaithe agus na milliúin dollar a caitheadh. Gan brú, ceart.

Níorbh mise an t-aon duine a bhí ag obair ar an bhfadhb seo, cé go raibh mé ar an bhfód agus mé ag déanamh an phortála. Ach cé go ndearna mé é, ní chiallaíonn sé sin gur thuig mé na céadta mílte línte cód, nó fiú gur bhreathnaigh mé orthu. Rinne innealtóirí ar fud na tíre anailís ar an gcód agus ar na logaí, ach nuair a d'inis siad a hipitéisí dom faoi na cúiseanna a bhí leis an teip, níor thóg sé ach leath nóiméad orm iad a bhréagnú. Agus nuair a iarradh orm anailís a dhéanamh ar theoiricí, chuirfinn ar aghaidh chuig duine éigin eile é, mar ba léir dom go raibh na hinnealtóirí seo ag dul ar an mbealach mícheart. Fuaim toimhde? Sea, tá sé seo fíor, ach dhiúltaigh mé na hipitéisí agus iarratais ar chúis eile.

Thuig mé nádúr na faidhbe. Ní raibh a fhios agam go díreach cá raibh sé ag tarlú nó cén fáth, ach bhí a fhios agam cad a bhí ag tarlú.

Thar na blianta, tá mé carntha go leor eolais agus taithí. Bhí mé ar cheann de na ceannródaithe úsáid Ada agus thuig a buntáistí agus na míbhuntáistí. Tá a fhios agam conas a láimhseálann leabharlanna ama rite Ada tascanna agus conas a dhéileálann siad le forghníomhú comhthreomhar. Agus tuigim ríomhchlárú ísealleibhéil ar leibhéal na cuimhne, na gclár agus an cóimeálaí. I bhfocail eile, tá eolas domhain agam i mo réimse. Agus d'úsáid mé iad chun cúis na faidhbe a fháil. Ní hamháin gur oibrigh mé timpeall an fhabht, thuig mé conas é a aimsiú i dtimpeallacht an-íogair am rite.

Níl scéalta den sórt sin ar streachailt le cód an-suimiúil dóibh siúd nach bhfuil eolach ar ghnéithe agus ar choinníollacha streachailt den sórt sin. Ach cuidíonn na scéalta seo linn tuiscint a fháil ar cad a thógann sé chun fadhbanna fíordheacra a réiteach.

Chun fadhbanna fíor-chrua a réiteach, ní mór duit a bheith níos mó ná ríomhchláraitheoir amháin. Ní mór duit “cinniúint” an chóid a thuiscint, conas a idirghníomhaíonn sé lena timpeallacht, agus conas a oibríonn an timpeallacht féin.

Agus ansin beidh do sheachtain saoire scriosta féin agat.

Le leanúint.

Foinse: will.com

Add a comment