39、UNIX系统的设备与文件管理详解

UNIX系统的设备与文件管理详解

1. 设备管理

UNIX系统调用展示了其灵活性,例如程序员可通过父进程创建子进程来执行程序,无需编写加载程序或寻找内存空间的代码。

UNIX在设备处理方面具有创新性,它将每个I/O设备视为特殊类型的文件,为系统中的每个设备分配类似文件名的名称,并使用i - nodes描述符来识别和存储设备信息,这些描述符存于设备目录中。负责管理主内存与外设间数据传输的子程序称为设备驱动程序。

若计算机使用的设备未随操作系统提供,需由经验丰富的程序员编写或从可靠来源获取并安装设备驱动。设备驱动在系统配置时集成到内核,UNIX的config程序会为硬件配置自动创建conf.c文件,该文件包含控制资源的参数及bdevsw和cdevsw表,使内核能适应不同硬件配置。

1.1 设备分类

I/O系统分为块I/O系统(结构化I/O系统)和字符I/O系统(非结构化I/O系统)。每个物理设备由次要设备号、主要设备号和类别(块或字符)标识。

每个类别都有配置表,包含设备驱动程序的入口点数组,这是系统代码与设备驱动的唯一连接,方便系统程序员快速创建新驱动以适应不同配置的系统。主要设备号作为索引访问特定驱动代码,次要设备号作为参数传递给驱动以访问相同或相似的物理设备。

块I/O系统用于可按相同大小块寻址的设备,UNIX有10 - 70个I/O缓冲区,信息存于列表中。每次发出读命令时,会搜索缓冲区列表,若数据已在缓冲区则直接提供给请求进程,否则从二级存储移至缓冲区。若缓冲区不足,采用LRU策略清空一个缓冲区。

字符类设备由实现字符列表的设备驱动处理。以终端为例,它有两个输入队列(原始队

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值