Tatsuniya na masu shirye-shirye da injiniyoyi (Kashi na 1)

Tatsuniya na masu shirye-shirye da injiniyoyi (Kashi na 1)

Wannan zaɓin labarai ne daga Intanet game da yadda kwari a wasu lokuta ke samun bayyananniyar bayyanar gaba ɗaya. Wataƙila kana da abin da za ka faɗa ma.

Rashin lafiyar mota zuwa vanilla ice cream

Labari ga injiniyoyin da suka fahimci cewa a bayyane yake ba koyaushe ne amsar ba, kuma ko ta yaya aka yi nisa ga gaskiyar, har yanzu su ne gaskiyar. Sashen Pontiac na General Motors Corporation sun sami korafi:

Wannan shi ne karo na biyu da nake rubuto muku, kuma ban zarge ku da kin amsa ba, domin kamar mahaukaci ne. Iyalinmu suna da al'adar cin ice cream kowane dare bayan cin abinci. Nau'in ice cream suna canzawa kowane lokaci, kuma bayan abincin dare, dukan iyalin za su zaɓi ice cream don saya, bayan haka zan je kantin sayar da. Kwanan nan na sayi sabon Pontiac kuma tun lokacin tafiye-tafiye na don samun ice cream sun zama matsala. Ka ga duk lokacin da na sayi ice cream na vanilla na dawo daga kantin, motar ba za ta tashi ba. Idan na kawo wani ice cream, motar ta fara ba tare da matsala ba. Ina so in yi tambaya mai mahimmanci, ko ta yaya sautin wauta: "Mene ne game da Pontiac wanda ya sa ya fara lokacin da na kawo ice cream na vanilla, amma yana farawa da sauƙi lokacin da na kawo wani dandano na ice cream?" "

Kamar yadda kuke tsammani, shugaban sashen ya nuna shakku game da wasiƙar. Duk da haka, kawai idan akwai, na aika injiniya don duba. Ya yi mamakin ganin wani hamshakin attajiri, mai ilimi da ke zaune a wuri mai kyau. Nan da nan bayan an gama cin abinci suka amince su hadu domin su biyu su je kantin sayar da ice cream. Da yamma sai ga shi vanilla, da suka koma mota, ba za ta tashi ba.

Injiniyan ya kara zuwa maraice uku. Lokaci na farko da ice cream shine cakulan. Motar ta fara. A karo na biyu akwai ice cream strawberry. Motar ta fara. A maraice na uku ya nemi shan vanilla. Motar bata taso ba.

Da yake tunani a hankali, injiniyan ya ƙi yarda cewa motar tana da rashin lafiyar vanilla ice cream. Don haka na amince da mai motar cewa zai ci gaba da ziyararsa har sai ya samo bakin zaren warware matsalar. Kuma a kan hanya, ya fara yin bayanin kula: ya rubuta duk bayanan, lokacin rana, nau'in man fetur, lokacin isowa da dawowa daga kantin sayar da kayayyaki, da dai sauransu.

Ba da daɗewa ba injiniyan ya gane cewa mai motar ya rage lokacin sayan vanilla ice cream. Dalilin shi ne tsarin kayan da ke cikin shagon. Vanilla ice cream shine ya fi shahara kuma an ajiye shi a cikin wani injin daskarewa daban a gaban kantin don samun sauƙin samu. Kuma duk sauran nau'ikan sun kasance a bayan kantin sayar da, kuma ya ɗauki lokaci mai yawa don nemo nau'in da ya dace da biya.

Yanzu tambaya ta kasance ga injiniya: me yasa motar ba ta tashi ba idan lokaci kadan ya wuce tun lokacin da aka kashe injin? Tun lokacin da matsala ta kasance lokaci, ba vanilla ice cream ba, injiniyan ya sami amsar da sauri: kulle gas ne. Yana faruwa kowace yamma, amma lokacin da mai motar ya ɓata lokaci mai yawa don neman ice cream, injin ya sami damar yin sanyi sosai kuma ya tashi cikin sauƙi. Kuma lokacin da mutumin ya sayi vanilla ice cream, injin yana da zafi sosai kuma makullin gas ɗin bai sami lokacin narkewa ba.

Dabi'a: Hatta matsalolin hauka gabaki ɗaya wani lokaci na gaske ne.

karo Bandicoot

Yana da zafi a fuskanci wannan. A matsayinka na programmer, ka saba da zargin code dinka na farko, na biyu, na uku... sannan a wani wuri na dubu goma ka dora laifin compiler din. Kuma ƙara ƙasa jerin kun riga kuka zargi kayan aiki.

Ga labarina game da kwaro na kayan aiki.

Don wasan Crash Bandicoot, na rubuta lamba don lodawa da adanawa zuwa katin ƙwaƙwalwa. Ga irin wannan mai haɓaka wasan smug, ya kasance kamar yawo a wurin shakatawa: Ina tsammanin aikin zai ɗauki kwanaki da yawa. Duk da haka, na ƙare har na lalata lambar don makonni shida. A kan hanya, na warware wasu matsalolin, amma duk ƴan kwanaki na sake komawa ga wannan lambar na 'yan sa'o'i. Ya kasance mai zafi.

Alamar ta yi kama da haka: lokacin da kuka adana wasan kwaikwayo na yanzu da samun damar katin ƙwaƙwalwar ajiya, komai kusan koyaushe yana tafiya lafiya ... Amma wani lokacin lokacin karantawa ko rubuta aiki ba tare da wani dalili ba. Wani ɗan gajeren rikodi yakan lalata katin ƙwaƙwalwar ajiya. Lokacin da mai kunnawa yayi ƙoƙarin ajiyewa, ba kawai ya kasa yin ajiya ba, har ma yana lalata taswirar. Abin banza.

Bayan wani lokaci, furodusan mu a Sony, Connie Bus, ya fara firgita. Ba mu iya jigilar wasan tare da wannan kwaro ba, kuma bayan makonni shida ban fahimci abin da ke haifar da matsalar ba. Ta hanyar Connie, mun tuntubi wasu masu haɓaka PS1: shin akwai wanda ya ci karo da wani abu makamancin haka? A'a. Babu wanda ya sami matsala da katin ƙwaƙwalwar ajiya.

Lokacin da ba ku da ra'ayoyi don gyara kuskure, hanyar da ta rage kawai ita ce "raba ku ci": cire ƙarin lamba daga shirin mara kyau har sai an sami ɗan ƙaramin guntu wanda har yanzu yana haifar da matsala. Wato ka yanke shirin bi-bi-bi-uku har sai ɓangaren da ke ɗauke da kwaro ya kasance.

Amma abin shine, yana da wuya a yanke guntu daga wasan bidiyo. Yadda za a gudanar da shi idan kun cire lambar da ke kwaikwayon nauyi? Ko zana haruffa?

Don haka, dole ne mu maye gurbin gabaɗayan kayayyaki tare da stubs waɗanda suke yin kamar suna yin wani abu mai amfani, amma a zahiri yin wani abu mai sauƙi wanda ba zai iya ƙunsar kurakurai ba. Dole ne mu rubuta irin waɗannan crutches don wasan don aƙalla aiki. Wannan tsari ne a hankali kuma mai raɗaɗi.

A takaice, na yi. Na cire ƙarin guntun lambar har sai an bar ni tare da lambar farko wacce ta tsara tsarin don gudanar da wasan, fara kayan aikin samarwa, da sauransu. Tabbas, a wannan matakin ba zan iya ƙirƙirar menu na adanawa da ɗaukar nauyi ba, saboda dole ne in ƙirƙiri stub don duk lambar zane. Amma zan iya yin kamar ni mai amfani ne ta amfani da (ba'a ganuwa) adanawa da ɗaukar allo sannan in nemi in adana sannan in rubuta zuwa katin ƙwaƙwalwar ajiya.

Wannan ya bar ni da ƙaramin lambar da har yanzu tana da matsalar da ke sama - amma har yanzu yana faruwa ba da gangan ba! Yawancin lokaci komai yana aiki lafiya, amma lokaci-lokaci ana samun kurakurai. Na cire kusan duk lambar wasan, amma kwaro yana raye. Wannan abin mamaki ne: ragowar lambar ba ta yi komai ba.

A wani lokaci, watakila da misalin karfe uku na safe, wani tunani ya fado mini. Karanta da rubuta (shigarwa/fitarwa) ayyuka sun haɗa da daidai lokacin aiwatarwa. Lokacin da kake aiki tare da rumbun kwamfutarka, katin ƙwaƙwalwar ajiya ko tsarin Bluetooth, ƙananan lambar lambar da ke da alhakin karatu da rubutu tana yin haka daidai da bugun bugun ƙarfe.

Tare da taimakon agogo, na'urar da ba ta haɗa kai tsaye zuwa na'ura mai sarrafawa tana aiki tare da lambar da ke aiki akan na'urar. Agogo yana ƙayyade ƙimar baud-gudun da ake watsa bayanai. Idan aka sami rudani tare da lokutan lokaci, to ko dai na'urori ko software, ko duka biyun, suma sun rikice. Kuma wannan yana da muni sosai, saboda bayanan na iya lalacewa.

Idan wani abu a cikin lambar mu ya rikitar da lokutan fa? Na duba duk abin da ke da alaƙa da wannan a cikin lambar shirin gwajin kuma na lura cewa mun saita mai ƙidayar lokaci a cikin PS1 zuwa 1 kHz (ticks 1000 a sakan daya). Wannan yana da yawa sosai; ta tsohuwa, lokacin da na'ura wasan bidiyo ya fara, yana aiki a 100 Hz. Kuma yawancin wasanni suna amfani da wannan mitar.

Andy, mai haɓaka wasan, ya saita mai ƙidayar lokaci zuwa 1 kHz domin a ƙididdige motsi da kyau. Andy yana son wuce gona da iri, kuma idan muka yi koyi da nauyi, muna yin shi daidai gwargwadon iko!

Amma idan saurin mai ƙidayar lokaci ko ta yaya ya shafi ɗaukacin lokaci na shirin, sabili da haka agogon da ke daidaita ƙimar baud na katin ƙwaƙwalwar ajiya fa?

Na yi sharhi game da lambar lokacin. Kuskuren bai sake faruwa ba. Amma wannan ba yana nufin cewa mun gyara shi ba, saboda gazawar ta faru ba da gangan ba. Idan na yi sa'a fa?

Bayan 'yan kwanaki na sake gwada shirin gwajin. Kwaron bai sake faruwa ba. Na koma cikakken wasan codebase kuma na gyara tsarin adanawa da kuma loda code ta yadda mai ƙididdigewa na shirye-shiryen zai sake saita ƙimarsa ta asali (100Hz) kafin samun damar katin ƙwaƙwalwar ajiya, sannan sake saitawa zuwa 1kHz. Babu sauran hadarurruka.

Amma me ya sa hakan ya faru?

Na sake komawa shirin gwajin. Na yi ƙoƙarin nemo wani tsari a cikin faruwar kuskure tare da mai ƙidayar lokaci 1 kHz. Daga ƙarshe na lura cewa kuskuren yana faruwa lokacin da wani yayi wasa tare da mai sarrafa PS1. Tun da ba zan iya yin wannan da kaina ba - me yasa zan buƙaci mai sarrafawa lokacin gwada ajiyar ajiya da lambar lodi? - Ban ma lura da wannan dogara ba. Amma wata rana daya daga cikin mawakanmu yana jirana in gama gwaji - mai yiwuwa ina zagi a lokacin - kuma a firgice ya karkatar da mai sarrafa a hannunsa. An sami kuskure. "Dakata, me?!" To, sake yi!”

Lokacin da na gane cewa waɗannan abubuwan guda biyu suna da haɗin kai, na sami damar sake yin kuskure cikin sauƙi: Na fara yin rikodin zuwa katin ƙwaƙwalwar ajiya, matsar da mai sarrafawa, kuma na lalata katin ƙwaƙwalwar ajiya. A gare ni ya yi kama da bug hardware.

Na zo wurin Connie na gaya mata game da gano na. Ta mika bayanan ga daya daga cikin injiniyoyin da suka tsara PS1. "Ba zai yuwu ba," in ji shi, "Ba zai iya zama matsalar kayan aiki ba." Na tambayi Connie ta shirya mana tattaunawa.

Injiniyan ya kira ni muka yi gardama a cikin karyewar turancinsa da na Jafananci na (matuƙar gaske). A ƙarshe na ce, "Bari in aika shirin gwajin layi na 30 inda motsi mai sarrafawa ke haifar da bug." Ya yarda. Ya ce ɓata lokaci ne kuma ya shagala sosai wajen yin wani sabon aiki, amma zai ba da gudummawa saboda mun kasance mahimmin haɓaka ga Sony. Na goge shirin jarabawata na aika masa.

Washegari da yamma (muna Los Angeles kuma yana Tokyo) ya kira ni kuma ya ba ni hakuri. Matsalar hardware ce.

Ban san ainihin abin da bug ɗin yake ba, amma daga abin da na ji a hedkwatar Sony, idan kun saita mai ƙididdigewa zuwa ƙima mai girma, ya tsoma baki tare da abubuwan da ke kan motherboard a kusa da kristal mai ƙidayar lokaci. Daya daga cikinsu shi ne mai sarrafa baud rate na memory card, wanda shi ma ya sanya ma’aunin baud na masu sarrafa. Ni ba injiniya ba ne, don haka na iya yin rikici da wani abu.

Amma abin lura shi ne cewa an samu tsangwama tsakanin abubuwan da ke kan motherboard. Kuma a lokacin da ake watsa bayanai a lokaci guda ta hanyar tashar mai sarrafawa da tashar katin ƙwaƙwalwar ajiya tare da mai ƙidayar lokaci mai aiki a 1 kHz, raguwa sun ɓace, bayanan sun ɓace, kuma katin ya lalace.

Mugayen shanu

A cikin 1980s, jagorana Sergei ya rubuta software don SM-1800, clone na Soviet na PDP-11. An shigar da wannan microcomputer a tashar jirgin ƙasa kusa da Sverdlovsk, muhimmiyar tashar sufuri a cikin USSR. An ƙera sabon tsarin ne don zirga-zirgar motoci da jigilar kayayyaki. Amma yana kunshe da wani kwaro mai ban haushi wanda ya haifar da hadarurruka da hadarurruka. Koyaushe faɗuwa na faruwa lokacin da wani ya tafi gida da yamma. Amma duk da cikakken bincike da aka yi washegari, kwamfutar ta yi aiki daidai a duk gwaje-gwajen hannu da na atomatik. Wannan yawanci yana nuna yanayin tsere ko wani kwaro mai gasa wanda ke faruwa a ƙarƙashin wasu yanayi. Gaji da kira da dare, Sergei ya yanke shawarar zuwa kasa, kuma da farko, fahimtar abin da yanayi a farfajiyar marshalling ya haifar da rushewar kwamfutar.

Na farko, ya tattara kididdiga na duk faɗuwar da ba a bayyana ba kuma ya ƙirƙiri jadawali ta kwanan wata da lokaci. Tsarin ya fito fili. Bayan ya lura da wasu 'yan kwanaki, Sergei ya gane cewa zai iya yin la'akari da sauƙi lokacin rashin nasarar tsarin gaba.

Ba da jimawa ba ya sami labarin cewa an samu tarzoma ne kawai a lokacin da tashar ke jera tuhume-tuhumen shanu daga arewacin Ukraine da yammacin Rasha suka nufi wata mayankar da ke kusa. Shi kansa wannan abin baƙon abu ne, domin an ba da mayankan ne ta gonaki da ke kusa, a Kazakhstan.

Tashar makamashin nukiliya ta Chernobyl ta fashe a shekara ta 1986, kuma lalatawar rediyo ta sa yankunan da ke kewayen ba su zama masu zama ba. Yankuna masu yawa a arewacin Ukraine, Belarus da yammacin Rasha sun gurɓata. Da ake zargin manyan matakan radiation a cikin karusai masu zuwa, Sergei ya kirkiro wata hanya don gwada wannan ka'idar. An hana yawan jama'a samun dosimeters, don haka Sergei ya yi rajista da kansa da sojoji da yawa a tashar jirgin kasa. Bayan shan vodka da yawa, ya sami nasarar shawo kan wani soja don auna matakin radiation a cikin ɗaya daga cikin abubuwan da ake zargi. Ya juya cewa matakin ya ninka sau da yawa fiye da ƙimar al'ada.

Ba wai kawai shanun suna fitar da hasken wuta mai yawa ba, matakinsa ya yi yawa har ya kai ga asarar raƙuman ruwa a cikin ƙwaƙwalwar ajiyar SM-1800, wanda ke cikin wani gini kusa da tashar.

An sami karancin abinci a cikin USSR, kuma hukumomi sun yanke shawarar hada naman Chernobyl da nama daga wasu yankuna na kasar. Wannan ya sa ya yiwu a rage gaba ɗaya matakin aikin rediyo ba tare da rasa albarkatu masu mahimmanci ba. Bayan ya koyi game da wannan, Sergei nan da nan ya cika takardun don hijira. Kuma hadarurrukan kwamfuta sun tsaya da kansu lokacin da matakin radiation ya ragu a kan lokaci.

Ta hanyar bututu

Da zarar wani lokaci, Movietech Solutions ya ƙirƙira software don gidajen sinima, wanda aka tsara don lissafin kuɗi, tallace-tallacen tikiti da gudanarwa na gaba ɗaya. Sigar DOS na ƙa'idar flagship ta shahara sosai tsakanin ƙanana da matsakaicin sarƙoƙin gidan wasan kwaikwayo a Arewacin Amurka. Don haka ba abin mamaki ba ne cewa lokacin da aka sanar da nau'in Windows 95, wanda aka haɗa tare da sabbin allon taɓawa da kiosks na sabis na kai, da kuma sanye take da kowane irin kayan aikin bayar da rahoto, da sauri ya zama sananne. Mafi sau da yawa sabuntawa ya tafi ba tare da matsala ba. Ma'aikatan IT na gida sun shigar da sabbin kayan aiki, bayanan ƙaura, kuma kasuwanci ya ci gaba. Sai dai lokacin bai dore ba. Lokacin da wannan ya faru, kamfanin zai aika James, wanda ake yi wa lakabi da "Mai Tsabtace."

Kodayake sunan barkwanci yana nuna nau'i mai banƙyama, mai tsabta shine kawai haɗin malami, mai sakawa da jack-of-all-ciniki. James zai shafe kwanaki a shafin abokin ciniki yana hada dukkan abubuwan da aka gyara, sannan kuma ya sake kwashe kwanaki biyu yana koya wa ma'aikatan yadda ake amfani da sabon tsarin, magance duk wata matsala ta hardware da ta taso da kuma taimakawa software tun tana jariri.

Don haka, ba abin mamaki ba ne, a cikin wannan mawuyacin lokaci, James ya isa ofishin da safe, kuma kafin ya kai ga teburinsa, manajan ya gaishe shi, cike da caffeine fiye da yadda ya saba.

"Ina jin tsoron kuna buƙatar zuwa Annapolis, Nova Scotia, da wuri-wuri." Tsarin su gaba daya ya ragu, kuma bayan dare da aikin injiniyoyinsu, ba za mu iya gano abin da ya faru ba. Ga alama cibiyar sadarwar ta gaza akan sabar. Amma sai bayan tsarin yana gudana na mintuna da yawa.

- Ba su koma ga tsohon tsarin ba? - James ya amsa da gaske, duk da a hankali ya zaro idanunsa cikin mamaki.

- Daidai: ƙwararren IT ɗin su "canza abubuwan fifiko" kuma sun yanke shawarar barin tsohuwar uwar garken su. James, sun shigar da tsarin a shafuka shida kuma kawai sun biya tallafin kuɗi, kuma kasuwancin su yana gudana kamar yadda yake a cikin 1950s.

James ya mike kadan.

- Wannan wani lamari ne. To, mu fara.

Lokacin da ya isa Annapolis, abu na farko da ya yi shi ne gano gidan wasan kwaikwayo na farko na abokin ciniki wanda ke da matsala. A kan taswirar da aka ɗauka a filin jirgin sama, komai ya yi kyau, amma yankin da ke kusa da adireshin da ake so ya yi kama da tuhuma. Ba ghetto ba, amma yana tunawa da fim din noir. Yayin da James ke yin fakin a bakin kofar shiga cikin gari, wata karuwa ta zo wurinsa. Idan aka yi la’akari da girman Annapolis, wataƙila ita kaɗai ce a cikin dukan birnin. Bayyanar ta nan da nan ya tuna da sanannen hali wanda ya ba da jima'i don kudi akan babban allo. A'a, ba game da Julia Roberts ba, amma game da Jon Voight [allusion zuwa fim din "Midnight Cowboy" - kimanin. layi].

Bayan ya aika da karuwa a hanya, James ya tafi gidan sinima. Yankin da ke kewaye ya yi kyau, amma har yanzu yana ba da ra'ayi na an rushe. Ba wai James ya damu sosai ba. Ya taba zuwa wuraren wahala a baya. Kuma wannan ita ce Kanada, inda har ma da maguguna suna da ladabi isa su ce "na gode" bayan ɗaukar jakar ku.

Gefen ƙofar cinema na cikin wani ɗan leda. James ya taka kofar ya buga. Ba a jima ba ya kumbura ya bude dan kadan.

-Shin kai mai tsaftacewa ne? - wata muguwar murya ta fito daga ciki.

- Ee, ni ne ... Na zo ne don gyara komai.

James ya shiga zauren cinema. Da alama ba su da wani zaɓi, ma'aikatan sun fara ba da tikitin takarda ga baƙi. Wannan ya sa rahoton kuɗi ya yi wahala, balle ƙarin cikakkun bayanai masu ban sha'awa. Amma ma’aikatan sun gai da James cikin sauƙi kuma nan da nan suka kai shi ɗakin uwar garken.

Kallo na farko, komai yayi kyau. James ya shiga cikin uwar garken kuma ya duba wuraren da ake tuhuma. Ba matsala. Duk da haka, saboda yawan taka tsantsan, James ya rufe uwar garken, ya maye gurbin katin sadarwar, kuma ya mayar da tsarin. Nan take ta fara aiki gaba daya. Ma'aikatan sun sake sayar da tikiti.

James ya kira Markus ya sanar da shi halin da ake ciki. Ba shi da wuya a yi tunanin cewa James zai so ya tsaya ya ga ko wani abu da ba zato ba tsammani ya faru. Ya sauko daga bene ya fara tambayar ma'aikatan me ya faru. Babu shakka tsarin ya daina aiki. Sun kashe sannan suka kunna, komai yayi aiki. Amma bayan mintuna 10 tsarin ya fadi.

A dai-dai wannan lokaci wani abu makamancin haka ya faru. Nan da nan, tsarin tikitin ya fara jefa kurakurai. Ma'aikatan sun yi nishi suka kama tikitin takarda, James kuma ya yi sauri zuwa dakin uwar garke. Komai yayi kyau tare da uwar garken.

Sai daya daga cikin ma'aikatan ya shigo.

- Tsarin yana aiki kuma.

James ya yi mamaki domin bai yi komai ba. Mafi daidai, babu abin da zai sa tsarin yayi aiki. Fita yayi ya dauki wayarsa ya kira layin tallafi na kamfaninsa. Ba da daɗewa ba ma'aikaci ɗaya ya shiga ɗakin uwar garke.

- Tsarin yana ƙasa.

James ya kalli uwar garken. Wani tsari mai ban sha'awa kuma sananne na siffofi masu launi da yawa da aka yi rawa akan allon - writhing da rikice-rikice na bututu. Dukanmu mun ga wannan screensaver a wani lokaci. An fassara shi da kyau kuma a zahiri hypnotizing.


James ya danna maballin kuma tsarin ya ɓace. Da sauri ya nufi ofishin tikitin, a hanya ya hadu da wani ma'aikaci yana dawowa gare shi.

- Tsarin yana aiki kuma.

Idan za ku iya yin fuskar tafin hannu, daidai abin da James ya yi ke nan. Screensaver. Yana amfani da OpenGL. Sabili da haka, yayin aiki, yana cinye duk albarkatun mai sarrafa sabar. Sakamakon haka, kowane kira zuwa uwar garken yana ƙarewa tare da ƙarewar lokaci.

James ya koma ɗakin uwar garken, ya shiga, kuma ya maye gurbin mai adana allo tare da kyawawan bututu tare da allo mara kyau. Wato, maimakon na'urar adana allo da ke cinye 100% na albarkatun sarrafawa, na shigar da wani wanda baya cinye albarkatu. Sai na jira mintuna 10 don duba hasashena.

Lokacin da James ya isa gidan sinima na gaba, yana mamakin yadda zai bayyana wa manajan nasa cewa ya yi tafiyar kilomita 800 ne kawai don kashe allo.

Hadaro yayin wani lokaci na wata

Gaskiya labari. Wata rana bug ɗin software ya taso wanda ya dogara da yanayin wata. Akwai ɗan ƙaramin aikin yau da kullun da aka saba amfani da shi a cikin shirye-shiryen MIT daban-daban don ƙididdige ƙididdigewa zuwa ainihin lokacin wata. GLS ya gina wannan na yau da kullun cikin shirin LISP wanda, lokacin rubuta fayil, zai fitar da layi tare da tambarin lokaci kusan haruffa 80. Yana da wuya cewa layin farko na saƙo zai ƙare ya yi tsayi da yawa kuma ya kai ga layi na gaba. Kuma da shirin daga baya ya karanta wannan fayil, ya zagi. Tsawon layin farko ya dogara da ainihin kwanan wata da lokaci, da kuma tsawon ƙayyadaddun lokaci a lokacin da aka buga tambarin lokutan. Wato, kwaro a zahiri ya dogara da yanayin wata!

Buga takarda ta farko Jargon fayil (Steele-1983) ya ƙunshi misalin irin wannan layin wanda ya haifar da kwaro da aka kwatanta, amma nau'in nau'in ya "gyara" shi. Tun daga lokacin an bayyana wannan a matsayin "cutar tsarin wata".

Duk da haka, yi hankali da zato. A 'yan shekarun da suka gabata, injiniyoyi daga CERN (Cibiyar Nazarin Nukiliya ta Turai) sun ci karo da kurakurai a cikin gwaje-gwajen da aka yi a Large Electron-Positron Collider. Tun da kwamfutoci suna aiki da ɗimbin bayanan da wannan na'urar ke samarwa kafin su nuna sakamakon ga masana kimiyya, mutane da yawa sun yi hasashen cewa software ɗin ta ɗan damu da yanayin wata. Injiniyoyi da dama da suka yanke kauna sun fahimci gaskiyar. Kuskuren ya taso ne saboda wani dan canji da aka samu a juzu'i na zoben mai tsawon kilomita 27 saboda nakasar da duniya ta yi a lokacin tafiyar wata! Wannan labarin ya shiga cikin tarihin ilimin lissafi a matsayin "Ramuwa ta Newton akan Physics Particle" da kuma misali na alaƙa tsakanin mafi sauƙi da tsoffin ka'idojin kimiyyar lissafi da mafi haɓakar ra'ayoyin kimiyya.

Fitowa toilet yayi ya dakatar da jirgin

Mafi kyawun kwaro na kayan masarufi da na taɓa ji shine akan jirgin ƙasa mai sauri a Faransa. Kwaron ya haifar da birki na gaggawa na jirgin, amma idan akwai fasinjoji a cikin jirgin. A kowane irin yanayi, an fitar da jirgin daga aiki, an duba shi, amma ba a sami komai ba. Sannan aka mayar da shi layin, nan take ya fado ya tsaya.

A daya daga cikin cak, wani injiniya da ke tafiya a cikin jirgin ya tafi bayan gida. Ba jimawa yayi wanka, BOOM! Tasha gaggawa.

Injiniya ya tuntubi direban ya tambaye shi:

- Me kuke yi kafin yin birki?

- To, na rage jinkirin saukowar...

Wannan baƙon abu ne, domin yayin aiki na yau da kullun jirgin yana rage gudu sau da yawa. Jirgin ya ci gaba, kuma a kan saukowa na gaba direban ya yi gargadin:

- Zan rage gudu.

Babu wani abu da ya faru.

— Me kuka yi a lokacin birki na ƙarshe? - ya tambayi direban.

- To... ina bandaki...

- To, to, ku shiga bayan gida, ku yi abin da kuka yi idan muka sake sauka!

Injiniyan ya tafi bayan gida, kuma lokacin da direban ya yi gargaɗi: “Ina rage gudu,” sai ya watsar da ruwan. Tabbas, jirgin ya tsaya nan da nan.

Yanzu za su iya sake haifar da matsalar kuma suna buƙatar gano dalilin.

Bayan mintuna biyu sai suka ga kebul na birki na ingin (jirgin yana da injin daya a kowane karshen) an cire shi daga bangon katun wutar lantarki kuma yana kwance akan relay wanda ke sarrafa na'urar solenoid na bayan gida. An kunna, ya haifar da tsangwama a cikin kebul na birki, kuma tsarin kariya daga lalacewa kawai ya haɗa da birki na gaggawa.

Ƙofar da ta ƙi FORTRAN

Bayan 'yan watannin da suka gabata mun lura cewa haɗin yanar gizo a cikin babban yankin [wannan yana cikin Hawaii] yana samun sannu a hankali. Wannan na iya ɗaukar tsawon mintuna 10-15 sannan kuma ya sake faruwa kwatsam. Bayan wani lokaci, abokin aikina ya koka da ni cewa haɗin yanar gizon yana cikin babban ƙasa a general baya aiki. Yana da wasu lambar FORTRAN da ke buƙatar kwafi zuwa na'ura a cikin ƙasa, amma hakan bai iya ba saboda "cibiyar sadarwa ba ta daɗe da isa don ƙaddamar da FTP ɗin ba."

Ee, ya bayyana cewa gazawar hanyar sadarwa ta faru lokacin da abokin aiki yayi ƙoƙarin FTP fayil tare da lambar tushe a cikin FORTRAN zuwa na'ura a babban ƙasa. Mun yi ƙoƙari mu adana fayil ɗin: sannan an kwafi shi lafiyayye (amma na'urar da aka yi niyya ba ta da mai ɗaukar kaya, don haka ba a warware matsalar ba). Daga karshe mun “raba” lambar FORTRAN zuwa kanana kadan sannan mu aika su daya bayan daya. Yawancin guntuwar an kwafi ba tare da matsala ba, amma kaɗan ba su wuce ba, ko kuma sun wuce yawa yunkurin.

Lokacin da muka bincika ɓangarorin matsala, mun gano cewa suna da wani abu gama gari: dukkansu sun ƙunshi tubalan sharhi waɗanda suka fara kuma suka ƙare tare da layukan da suka ƙunshi babban birni C (a matsayin abokin aiki ya fi son yin sharhi a FORTRAN). Mun aika da ƙwararrun cibiyar sadarwa a cikin ƙasa kuma mun nemi taimako. Tabbas, sun so su ga samfuran fayilolinmu waɗanda ba za a iya canjawa wuri ta hanyar FTP ba... amma wasiƙunmu ba su isa gare su ba. A karshe mun zo da sauki kwatantayadda fayilolin da ba za a iya canjawa ba suke kama. Yayi aiki Wataƙila ba shi da daraja!]

A ƙarshe mun yi nasarar gano shi. Kwanan nan an shigar da sabuwar ƙofa tsakanin ɓangaren jami'ar mu da cibiyar sadarwa ta ƙasa. Yana da BABBAN wahala wajen watsa fakiti waɗanda ke ɗauke da maimaitawar manyan manyan haruffa C! Kadan daga cikin waɗannan fakitin na iya ɗaukar duk albarkatun ƙofa kuma su hana yawancin fakitin shiga. Mun kai ƙara ga maƙeran ƙofa... kuma suka amsa: “Oh, eh, kuna fuskantar kwaro na maimaita C! Mun riga mun san shi.” A ƙarshe mun warware matsalar ta hanyar siyan sabuwar ƙofa daga wani masana'anta (a cikin tsaron tsohon, rashin iya canja wurin shirye-shiryen FORTRAN na iya zama fa'ida ga wasu!).

Lokuta masu wahala

Bayan 'yan shekarun da suka gabata, yayin da nake aiki akan ƙirƙirar tsarin ETL a cikin Perl don rage farashin gwajin gwaji na lokaci na 40, Ina buƙatar aiwatar da kusan kwanakin 000. Biyu daga cikinsu ba su ci jarabawar ba. Wannan bai dame ni da yawa ba saboda waɗannan kwanakin an ɗauke su ne daga bayanan da abokin ciniki ya samar wanda galibi, za mu ce, abin mamaki. Amma da na duba ainihin bayanan, sai ya zamana cewa waɗannan ranakun sun kasance 1 ga Janairu, 2011 da 1 ga Janairu, 2007. Na yi tunanin cewa wannan kwaro yana cikin shirin da na rubuta, amma ya nuna cewa shekaru 30 ke nan. tsoho. Wannan na iya zama abin ban mamaki ga waɗanda ba su san yanayin yanayin software ba. Saboda shawarar da wani kamfani ya daɗe don samun kuɗi, abokin ciniki ya biya ni in gyara wani kwaro da wani kamfani ya bullo da shi ta hanyar haɗari, ɗayan kuma da gangan. Don ku fahimci abin da nake magana akai, Ina buƙatar yin magana game da kamfani wanda ya ƙara fasalin da ya ƙare ya zama kwaro, da kuma wasu wasu abubuwa masu ban sha'awa waɗanda suka ba da gudummawa ga ɓoyayyen kwaro na gyarawa.

A zamanin da, kwamfutocin Apple wani lokaci za su sake saita kwanan watan zuwa Janairu 1, 1904. Dalilin ya kasance mai sauƙi: ya yi amfani da "agogon tsarin" mai ƙarfin baturi don kiyaye kwanan wata da lokaci. Menene ya faru lokacin da baturin ya mutu? Kwamfutoci sun fara bin diddigin kwanan wata da adadin daƙiƙai tun farkon wani zamani. A zamaninmu muna nufin ainihin kwanan watan, kuma ga Macintoshes shine 1 ga Janairu, 1904. Kuma bayan baturin ya mutu, an sake saita kwanan wata zuwa ƙayyadaddun. Amma me ya sa hakan ya faru?

A baya can, Apple ya yi amfani da 32 ragowa don adana adadin daƙiƙa tun lokacin asali. Daya bit iya adana daya daga biyu dabi'u - 1 ko 0. Biyu ragowa iya ajiye daya daga hudu dabi'u: 00, 01, 10, 11. Uku ragowa - daya darajar daga takwas: 000, 001, 010, 011, 100 , 101, 110, 111, da dai sauransu. Kuma 32 na iya adana ɗaya daga cikin ƙimar 232, wato, 4 seconds. Don kwanakin Apple, wannan yayi daidai da shekaru 294, don haka tsofaffin Macs ba za su iya ɗaukar kwanakin bayan 967 ba. Kuma idan batirin tsarin ya mutu, za a sake saita kwanan wata zuwa daƙiƙa 296 tun farkon zamanin, kuma dole ne ka saita kwanan wata da hannu duk lokacin da ka kunna kwamfutar (ko har sai kun sayi sabon baturi).

Duk da haka, shawarar da Apple ya yi na adana kwanakin a matsayin dakika tun lokacin zamanin yana nufin cewa ba za mu iya kula da kwanakin kafin zamanin ba, wanda ke da sakamako mai nisa, kamar yadda za mu gani. Apple ya gabatar da fasali, ba kwaro ba. Daga cikin wasu abubuwa, wannan yana nufin cewa tsarin aiki na Macintosh ba shi da kariya ga "kwarorin ƙarni" (wanda ba za a iya faɗi game da aikace-aikacen Mac da yawa waɗanda ke da nasu tsarin kwanan wata don ƙetare ƙuntatawa).

Ci gaba. Mun yi amfani da Lotus 1-2-3, IBM's "Killer Application" wanda ya taimaka wajen ƙaddamar da juyin juya halin PC, kodayake kwamfutocin Apple suna da VisiCalc, wanda ya sa kwamfutar ta yi nasara. A gaskiya, idan 1-2-3 bai bayyana ba, da wuya PCs su tashi, kuma tarihin kwamfutoci na sirri zai iya tasowa daban. Lotus 1-2-3 ba daidai ba ya bi da 1900 a matsayin shekarar tsalle. Lokacin da Microsoft ya fitar da maƙunsar bayanai na farko, Multiplan, ya ɗauki ɗan ƙaramin kaso na kasuwa. Kuma lokacin da suka ƙaddamar da aikin na Excel, sun yanke shawarar ba kawai don kwafin layin layi da tsarin suna daga Lotus 1-2-3 ba, har ma don tabbatar da dacewa da kwaro ta hanyar bi da 1900 da gangan a matsayin shekara ta tsalle. Wannan matsalar har yanzu tana nan. Wato, a cikin 1-2-3 wannan kwaro ne, amma a cikin Excel yanke shawara ne mai hankali wanda ya tabbatar da cewa duk masu amfani da 1-2-3 zasu iya shigo da teburin su cikin Excel ba tare da canza bayanan ba, koda kuwa ba daidai bane.

Amma akwai wata matsala. Da farko, Microsoft ya saki Excel don Macintosh, wanda bai gane kwanakin kafin Janairu 1, 1904. Kuma a cikin Excel, Janairu 1, 1900 an dauke shi farkon zamanin. Don haka, masu haɓakawa sun yi canji ta yadda shirin su ya gane nau'in zamanin da adana bayanai a cikin kansa daidai da lokacin da ake so. Microsoft har ma ya rubuta labarin bayani game da wannan. Kuma wannan shawarar ta haifar da bugu na.

Tsarin ETL na ya karɓi maƙunsar bayanai na Excel daga abokan ciniki waɗanda aka ƙirƙira akan Windows, amma kuma ana iya ƙirƙira su akan Mac. Saboda haka, farkon zamanin a cikin tebur zai iya zama ko dai Janairu 1, 1900, ko Janairu 1, 1904. Yadda za a gano? Tsarin fayil ɗin Excel yana nuna mahimman bayanai, amma parser ɗin da na yi amfani da shi bai nuna shi ba (yanzu yana aikatawa), kuma yana ɗauka cewa kun san zamanin don takamaiman tebur. Wataƙila zan iya ɗaukar ƙarin lokaci don fahimtar tsarin binary na Excel da aika faci ga marubucin parser, amma ina da abubuwa da yawa da zan yi wa abokin ciniki, don haka na yi sauri na rubuta heuristic don tantance zamanin. Ta kasance mai sauki.

A cikin Excel, ana iya wakilta ranar 5 ga Yuli, 1998 a cikin tsarin "07-05-98" (tsarin Amurka mara amfani), "Jul 5, 98", "Yuli 5, 1998", "5-Yuli-98" ko wani tsarin kuma mara amfani (abin ban mamaki, ɗayan tsarin da sigar Excel na ba ta ba shine ISO 8601). Duk da haka, a cikin tebur, an adana kwanan wata da ba a tsara ba a matsayin ko dai "35981" don zamanin-1900 ko "34519" don zamanin-1904 (lambobin suna wakiltar adadin kwanakin tun zamanin). Na yi amfani da mai sauƙi mai sauƙi don cire shekara daga ranar da aka tsara, sannan na yi amfani da fassarar Excel don cire shekara daga kwanan wata da ba a tsara ba. Idan duka dabi'u sun bambanta da shekaru 4, to, na san cewa ina amfani da tsarin zamani-1904.

Me yasa ban yi amfani da tsarar ranakun ba? Domin ana iya tsara ranar 5 ga Yuli, 1998 a matsayin "Yuli, 98" tare da ranar da aka rasa. Mun karɓi tebur daga kamfanoni da yawa waɗanda suka ƙirƙira su ta hanyoyi daban-daban cewa ya rage namu (a cikin wannan yanayin, ni) don gano kwanakin. Bayan haka, idan Excel yayi daidai, to ya kamata mu!

A lokaci guda na ci karo da 39082. Bari in tunatar da ku cewa Lotus 1-2-3 ya ɗauki 1900 a matsayin tsalle-tsalle, kuma an maimaita wannan da aminci a cikin Excel. Kuma tun da wannan ya ƙara kwana ɗaya zuwa shekara ta 1900, yawancin ayyukan lissafin kwanan wata na iya yin kuskure ga wannan ranar. Wato, 39082 zai iya kasancewa ranar 1 ga Janairu, 2011 (a kan Macs) ko Disamba 31, 2006 (a kan Windows). Idan "shekara parser" na fitar da shekara ta 2011 daga ƙimar da aka tsara, to komai yana da kyau. Amma tun da mai binciken Excel bai san menene zamanin da ake amfani da shi ba, ya ɓace zuwa zamanin-1900, yana dawowa shekara ta 2006. Aikace-aikacena ya ga cewa bambancin ya kasance shekaru 5, ya ɗauki shi kuskure, shigar da shi, kuma ya dawo da ƙima mara kyau.

Don samun kusa da wannan, na rubuta wannan (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

Sannan kuma an tantance duk kwanakin 40 daidai.

A tsakiyar manyan ayyukan bugawa

A farkon shekarun 1980, mahaifina ya yi aiki a Fasahar Adana, rarrabuwar da ba ta da tushe a yanzu wacce ta ƙirƙiri abubuwan sarrafa tef da tsarin huhu don ciyar da tef mai sauri.

Sun sake fasalin injinan ne ta yadda za su samu “A” guda daya na tsakiya da ke da alaka da “B” guda bakwai, kuma karamar OS da ke cikin RAM da ke sarrafa “A” za ta iya wakilta karantawa da rubuta ayyukan ga dukkan injin “B”.

A duk lokacin da aka fara “A”, ya zama dole a saka floppy disk a cikin mashin ɗin da ke da alaƙa da “A” don loda tsarin aiki cikin ƙwaƙwalwar ajiyarsa. Ya kasance na daɗaɗɗen gaske: an samar da wutar lantarki ta microcontroller 8-bit.

Masu sauraro da aka yi niyya don irin wannan kayan aiki sune kamfanoni masu manyan ɗakunan ajiya - bankuna, sarƙoƙi, da sauransu - waɗanda ke buƙatar buga alamun adireshi da yawa ko bayanan banki.

Abokin ciniki ɗaya ya sami matsala. A tsakiyar aikin bugawa, ɗayan takamaiman “A” na iya dakatar da aiki, yana haifar da duka aikin ya tsaya. Don dawo da aikin tuƙi, ma'aikatan sun sake yin komai. Kuma idan wannan ya faru a tsakiyar aikin na sa'o'i shida, to, an yi asarar lokaci mai yawa na lokaci mai tsada na kwamfuta kuma tsarin aikin gaba daya ya lalace.

An aika da masu fasaha daga Fasahar Adanawa. Amma duk da ƙoƙarin da suka yi, sun kasa haifar da kwaro a ƙarƙashin yanayin gwaji: da alama yana faruwa a tsakiyar manyan ayyukan bugawa. Matsalar ba kayan aikin ba ne, sun maye gurbin duk abin da za su iya: RAM, microcontroller, floppy drive, kowane ɓangaren da ake iya ɗauka na tef ɗin - matsalar ta ci gaba.

Daga nan sai masu fasaha suka kira hedkwatar suka kira gwani.

Masanin ya kama kujera da kofi, ya zauna a dakin kwamfuta - a wancan lokacin akwai dakunan da aka keɓe don kwamfutoci - kuma yana kallon yadda ma'aikatan ke yin layi da babban aikin bugawa. Masanin yana jiran gazawar ta faru - kuma ya yi. Kowa ya kalli Masanin, amma bai san dalilin da ya sa hakan ya faru ba. Don haka ya ba da umarnin a sake yin jerin gwano, kuma duk ma’aikata da masu fasaha suka koma bakin aiki.

Masanin ya sake zama a kujera ya fara jiran rashin nasara. Kimanin awanni shida suka shude kuma gazawar ta faru. Kwararren ba shi da ra'ayi kuma, sai dai duk abin da ya faru a cikin daki cike da mutane. Ya ba da umarnin a sake aikin, ya koma ya zauna ya jira.

Ta hanyar gazawar ta uku, Masanin ya lura da wani abu. Rashin nasarar ya faru ne lokacin da ma'aikata suka canza kaset a cikin motar waje. Haka kuma, gazawar ta faru ne da zarar daya daga cikin ma’aikatan ya bi ta wani tile a kasa.

An yi benen da aka tashe da fale-falen aluminium wanda aka shimfiɗa a tsayin inci 6 zuwa 8. Wayoyi da yawa daga kwamfutoci sun yi gudu a ƙarƙashin bene mai ɗagawa don hana kowa taka wata muhimmiyar igiya da gangan. An shimfiɗa fale-falen fale-falen sosai don hana tarkace shiga ƙarƙashin bene mai ɗagawa.

Masanin ya gane cewa daya daga cikin tayal ya lalace. Lokacin da ma'aikaci ya taka kusurwar sa, gefuna na tayal ɗin ya shafa akan tiles ɗin da ke kusa. Sassan robobin da suka haɗa fale-falen su ma sun shafa tare da su, wanda ya haifar da tsattsauran ra'ayi wanda ya haifar da tsangwama ga mitar rediyo.

A yau, RAM ya fi kariya daga tsoma bakin mitar rediyo. Amma a wadannan shekarun ba haka lamarin yake ba. Masanin ya fahimci cewa wannan tsangwama ya rushe ƙwaƙwalwar ajiya, kuma tare da shi aikin tsarin aiki. Ya kira sabis na tallafi, ya ba da umarnin sabbin tayal, ya sanya su da kansa, kuma matsalar ta ɓace.

Ruwan ruwa ya yi yawa!

Labarin ya faru ne a cikin dakin uwar garken, a bene na hudu ko na biyar na ofis a Portsmouth (Ina tsammanin), a cikin tashar jiragen ruwa.

Wata rana uwar garken Unix mai babban rumbun adana bayanai ta fado. Suka sake yi masa, amma cikin farin ciki ya ci gaba da faduwa akai-akai. Mun yanke shawarar kiran wani daga sabis na tallafi.

Mutumin da ke goyon bayan ... Ina tsammanin sunansa Mark, amma wannan ba kome ba ... Ban tsammanin na san shi ba. Ba komai, da gaske. Bari mu tsaya tare da Mark, lafiya? Mai girma.

Don haka, 'yan sa'o'i kadan daga baya Mark ya isa (ba shi da nisa daga Leeds zuwa Portsmouth, kun sani), ya kunna uwar garken kuma duk abin ya yi aiki ba tare da matsala ba. Tallafi na yau da kullun, abokin ciniki yana jin haushi sosai game da shi. Alama yana duba fayilolin log ɗin kuma bai sami wani abu mara kyau ba. Don haka Mark ya dawo cikin jirgin (ko kowane irin yanayin sufuri da ya zo, zai iya zama gurgu saniya ga duk abin da na sani... ta wata hanya, ba kome, lafiya?) kuma ya koma Leeds, yana ɓata. ranar.

A wannan maraice uwar garken ta sake yin karo. Labarin daya ne... uwar garken baya tashi. Mark yana ƙoƙarin taimakawa daga nesa, amma abokin ciniki ba zai iya fara uwar garken ba.

Wani jirgin kasa, bas, lemun tsami meringue ko wani abin banza, kuma Mark ya dawo Portsmouth. Duba, uwar garken takalma ba tare da wata matsala ba! Abin al'ajabi. Mark yana ɗaukar sa'o'i da yawa yana bincika cewa komai yana cikin tsari tare da tsarin aiki ko software kuma ya tashi don Leeds.

Kusan tsakiyar rana uwar garken ya rushe (a sauƙaƙe!). Wannan lokacin yana da kyau a kawo kayan tallafin kayan aiki don maye gurbin sabar. Amma a'a, bayan kamar sa'o'i 10 shima faduwa.

Lamarin ya sake maimaita kansa na kwanaki da yawa. Sabar tana aiki, ta fashe bayan kusan awanni 10 kuma baya farawa na awanni 2 masu zuwa. Sun duba sanyaya, ƙwaƙwalwar ajiyar ƙwaƙwalwar ajiya, sun bincika komai, amma ba su sami komai ba. Daga nan fa hadurran suka tsaya.

Sati ya wuce babu damuwa... kowa yayi murna. Murna har sai an sake farawa duka. Hoton daya ne. 10 hours of aiki, 2-3 hours of downtime ...

Sai wani (Ina tsammanin sun gaya mani cewa wannan mutumin ba ruwansa da IT) ya ce:

"Akwai ruwa!"

Motsin ya ci karo da kallo babu komai, kuma hannun wani ya yi shakkar maballin kiran tsaro.

"Yana daina aiki tare da tide."

Wannan zai zama kamar ra'ayi ne na waje gaba ɗaya ga ma'aikatan tallafi na IT, waɗanda ba za su iya karanta Littafin Shekarar Tide ba yayin da suke zaune don kofi. Sun bayyana cewa hakan ba zai iya nasaba da guguwar ta ko wace hanya ba, domin uwar garken ta shafe mako guda tana aiki ba tare da an samu matsala ba.

"Makon da ya gabata ruwan ya yi kadan, amma wannan makon ya yi yawa."

Kalmomi kaɗan ga waɗanda ba su da lasisin jirgin ruwa. Tides ya dogara da zagayowar wata. Kuma yayin da duniya ke jujjuya, kowane sa'o'i 12,5 jan hankali na Rana da Wata yana haifar da igiyar ruwa. A farkon zagayowar na sa'o'i 12,5 akwai hawan ruwa mai yawa, a tsakiyar zagayowar akwai ebb, kuma a karshen akwai babban igiyar ruwa kuma. Amma yayin da kewayar wata ke canjawa, haka kuma bambancin raƙuman ruwa da ƙarami ke faruwa. Lokacin da wata ya kasance tsakanin Rana da Duniya ko kuma a gefe guda na Duniya (cikakken wata ko babu wata), muna samun tides na Syzygyn - magudanar ruwa mafi girma da mafi ƙasƙanci. A rabin wata muna samun tides quadrature - mafi ƙasƙanci tides. Bambanci tsakanin iyakar biyu yana raguwa sosai. Zagayowar wata yana kwanaki 28: syzygian - quadrature - syzygian - quadrature.

Lokacin da aka bayyana ma’aikatan injiniyoyin ma’aikatan jirgin, nan da nan suka yi tunanin cewa suna bukatar a kira ‘yan sanda. Kuma quite ma'ana. Amma sai ya zama mutumin yayi gaskiya. Makonni biyu da suka gabata, wani mai rugujewa ya taho kusa da ofishin. Duk lokacin da igiyar ruwa ta ɗaga shi zuwa wani tsayi, tashar radar jirgin ta ƙare a matakin bene na ɗakin uwar garken. Kuma radar (ko kayan yaƙi na lantarki, ko wani abin wasan yara na soja) ya haifar da hargitsi a cikin kwamfutoci.

Manufar jirgin don roka

An ba ni aikin jigilar babban (kimanin layuka dubu 400) sarrafa harba roka da tsarin sa ido zuwa sabbin nau'ikan tsarin aiki, mai tarawa da harshe. Mafi daidai, daga Solaris 2.5.1 zuwa Solaris 7, kuma daga Verdix Ada Development System (VADS), wanda aka rubuta a Ada 83, zuwa tsarin Rational Apex Ada, wanda aka rubuta a Ada 95. VADS ya sayi ta Rational, kuma samfurinsa ya kasance. wanda bai ƙare ba, kodayake Rational yayi ƙoƙarin aiwatar da sigogin fakitoci na musamman na VADS don sauƙaƙe sauyi zuwa mai tarawa na Apex.

Mutane uku ne suka taimake ni kawai aka haɗa lambar da tsafta. Sai da aka dauki sati biyu. Sannan na yi aiki da kaina don yin aiki da tsarin. A takaice dai, shi ne mafi munin gine-gine da aiwatar da tsarin software da na ci karo da shi, don haka sai da aka kwashe wata biyu ana kammala tashar. Daga nan aka gabatar da tsarin don yin gwaji, wanda ya ɗauki wasu watanni da yawa. Nan da nan na gyara kurakuran da aka samu yayin gwaji, amma lambar su ta ragu da sauri (lambar tushe tsarin samarwa ne, don haka aikinta ya yi aiki sosai amintacce, kawai dole ne in cire kwaroron da suka taso yayin daidaitawa ga sabon mai tarawa). Daga ƙarshe, lokacin da komai yana aiki yadda ya kamata, an canza ni zuwa wani aikin.

Kuma a ranar Juma'a kafin godiya, wayar ta yi kara.

Ya kamata a gwada harba roka a cikin kimanin makonni uku, kuma yayin gwajin dakin gwaje-gwaje na kirgawa, an toshe jerin umarni. A cikin rayuwa ta ainihi, wannan zai zubar da gwajin, kuma idan toshewar ta faru a cikin 'yan dakiku na fara injin, ayyuka da yawa da ba za a iya jurewa ba zasu faru a cikin tsarin taimakon, wanda zai buƙaci dogon shiri mai tsada da roka. Da ba a fara ba, amma da yawa mutane sun damu sosai game da asarar lokaci da yawa, kuɗi mai yawa. Kada ka bari kowa ya gaya maka cewa Ma'aikatar Tsaro tana kashe kuɗi ba tare da gangan ba - Ban taɓa saduwa da manajan kwangila wanda bai sanya kasafin kuɗi na farko ko na biyu ba, ya biyo bayan jadawalin.

A cikin watannin da suka gabata, an gudanar da wannan ƙalubalen ƙidayar ɗaruruwan lokuta a cikin bambance-bambancen da yawa, tare da ƴan ƴan ƙwaƙƙwal. Don haka yiwuwar faruwar wannan abu ya yi ƙasa kaɗan, amma sakamakonsa yana da matuƙar mahimmanci. Haɓaka waɗannan abubuwan biyu, kuma za ku fahimci cewa labarin ya annabta ɓarnar makon hutu a gare ni da da yawa na injiniyoyi da manajoji.

Kuma an kula da ni a matsayina na wanda ya ba da tsarin.

Kamar yadda yake tare da mafi yawan tsarin tsaro-mafi mahimmanci, an shigar da sigogi da yawa, don haka yana da sauƙin gano ƴan layukan lambobin da aka aiwatar kafin tsarin ya fado. Kuma ba shakka, babu wani sabon abu game da su; an sami nasarar aiwatar da maganganu iri ɗaya a zahiri sau dubbai yayin gudu ɗaya.

Mun kira mutanen daga Apex zuwa Rational saboda su ne suka kirkiro na'ura kuma wasu abubuwan da suka ci gaba sun kira su a cikin lambar tuhuma. Su (da kowa da kowa) sun ji daɗin cewa akwai buƙatar a kai ga tushen matsalar da ke da mahimmancin ƙasa.

Tun da babu wani abu mai ban sha'awa a cikin mujallolin, mun yanke shawarar ƙoƙarin sake haifar da matsala a cikin dakin gwaje-gwaje na gida. Wannan ba abu ne mai sauƙi ba tunda abin ya faru kusan sau ɗaya a cikin gudu 1000. Ɗaya daga cikin dalilan da ake zargi shine kira zuwa aikin mutex mai haɓaka mai sayarwa (ɓangare na kunshin ƙaura VADS) Unlock bai kai ga buɗewa ba. Zaren sarrafawa wanda ake kira aikin yana sarrafa saƙon bugun zuciya, wanda a zahiri ke zuwa kowane daƙiƙa. Mun daga mitar zuwa 10 Hz, wato, sau 10 a cikin dakika daya, kuma muka fara gudu. Bayan kusan awa daya tsarin ya kulle kansa. A cikin log ɗin, mun ga cewa jerin saƙonnin da aka yi rikodin sun kasance daidai da lokacin gwajin da ba a yi nasara ba. Mun yi ƙarin gudu da yawa, tsarin an toshe shi akai-akai 45-90 mintuna bayan farawa, kuma duk lokacin da log ɗin ya ƙunshi hanya iri ɗaya. Duk da cewa muna gudanar da lambobi daban-daban a fasaha - mitar saƙon ya bambanta - halayen tsarin iri ɗaya ne, don haka muna da tabbacin cewa wannan yanayin ɗaukar nauyi yana haifar da matsala iri ɗaya.

Yanzu muna buƙatar gano inda ainihin toshewar ya faru a cikin jerin maganganu.

Wannan aiwatar da tsarin ya yi amfani da tsarin ɗawainiya na Ada, kuma ya yi amfani da shi mara kyau. Aiyuka wani babban mataki ne da ake aiwatarwa a lokaci guda a cikin Ada, wani abu kamar zaren aiwatarwa, kawai an gina shi cikin harshen kansa. Lokacin da ayyuka guda biyu ke buƙatar sadarwa, suna "tsara mai aiki", suna musayar bayanan da suka dace, sannan su dakatar da aikin kuma su koma ga aiwatar da ayyukansu masu zaman kansu. Duk da haka, an aiwatar da tsarin daban. Bayan aikin da aka yi niyya ya sake komawa, aikin da aka yi niyya ya sake mayar da shi da wani aiki, wanda ya sake komawa da aiki na uku, da sauransu har sai an kammala wani aiki. Bayan haka, an kammala duk waɗannan ayyukan kuma kowane aiki ya koma ga aiwatar da shi. Wato, muna ma'amala da tsarin aikin kira mafi tsada a duniya, wanda ya dakatar da tsarin "multitasking" gaba ɗaya yayin da yake sarrafa ɓangaren bayanan shigarwa. Kuma kafin wannan bai haifar da matsala ba kawai saboda abubuwan da ake amfani da su sun yi ƙasa sosai.

Na bayyana wannan tsarin aikin saboda lokacin da aka nemi sakewa ko ake tsammanin kammalawa, "canjin aiki" na iya faruwa. Wato processor na iya fara sarrafa wani aiki da ke shirin aiwatarwa. Ya bayyana cewa lokacin da wani aiki ya shirya don sake yin aiki da wani aiki, wani aiki na daban zai iya fara aiwatarwa, kuma a ƙarshe sarrafawa ya dawo zuwa farkon aikin. Kuma wasu al'amura na iya faruwa waɗanda ke sa aikin ya canza; ɗaya daga cikin irin wannan taron shine kira zuwa aikin tsarin, kamar bugu ko aiwatar da ɓata lokaci.

Don fahimtar wane layi na lambar ke haifar da matsala, Ina buƙatar nemo hanyar da za a yi rikodin ci gaba ta hanyar jerin maganganu ba tare da kunna maɓallin aiki ba, wanda zai hana haɗari daga faruwa. Don haka na kasa cin gajiya Put_Line()don guje wa yin ayyukan I/O. Zan iya saita ma'auni ko wani abu makamancin haka, amma ta yaya zan iya ganin ƙimarsa idan ba zan iya nuna shi akan allon ba?

Har ila yau, lokacin da aka bincika log ɗin, ya bayyana cewa, duk da daskarewa a cikin sarrafa saƙonnin bugun zuciya, wanda ya toshe duk ayyukan I / O na tsarin kuma ya hana sauran sarrafawa, an ci gaba da aiwatar da wasu ayyuka masu zaman kansu. Wato ba a toshe aikin gaba ɗaya ba, kawai jerin ayyuka (masu mahimmanci).

Wannan ita ce ma'anar da ake buƙata don kimanta maganganun toshewa.

Na yi kunshin Ada wanda ke ƙunshe da ɗawainiya, nau'in ƙididdiga, da madaidaicin nau'in duniya. An ɗaure tazara masu yawa zuwa takamaiman maganganu na jerin matsala (misali. Incrementing_Buffer_Index, Locking_Mutex, Mutex_Unlocked), sa'an nan kuma shigar da furci na aiki a cikinsa wanda ya ba da ƙidayar da ta dace da ma'auni na duniya. Tunda lambar abubuwan duk wannan kawai tana adana ma'auni a cikin ƙwaƙwalwar ajiya, sauyawar ɗawainiya sakamakon aiwatar da shi ya yi wuya. Mun kasance da farko shakku game da maganganun da za su iya canza aikin, tun da toshewar ya faru a kan aiwatarwa maimakon komawa lokacin da aka mayar da aikin baya (saboda dalilai da yawa).

Aikin bin diddigin yana gudana a cikin madauki kuma ana bincika lokaci-lokaci don ganin ko darajar canjin duniya ta canza. Tare da kowane canji, an adana ƙimar zuwa fayil. Sai gajeriyar jira da sabon cak. Na rubuta madaidaicin zuwa fayil ɗin saboda an aiwatar da aikin ne kawai lokacin da tsarin ya zaɓi shi don aiwatarwa lokacin canza aikin a yankin matsala. Duk abin da ya faru a cikin wannan aikin ba zai shafi wasu ayyuka da aka toshe ba.

An sa ran cewa lokacin da tsarin ya kai ga aiwatar da lambar matsala, za a sake saita canjin duniya lokacin motsawa zuwa kowane magana na gaba. Sa'an nan wani abu zai faru wanda zai sa aikin ya canza, kuma tun da lokacin aiwatarwarsa (10 Hz) ya yi ƙasa da na aikin kulawa, mai duba zai iya kama darajar canjin duniya ya rubuta shi. A cikin yanayi na al'ada, zan iya samun jerin maimaitawa na juzu'in ƙididdiga: ƙimar ƙarshe na mai canzawa a lokacin canjin ɗawainiya. Lokacin rataye, canjin duniya bai kamata ya sake canzawa ba, kuma ƙimar ƙarshe da aka rubuta za ta nuna wace furci bai cika ba.

Na gudanar da lambar tare da bin diddigi. Ya daskare. Kuma saka idanu yayi aiki kamar aikin agogo.

Logon ya ƙunshi jerin da ake tsammani, wanda ƙima ta katse shi da ƙima da ke nuni da cewa an kira mutex Unlock, kuma ba a kammala aikin ba - kamar yadda yake tare da dubban kira na baya.

Injiniyoyin Apex sun kasance cikin zazzaɓi suna nazarin lambar su a wannan lokacin kuma sun sami wuri a cikin mutex inda, a zahiri, kulle zai iya faruwa. Amma yuwuwar sa ya ragu sosai, tunda kawai jerin abubuwan da ke faruwa a wani lokaci ne kawai zai iya haifar da toshewa. Dokar Murphy, mutane, Dokar Murphy ce.

Don kare yanki na lambar da nake buƙata, na maye gurbin kiran aikin mutex (wanda aka gina a saman aikin mutex na OS) tare da ƙaramin fakitin Ada mutex na ƙasa don sarrafa damar mutex zuwa wancan yanki.

Na saka shi a cikin lambar kuma na yi gwajin. Sa'o'i bakwai bayan haka lambar tana aiki.

An ƙaddamar da lambara ga Rational, inda suka tattara ta, suka tarwatsa ta, kuma suka duba cewa ba ta yi amfani da hanyar da aka yi amfani da ita ba a cikin matsalolin ƙwanƙwasa.

Wannan shi ne mafi yawan cunkoson kodi game da aikina

An sake duba lambar, an haɗa sabbin fayilolin da za a iya aiwatarwa kuma an ƙaddamar da su don gwajin koma baya na yau da kullun. Makonni biyu bayan haka, gwajin kirgawa ya yi nasara kuma rokar ya tashi.

To, hakan yayi kyau, amma menene amfanin labarin?

Wata matsala ce mai banƙyama. Dubban ɗaruruwan layukan lambobin, aiwatar da layi ɗaya, fiye da dozin hanyoyin hulɗa, ƙarancin gine-gine da rashin aiwatarwa, musaya don tsarin shigar da miliyoyin daloli da aka kashe. Babu matsi, dama.

Ba ni kadai nake yin wannan matsalar ba, duk da cewa ina cikin tabo yayin da nake yin jigilar kaya. Amma duk da cewa na yi hakan, hakan ba yana nufin na fahimci duk dubunnan layukan layukan ba, ko ma na ƙwace su. Injiniyoyin kasar nan ne suka yi nazarce-nazarce da kade-kaden, amma da suka gaya min hasashensu kan musabbabin faduwar, sai da na kwashe rabin mintina kawai na karyata su. Kuma idan aka ce in nazarci ka’idojin, zan mika wa wani, domin a fili yake cewa wadannan injiniyoyin suna tafiya ba daidai ba. Sauti na girman kai? Eh, wannan gaskiya ne, amma na ƙi hasashe da buƙatun saboda wani dalili.

Na fahimci yanayin matsalar. Ban san ainihin inda abin ke faruwa ba ko kuma dalilin da ya sa, amma na san abin da ke faruwa.

Tsawon shekaru, na tara ilimi da gogewa da yawa. Na kasance ɗaya daga cikin majagaba na amfani da Ada kuma na fahimci fa'ida da rashin amfaninta. Na san yadda dakunan karatu na lokacin gudu Ada ke tafiyar da ayyuka da kuma magance aiwatar da a layi daya. Kuma na fahimci ƙananan shirye-shirye a matakin ƙwaƙwalwar ajiya, rajista da masu tarawa. Wato ina da zurfin ilimi a fannina. Kuma na yi amfani da su wajen gano musabbabin matsalar. Ba wai kawai na yi aiki a kusa da kwaro ba, na fahimci yadda zan same shi a cikin yanayin lokacin aiki mai mahimmanci.

Irin waɗannan labarun gwagwarmaya tare da code ba su da ban sha'awa sosai ga waɗanda ba su da masaniya da fasali da yanayin irin wannan gwagwarmaya. Amma waɗannan labarun suna taimaka mana mu fahimci abin da ake bukata don magance matsaloli masu wuyar gaske.

Don magance matsaloli masu wuyar gaske, kuna buƙatar zama fiye da mai tsara shirye-shirye. Kuna buƙatar fahimtar "ƙaddara" na lambar, yadda yake hulɗa da yanayinta, da kuma yadda yanayin da kansa yake aiki.

Sannan za ku sami naku ɓataccen makon biki.

Don ci gaba.

source: www.habr.com

Add a comment