История изменений
Исправление X512, (текущая версия) :
> strace ./Syscalls.so
[ 2065] <... image_relocated resumed> () (104 us)
[ 2065] set_area_protection(0x83a9, 0x5) = 0x00000000 No error () (50 us)
[ 2065] get_system_info(0x717757bc) = 0x00000000 No error () (38 us)
Kernel name: kernel_x86
[ 2065] write(0x1, 0x0, 0x717756ae, 0x18) = 0x00000018 () (49 us)
Kernel build date: Sep 22 2022
[ 2065] write(0x1, 0x0, 0x7177567a, 0x1f) = 0x0000001f () (58 us)
Kernel build time: 04:59:10
[ 2065] write(0x1, 0x0, 0x71775646, 0x1c) = 0x0000001c () (70 us)
Kernel version: [ 2065] write(0x1, 0x0, 0x13dc778, 0x10) = 0x00000010 () (79 us)
1[ 2065] write(0x1, 0x0, 0x71775622, 0x1) = 0x00000001 () (56 us)
[ 2065] write(0x1, 0x0, 0x71775632, 0x1) = 0x00000001 () (42 us)
Pages: [ 2065] write(0x1, 0x0, 0x13dc78c, 0x7) = 0x00000007 () (41 us)
1[ 2065] write(0x1, 0x0, 0x717755d2, 0x1) = 0x00000001 () (40 us)
5[ 2065] write(0x1, 0x0, 0x717755e2, 0x1) = 0x00000001 () (39 us)
3[ 2065] write(0x1, 0x0, 0x717755f2, 0x1) = 0x00000001 () (41 us)
8[ 2065] write(0x1, 0x0, 0x71775602, 0x1) = 0x00000001 () (42 us)
3[ 2065] write(0x1, 0x0, 0x71775612, 0x1) = 0x00000001 () (50 us)
3[ 2065] write(0x1, 0x0, 0x71775622, 0x1) = 0x00000001 () (45 us)
/ [ 2065] write(0x1, 0x0, 0x13dc794, 0x3) = 0x00000003 () (45 us)
2[ 2065] write(0x1, 0x0, 0x717755c2, 0x1) = 0x00000001 () (66 us)
0[ 2065] write(0x1, 0x0, 0x717755d2, 0x1) = 0x00000001 () (88 us)
5[ 2065] write(0x1, 0x0, 0x717755e2, 0x1) = 0x00000001 () (74 us)
1[ 2065] write(0x1, 0x0, 0x717755f2, 0x1) = 0x00000001 () (53 us)
1[ 2065] write(0x1, 0x0, 0x71775602, 0x1) = 0x00000001 () (155 us)
0[ 2065] write(0x1, 0x0, 0x71775612, 0x1) = 0x00000001 () (106 us)
4[ 2065] write(0x1, 0x0, 0x71775622, 0x1) = 0x00000001 () (92 us)
[ 2065] write(0x1, 0x0, 0x71775632, 0x1) = 0x00000001 () (93 us)
[ 2065] exit_team(0x0) () (63 us)
Сколько раз тут выполняется INT 99 ?
Много. Я не заморачивался с оптимизациями вроде буфферизации вывода.
Исходная версия X512, :
> strace ./Syscalls.so
[ 2065] <... image_relocated resumed> () (104 us)
[ 2065] set_area_protection(0x83a9, 0x5) = 0x00000000 No error () (50 us)
[ 2065] get_system_info(0x717757bc) = 0x00000000 No error () (38 us)
Kernel name: kernel_x86
[ 2065] write(0x1, 0x0, 0x717756ae, 0x18) = 0x00000018 () (49 us)
Kernel build date: Sep 22 2022
[ 2065] write(0x1, 0x0, 0x7177567a, 0x1f) = 0x0000001f () (58 us)
Kernel build time: 04:59:10
[ 2065] write(0x1, 0x0, 0x71775646, 0x1c) = 0x0000001c () (70 us)
Kernel version: [ 2065] write(0x1, 0x0, 0x13dc778, 0x10) = 0x00000010 () (79 us)
1[ 2065] write(0x1, 0x0, 0x71775622, 0x1) = 0x00000001 () (56 us)
[ 2065] write(0x1, 0x0, 0x71775632, 0x1) = 0x00000001 () (42 us)
Pages: [ 2065] write(0x1, 0x0, 0x13dc78c, 0x7) = 0x00000007 () (41 us)
1[ 2065] write(0x1, 0x0, 0x717755d2, 0x1) = 0x00000001 () (40 us)
5[ 2065] write(0x1, 0x0, 0x717755e2, 0x1) = 0x00000001 () (39 us)
3[ 2065] write(0x1, 0x0, 0x717755f2, 0x1) = 0x00000001 () (41 us)
8[ 2065] write(0x1, 0x0, 0x71775602, 0x1) = 0x00000001 () (42 us)
3[ 2065] write(0x1, 0x0, 0x71775612, 0x1) = 0x00000001 () (50 us)
3[ 2065] write(0x1, 0x0, 0x71775622, 0x1) = 0x00000001 () (45 us)
/ [ 2065] write(0x1, 0x0, 0x13dc794, 0x3) = 0x00000003 () (45 us)
2[ 2065] write(0x1, 0x0, 0x717755c2, 0x1) = 0x00000001 () (66 us)
0[ 2065] write(0x1, 0x0, 0x717755d2, 0x1) = 0x00000001 () (88 us)
5[ 2065] write(0x1, 0x0, 0x717755e2, 0x1) = 0x00000001 () (74 us)
1[ 2065] write(0x1, 0x0, 0x717755f2, 0x1) = 0x00000001 () (53 us)
1[ 2065] write(0x1, 0x0, 0x71775602, 0x1) = 0x00000001 () (155 us)
0[ 2065] write(0x1, 0x0, 0x71775612, 0x1) = 0x00000001 () (106 us)
4[ 2065] write(0x1, 0x0, 0x71775622, 0x1) = 0x00000001 () (92 us)
[ 2065] write(0x1, 0x0, 0x71775632, 0x1) = 0x00000001 () (93 us)
[ 2065] exit_team(0x0) () (63 us)