> Просто потому, что программа ещё может побороться за свою живучесть Уточним: она сможет лишь *непредсказуемо* *поглюкавить*. Забив на обработку проблемной ситуации. Т.к. если на проблемную ситуацию не было забито или же сбоев в логике работы вообще не было - тогда откуда взяться краху? Это ж лишь дефолтный обработчик вызываемый при обнаружении откровенно неправильной работы программы.
> в рамках отведённых ей аппаратных ресурсов,
Нюню. Если уж вы такой умный, то намекну: если система многозадачная, ресурсы в ней могут потреблять много программ сразу, прикиньте? И, кстати, это как билетная касса: у вас могут все разобрать перед самым носом. И выпролетите. Гарантий обратного никто не даст. Даже если в общем случае вы придя к кассе и получаете ваш билет, и даже 10 раз подряд вы его получили, это еще на значит что в 11й раз они не кончатся у вас перед носом.
В сях, кстати, для повышения надежности работы программы можно хапнуть себе приличный кус памяти *заранее*, поюзать его и никому не отдавать, далее юзая уже его (можно выделять память более гранулярно уже из этого куска).
Это как с билетами. Вы можете забронировать билет заранее и твердо знать что тот билет - именно ваш, и никто его уже у вас не заберет. А можете надеяться на лучшее и переться наобум. Но можете при этом и обломаться, если все билеты раскупят до вас. Минус ессно "необходимость возни с бронированием" (выделение памяти заранее + свой аллокатор) и "переплата" (в плане сжирания ресурсов): чтобы не было шанса обломаться, надо выделить максимально необходимый кусок памяти сразу. И даже если часть памяти не требуется,но может потребоваться потом - отдавать ее низзя. По идее логика доступная даже неглупому школотенку. На примере с билетами, для особо непонятливых.
А на яве так сможете вообще? Или предполагается что Единственно Правильной логики встроенного аллокатора - хватит всем? ("совковая касса без услуги бронирования"). На сях кстати возможны и иные варианты логики - например периодические повторы попытки выделить память до успеха или таймаута считаемого фатальным, например. А на яве так сможете вообще? :)
> а не снести полсистемы (Xorg) из-за неподдерживаемой функциональности (крах).
Какой кондовый бред :). Не, изен, извини, конечно, но надежную систему твоего дизайна я бы юзать не стал.
P.S.: реально двинутые на надежности перцы программят примерно так: http://en.wikipedia.org/wiki/Immunity_Aware_Programming - это, конечно, сурово, но в некоторых местах надежности не бывает слишком много. Врядли вы оцените сбой например в софте микроконтроллера управляющего тормозами вашего авто? Или вы думаете что навороты типа антипробуксовочных и антиблокировочных систем - это такие аппаратные фичи? Ну да, щазз, потребный анализ ситуации с датчиков и принять решение может только микроконтроллер с своей фирмвариной. Приколитесь, написаной на си скорее всего (ну может на асме, но на голом асме нынче не модно в силу геморности и непортабельности). И, кстати, если бы такую же логику писали бы вы, на вашей яве - я бы вообще от такого авто держался за километр, а то глюки и баги в тормозной системе - как-то ссыкотная такая штука, а? Там обычно просто фирмварина проста как топор и вылизана до битика, глюкать тупо нечему ;).