(1)最近看的关于linux的部分主要是底层部分,linux对设备是如何访问,结果还是通过地址。机制差不错知道,下一步是阅读相关代码进一步理清内核,同时了解驱动的开发。
主要的疑问是对于高端内存映射,分了三部分vmalloc.kmap(持久内核映射)以及固定映射区,vmalloc主要是分配大内存用,会有性能瓶颈,因为物理地址不连续,后面连个还是不太懂是干嘛用的。slab不知道是管理哪块内存,和伙伴系统分别负责什么地方,个人理解应该是对分配好的一块内存进行管理。理一下,对于io端口和io内存进本上清楚了,这两个是不同的东西io端口对应外设端口,io内存对应外设内存(应该对吧之前理解的外设的寄存器可能是统一编址,这样就是io内存,单独编址就是io端口,但是这样理解的话会导致其他不理解的地方,先不管了)。外设映射的地址在什么地方呢,内存管理还是不清楚呜呜呜
(2)目前是了解机制,对linux的经典数据结构并不是很清除,下一步了解数据结构