2023-2024-1 20232811《Linux内核原理与分析》第六周作业

202328 2023-10-29 13:26:53

目录

一、实验过程

1.打开实验楼,进入LinuxKernel,从https://github.com/torvalds/linux/blob/v3.18-rc6/arch/x86/syscalls/syscall_32.tbl中克隆menu

2.修改test.c文件,在test.c中加入getpid和getpidasm函数,重新编译成功后,输入help命令可以看到新增的功能

3.回到LinuxKernel目录下执行

4、在sys_getpid处设置断点,发现在执行getpid_asm时停下了,一直按n进行若干次单步执行进入schedule函数。

二、根据本周所学知识分析系统调用的过程,从 system_call 开始到 iret 结束之间的整个过程,并画出简要准确的流程图

三、总结

四、ChatGPT辅助学习


一、实验过程

1.打开实验楼,进入LinuxKernel,从https://github.com/torvalds/linux/blob/v3.18-rc6/arch/x86/syscalls/syscall_32.tbl中克隆menu

2.修改test.c文件,在test.c中加入getpid和getpidasm函数,重新编译成功后,输入help命令可以看到新增的功能

  getpid和getpidasm函数

int Getpid(int argc,char*argv[]){
    int pid;
    pid = getpid();
    printf("pid=%d\n",pid);
    return 0;
}

int Getpidasm(int argc, char *argv[]){
    int pid;
    asm volatile(
            "mov $0,%%ebx\n\t"
            "mov $0x14,%%eax\n\t"
            "int $0x80\n\t"
            "mov %%eax,%0\n\t"
            :"=m"(pid)
            );
    printf("pid = %d\n",pid);
    return 0;
}

3.回到LinuxKernel目录下执行

qemu-kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img -s -S

  再打开另一个终端进行调试

gdb  file linux-3.18.6/vmlinux

gdb  target remote:1234

4、在sys_getpid处设置断点,发现在执行getpid_asm时停下了,一直按n进行若干次单步执行进入schedule函数。

 

 

二、根据本周所学知识分析系统调用的过程,从 system_call 开始到 iret 结束之间的整个过程,并画出简要准确的流程图

三、总结

本次实验中,我使用了gdb工具跟踪分析了Linux内核中的两个系统调用函数:getpid 和 getppid。这帮助我更深入地理解了系统调用的执行过程,包括用户空间和内核空间之间的切换、参数传递、系统调用号的解析等。通过调试和观察寄存器状态的变化,我成功捕获了系统调用的执行步骤,并进一步绘制了流程图,以更清晰地展示系统调用的执行过程。


四、ChatGPT辅助学习

 

 

...全文
396 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文提出一种基于鱼鹰优化算法(OOA)优化的CNN-BiGUR-Attention混合模型,用于提升短期风电功率预测的精度与稳定性,采用Matlab实现代码仿真。该模型融合卷积神经网络(CNN)提取输入数据的局部空间特征,利用双向门控循环单元(BiGUR)捕捉风速、功率等时间序列的前后向动态依赖关系,并引入注意力机制自适应强化关键时间步的特征权重,从而增强模型对非平稳风电数据的表征能力;进一步,采用OOA算法对模型超参数进行全局寻优,有效提升模型收敛速度与泛化性能。研究基于实际风电场历史数据开展实验验证,结果表明,该方法相较传统模型在预测精度、鲁棒性和误差抑制方面表现更优,适用于高比例可再生能源接入背景下的电力系统调度需求。; 适合人群:从事新能源发电预测、电力系统优化调度、智能算法与深度学习融合应用等方向的科研人员及工程技术人员,尤其适合具备Matlab编程能力、熟悉时间序列建模与深度学习框架的研究者。; 使用场景及目标:①实现风电场短期功率高精度预测,支撑电网安全稳定调度与能量管理;②为深度学习模型结构设计与智能优化算法联合调参提供实践范例;③推动人工智能技术在可再生能源预测、智能电网运行等领域的落地应用。; 阅读建议:建议结合提供的Matlab代码深入理解CNN-BiGUR-Attention网络架构搭建、注意力机制实现方式及OOA优化流程,重点关注数据预处理、模型训练与参数调优细节,可通过替换不同风电数据集进行对比实验,进一步掌握模型迁移能力与适应性。

39

社区成员

发帖
与我相关
我的任务
社区描述
北京电子科技学院 《Linux内核原理与分析》课程
linuxarm开发系统安全 高校 北京·丰台区
社区管理员
  • rocflytosky
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧