Loading

随笔分类 -  操作系统

摘要:缓冲区管理 缓冲区是一个存储区域,可以由专门的硬件寄存器组成,也可以利用内存作为缓冲区 利用硬件作为缓冲区的成本较高,容量也较小.一般仅用在对速度要求非常高的场合,由于对页表的访问频率极高,因此使用速度很快的联想寄存器来存放页表项的副本。 一般情况下,更多的是利用内存作为缓冲区 缓存区的作用 缓和C 阅读全文
posted @ 2023-02-06 09:37 nliuc 阅读(136) 评论(0) 推荐(0)
摘要:设备的分配与回收 设备分配时考虑的因素 设备的固有属性 独占设备:一段时间内只能分配给一个进程共享设备:可以分配给多个设备使用的设备[宏观上共享,微观上交替]虚拟设备:采用SPOOLing技术将独占设备改造成虚拟的共享设备,可同时分配给多个进程 使用(如采用SPOOLing技术实现的共享打印机) 设 阅读全文
posted @ 2023-02-06 09:35 nliuc 阅读(174) 评论(0) 推荐(0)
摘要:IO核心子程序 IO核心子程序要实现的功能就是设备独立性软件、设备驱动程序、中断处理程序这三节需要实现的功能 考研中我们需要重点掌握的功能有:I/O调度,设备保护,假脱机技术,设备分配与回收,缓冲区管理 假脱机技术(SPOOLing技术) 假脱机技术在用户层实现,但是408大纲又将假脱机技术归为"I 阅读全文
posted @ 2023-02-06 09:34 nliuc 阅读(159) 评论(0) 推荐(0)
摘要:I/O软件的层级结构 用户层软件 用户层软件实现了与用户交互的接口,用户可以直接使用该层提供的,与I/O操作相关的库函数进行对设备进行操作。 用户层软件将用户请求翻译成格式化的I/O请求,并且通过系统调用请求操作系统内核的服务。 操作系统核心子程序 设备独立性软件(系统调用) 设备性软件又称设备无关 阅读全文
posted @ 2023-02-06 09:32 nliuc 阅读(347) 评论(0) 推荐(0)
摘要:I/O控制方式 需要关注的问题 1. 完成一次读/写操作的流程 2. CPU干预的频率 3. 数据传送的单位 程序直接控制方式 完成一次读/写操作的流程(keyword:轮询) 1. CPU向控制器发出读指令,于是设备启动,并且将状态寄存器设置为1(未就绪) 2. CPU轮询检查控制器的状态(其实就 阅读全文
posted @ 2023-02-06 09:31 nliuc 阅读(199) 评论(0) 推荐(0)
摘要:I/O设备的概念和分类 什么是I/O设备 "I/O"就是"输入/输出"设备. 鼠标,键盘:典型的输入型设备 显示器:输出型设备 移动硬盘:既可以输入、又可以输出设备 Unix将外部设备抽象为特殊的文件,用户可以使用与文件操作相同的方式对外部文件设备进行操作。 Write操作:向外部设备写出数据 Re 阅读全文
posted @ 2023-02-06 09:09 nliuc 阅读(330) 评论(0) 推荐(0)
摘要:文件层次结构 用户接口:文件系统需要向上层的用户提供一些简单易用的功能接口。这层就是用于处理用户发出的系统调用请求(Read、write、open、Close等系统调用) 文件目录系统:用户通过文件路径来访问文件的,因此这一层需要根据用户给出的文件路径找到相应的FCB或索引结点。所有和目录相关的工作 阅读全文
posted @ 2023-02-04 10:08 nliuc 阅读(97) 评论(0) 推荐(0)
摘要:文件共享 多个用户共享同一个文件,意味着系统中只有一份文件数据,数据一改俱变 与共享对应的是复制的行为 硬链接(基于索引结点的共享方式) 索引节点,是一种文件目录的瘦身策略。由于检索文件时只需要用到文件名,因此可以将除了文件名之外的其他信息存放到索引结点中。这边目录项就只包含文件名、索引结点指针。 阅读全文
posted @ 2023-02-04 10:06 nliuc 阅读(159) 评论(0) 推荐(0)
摘要:文件的基本操作 创建文件(create 系统调用) 进行Create系统调用时,需要提供几个主要参数 所需的外存空间大小(如:一个盘块,即1KB)文件存放路径(‘D:/Demo’)文件名 操作系统在处理Create系统调用时,主要做了两件事在外存中找到文件所需的空间(结合上小节的空闲链表法,位示图法 阅读全文
posted @ 2023-02-04 10:05 nliuc 阅读(74) 评论(0) 推荐(0)
摘要:文件存储空间管理 对存储空间的管理起始是对空闲块的管理 存储空间的划分与初始化 文件卷的概念 存储空间的划分:将物理磁盘划分位一个个的文件卷(逻辑卷,逻辑盘) 有些系统支持超大型文件,可支持由多个物理磁盘组成的一个文件卷 目录区与文件区 存储空间初始化的时候将各个文件卷划分为目录区和文件区 目录区: 阅读全文
posted @ 2023-02-04 10:04 nliuc 阅读(207) 评论(0) 推荐(0)
摘要:文件的分配方式 操作系统对磁盘进行的管理 对非空闲磁盘块的管理对空闲磁盘块的管理 文件的物理结构 在外存管理中,为了方便对文件的管理。文件的逻辑地址空间也被分为了一个一个的文件’块’. 因此文件的逻辑地址也可以表示为(逻辑块号,块内地址)的形式。 操作系统为文件分配存储空间都是以块为单位的。 用户通 阅读全文
posted @ 2023-02-04 10:03 nliuc 阅读(183) 评论(0) 推荐(0)
摘要:文件目录 文件目录就是我们很熟悉的Windows操作系统的文件夹 文件控制块 实现文件目录的关键数据结构 目录本身就是一种结构文件,由一条条记录组成.每条记录对应一个放在目录下的文件。 目录文件中的一条记录就是一个文件控制块"FCB" FCB中包含了文件的一些基本信息 文件名物理地址逻辑结构物理结构 阅读全文
posted @ 2023-02-04 10:01 nliuc 阅读(253) 评论(0) 推荐(0)
摘要:文件管理 文件是一组有意义的信息/数据集合。 文件属性 文件属性 文件名:同一目录下不允许有重名文件标识符:一个系统内各文件标识符唯一,对用户来说毫无可读性,因此标识符只是操作系统用于区分各个文件的一种内部名称类型:指明文件的类型位置:文件的存放路径,在外存中的地址。大小:指明文件大小创建时间、上次 阅读全文
posted @ 2023-02-04 09:59 nliuc 阅读(98) 评论(0) 推荐(0)
摘要:页面置换算法 页面的换入、换出需要磁盘I/O,会有比较大的开销,因此好的页面置换算法应该追求更少的缺页率。 最佳置换算法(OPT) 每次选择淘汰的页面将是以后用不使用,或者在最长时间内不被访问的页面,这样可以保证最低的缺页率 最佳置换算法可以保证最低的缺页率,但是实际上,只有进程执行的过程中才知道接 阅读全文
posted @ 2023-02-03 20:28 nliuc 阅读(177) 评论(0) 推荐(0)
摘要:请求分页管理方式 页表机制 页表机制功能: 记录每个页面是否调入内存记录每个页面在外存中的位置记录各个页面被修改的信息 页表中新增的字段:状态位:是否已调入内存访问字段:可记录最近被访问过几次,或记录上次访问的时间,供置换算法选择换出页面时参考修改位:页面调入内存后是否被修改过外存地址:页面在外存中 阅读全文
posted @ 2023-02-03 20:26 nliuc 阅读(154) 评论(0) 推荐(0)
摘要:传统存储方式的特征、缺点 一次性 作业必须一次性全部装入内存后才能开始运行。造成两个问题: 作业很大时,不能全部装入内存,导致大作业无法运行当大量作业要求运行时,由于其内存无法容纳所有作业,因此只有少量作业能运行,导致多道程序并发度下降。 驻留性 一旦作业被装入内存,就会一直驻留在内存中,直至作业运 阅读全文
posted @ 2023-02-03 20:24 nliuc 阅读(160) 评论(0) 推荐(0)
摘要:基于分段存储 什么是分段 进程的地址空间:按照程序自身的逻辑关系划分为若干个段,每个段都有一个段名,每段从0开始编址 内存分配规则:以段为单位进行分配,每个段在内存中占据连续空间,但各段之间可以不相邻 段号决定了每个进程最多可分几个段 段内地址位数决定了每个段的最大长度是多少 什么是段表 程序分为多 阅读全文
posted @ 2023-02-03 20:23 nliuc 阅读(103) 评论(0) 推荐(0)
摘要:基本地址变换机构 基本地址变换机构可以借助页表将逻辑地址转换为物理地址 通常会在系统中设置一个页表寄存器(PTR),存放页表在内存中的起始地址F和页表长度M 进程未执行时,页表的始址和页表长度存放在[[002-1-1-定义#进程实体|进程控制模块]]中,当进程被调度时,操作系统内核把它们放在页表寄存 阅读全文
posted @ 2023-02-03 20:21 nliuc 阅读(497) 评论(0) 推荐(0)
摘要:动态分区分配算法 首次适应算法 算法思想:每次都从低地址开始查找,找到第一个能满足大小的空闲分区 实现方法: 空闲分区以地址递增的次序排列,每次分配内存时顺序查找空闲分区链(或空闲分区表),找到能满足大小的第一个空闲分区。 优点 更有可能把高地址部分的大分区保留下来 最佳适应算法 算法思想:为了各个 阅读全文
posted @ 2023-02-03 20:17 nliuc 阅读(302) 评论(0) 推荐(0)
摘要:基本的分页存储 连续分配方式的缺点 固定分区分配 缺乏灵活性,会产生大量的内部碎片,内存利用率很低 动态分区分配 会产生很多外部碎片,虽然可以用紧凑技术来处理,但是紧凑的时间代价很高 如果能让一个进程分散的装入许多不相邻的分区中,便可充分的利用内存,而无需利用"紧凑"。 基于此思想,就产生了"非连续 阅读全文
posted @ 2023-02-02 10:06 nliuc 阅读(117) 评论(0) 推荐(0)