Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Что происходит во время открывания программы в компьютере? Какие процессы задействованы в этот момент?

Как используется во время открывания программы ОЗУ, процессор и т.д.?

Привет!

Если ты хочешь получить интересные приложения.

Тогда подпишись на мой Telegram канал и наслаждайся apk-шками.

Вот ссылка на канал -- https://t.me/HackAppsUsing

КомпьютерыПрограммыIt (информационные технологии)
Narek Stepanyan
  · 6,8 K
Лучший
IT, телеком, телефония, базы данных, интеграционные решения, естествознание, образование  · 18 сент 2020

Будем исходить из того, что (как это показано на иллюстрации к вопросу) в программе Проводник (explorer.exe) на некотором файле некто нажал Enter или выполнил двойной щелчок.

Программа Проводник в соответствии с настройками в системном реестре опознаёт этот файл как executable (то есть программу) и начинает её запуск. Для этого Проводник собирает следующие данные:

  • путь к файлу с программой
  • параметры командной строки (в данном случае это будет пустая строка, но это частный случай)
  • путь к папке, которую в этот момент обозревает проводник
  • все переменные окружения (посмотреть из можно в расширенных «Свойствах» компьютера или по команде SET из Командной строки)

И всё это хозяйство Проводник отдаёт операционной системе, вызывая функцию CreateProcess. Эта функция проживает в библиотеке kernel32.dll (эта библиотека уже подгружена в память, так как Проводник её активно использует)

Функция CreateProcess делает следующее:

  • выделяет оперативную память для переменных окружения и копирует их туда
  • выделяет память для процесса и вычитывает с диска файл с программой перекладывая его содержимое в память. В выделенном блоке памяти различают сегмент для данных и сегмент для кода программы. Код программы — это выраженные цифрами инструкции для процессора, которые будут потом выполняться
  • создаёт основную нить (thread) этого процесса

Эта нить, встраивается в очередь процессов. Операционная система как виртуозная арфистка перебирает все существующие нити по очереди в соответствии с их приоритетом, и каждой даёт возможность работать немного времени, потом процессорные ресурсы отдаются другому процессу и т.д. То есть в этой арфе постоянно появляются новые струны, и потом вынимаются, прямо на ходу.

Получив свою порцию процессорного времени нить заставляет процессор перейти к определённому месту в памяти в сегменте кода и некоторое время процессор выполняет инструкции, которые там записаны. Так работает любая программа.

Что конкретно делает эта программа это уже её собственное дело. Она может создавать свои нити для распараллеливания работы, открывать и читать другие файлы, выделять себе еще немного оперативной памяти для данных, запускать другие программы, создавать графический (оконный) контекст, что-то рисовать в нём, слушать клавиатуру и другие устройства, и так далее. В конце концов программа сворачивает все свои потоки включая основной, и тогда все занятые этой программой ресурсы (память, открытые файлы, окна…) высвобождаются и возвращаются операционной системой.

Инженер путей сообщения – строитель  · 18 сент 2020
Сначала с диска в оперативную память загружается основной файл программы, в котором записана информация о том, какие дополнительные файлы надо загрузить. После того, как всё загружено, в основном файле определяется адрес первой исполняемой команды. Далее центральный процессор начинает последовательное выполнение команд, начиная с указанного адреса. Выполнение будет... Читать далее