IO软件层次结构
1.操作系统的概念与功能2.操作系统的特征3.操作系统的发展与分类4.操作系统的运行机制5.中断和异常6.系统调用7.计算机系统体系结构8.操作系统引导 (Boot)9.虚拟机10.进程的概念、组成、特征11.进程的状态与转换、进程的组织12.进程控制13.进程通信14.线程的概念、作用和属性15.线程的实现方式和多线程模型16.线程的状态与转换、组织与控制17.调度的概念与层次18.进程调度的时机、方式、切换与过程19.闲逛进程20.调度算法的评价指标21.调度算法22.调度算法(一)23.调度算法(二)24.调度算法(三)25.进程同步与进程互斥26.进程互斥的软件实现方法27.进程互斥的硬件实现方法28.互斥锁29.信号量机制30.信号量实现进程互斥、同步、前驱关系31.生产者-消费者问题32.多生产者-多消费者问题33.吸烟者问题34.读者-写者问题35.哲学家进餐问题36.管程37.死锁38.死锁的处理策略39.(一)预防死锁40.(二)避免死锁41.(三)死锁检测和解除42.内存的基础知识43.内存管理的概念44.覆盖与交换45.连续分配管理方式46.动态分区分配算法47.基本分页存储管理的基本概念48.基本地址变换机构49.具有快表的地址变换机构50.两级页表51.基本分段存储管理方式52.段页式管理方式53.虚拟内存的基本概念54.请求分页管理方式55.页面置换算法56.页面分配策略57.内存映射文件58.初识文件管理59.文件的逻辑结构60.文件目录61.文件的物理结构(文件分配方式)62.逻辑结构与物理结构63.文件存储空间管理64.文件的基本操作65.文件共享66.文件保护67.文件系统的层次结构68.文件系统的全局结构(布局)69.虚拟文件系统&文件系统挂载(安装)70.IO设备的概念和分类71.IO控制器72.IO控制方式
73.IO软件层次结构
74.IO应用程序接口&设备驱动程序接口75.IO核心子系统76.假脱机技术(SPOOLing技术)77.设备的分配与回收78.缓冲区管理79.磁盘的结构80.磁盘调度算法81.减少延迟时间的方法82.磁盘的管理83.固态硬盘IO软件层次结构
一、用户层软件
向上实现了用户接口,向下翻译为系统调用。
二、设备独立性软件(设备无关性软件)
与设备的硬件特性无关的功能几乎都在这一层实现。
主要实现的功能:
-
向上层提供统一的调用接口(如 read/write 系统调用)
-
设备的保护
原理类似于文件保护。设备被看作是一种特殊的文件,不同用户对各个文件都访问权限不一样,同理,对设备的访问权限也不一样。(此概念在6.还会涉及)
-
差错处理
-
设备的分配与回收
-
数据缓冲区处理
可以通过缓冲技术屏蔽设备之间数据交换单位大小和传输速度的差异。
-
建立逻辑设备名到物理设备名的映射关系;根据设备类型选择调用相应的驱动程序
——对 LUT 逻辑设备表 Logical Unit Table 的补充(类比文件目录的单级目录和二级目录)
三、设备驱动程序
不同设备需要不同的设备驱动程序原因:
不同厂家出厂的各式各样的设备,外形不同,其内部的电子部件(I/O控制器)也可能不同,不同设备的内部硬件特性也不同。(这些特性,如状态寄存器中0和1的含义等,只有厂家自己知道,因此厂家须提供与设备相对应的驱动程序, CPU 执行驱动程序的指令序列,来完成设置设备寄存器,检查设备状态等工作)
——理解:这里类比虚拟文件系统但又不同
驱动程序一般会以一个独立进程的方式存在。
四、中断处理程序
理解:
执行中断处理还要读入 I/O 设备的一个字的原因是中断处理程序有很多种,这一个字的数据是 I/O 设备提供的参数和中断类型等数据(对应图中“中断信号类型”),CPU 通过这一个字的相关数据去查找中断向量表找到对应的中断处理程序。
分类:
计算机操作系统
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现