Operaciumkolapso

El Vikipedio, la libera enciklopedio
Saltu al: navigado, serĉo

"Operaciumkolapso" estas situacio en kiu programo (ĉu aplikaĵo, ĉu parto de la operaciumo) ĉesas plenumi ĝian funkcion kaj ankaŭ ĉesas respondi al aliaj partoj de la sistemo. Ofte, la problemkaŭza programo aspektas kiel frostigita. Se tiu programo estas kritikema parto de la kerno de la operaciumo, la tuta komputilo riskas kolapsi (sistemkolapso).

Multaj kolapsoj estas la rezulto de la plenumado de nura komputila ordono, sed estas pluraj kaŭzoj de tiuj ĉi. Tipaj kaŭzoj estas la komandonombrilo kiu perdas la kontrolon pri la ĝusta ordonovojo, aŭ bufra superfluo kiu transskribas parton de programa kodo, pro antaŭa eraro. En ambaŭ kazoj estas sufiĉe normale por la procesoro provi plenumi arbitrarajn datojn aŭ memorvalorojn. Pro tio ke ĉiuj datoj estas eblaj, sed nur kelkaj en ili estas validaj ordonoj, tio ĉi ofte rezultas en nepermitata plenumado de la ordono. Oni povus diri ke la originala eraro en la kodo, kiu ĝenis la komandonombrilon, kaŭzis la problemon, sed la vera eraro estas malpermesata ordono, eble iom poste. La arto de senerarigi tiajn kolapsojn estas kombini la veran kaŭzon de la kolapso kun la kodo kiu interrompis la ĉenon de eventoj. Tio ofte tute ne estas klare, ĉar la originala kodo povas esti perfekte valida de la vidpunkto de la procesoro.

En malnovaj komputiloj, estis eble kaŭzi hardvaraj damaĝon per provi skribi al hardvaraj adresoj ekster la ĉefa memoro de la sistemo. Plenumado de arbitraraj datoj hazarde povas rezulti en ĉeso de la ekranbildo. Tio estas konsiderata gravan operaciumkolapson.

Alia kaŭzo de kolapsoj estas komunikproblemo inter procezoj. Unu proceso povas sendi signalon al dua proceso kaj ĉesi plenumadon ĝis kiam ĝi ricevas respondon. Se la dua procezo estas okupata, la signalo devas atendi ĝis kiam la proceso povas ĝin trakti. Sed en la kazo ke la dua procezo estas okupata sendi signalon al la unua procezo, tiam ambaŭ devus senfine atendi je la alia por respondi la signalon, kaj ambaŭ neniam vidus la signalon de la alia procezo. Se la procezoj estas neinterrompeblaj, ili pendos kaj devas esti finataj. Se almenaŭ unu de la procezoj estas kritekema kerna procezo, la tuta sistemo riskas kolapsi kaj devas esti reŝargata.

Kolapsoj de aplikaĵoj[redakti | redakti fonton]

Aplikaxjo ĝenerale kolapsas kiam ĝi plenumas operacion kiu ne estas permesata de la operaciumo. La operaciumo tiam finas la aplikaĵon.

Tipaj eraroj kiuj rezultas en kolapsoj de aplikaĵoj estas:

  • provi legi aŭ skribi en memoro kiu ne estas asignita por tiu aplikaĵo
  • provi plenumi privilegitajn aŭ nevalidajn komandojn
  • neatendita situacio aŭ malbona kodo kiu rezultas en senfina iteracio dum plenumado
  • provi plenumi I/O operaciojn sur hardvaraj aranĝaĵoj de kiuj la aplikaĵo ne havas atingpermeson
  • pasigi nevalidajn argumentojn al kernovokoj
  • provi atingi aliajn sistemrisurcojn de kiu la aplikaĵo ne havas atingpermeson

Retejaj kolapsoj[redakti | redakti fonton]

Kiam retejo kolapsas, ĝi ne plu estas atingebla. La nura maniero por rigardi ĝin, estas per kaŝmemorigita paĝo. Ekzemple, kiam Vikipedio kolapsis la 3an de januaro 2006, ĝia hejmpaĝo restis rigardebla en kaŝmemoro kiel Google Cache.

Operaciumkolapso[redakti | redakti fonton]

Operaciumo ofte kolapsas kiam aparatara escepto okazas kiun ne povas esti traktata, kiel aparatara escepto okazante en la operaciumo mem.

En ideala mondo, bonskribitaj operaciumoj ne povus kolapsi pro aktiveco en la nivelo de aplikaĵoj. Tamen, ĝis 1993, kiam oni lanĉis Vindozo NT 3.1 tio ne estis la kazo por la averaĝa komputilo. Industriaj sistemoj jam dum pli longe enĝojas tiun ĉi specon de stabileco.

Operaciumoj bazigitaj je Unikso kolapsas malpli ofte ol tiuj kiuj estas derivitaj de aliaj fontoj. Kelkaj ekzemploj de operaciumoj bazigitaj je Unikso inkludas Mac OS X, Linukso, BSD kaj NEXTSTEP.

Aktualaj versioj de Vindozo estas pli stabilaj ol antaŭaj versioj. Vindozo XP estas 32-bita operaciumo kaj havas versiojn por hejma kaj afereca uzado. Antaŭe, la nuraj disponeblaj Windows operaciumoj designitaj por hejma uzado estis hibridaj 16-bitaj kaj 32-bitaj, kiel Vindozo 95, Vindozo 98/98SE kaj Vindozo ME, kiuj ne havis la stabilecon de memprotektanta operaciumo. Kelkaj hejmaj uzantoj tamen uzis Vindozo 2000, malgraŭ ĝi originale estis celdirektita al la afereca foiro. Ekde la lanĉado de Windows XP Home, hejmaj uzantoj povas ĝui multe pli stabilan operaciumon.