Что важно знать
- Процесс — изолированное адресное пространство и ресурсы; поток — единица выполнения внутри процесса, потоки делят память.
- Стек — локальные переменные и вызовы, у каждого потока свой; куча — объекты, общая для потоков.
- Виртуальная память: у процесса иллюзия собственной памяти, ядро отображает её на физическую страницами.
- Системный вызов — переход в ядро (чтение файла, сеть); дороже обычного вызова функции.
- Файловый дескриптор — номер открытого файла или сокета; у процесса их число ограничено.
- Переключение контекста между потоками стоит времени — тысячи потоков на ядро работают медленнее, чем десятки.