CPU占用率从12%降调0%,怎么做到的?

第三天继续学习harib00j,看到川合秀实老师说:“现在还不能说‘今天就到此结束’”。借着月光,我把hlt实现出来,看到qemu显示出来的漆黑窗口,自制操作系统的成就感油然而生。
对比了一下hlt实现前后的CPU占用率,着实让我吃了一惊:

halt实现前CPU占用(qemu):12%
halt实现后CPU占用(qemu):0%

看来程序的好坏真是由程序员决定的!

上代码:
在naskfunc.nas汇编程序中实现io_hlt()功能:
E:\techdoc\30dayOS\code\tolset\day03_boyJ\naskfunc.nas

; naskfunc
; TAB=4
[FORMAT "WCOFF"] ; 制作目标文件的模式
[BITS 32] ; 制作32位模式用的机器语言

[FILE "naskfunc.nas"] ; 源文件名信息
	GLOBAL _io_hlt ; 程序中包含的函数名

;以下是实际的函数
[SECTION .text] ; 目标文件中写了这些之后再写程序

_io_hlt: ; void io_hlt(void);
	HLT
	RET

在bootpack.c中进行io_hlt()调用:
E:\techdoc\30dayOS\code\tolset\day03_boyJ\bootpack.c

void io_hlt(void);
void HariMain(void)
{
	fin:
		io_hlt();
		goto fin;
}

最后上运行截屏,请各位看官鉴别真伪:
运行day03_boyI,halt实现前CPU占用(qemu):12%
运行day03_boyI,halt实现前CPU占用(qemu):12%

运行day03_boyJ,halt实现后CPU占用(qemu):0%
运行day03_boyJ,halt实现后CPU占用(qemu):0%

(全文完)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ycjnx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值