代码拉取完成,页面将自动刷新
同步操作将从 Calon/EleOS 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
操作系统的学习方法:
1、发现问题
2、如何解决问题
3、如何实现解决这个问题的方法
待实现
setup_arch() :
获取存储内核映像的外部存储设备的设备号
设置内核对应的任务状态(mm_struct)
标记内存的使用情况(iomem_resourse)
获取 DMI 表(可选)
初始化 ACPI(可选)
待注释
为什么要在内核初始化时使用引导内存分配器
假如我们需要若干个页面,那么我们需要在伙伴分配器获取页面的话,我们需要知道的是
该在哪一层 order 去获取页面呢?用什么表达式根据所需要的页面数找到 order ?
辅助分支预测:likely() 和 unlikely()
循环等待(同步)减少功耗/提升效率:rep;nop(pause)
预取数据循环遍历:prefetch
做一个关于各个理论的细节的集合,把 处理器架构、编译器等作为
子集,把相关的细节记录下来,以防到时需要时找不到,毕竟内核随
着移植次数越多相关的细节内容越难找
个人猜想的新功能:
slab:
1、为 slab 新增一个标签,意为清空 obj ,即新增一个 slab 时和释放 obj 时把 obj 清空。(必须)
2、我认为这边可以更新迭代为类似于 kswapd 的全新机制,和 kswapd 不同的是: kswapd 是当某一个
classzone 被触发了内存回收的阈值 page_low 和 page_min 就会回收内存,而这个新机制恰恰相反,
如果某一个 cache 的空闲 obj 不足了,即达到阈值 obj_low 和 obj_min(同步分配页再分配 obj )
时,需要分配一个 2^gfporder 个内存页。当然,如果真的要实现这个的话起码要对整个内存管理子系统
熟悉,还有整个内核对 slab 的使用情况,还要考虑这个新机制是否和整个内存管理子系统切合,毕竟这个
新机制是和 kswapd 是反着来的。所以待我把 linux 熟悉之后,即基本功能实现完成,最好也能实现
SMP 之后,再试着实现这个新机制吧。
软中断机制和进程管理之间的功能
伙伴位图分配器和进程管理之间的功能
继续看调用函数时,如何保存寄存器
MakeFile 新增单独编译某一个源文件的功能,编译为汇编文件,用一个文件夹保存。注意,该文件夹不能被
上传到云端
在 schedule() 的 current 前设置一个断点,想知道源码的内联函数是否有效。
Since the ISA bus does not support level triggered interrupts, level triggered mode may
not be used for interrupts connected to ISA devices. This means that on PC/XT, PC/AT,
and compatible systems the 8259 must be programmed for edge triggered mode. On MCA systems,
devices use level triggered interrupts and the interrupt controller is hardwired to
always work in level triggered mode. On newer EISA, PCI, and later systems the
Edge/Level Control Registers (ELCRs) control the mode per IRQ line, effectively making
the mode of the 8259 irrelevant for such systems with ISA buses. The ELCR is programmed
by the BIOS at system startup for correct operation.
The ELCRs are located 0x4d0 and 0x4d1 in the x86 I/O address space. They are 8-bits wide,
each bit corresponding to an IRQ from the 8259s. When a bit is set, the IRQ is in level
triggered mode; otherwise, the IRQ is in edge triggered mode.
Intel引入了MACHINE-CHECK ARCHITECTURE(MCA) 和 machine-check exception(#MC)
机制用来对服务器硬件进行自检,并在发现硬件错误的时候发出中断或异常。
系统软件收到中断或异常后,会对其进行响应,进行相应的修复、告警或其他策略等动作。
https://blog.csdn.net/as480133937/article/details/97396383
说明 PCI 芯片的作用
1、初始化
用流程图说明在 EleOS 初始化 PCI 的工作流程:1、以函数为单位(大致框架);2、以伪代码为单位(详细)
说明 PCI 在初始化期间的一些细节,说明为什么它的初始化要这样做
2、PCI 总线与 PCI 设备之间的联系(驱动接口)(以 IDE 芯片为例)
3、说明 PCI 芯片的一些特性
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。