Chinaunix首页 | 论坛 | 博客
  • 博客访问: 415728
  • 博文数量: 61
  • 博客积分: 1991
  • 博客等级: 上尉
  • 技术积分: 492
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-08 12:28
文章分类

全部博文(61)

文章存档

2011年(5)

2010年(21)

2009年(3)

2008年(4)

2007年(28)

我的朋友

分类: BSD

2007-08-05 11:44:40

历史上,设备接口是静态的而且单一的。设备只能随着系统引导被检测,之后就不能修改了。典型的磁盘驱动能用几百行代码写成。由于系统的发展,伴随着功能性的增加,系统的复杂度也随之增长。设备可以在系统运行是动态的加载和卸载。随着复杂度和I/O总线类型的增长,I/O路由请求也变得复杂。例如,在多处理器环境下,设备中断必须被路由到最合适的处理器,这个处理器可能不是上次处理这个设备的处理器。7.1节中会给出一个PC架构的预览。

逻辑盘可能不再是一个单独物理磁盘上的一个partition,而是整合几个slice或partition产生一个逻辑partition,从而创建一个跨越几个磁盘的文件系统。把这种集合几个物理磁盘partition到一个逻辑partition的方法为卷管理(volume management)。并没有把所有功能编译进所有的文件系统或磁盘驱动,而是把这些抽象到GEOM(geometry)层。GEOM层的操作将在7.2节中描述。FreeBSD中两个主要磁盘系统将在7.3和7.4节中描述。

Autoconfiguration是系统执行的用来在系统中加载一个硬件设备的程序。历史上Autoconfiguration仅在系统引导时执行一次。在当前的系统中(例如象笔记本这样轻便的电脑),设备要在操作中加载和卸载。因此,当一个设备被加载时,内核要准备好配置、初始化和使设备可见;同样,当一个设备被卸载时,内核要停止对该设备的操作。FreeBSD使用一个被称作newbus的设备驱动基础架构来管理设备。newbus的架构将在7.5节中描述。

阅读(2216) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~