- 博客(8)
- 资源 (2)
- 收藏
- 关注
原创 Linux内核设计与实现之内核同步(八)
总述1)应用程序和内核都应该防止共享资源被并发访问2)保护共享资源的困难:单处理器时,只有在中断发生的时候,或在内核代码显式地请求重新调度,执行另一个任务时,数据才可能并发访问,比较简单。内核支持多处理器后,内核代码完全可以同时运行在两个或更多的处理器上,如果不加保护,运行在两个不同处理器上的内核代码完全可能在同一时刻里并发访问共享数据。Linux内核已经支持抢占式内核,即调度程序可以在任何...
2019-12-25 10:17:37
111
原创 Linux内核设计与实现之内存管理(十一)
第11章 内存管理11.1 页1)内核把物理页作为内存管理的基本单位2)内存管理单元MMU以页为单位进行处理3)MMU是管理内存并把虚拟地址转换成物理地址的硬件4)MMU以页为单位管理系统中的页表5)从虚拟内存角度看,页是最小单位6)内核用struct page 结构表示系统中的每个物理页,该结构位于<linux/mm.h>struct page{page_flag...
2019-12-25 10:16:15
161
原创 GOF 设计模式(可复用面向对象软件的基础)之 Strategy
Strategy定义:把一系列算法封装起来,并使它们可以相互替换(变化)。该模式使得算法可以独立于使用它们的客户程序(稳定)而变化。算法可扩展,且子类化(子类实现)。图例1)客户程序:Context,稳定2)封装(抽象)类:Abstract Strategy,稳定3)一系列算法:Concrete Strategy A,Concrete Strategy B, Concrete Stra...
2019-12-20 18:53:25
147
原创 GOF 设计模式(可复用面向对象软件的基础)之Template Method
1.组件协作模式种类:Template Method、Strategy、Observer/Event划分:框架和应用实现:它通过晚绑定实现框架与应用间的松耦合。2.Template Method1)定义: 一个操作中的算法骨架(稳定),而将一些步骤(变化)延迟到子类中实现。该模式使得子类可以在不改变(复用)该算法的结构的条件下,重定义(override重写)该算法的某些特定步骤。2)举...
2019-12-20 15:13:22
144
原创 GOF 设计模式(可复用面向对象软件的基础)之设计原则总述
面向对象的设计原则依赖倒置原则(DIP)总的原则:依赖稳定的模块,不依赖变化的模块稳定的高层模块依赖稳定的抽象,不依赖于变化的底层模块;变化的实现细节依赖于稳定的抽象,稳定的抽象不依赖于变化的实现细节;比方说:高层模块:class MainForm底层模块:class Line 和class Rect抽象模块:class Shape 是底层模块的抽象高层模块class Ma...
2019-12-20 14:52:18
154
原创 Linux内核设计与实现之下半部(七)
7.1 下半部1)中断处理程序的局限:A) 它以异步方式执行并且可能打断其他重点代码,甚至是其他中断处理程序,因此中断处理程序应该执行得越快越好B) 当一个中断处理程序正在执行,在最好情况下,与该中断同级的其他中断会被屏蔽,在最坏情况下,当处理器上所有其他中断都会被屏蔽C) 中断处理程序往往需要对硬件进行操作,所以它们通常有很高的时限要求。D)中断处理程序在进程上下文中运行,所以它们不能...
2019-12-11 13:28:49
118
原创 Linux内核设计与实现之内核同步方法(九)
第8章 内核同步方法总述1)应用程序和内核都应该防止共享资源被并发访问2)保护共享资源的困难:单处理器时,只有在中断发生的时候,或在内核代码显式地请求重新调度,执行另一个任务时,数据才可能并发访问,比较简单。内核支持多处理器后,内核代码完全可以同时运行在两个或更多的处理器上,如果不加保护,运行在两个不同处理器上的内核代码完全可能在同一时刻里并发访问共享数据。Linux内核已经支持抢占式内...
2019-12-11 13:25:56
120
原创 Linux内核设计与实现之中断和中断处理程序(六)
第6章 中断和中断处理程序6.1 中断1)物理学角度,中断是一种电信号,由硬件生产,并直接送入中断控制器的输入引脚上,然后再由中断控制器向处理器发送相应的信号。处理器检测到此信号,便中断当前工作转而处理中断。此后,处理器通知操作系统已经产生中断,操作系统对这个中断进行适当的处理。2)中断使得硬件得以与处理器通信3)不同设备对应的中断不同,每个中断都有一个唯一的数字标识4)异常:它在产生时...
2019-12-11 13:16:25
339
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人