- 博客(56)
- 问答 (1)
- 收藏
- 关注
原创 I/O 管理 —— I/O子系统概述
一、I/O软件层次结构二、逻辑设备表的管理操作系统系统可以采用两种方式管理逻辑设备表(LUT):第一种方式,整个系统只设置一张LUT,这就意味着所有用户不能使用相同的逻辑设备名,因此这种方式只适用于单用户操作系统。第二种方式,为每个用户设置一张LUT,各个用户使用的逻辑设备名可以重复,适用于多用户操作系统。系统会在用户登录时为其建立一个用户管理进程,而LUT就存放在用户管理进程的...
2019-09-29 00:30:08 691
原创 文件管理 —— 磁盘调度算法
一、一次磁盘读/写操作需要的时间二、先来先服务算法(FCFS)三、最短寻找时间优先(SSTF)四、扫描算法(SCAN)五、LOOK调度算法六、循环扫描算法( C-SCAN)七、C-LOOK调度算法...
2019-09-27 07:24:54 597 1
原创 文件管理 —— 文件的物理结构(文件分配方式)
一、文件块和磁盘块二、连续分配三、链式分配(1)隐式链接(2)显式链接三、索引分配(1)链接方案(2)多层索引(3)混合索引
2019-09-26 13:25:30 1912
原创 文件管理 —— 文件共享(软链接和硬链接)
一、硬链接在某个目录下新增一个文件名(档名)链接到某个 inode 号码,硬链接不会增加 inode ,也不会耗费目录的block数量 。修改其中一个硬链接,与其链接的文件同时被修改如果删除其中一个硬链接,其余的文件不受影响硬链接不能关联它所在文件系统之外的文件硬链接不能关联目录索引结点中需要有链接计数 countcountcount 。某用户想删除文件时,只是删除该用户的目录项...
2019-09-26 11:01:27 1883
原创 文件管理 —— 文件目录
一、文件控制块二、目录结构(1)单级目录结构(2)两级目录结构(3)多级目录结构(树形目录结构)(4)无环图目录结构三、索引结点(FCB的改进)...
2019-09-26 00:01:02 455
原创 文件管理 —— 文件的逻辑结构
一、无结构文件二、有结构文件(1)顺序文件(2)索引文件(3)索引顺序文件索引顺序文件是索引文件和顺序文件思想的结合。索引顺序文件中,同样会为文件建立一张索引表,但不同的是:并不是每个记录对应一个索引表项,而是一组记录对应一个索引表项。...
2019-09-25 23:26:48 469
原创 文件管理 —— 文件的概念
一、文件的属性二、文件内部数据的组织结构三、文件之间的组织结构四、文件的基本操作创建文件( create系统调用)删除文件( delete系统调用)读文件(read系统调用)写文件( write系统调用)打开文件(open系统调用)关闭文件( close系统调用)五、文件如何存放在外存中...
2019-09-25 22:56:34 642 1
原创 内存管理 —— 地址翻译
地址翻译主要包括两个阶段:一个是虚实地址转换,另一个是存取数据。慢表(Page):放在主存中的页表,页表只能存放在主存中。快表(TLB):放在告诉缓冲存储器的页表项。一、虚实地址转换(1)根据虚拟地址的 TLB 标记 和 索引(若采用全相联映射,则没有索引) 查 TLB 中是否有对应的页表项若存在对应的页表项,且有效位(即装入位)为1,则将页表项中的实页号和页内地址拼接,得到实地址...
2019-09-24 14:14:05 1027
原创 内存管理 —— 页面分配策略
一、驻留集指请求分页存储管理中给进程分配的物理块的集合。若驻留集太小,会导致缺页频繁,系统要花大量的时间来处理缺页,实际用于进程推进的时间很少若驻留集太大,又会导致多道程序并发度下降,资源利用率降低。所以应该选择一个合适的驻留集大小固定分配:操作系统为每个进程分配一组固定数目的物理块,在进程运行期间不再改变。即,驻留集大小不变可变分配:先为每个进程分配一定数目的物理块,在进程运行期...
2019-09-19 11:35:39 1082
原创 内存管理 —— 页面置换算法
一、最佳置换算法(OPT)二、先进先出置换算法(FIFO)Belady异常当为进程分配的物理块数增大时,缺页次数不减反增的异常现象。三、最近最久未使用置换算法(LRU)四、时钟置换算法( CLOCK)五、改进型的时钟置换算法六、页面置换算法的比较...
2019-09-19 09:25:29 433
原创 内存管理 —— 请求分页管理方式
一、请求分页存储管理与基本分页存储管理的区别二、页表机制三、缺页中断四、地址变换地址变换步骤:查快表(未命中)——查慢表(发现未调入内存)——调页(调入的页面对应的表项会直接加入快表)——查快表(命中)——访问目标内存单元只有“写指令”才需要修改“修改位”。并且,一般来说只需修改快表中的数据,只有要将快表项删除时才需要写回内存中的慢表。这样可以减少访存次数。和普通的...
2019-09-19 08:36:20 1955
原创 内存管理 —— 快表TLB
一、快表和慢表的定义慢表(Page):页表、段表存放在主存中,收到虚拟地址后要先访问主存,査询页表、段表,进行虚实地址转换。快表(TLB):提高变换速度→用高速缓冲存储器存放常用的页表项二、局部性原理三、地址转换(以分页存储为例)四、基本地址变换机构和具有快表的地址变换机构的比较...
2019-09-18 11:46:59 16461 6
原创 内存管理 —— 基本段页式存储管理
一、基本思想首先把内存分为一个个相等的小分区,称为页框(或页帧、内存块、物理块),对应页框号(从0开始)将进程按逻辑模块分段,再按照分区大小将各段分页(如每个页面4KB)最后将进程的各个页面可离散地存放到各个的内存块中二、逻辑地址结构三、段表、页表四、地址转换(逻辑地址 → 物理地址)...
2019-09-18 11:14:10 317
原创 内存管理 —— 基本分段存储管理
一、基本思想按照程序自身的逻辑关系划分为若干个段,每个段都有一个段名(在低级语言中,程序员使用段名来编程),每段从0开始编址以段为单位进行分配,每个段在内存中占据连续空间,但各段之间可以不相邻。二、逻辑地址结构三、段表四、逻辑地址 → 物理地址五、分段、分页管理的对比...
2019-09-18 10:10:23 601
原创 内存管理 —— 基本分页存储管理
一、基本思想首先把内存分为一个个相等的小分区,称为页框(或页帧、内存块、物理块),对应页框号(从0开始)然后再按照分区大小把进程拆分成一个个小部分,称为页(或页面),对应页号(从0开始)最后将进程的各个页面可离散地存放到各个的内存块中进程的页面与内存的页框有一 一对应的关系。各个页面不必连续存放,也不必按先后顺序来,可以放到不相邻的各个页框中。二、逻辑地址 → 物理地址三...
2019-09-16 23:21:06 527
原创 内存管理 —— 连续分配管理方式
一、外部碎片和内部碎片内部碎片,分配给某进程的内存区域中,如果有些部分没有用上。如某进程只需要10MB内存,但系统分配给它15MB的内存空间,这就导致了5MB的内部碎片外部碎片,是指内存中的某些空闲分区由于太小而难以利用。二、单一连续分配三、固定分区分配(1)两种分区方式(2)分区说明表四、动态分区分配(1)两种数据结构(2)动态分区分配算法1. 首...
2019-09-13 09:24:20 579
原创 内存管理 —— 内存的基本知识
一、什么是内存?有何作用?二、进程运行的基本原理三、三种装入方式(1)绝对装入(2)静态重定位(3)动态重定位四、三种链接方式(1)静态链接(2)装入时动态链接(3)运行时动态链接...
2019-09-12 13:21:13 400
原创 进程管理 —— 死锁的检测和解除
一、死锁的检测两种结点:进程结点:对应一个进程资源结点:对应一类资源,一类资源可能有多个两种边:进程结点 → 资源结点:表示进程想申请几个资源(每条边代表一个)资源节点 → 进程结点:表示已经为进程分配了几个资源(每条边代表一个)二、图的简化(1)可完全简化(2)不可完全简化三、死锁的消除...
2019-09-11 13:54:14 665
原创 进程管理 —— 避免死锁(银行家算法)
一、安全序列、不安全状态、死锁的联系安全序列: 所谓安全序列,就是指如果系统按照这种序列分配资源,则每个进程都能顺利完成。只要能找出一个安全序列,系统就是安全状态。当然,安全序列可能有多个。不安全状态: 如果分配了资源之后,系统中找不出任何一个安全序列,系统就进入了不安全状态。这就意味着之后可能所有进程都无法顺利的执行下去。当然,如果有进程提前归还了一些资源,那系统也有可能重新回到安全状态,...
2019-09-11 13:19:07 670
原创 进程 —— 死锁的概念
一、什么是死锁各进程互相等待对方手里的资源,导致各进程都阻塞,无法向前推进二、死锁、饥饿、死循环的区别三、死锁产生的必要条件四、什么时候会发生死锁五、死锁的处理策略...
2019-09-10 17:46:40 317
原创 进程管理 —— 哲学家进餐问题
一、问题描述二、问题分析semaphore mutex=1;//互斥地取筷子Pi (){ //i号哲学家的进程 while(1){ P(chopstick [i] ); //拿左 P(chopstick[(i+1)%5]); //拿右 吃饭; V(chopstick [i]); //放左 V(chopstick[(i+1)%5]); //放右 思考 }}...
2019-09-10 15:42:59 1162 1
原创 进程管理 —— 管程
一、引入管程的目的二、管程的组成共享数据结构对数据结构初始化的语句一组用来访问数据结构的过程(函数)三、管程基本特征各外部进程/线程只能通过管程提供的特定“入口”才能访问共享数据每次仅允许一个进程在管程内执行某个内部过程各进程必须互斥访问管程的特性是由编译器实现的可在管程中设置条件变量及等待/唤醒操作以解决同步问题四、示例(1)用管程解决生产者消费者问题...
2019-09-09 17:28:26 240
原创 进程管理 —— 生产者消费者问题
一、问题描述二、问题分析三、实现四、P、V操作的顺序(1)所有的 P 操作都需要在 V 操作之前以 producer 为例,调换 P(empty) 和 V(full) 的顺序,生产一个产品之后,由于 V(full) 无法阻塞进程,因此不管是否存在空闲缓冲区,就把产品放入缓冲区,这可能会导致缓冲区溢出,没有起到互斥的效果。producer(){ while(1){ 生...
2019-09-09 16:24:11 2245
空空如也
在32位字长的计算机中,double变量如何进行大端存储和小端存储?
2019-07-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人