Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6274260
  • 博文数量: 2759
  • 博客积分: 1021
  • 博客等级: 中士
  • 技术积分: 4091
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-11 14:14
文章分类

全部博文(2759)

文章存档

2019年(1)

2017年(84)

2016年(196)

2015年(204)

2014年(636)

2013年(1176)

2012年(463)

发布时间:2014-12-21 08:57:18

因为是笔记,那就简单的分几个模块简单的记录下学习的内容好了。Linux 支持几种不同的文件系统。每个文件系统都有自己的优缺点和性能特征。文件系统的一个重要属性是 日志 ,它允许系统在崩溃后更快地恢复。通常,日志文件系统比非日志文件系统更好。 ext4和yaffs2是日志类型的.........【阅读全文】

阅读(766) | 评论(0) | 转发(0)

发布时间:2014-12-15 09:25:34

Contents   1 "Low" memory (< 1 MiB)  1.1 Overview 1.2 BIOS Data Area (BDA) 1.3 Extended BIOS Data Area (EBDA) 1.4 ROM Area 2 "Upper" Memory (> 1 MiB) 3 See Also 3..........【阅读全文】

阅读(1065) | 评论(0) | 转发(0)

发布时间:2014-12-15 09:25:15

大多数情况,操作系统内核用纯C语言是写不了的,因为有些关键功能,重要代码段,还是得用汇编指令干上一把才行,本书不会过于详细的介绍ARM920T处理器所有的指令以及每条指令所有的详细使用方式。因为,一、篇幅所限,二、本书不是介绍某一特定处理器的指令集的专著。但是也不用害怕,笔者会尽量做到写操作系统内核时足够.........【阅读全文】

阅读(981) | 评论(0) | 转发(0)

发布时间:2014-12-15 09:24:49

kernel 3.10内核源码分析--slab原理及相关代码
1、基本原理
我们知道,Linux保护模式下,采用分页机制,内核中物理内存使用buddy system(伙伴系统)进行管理,管理的内存单元大小为一页,也就是说使用buddy system分配内存最少需要分配一页大小。那如果需要分配小于一页的内存该怎么办呢?
另一方面,内核中经常需要大量的数据结构(比如struct task_strcut),这些数据结构的频繁分配和释放对性能影响较大。
Slab正是用于解决上述的两个问题, Slab 分配器源于 Solaris 2.4 的分配算法,工作于buddy system之上,用于管理特定大小对象的缓存,提高小块内存或特定对象内存分配效率。
Slab的两个用途如前面所述:1、缓存和管理内核中经常使用的数据结构对象,内核中使用slab提供的专用的接口,可以实现数据结构对象的快速分配,大大减少相关开销,提升效率。2、缓存和管理小块内存,也称通用缓存,用于kmalloc的底层实现和支撑。......【阅读全文】

阅读(1007) | 评论(0) | 转发(0)

发布时间:2014-12-15 09:20:42

7.1内存分配方式内存分配方式有三种:(1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。(2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指.........【阅读全文】

阅读(1012) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册