2024年12月30日

有问题的rclock和最简单的IPC

摘要: 有问题的时钟 在把玩虚拟机中的menuetos32过程中,发现一个小问题。但点击底部右侧的时间显示时,多次点击,就会出现圆形时钟,但无法关闭,如下图所示: 底部的任务栏出现了多个RCLOCK图标。当然,圆形时钟都处于同一个位置。 点击左边的菜单按钮,出现一级菜单,如不选择,再次点击左下角的按钮,菜单 阅读全文

posted @ 2024-12-30 20:56 oemwang 阅读(9) 评论(0) 推荐(0)

2024年12月18日

osloop之checkmisc

摘要: 程序结束的处理 当关闭窗口的时候,实际上调用的是如下系统调用: 在sys32.inc中: 对应的是sys_end,其对应的代码是: 仅仅是将当前的进程的状态改为3,加延时和简单状态设置。 进程或者线程在内存中的位置(memorymap): 在osloop有一个checkmisc,如下: 其中的che 阅读全文

posted @ 2024-12-18 20:09 oemwang 阅读(13) 评论(0) 推荐(0)

2022年9月12日

段描述符

摘要: 在保护模式中,不可避免的要用到数据段和代码段,堆栈段。 在menuetos32系统中,这些段的描述符定义在sys32.inc中的第122行到243行GDT之中。其中ring3的代码段和数据段如下: ring3_code_l: dw 0xffff dw 0x0000 db 0x00 dw 110111 阅读全文

posted @ 2022-09-12 00:42 oemwang 阅读(129) 评论(0) 推荐(0)

2022年9月9日

查找放置进程的位置

摘要: 在中断调用int 0x40,19号调用中,获取应用本身的参数以后,调用了一个获取未被占用内存的过程call find_free_mem。在获取内存之前调用了一个过程获取放置进程位置的过程find_free_process_slot。 find_free_process_slot: pusha ;保留 阅读全文

posted @ 2022-09-09 15:06 oemwang 阅读(46) 评论(0) 推荐(0)

2022年9月5日

中断调用之猜想

摘要: 在launcher.asm中,使用了launch_applications过程三次调用了int 0x40去启动3个应用,构成了桌面背景,桌面图标和底部任务栏。这三次调用使用了eax,放置调用号19。ebx放置了应用的名称,ecx放置了参数BOOT。那么到了start_application_fl过程 阅读全文

posted @ 2022-09-05 17:14 oemwang 阅读(55) 评论(0) 推荐(0)

2022年8月27日

关于应用程序头部信息

摘要: 在launcher.asm的应用程序中,可以看到头部信息如下: use32 org 0x0 db 'MENUET01' ; 8 byte id dd 0x01 ; header version dd START ; start of code dd I_END ; size of image dd 阅读全文

posted @ 2022-08-27 14:11 oemwang 阅读(71) 评论(0) 推荐(0)

2022年8月25日

关于app(process)和窗口信息

摘要: 在memmap.inc内存图中,有两处的信息和应用或者说进程有关。都是256条,估计是最多可以有256个应用或者说进程: 第52行: ;3000 -> 4FFF task list - 256 entries;; 00 dword process count; 04 dword no of proc 阅读全文

posted @ 2022-08-25 20:42 oemwang 阅读(50) 评论(0) 推荐(0)

2022年8月23日

sys_msg_board

摘要: sys32.inc中的第3251行和第3252行预定义了: process_loading db 'Kernel : Process - loading ',13,10,0process_running db 'Kernel : Process - done',13,10,0 sys32.inc中的 阅读全文

posted @ 2022-08-23 14:27 oemwang 阅读(60) 评论(0) 推荐(0)

2022年8月21日

对于stosd,movsb的理解

摘要: 在TSS相关的代码中,发现通常会有这样一段: mov edi,[app_i_param] add edi,[app_mem_pos] mov ecx,256/4 cld rep stosd mov esi,[esp+4] cmp esi,0 jz no_app_params 。。。。。。。。。。。。 阅读全文

posted @ 2022-08-21 14:59 oemwang 阅读(253) 评论(0) 推荐(0)

2022年8月19日

Protection Test

摘要: 在system菜单里,有一个Protection Test应用,可以看出保护模式起的作用。 打开Proecess和Debug board以及Protection Test,如下图所示: 点击Proection Test中的任何一项,可以在Debug Board中看到,Protection Test被 阅读全文

posted @ 2022-08-19 20:23 oemwang 阅读(60) 评论(0) 推荐(0)

导航