Android深度探索--第四章读后感

在第四章中,专门提到了释放页时一定要慎重,只能释放直接申请的页。如果说是传递了不对的struct page或地址,或用了不对的order的值,那将可能带来灾难性的后果,系统很有可能会因此而崩溃。在使用kmalloc函数分配的内存块很有可能要比实际请求的内存块要大,这是由于系统分配内存的基本方法都是基于page 的,并不能已字节为单位分配内存空间。在大多数情况下,只有硬件设备需要连续的物理内存块与计算设备进行交互。在很多体系结构中,硬件设备并不受内存管理单元的控制,这些硬件根本不理解什么是虚拟地址,因此可以说,硬件设备用到了任何内存去都必须是物理上的连续的快,不仅仅苏霍是虚拟地址连续的块。虽然缓存技术可以有效地避免频繁分配和释放内存块的操作,但是遗憾的是,在内核程序中自己建立的缓存并不是全局的,系统的内存短缺的时候,是根本五大通知这些缓存释放一下不需要的内存提供给其他的程序使用。共享存储型多处理机有三种模型:UMA模型和COMA模型、NUMA模型等等。

posted @ 2016-04-27 12:22  Alancnn  阅读(108)  评论(0编辑  收藏  举报