Jacek Piszczek napisał(a):
>
Wiele struktur w AmigaOS od dawna nie przydziela się już
> przez AllocMem(), więc przynajmniej w stosunku do nich
> śledzenie kto je zaalokował i czy ten ktoś jeszcze żyje jest
> banalnie proste (...)
> Wiele, ale nie wszystkie.
Toteż nikt nie mówi o pełnym śledzeniu zasobów. Założyłbym się, że GrimReaper też nie będzie dawał rady idealnie posprzątać po padniętym tasku.
> Z AddLibrary() schody zaczną się przy
> bilbiotekach tworzonych dynamicznie - w końcu jeśli task, który
> je stworzył umarł, to i one powinny być usunięte, ale co jeśli
> inne programy tej biblioteki używają (dobrym przykładem są
> amistosy TCP).
A od czego mamy OpenCnt? Resource-tracking będzie wiedział kiedy można bezpiecznie usunąć bibliotekę.
> Segtrackera akurat używam i niestety nie zawsze
> się sprawdza. Mały memtrash i już się za dużo nie dowiemy.
No tak, na to to tylko ochrona pamięci może pomóc.
> Oczywiście można wyśledzić pewną część zasobów i jest to bardzo
> przydatne programiście, ale niestety w mojej opinii
> jednocześnie zbyt niepewne by robić z tego wielki feature dla
> użytkownika.
Ale obrona argumentem "po co skoro Pegasos się szybko rebootuje" jest IMHO żałosna. Dla mnie największą zaletą AOS4 jaką na razie w nim dostrzegłem jest GrimReaper. Widać, że ktoś naprawdę pomyślał co jest niezwykle upierdliwe w AmigaOS dla każdego programisty. Ile razy włączałeś Scouta, żeby głupi lock na pliku ubić czy wywalić bibliotekę, którą właśnie dewelopujesz, ale program się wywalił i jej nie zamknął grzecznie, więc OpenCnt został niezerowy i zwykły Flush nie skutkuje? To samo z oknami, ekranami, portami i całą masą innych zasobów, których śledzenie i ubijanie byłoby banałem i znacznie bezpieczniejsze niż operowanie Scoutem.
> A MorphOS ubijanie martwych aplikacji ma już znacznie lepsze
> niż MCP :P
I w tym kierunku proponuję dalszy rozwój MOSa prowadzić a nie dłubać ładniejsze gadżety w MUI czy nowe screensavery