Board.KolibriOS.org
http://board.kolibrios.org/

Функция 9 - информация о потоке выполнения
http://board.kolibrios.org/viewtopic.php?f=1&t=67
Page 1 of 1

Author:  halyavin [ Tue May 31, 2005 9:22 am ]
Post subject:  Функция 9 - информация о потоке выполнения

На данный момент эта функция действует так: берем лимит x из сегмента кода и возращаем 4096*x+4095. В программе cpu потом к этому числу прибавляется 1. Вопрос: зачем такой изврат? Почему бы не возращать сразу 4096*(x+1) и убрать лишнее прибавление 1 из CPU? Для этого исправления нужно лишь удалить пару символов.

Код из CPU:
Code:
    mov  eax,9
    mov  ebx,I_END
    mov  ecx,edi
    int  0x40
;...
                                ; display memory usage
    mov  ecx,[I_END+26]
    inc  ecx
    add  edx,10*6*65536
    int  0x40

Author:  Mario79 [ Wed Jun 01, 2005 6:51 pm ]
Post subject: 

halyavin
А ты не мог бы подробней разжевать?
По моему ты привёл код только для CPU, а где и что в самом ядре менять?
Подробнее батенька, не все же такие умные как ты. :-)

Author:  halyavin [ Wed Jun 01, 2005 7:30 pm ]
Post subject: 

Это была информация для тех, кто не разбирается в ядре. Информация для ядерщиков:
Код в kernel.asm после метки os_mem:
Code:
os_mem:
    add    edx,4096 - 1 ; include 4 kb selector page size
    mov    [ebx+12],eax
    mov    [ebx+16],edx

Предлагается заменить на код
Code:
os_mem:
    add    edx,4096
    mov    [ebx+12],eax
    mov    [ebx+16],edx

Author:  Mario [ Wed Apr 18, 2012 1:20 am ]
Post subject:  Re: Функция 9, размер памяти используемой приложением.

SVN r. 2625 теперь функция 9 возвращает 11 символов имени без расширения. Расширение отбрасывалось ранее и отбрасывается сейчас. Ранее возвращалось только 8 символов, хотя место в структуре было зарезервировано под 11 символов (8+3 старый стандарт Менуэт).

Page 1 of 1 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/