Это процесс, который очищает себя от завершения или ядра?

Недавно я нашел это в презентации PowerPoint:

Когда программа скомпилирована и связана, компоновщик вставляет в программу дополнительный код. Именно этот код вызывает основную функцию примерно так же, как пользователь называет «нижние функции».

Дополнительный код имеет две функции:

  • убедитесь, что программа C работает в правильной среде
  • очистка после успешного завершения

До этого я думал, что очистка – это работа ядра. Какая правильная история?

  • Почему truncate не работает для размеров выше 2043G в ext3?
  • Пользовательское ядро: при загрузке модуля не загружается прошивка
  • файловые операции aio_read изменились в ядре 4.1
  • Не удалось запустить archlinux после обновления: не удается найти uuid
  • Что такое тайм-аут статуса TX, и мне нужно беспокоиться об этом?
  • Как проверить текущую версию ядра?
  • Являются ли потоки ядра Linux действительно ядрами?
  • Что определяет максимальный размер для одного аргумента команды?
  • One Solution collect form web for “Это процесс, который очищает себя от завершения или ядра?”

    Как ядро, так и среда выполнения C выполняют некоторую работу.

    Некоторые из вещей, которые выполняет среда выполнения C, которые не выполняет ядро: она запускает обработчики, ранее зарегистрированные с помощью atexit() и упорядочивает возвращаемое значение integer из main() для возврата в систему, как если бы с exit() ,

    Конечно, в конце ядро ​​будет пожинать все ресурсы (файлы, память) независимо от того, что делает или не делает пользовательское поле.

    Linux и Unix - лучшая ОС в мире.