Что происходит с памятью, которая не освобождена после конца программы? [дубликат]

Как-то так?

#topFloat {
  border:1px black solid;
  position:sticky;
  top: 0;
}
#data {
  border:1px red solid;
}
<html>
  <body>
    <div id="topFloat">
      BANNER TYPE STUFF
    </div>
    <div id="data">
      test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />test<br />
    </div>
  </body>
</html>

12
задан Community 23 May 2017 в 12:02
поделиться

7 ответов

На любой ОС с MMU (который включает в себя Unix, Linux, OSX и семейство Windows NT) процесс имеет структуру данных, которая используется для настройки сопоставления страниц для MMU. Когда процесс завершается, это отображение освобождается, и страницы добавляются в свободный пул операционной системы.

На платформах O / S с незащищенной памятью, таких как DOS или некоторые операционные системы реального времени, может потребоваться явное освобождение памяти и пул операционных систем может привести к утечке памяти, если он не будет приведен в порядок.

7
ответ дан 2 December 2019 в 07:22
поделиться

Все эти моменты будут потеряны во времени ...
как слезы под дождем

- Рой Бэтти в Blade Runner

Это в большой степени зависит от ОС. Большинство ОС освобождают память за вас, некоторые - нет. Если вы сейчас занимаетесь разработкой для настольной ОС, то можете быть уверены, что память будет освобождена. В меньшей степени это касается встроенных систем или мобильных телефонов, где в некоторых случаях память действительно теряется до следующей перезагрузки ОС.

3
ответ дан 2 December 2019 в 07:22
поделиться

Он уходит, например, операционная система очищает его. О любой памяти, которую запрашивает программа, знает ОС, поэтому, когда программа завершает работу, любая память, используемая ею, освобождается и становится доступной для использования другими программами. Думаю, он станет доступен сразу.

2
ответ дан 2 December 2019 в 07:22
поделиться

ОС должна вернуть ее для системной памяти, как только процесс его использования завершен.

1
ответ дан 2 December 2019 в 07:22
поделиться

Well in Windows the memory is freed by the operating system as the program closes. If it's a large amount of memory it might take some time.

As far I as remember from when I worked with various flavours of Unix it's the same for all operating systems.

1
ответ дан 2 December 2019 в 07:22
поделиться

The answer will of course depend on the operating system, but in general the OS will go through and sweep up any remaining allocated/mapped memory when the program terminates. In the case of Linux, the cleanup will be completed before the process terminates (enters Z state).

0
ответ дан 2 December 2019 в 07:22
поделиться