А как насчет скорости ?
Ну, на спеке так не развернешься, как пишут... В любом случае кодер знает сколько памяти сожрет его прога. Значит и в запросах можно оперировать реальными числами. Т.е.
1. говоришь, что надо тебе 3х16кб страницы.
2. Ось говорит: на и вешает на эти 3 страницы флажок занято. при этом дает тебе номерок
3. говоришь "у меня всё"
и даешь ей номерок и код "у меня всё"
4. ось говорит ОК и снимает флажки занято.
dll
принцип тот же, нужен тебе dll:
1. берешь список процессов (программ/модулей.. как угодно) оси ищешь название/код (версию) dll (а как еще ?)
2.нету такого. Ага. говришь оси нужна еще скжаем страница под эту dll.
3. ось выдает страницу.
4. грузишь dll туда но в список процессов вносишь ее код/ имя.
сам можешь закрываться, dll останется, но!
на таких ресурсах вешать 1 байт - колво пользующихся. Т.е. 1 прога юзает dll -1 ,3 юзают - 3. никто не юзает - 0 но из списка убирать ресурс только тогда, когда его страницу кому-то отдали.
А вот теперь и сбощик мусора: нет его как такового. Он просто должен в первую очередь выдавать память из под приложений, а если ее не хватает, то из под неиспольз. dll. И обновлять список приложений, ресурсов (процессов) чтоб не юзались ресурсы.
Такой вот простой менеджер памяти с уборкой мусора. Ну а теперь как реализовать реально хотя бы такое... И сколько оно будет жрать ресурсов само по себе ?




Ответить с цитированием