linux学习
众星之主
这个作者很懒,什么都没留下…
展开
-
第3章 进程管理
进程管理 task_struct : 在32位机器上可以有1.7KB大小,存于任务队列的双向链表中(系统中存在多种调度机,所以这种任务队列存在多个)。 作用:内核管理进程所需要的一切信息,比如打开的文件,进程的地址空间(mm_struct),挂起的信号(作为链表,可见后续linux的数据结构),进程状态,上下文寄存器存储的信息等。 由slab构造,可由位于进程内核栈底的thread_inf...原创 2019-08-21 22:34:17 · 93 阅读 · 0 评论 -
第7章 中断和中断处理
第7章中断和中断处理 异常和中断区别: 异常称为是同步中断(系统出现编程失误的时候(除0,缺页操作),由系统发现并进行处理,是一种可控的,已经安排好的流程,所以必须考虑与处理器时钟同步),而中断来源于外设等硬件,是产生的硬件中断,系统无法得知何时产生,但必须立即处理,所以属于异步中断。 上半部:尽可能负责响应硬件的中断请求(将硬件的缓冲数据及时读取,硬件复位等立即性操作,有严格时间要求),...原创 2019-08-22 22:25:17 · 267 阅读 · 0 评论 -
第8章:下半部和推后执行的工作
第8章:下半部和推后执行的工作 中断处理程序作为上半部,运行时要么禁用所有中断,要么禁用当前线上的中断,要么禁用当前处理机上的同级中断来保证当前中断处理的正常运行 下半部用于处理中断服务的其它任务,允许推后执行,包括软中断,tasklet(基于软中断),工作队列 1.软中断: 静态编译,只有32个软中断,目前只用到了9个。静态结构体数组中都可含有该软中断对应的程序指针,以便运行。 str...原创 2019-08-22 22:30:21 · 106 阅读 · 0 评论 -
第13章 虚拟文件系统
第13章虚拟文件系统 VFS: 用户可以直接调用open(),read(),write()而无需考虑具体文件系统和实际物理介质。即可以跨系统,介质隔离来访问数据。协作性和泛型。linux可以支持多种文件系统,FAT,NETF。。(因为其定义了所有文件系统都支持的,基本的,概念上的接口和数据结构;同时实际文件系统也将自身的诸如“打开文件”,“目录是什么”这些概念在形式上保持和VFS一致(即核心...原创 2019-08-22 22:32:20 · 124 阅读 · 0 评论 -
第16章:页高速缓存和页回写
第16章:页高速缓存和页回写 磁盘访问ms级别,内存访问ns级别,使用数据务必将数据拷贝到内存中,这里是将一些磁盘数据映射到内存中提高命中率。 对应于磁盘的物理块(映射关系),可以占用空闲内存扩张,也可以收缩(换出)。read操作(读取一段数据,首先在缓存中查找,没有的话才调用I/O去安排,读取就直接读取到缓存中,一段时间没有人用就可能被换出)。 写操作:linux中是回写操作,写操作直接安...原创 2019-08-22 22:36:55 · 149 阅读 · 0 评论 -
第5章 系统调用
第5章系统调用 系统调用是一个介于用户空间进程和硬件设备的中间层,是用户空间访问内核的唯一手段。1.为用户空间屏蔽大批量底层细节,尽管调用即可;2.对系统进行保护,可以基于权限,用户类型等对用户进程的行为进行判断,维持整个系统的平稳安全运行;3.为了多任务的需要,保证逻辑性的整体统一,因而不能让用户进程直接访问一些硬件,避免造成难以预估的错误。 进入内核态的路径有3:内核线程,中断,系统调用...原创 2019-08-22 22:23:44 · 123 阅读 · 0 评论