LINUX.ORG.RU

Как называется сущность, которая принимает скрипт-бинарник на выполнение

 , ,


0

1

Как оно называется?

Вот, например, bash скрипты пыполняются через вызов программы, которая суть … ? А в случае с python как называется? А вот если я запускаю бинарник? Что запускает бинарник? Как оно называется?

★★★★★

Последнее исправление: targitaj (всего исправлений: 1)

Вот, например, bash скрипты пыполняются через вызов программы, которая суть … ?

Интерпретатор

А в случае с python как называется?

Тоже интерпретатор

Что запускает бинарник? Как оно называется?

Бинарник исполняется сам. Загружает его в память ядро, инструкции исполняет непосредственно процессор, а между ними всё разруливает планировщик (тоже ядро). Оно никак не называется, разве что «программа».

Хотя если бинарник динамически слинкованный, там ещё ld-linux.so

anonymous
()
Ответ на: комментарий от anonymous

И оно уже называется linker/loader.

anonymous
()
Ответ на: комментарий от anonymous

Бинарник исполняется сам.

Что-то в этом есть неправильное. Оно точно так? Случайно нет никакой отдельной программы, которая просто имеется ввиду, по-умолчанию?

targitaj ★★★★★
() автор топика
Ответ на: комментарий от pfg

Вот смотри, пилю я для некой (торговой) системы скриптик для запуска-останова компонентов. Компоненты смешанные. То есть, есть файл с кодом и есть запускальщик. Две сущности. Что используется в качестве запускальщика для так называемых «бинарников»?

targitaj ★★★★★
() автор топика

А в случае с python как называется?

Ненужнятор.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)

Никак, тут целая цепочка всего и вся

На самой верхушке strace python -c "100000+500" где то между всем этим ltrace python -c "100000+500" и по итогу как посмотреть где ядро следующую порцию выплёвывает процу?

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)

Школьник_2032, перелогинься, что-ли. Что и как запускает питон, не суть, главное механизм запуска, конструкция.

anonymous
()
Ответ на: комментарий от targitaj

Вы про прекомпилированные python сценарии(.pyc) что ли ? Или про полноценные ELF/PE ?

AKonia ★★
()
Последнее исправление: AKonia (всего исправлений: 1)
Ответ на: комментарий от targitaj

Есть loader. Но он лишь загружает бинарник в оперативу. Дальше уже машинные инструкции, исполняемые непосредственно на CPU. Следит за процессами при этом scheduler, но сам он ничего не интерпретирует, лишь рулит, кому сколько процессорного времени отдавать, грубо говоря.

anonymous
()
Ответ на: комментарий от targitaj

Ты имеешь в виду, как оболочка загружает бинарь? Если так, то делает это она через системный вызов execve. Внутри неё идёт подготовка файла (создаётся структура binprm, которая содержит, например, аргументы командной строки и первые 128 байтов файла для определения сигнатуры), дальше вызывается функция search_binary_handler, которая подбирает интерпретатор для исполняемого файла (при помощи функции load_binary), это, например, интерпретор скриптов, который ищет шебанг и вызывает соответствующую программу-интерпретатор. Если функция определяет, что это ELF бинарь, то вызывает функцию load_elf_binary, которая проверяет архитектуру файла и загружает в память слинкованные библиотеки, а затем уже запускает процесс при помощи функции start_thread, которой на вход подаётся точка входа программы.

Unicode4all ★★★★★
()
Последнее исправление: Unicode4all (всего исправлений: 1)

программно-аппаратный комплекс

и это - бинарь бинарю рознь

если это какой составной exe (coff и прочая - прочая ) - то всяко некая подчасть ось которая «сборщик и загрузчик» - ну а потом сам проц начинает интерпретировать битовое вот-это-всё.

для случая буквального бинаря - по проще - читается кусок с устройства хранения в озу и делается туды переход (прыжок ли вызов с возвратом ли) - и да интерпритацией маш-кода обычно занят проц.

qulinxao3
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.