- 1、本文档共318页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux操作系统要点
日志记录例程Syscall_audit() : 内核态的服务例程,负责记录系统调用的运行日志,包括调用时刻、调用者PID、程序名等 服务例程Sys_audit() : 新添加的系统调用,其功能是从缓冲区中取数据返回用户空间 用户空间服务程序auditd : 取回系统中搜集到的系统调用日志信息 代码结构体系介绍 初始化IDT表之后,必须通过 request_irq() 函数将相应的中断服务例程挂入中断请求队列,即对其进行注册 在关闭设备时,必须通过调用free_irq()函数释放所申请的中断请求号 注册中断服务例程 int request_irq(unsigned int irq, void (*handler)(int, void *, struct pt_regs *), unsigned long irqflags, const char * devname, void *dev_id) CPU从中断控制器的一个端口取得中断向量I 根据I从中断描述符表IDT中找到相应的中断门 从中断门获得中断处理程序的入口地址 判断是否要进行堆栈切换 调用do_IRQ()对所接收的中断进行应答 ,并禁止这条中断线 调用handle_IRQ_event()来运行对应的中断服务例程 中断处理程序的执行 当处理所有外设中断请求的函数do_IRQ()执行时,内核栈顶包含的就是do_IRQ()的返回地址,这个地址指向ret_from_intr 从中断返回时,CPU要调用恢复中断现场的宏RESTORE_ALL,彻底从中断返回。 从中断返回 中断服务例程在中断请求关闭的条件下执行,避免嵌套使中断控制复杂化 系统不能长时间关中断运行,因此内核应尽可能快的处理完中断请求,尽其所能把更多的处理向后推迟 内核把中断处理分为两部分:上半部(top half)和下半部(bottom half),上半部内核立即执行,而下半部留着稍后处理 中断的下半部处理机制 小任务是指待处理的下半部,其数据结构为tasklet_struct,每个结构代表一个独立的小任务 小任务既可以静态地创建,也可以动态地创建 小任务机制 struct tasklet_struct { Struct tasklet_struct *next; unsigned long state; atomic_t count; void (*func) (unsigned long); unsigned long data; }; void tasklet_handler(unsigned long data) 小任务不能睡眠,不能在小任务中使用信号量或者其它产生阻塞的函数。但它运行时可以响应中断 通过调用tasklet_schedule()函数并传递给它相应的tasklet_struct指针,该小任务就会被调度以便适当的时候执行: tasklet_schedule(my_tasklet) 在小任务被调度以后,只要有机会它就会尽可能早的运行 编写并调度自己的小任务 下半部是一个不能与其他下半部并发执行的高优先级小任务 bh_base是一个指向下半部的指针数组,用于组织所有下半部 bh_base数组共有32项,每一项都是一种下半部 下半部 下半部 外部设备 TIMER_BH 定时器 TQUEUE_BH 周期性任务队列 SERIAL_BH 串行端口 IMMEDIATE_BH 立即任务队列 Linux常用的下半部 任务队列就是指以双向队列形式连接起来的任务链表,每一个链表元素都描述了一个可执行的内核任务 三个特殊的任务队列: tq _immediate任务队列,由IMMEDIATE_BH下半部运行,该队列中包括要执行的内核函数和标准的下半部。 tq_timer任务队列,由TQUEUE_BH下半部运行,每次时钟中断都激活这个下半部。 tq_disk任务队列,用于块设备任务。 任务队列 大部分PC机中有两个时钟源,分别是实时时钟(RTC)和 操作系统(OS)时钟 实时时钟也叫硬件时钟,它靠电池供电,即使系统断电,也可以维持日期和时间。 RTC和OS时钟之间的关系通常也被称作操作系统的时钟运作机制 不同的操作系统,其时钟运作机制也不同 中断的应用-时钟中断 时钟运作机制 OS时钟是由可编程定时/计数器产生的输出脉冲触发中断而产生的 操作系统的“时间基准” 由设计者决定,Linux的时间基准是1970年1月1日凌晨0点 OS时钟记录的时间就是系统时间。系统时间以“时钟节拍”为单位 Linux中用全局变量jiffies表示系统自启动以来的时钟节拍数目
您可能关注的文档
最近下载
- IPC-2221C-EN TOC2023印制版设计通用标准 Generic Standard on Printed Board Design.pdf VIP
- 艺术类教师年度考核登记表范文.docx VIP
- 2025新人教新版八年级英语上册Unit 1 Happy Holiday课文语法知识讲解学案.docx VIP
- 七年级语文上册生字词.docx VIP
- 饮水机出货检验标准【V1.0】.doc
- 直播运营竞业合同协议.docx VIP
- 安全管理资料目录(新版).doc VIP
- 《建筑基桩检测技术规范》JGJ106-2014学习.pptx VIP
- 佳能官方人像摄影教程.pdf VIP
- 一例糖尿病足的护理个案.pptx VIP
文档评论(0)