Search found 40 matches

by Kenshin
Sat Aug 07, 2021 12:28 pm
Forum: System
Topic: pxmon - Process Execution Monitor
Replies: 5
Views: 5241

Re: pxmon - Process Execution Monitor

pxmon 0.0 beta 1 : мелкие фиксы теперь pxmon сообщает, завершилась ли программа самостоятельно, была ли убита другой задачей или самим монитором теперь можно передавать запущенной программе параметры (например, pxmon "tinypad" "example.asm" ) улучшенная обработка параметров, под...
by Kenshin
Mon Aug 02, 2021 2:21 pm
Forum: System
Topic: pxmon - Process Execution Monitor
Replies: 5
Views: 5241

Re: pxmon - Process Execution Monitor

Можешь объяснить что под капотом, как программа отслеживает активность процесса? Пока что используется весьма примитивный перехват прерываний с помощью механизма отладки процессов (кстати, из-за этого отслеживается только основной поток процесса, многопоточные пока не поддерживаются), поэтому всё о...
by Kenshin
Mon Aug 02, 2021 2:10 pm
Forum: System
Topic: pxmon - Process Execution Monitor
Replies: 5
Views: 5241

Re: pxmon - Process Execution Monitor

Сам бинарник (внимание! бета-версия):
pxmon_0_0_b0
(6.22 KiB) Downloaded 97 times
by Kenshin
Mon Aug 02, 2021 2:09 pm
Forum: System
Topic: pxmon - Process Execution Monitor
Replies: 5
Views: 5241

pxmon - Process Execution Monitor

pxmon (Process eXecution MONitor) – средство для мониторинга исполнения программ (точнее их процессов). Основной целью является наблюдение в реальном времени за активностью программ. Также pxmon может применяться для быстрого тестирования, изучения и поиска подозрительных действий в исследуемой прог...
by Kenshin
Wed Mar 03, 2021 4:31 pm
Forum: Coding
Topic: KX - новый формат исполнимых файлов
Replies: 20
Views: 9516

Re: KX - новый формат исполнимых файлов

Ну лоадер - решение временное, как я понимаю. Потому библиотеки достаточно грузить просто, каждому процессу по экземпляру. Конечно, когда и если это будет переносится в ядро, загрузчик будет уже библиотеки грузить как положено. Данные каждому, код всем общий. А никаких проблем с этим и нет уже , по...
by Kenshin
Wed Mar 03, 2021 9:59 am
Forum: Coding
Topic: KX - новый формат исполнимых файлов
Replies: 20
Views: 9516

Re: KX - новый формат исполнимых файлов

управление памятью в пространстве адресов процесса вещь интересная. Она может быть реализована в юзермод лоадером? Даже с помощью функций 64.1 и 68.12/68.13/68.20 и т.д. уже можно управлять памятью нового процесса. Например, первый вариант (скорее всего, можно ещё проще и изящнее сделать), который ...
by Kenshin
Wed Mar 03, 2021 9:18 am
Forum: Coding
Topic: KX - новый формат исполнимых файлов
Replies: 20
Views: 9516

Re: KX - новый формат исполнимых файлов

ProMiNick, runkx пользуется только теми возможностями, которые ему предоставляет ядро, так что управление памятью выполняется с помощью соответствующих системных вызовов. Загрузчик был сделан именно для тестирования формата, тем более, что никакого специального API для создания процессов нет (кроме ...
by Kenshin
Wed Mar 03, 2021 9:04 am
Forum: Programs
Topic: Интерпретатор KolibriMath
Replies: 29
Views: 15020

Re: Интерпретатор KolibriMath

Очень здорово получается) Хорошо бы интерпретатор в официальную сборку включить.
by Kenshin
Sun Feb 28, 2021 7:05 pm
Forum: Utilities
Topic: MousePos - координаты мыши
Replies: 2
Views: 2725

Re: MousePos - координаты мыши

Нужная и полезная для разработки и отладки вещь. Кстати, есть предложение. Что если выводить три вида координат? Абсолютные (те, что сейчас есть) + координаты относительно окна + координаты относительно рабочей области окна. Имею в виду то окно, над которым находится мышкин указатель, не обязательно...
by Kenshin
Fri Feb 26, 2021 10:32 pm
Forum: Coding
Topic: KX - новый формат исполнимых файлов
Replies: 20
Views: 9516

Re: KX - новый формат исполнимых файлов

На любом ведь Главное чтобы компилер смог в этот формат 1. Вот в том и проблема. Ассемблеры. Вроде всё. Потому и первоначальный заголовок Menuet не очень. С-- научили, местные С компилеры тоже. Из pascal и C (msvc или gcc) делали ухищрения в линкерах. Для паскаля вроде прога специальная была из вин...
by Kenshin
Wed Feb 24, 2021 2:38 am
Forum: Coding
Topic: KX - новый формат исполнимых файлов
Replies: 20
Views: 9516

Re: KX - новый формат исполнимых файлов

Пример программы в формате KX с использованием подзаголовка: use32 org 0x0 db "KX", 0, 0x81 ;the KX header db 0, 4 ;default entry point chunk dd entry_point db 0x20, 12 ;general executable file attributes chunk dw 0 ;a regular 32-bit KolibriOS application/program dw 1 ;uses GUI dd 0 ;execu...
by Kenshin
Wed Feb 24, 2021 2:15 am
Forum: Coding
Topic: KX - новый формат исполнимых файлов
Replies: 20
Views: 9516

Re: KX - новый формат исполнимых файлов

runkx теперь поддерживает чанк "General Executable File Attributes" , который позволяет указать вид исполняемого файла, тип используемого интерфейса (GUI/TUI или неопределённый UI для служб, демонов и т.д.), флаги исполняемого файла, а также номер минимальной ревизии ядра, которая поддержи...
by Kenshin
Mon Feb 22, 2021 3:20 pm
Forum: Coding
Topic: KX - новый формат исполнимых файлов
Replies: 20
Views: 9516

Re: KX - новый формат исполнимых файлов

Против PE/ELF я ничего не имею, но идея заключалась в том, чтобы сделать формат в духе Колибри.
by Kenshin
Mon Feb 22, 2021 3:19 pm
Forum: Coding
Topic: KX - новый формат исполнимых файлов
Replies: 20
Views: 9516

Re: KX - новый формат исполнимых файлов

What is the problem you are solving with another custom format? Заголовок короче, чем M0x или PE/ELF. Меньше кода, загрузчик подготавливает всё для работы программы (стэк, память, загружает библиотеки (пока не реализовано)), выделяет необходимое кол-во памяти под строку с именем файла и строку с па...
by Kenshin
Mon Feb 22, 2021 12:41 pm
Forum: Coding
Topic: KX - новый формат исполнимых файлов
Replies: 20
Views: 9516

Re: KX - новый формат исполнимых файлов

Забыл написать про то, что runkx - это консольная программа, поэтому её нужно запускать в shell-е так: runkx kxapp kxparams или runkx "kx app" "kx params" Например, для того, чтобы запустить calc.test в шелле введите: runkx calc.test Для работы программы требуется наличие /tmp0/1...