做的比较炫的网站php网站修改代码

张小明 2026/1/3 13:33:41
做的比较炫的网站,php网站修改代码,企业网站建设遵循的原则,老薛主机做电影网站20252820_中断和异常管理实验内容#xff1a;Tasklet / Workqueue / 信号捕获 实验平台#xff1a;openEuler 内核版本#xff1a;5.10.01. 实验目的 理解 Linux 内核中下半部机制#xff08;Bottom Half#xff09;的基本思想与使用方式。掌握 tasklet 的创建、调度与释放…20252820_中断和异常管理实验内容Tasklet / Workqueue / 信号捕获实验平台openEuler内核版本5.10.01. 实验目的理解 Linux 内核中下半部机制Bottom Half的基本思想与使用方式。掌握tasklet的创建、调度与释放流程。掌握workqueue工作队列的创建、延迟调度、周期执行与退出清理流程。理解 Linux 用户态信号机制能捕获并处理CtrlC / CtrlZ / Ctrl\对应信号。2. 实验环境与准备2.1 软硬件环境操作系统openEuler内核版本5.10.0编译工具gcc / make内核构建目录/lib/modules/$(uname -r)/build - /usr/src/kernels/5.10.02.2 实验目录结构chapter4_interrupt_exception/ ├── task1_tasklet/ │ ├── tasklet_intertupt.c │ └── Makefile ├── task2_workqueue/ │ ├── workqueue_test.c │ └── Makefile └── task3_signal/ ├── catch_signal.c └── Makefile2.3 建立目录mkdir-p chapter4_interrupt_exception/{task1_tasklet,task2_workqueue,task3_signal}3. 任务一Tasklet 打印 HelloWorld3.1 实验内容说明本任务通过 tasklet 实现一个简单的下半部处理模块加载时初始化 tasklet 并调度执行在 tasklet 处理函数中打印Hello World!模块卸载时使用tasklet_kill()确保 tasklet 安全退出。3.2 核心代码要点tasklet_intertupt.c文件位置chapter4_interrupt_exception/task1_tasklet/tasklet_intertupt.ctasklet_init(tasklet, handler, data)初始化 tasklettasklet_schedule(tasklet)调度 tasklet 执行tasklet_kill(tasklet)退出时确保 tasklet 不再运行3.3 Makefile 配置关键点KERNELDIR文件位置chapter4_interrupt_exception/task1_tasklet/Makefile外部模块编译make -C $(KERNELDIR) M$(PWD) modulesopenEuler 推荐KERNELDIR/lib/modules/$(shell uname -r)/build3.4 实验步骤1进入目录并编译cdchapter4_interrupt_exception/task1_taskletmakecleanmake2加载模块并查看输出sudoinsmod tasklet_intertupt.kodmesg|tail-n303卸载模块并查看输出sudormmod tasklet_intertuptdmesg|tail-n303.5 运行结果与截图截图1make编译成功生成.ko【截图任务1-编译成功】截图2insmod后dmesg中出现Start...与Hello World...【截图任务1-加载与打印】3.6 结果分析与总结tasklet 属于下半部机制之一适合执行短小、非阻塞的延后处理。退出时必须tasklet_kill()避免模块卸载后 tasklet 仍可能访问已释放代码导致异常。4. 任务二Workqueue 周期打印 HelloWorld4.1 实验内容说明本任务使用工作队列实现“周期打印”效果创建专用 workqueue初始化 delayed_work首次延迟入队在 work 回调中打印信息并再次queue_delayed_work()自己从而形成周期执行卸载模块时取消 delayed_work 并销毁工作队列。4.2 核心代码要点workqueue_test.c文件位置chapter4_interrupt_exception/task2_workqueue/workqueue_test.c关键点create_singlethread_workqueue()创建队列INIT_DELAYED_WORK(mywork, work_handle)初始化延迟任务queue_delayed_work(queue, mywork, period*HZ)延迟调度在work_handle()中再次queue_delayed_work()实现周期循环退出时cancel_delayed_work_sync()destroy_workqueue()避免竞态与悬挂任务4.3 Makefile 配置文件位置chapter4_interrupt_exception/task2_workqueue/MakefileKERNELDIR ? /lib/modules/$(shell uname -r)/build4.4 实验步骤1进入目录并编译cdchapter4_interrupt_exception/task2_workqueuemakecleanmake2加载模块设置周期参数 5 秒sudoinsmod workqueue_test.koperiod53观察周期打印dmesg-w4卸载模块sudormmod workqueue_test4.5 运行结果与截图截图1make编译成功生成.ko【截图任务2-编译成功】截图2insmod后dmesg连续多次输出体现周期性【截图任务2-周期打印】4.6 结果分析与总结workqueue 在进程上下文中执行允许睡眠/阻塞适合执行相对更复杂的任务。周期执行推荐在 work 回调中自我重新入队而不是在module_init()中sleep避免insmod阻塞。退出必须同步取消 delayed_work防止模块卸载后工作仍被调度。5. 任务三捕获 CtrlC / CtrlZ / Ctrl\ 信号5.1 实验内容说明本任务在用户态编写程序捕获三类终端按键信号Ctrl C→SIGINTCtrl Z→SIGTSTPCtrl \→SIGQUIT程序打印当前进程 PID注册信号处理函数在捕获到信号后输出对应提示并退出。5.2 核心代码要点catch_signal.c文件位置chapter4_interrupt_exception/task3_signal/catch_signal.c使用signal(SIGxxx, handler)注册处理器使用pause()阻塞等待信号到来在 handler 中区分不同sig并输出提示5.3 编译与运行步骤1进入目录并编译cdchapter4_interrupt_exception/task3_signalmakecleanmake2运行程序./catch_signal3分别测试三种按键每次测试重新运行一次程序Ctrl CSIGINTCtrl ZSIGTSTPCtrl \SIGQUIT5.4 运行结果与截图截图1程序启动输出 PID【截图任务3-启动输出PID】截图2按下CtrlC捕获 SIGINT 输出按下CtrlZ捕获 SIGTSTP 输出按下Ctrl\捕获 SIGQUIT 输出5.5 结果分析与总结信号是 Linux 用户态重要的异步事件通知机制终端按键会向前台进程组发送特定信号。通过注册 handler 可以实现自定义行为打印、资源释放、优雅退出等。本实验通过 handler 拦截默认行为实现“捕获并提示”的效果。6. 实验中遇到的问题与解决方案6.1 问题内核源码目录找不到导致编译失败现象make[1]: *** /root/raspberrypi-kernel: No such file or directory原因Makefile 中KERNELDIR指向了不存在路径。解决openEuler 使用/lib/modules/$(uname -r)/build本机链接到/usr/src/kernels/5.10.0。7. 实验结论完成 tasklet、workqueue 与用户态信号捕获三个任务理解了 Linux 中断下半部与异步事件处理的基本机制并掌握了模块编译加载、日志验证、退出清理等关键流程。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

重庆建网站推广价格企业logo设计软件

如何通过Kotaemon提升新员工培训效率?构建智能培训中枢:从“找答案”到“被引导”的范式转变 在企业数字化转型不断深化的今天,一个常被忽视却影响深远的问题浮出水面:新员工入职的第一周,究竟花了多少时间在反复追问同…

张小明 2025/12/22 5:54:37 网站建设

清水河网站建设wordpress写文章更新失败

Ubuntu系统的多任务处理与性能优化技巧 在使用Ubuntu系统时,我们常常会遇到各种多任务处理和性能优化的需求。本文将介绍一些实用的技巧,包括窗口管理、剪贴板优化、任务自动化以及项目跟踪等方面。 动态弹出窗口管理 对于一些动态弹出窗口,如Firefox(网页浏览器)、Evo…

张小明 2025/12/22 5:52:36 网站建设

网站正在建设中 英文有域名就可以做网站吗

文章详细介绍了LangChain框架,它是连接大语言模型和现实世界的桥梁。通过组件化设计,LangChain解决了大模型的三大局限性:知识过期、无记忆能力和缺乏工具使用能力。文章从环境搭建开始,逐步介绍了基础工作流、记忆功能、RAG检索增…

张小明 2025/12/22 5:50:33 网站建设

用响应式做旧书网站河北辛集住房和城乡建设厅网站

🔍 你是否曾在家庭聚会时遭遇IPTV频道集体"中断"?或者在酒店前台面对客人投诉"电视没信号"却束手无策?IPTV播放列表检测正成为数字娱乐时代的关键技能,而iptv-checker工具正是解决这些痛点的利器。本文将带你…

张小明 2025/12/22 5:48:31 网站建设

怎么制作钓鱼网站链接廊坊做网站找谁

FaceFusionCUDA:构建高效AI人脸替换系统的完整流程 在短视频、虚拟主播和数字人技术席卷内容创作领域的今天,一个看似“魔法”的功能正变得越来越常见——将一个人的脸无缝移植到另一个人身上,且几乎看不出破绽。这种技术背后并非玄学&#x…

张小明 2025/12/22 5:46:30 网站建设

微信网站开发服务温州 网站 公司

还在为复杂的Elasticsearch集群管理而头疼吗?每天面对繁琐的查询语句、混乱的数据展示、分散的集群配置,是否让你感到效率低下?es-client这款现代化的Elasticsearch可视化工具,正是为解决这些痛点而生!想知道如何快速掌…

张小明 2025/12/25 8:38:08 网站建设