此篇网络工程师经验为博主亲身经历所得,本人根据未来教育系统题库整理得出此篇论文,希望对备考四级的同志们有帮助!因为自己亲身经历,所以给大家的备考建议:(题目不是全覆盖!全覆盖太多了,特别是多选题)
(1)预备12天以上时间,保证每天复习时间在6个小时左右,去淘宝上购买计算机四级网络工程师的未来教育题库激活码,买书也不一定会看的
(2)光靠背诵该篇文章是无用的,题库的1800道原题你至少得认真过一遍,刷题的时候可以先查看本篇文章相关知识点,然后再看看答案解读,有利于多次重复记忆
(3)很多人会去找破解软件,据我所知,很少有按章节的破解版,所以最好是去淘宝买激活码。一定要按章节刷题,一套一套刷基本没用!!!按章节刷完题后,一定要记得再去刷n套试卷
注:网络工程师资格需要操作系统和计算机网络均过30分方才有效!
第一章——操作系统概论
CPU—
- (1)主要部件:运算器、控制器、寄存器、高速缓存器
- (2)功能:取指令、设置CPU状态、响应中断请求
- (3)内核态可以运行特权指令和非特权指令
- (4)用户应用程序不属于内核程序
- (5)分类标准:CPU在运行时所处的状态
①内核态(核心态、管态、特权态):屏蔽中断(不被外部打扰)、关中断指令、置移位方向标志
②用户态(目态):算术运算指令、置移位方向标志
操作系统—
- (1)主要功能:资源管理和控制程序执行
- (2)组成部分:①进程管理 ②内存管理 ③设备管理 ④文件管理
- (3)所在层面:硬件之上、支撑软件之下
- (4)名称:Ubuntu、Windows、Unix、Linux(无安全态)、BSD、DOS
- (5)作为系统软件:为用户提供高效使用计算机的接口(命令输入、系统调用)
- (6)Android操作系统:①移动应用 ②支持网络
- (7)研究观点:软件、资源管理、进程、虚拟机、服务提供者
- (8)角度:
①计算机应用:人机交互接口
②软件设计:软件开发基础平台、系统软件
③安全保护:第一道安全防线
④系统发展:虚拟机和扩展机 - (9)类型:
①批处理:资源利用率高、吞吐量大、缺少交互性、较少的周转时间
②实时:可靠性、实时响应、过载防护
③交互式:多级反馈队列算法、时间片轮转、高优先级优先、先来先服务
④分布式 ⑤个人计算机 ⑥网络操作 ⑦嵌入式 - (10)性质:
①并发性:宏观上同时进行,微观上交替运行
②共享性:在一定的策略控制下,按不同资源类型共同占有使用
③合理性:使程序不发生死锁和饥饿
④随机性:不能对情况做出事先假定 - (11)体系结构:
①整体式 ②层次式
③微内核(即C/S模式,客户机/服务器模式,cilent/server):可靠性、灵活性、分布式处理、适合分布式系统
访管中断—
- (1)在用户态下使用特权指令引起的中断,CPU由用户态转向核心态
- (2)修改程序状态字:处理器由系统态转到用户态
接口—
- (1)系统调用:①fork()创建进程 ②write()打印输出 ③屏幕画圆
- (2)操作系统为用户提供:
①命令接口(终端窗口输入命令)
②程序接口(即系统调用)
③图形界面接口:图标、窗口、菜单、对话栏等
进程—中断服务程序不能作为进程来管理
数据结构—可以由系统动态更新
设备—
- (1)①共享:硬盘、可重入代码 ②独占:磁带机、投影仪、扫描仪、内存分配模块(临界资源)
- (2)设备分配时查找的数据结构:系统设备表(SDT)、设备控制表(DCT)、控制器控制表(COCT)、通道控制表(CHCT)
- (3)互斥共享:中央处理器、存储器、打印机
文件—
- (1)权限顺序:文件属主、同组用户、其他用户
- (2)open()打开,将文件控制块(FCB)读入内存
- (3)close()关闭,将文件控制块写入磁盘或缓存
- (4)权限值:1-可执行,2-写, 4-读
- (5)树形目录:不能简化目录管理
例:文件权限为736,则文件属主可执行、写、读该文件;同组用户可执行、写该文件;其他用户可写、读该文件
寄存器—
- (1)用户可见:数据寄存器、地址寄存器、条件码寄存器
- (2)用户不可见:指令寄存器、程序计数器、程序状态字寄存器
第二章——操作系统运行机制
中断—
- (1)定义:外部事件引发
- (2)影响中断响应顺序:中断优先级
- (3)程序性中断(与当前进程有关):指令出错
- (4)中断处理程序入口:中断向量表
- (5)中断系统由硬件、软件配合实现
- (6)种类:时钟中断、输入/输出中断、控制台中断、硬件故障
- (7)属性:
①中断请求:I/O向CPU发出的中断信号
②中断源:引起中断的事件或设备
③中断响应:处理器暂停当前程序,进入中断处理程序
④中断断点:正在运行的程序的暂停点
异常—
- (1)定义:由正在执行的指令引发、内部事件引起
- (2)种类:被零除(不会导致进程终止)、算术溢出、缺页中断、访管中断
系统调用—
- (1)传递参数:寄存器、堆栈、陷入指令自带
- (2)过程调用和系统调用均可以嵌套使用,但系统无法多次嵌套与递归
- (3)返回到调用程序前先运行调度程序
- (4)与进程有关为系统调用,不能直接调用
- (5)用户执行访管指令后可执行
多道程序—
- (1)提高CPU的利用率、缩短作业的周转时间、提高吞吐量(效率指标)
- (2)CPU与外部设备并行工作
- (3)宏观上有多个进程在计算机中同时运行
- (4)根本目的:提高整个系统的效率
- (5)特性:独立性、随机性、资源共享性
- (6)可变分区:满足设计且设计最简单
- (7)存储管理:可变分区、页式、固定分区、段页式
- (8)并发执行特性:
①程序与计算不再一一对应
②程序在执行期间具有相互制约关系
③程序执行结果不可再现
④执行过程没有封闭性
程序状态字(PSW)—
- 标志位、状态码:进位标志(CF)、结果为零(ZF)、符号(SF)、溢出(OF)、陷阱(TF)、中断屏蔽(IF)、虚拟中断(VIF)、虚拟中断待决(VIP)、CPU工作状态码(S)、条件码(C)
端口—全端口速率×全双工端口数×2 + 半端口速率×半双工端口数 = 总端口带宽
例:一种交换机可插入16个100Mbps全双工端口与2个1Gbps全双工端口,在交换机满配置的情况下带宽可达:
16×100×2+2×1000×2 = 7200Mbps = 7.2Gbps
第三章——进程线程模型
进程—
- (1)成分:进程控制块、数据、指令代码(不同进程执行的代码可以相同)
- (2)存在的唯一标志——进程控制块,只能由系统读取运行状态
- (3)进程有部分线程被选中投入运行,则此进程为运行状态
- (4)进程创建完成:运行–>就绪,现场信息保存在进程控制块中
- (5)进程创建时机:用户登录、系统初始化、系统调用、初始化批处理作业
- (6)进程交换:将代码、数据、部分进程块交换至磁盘
- (7)状态:就绪、运行、等待(系统调用进程控制原语改变进程状态)
- (8)申请资源长期得不到满足,则挂起该进程
- (9)分类:计算密集型、I/O密集型
- (10)运行–>阻塞原因:——必然引起另一个进程状态发生改变
(进程申请处理机未得到满足)
①请求系统服务
②启动某种操作
③新数据尚未到达
④无新工作可做 - (11)引入线程的目的:(用户线程、内核线程、混合线程)
①提高并发度
②减少通信开销
③线程之间的切换时间短
④每个线程有独立的栈(不是地址空间)
⑤线程创建速度快 - (12)与时间有关的调度算法:
①先来先服务FCFS
②短作业优先SJF
③最高响应比优先HRRF
④时间片轮转RR - (13)线程操作:
①pthread_join——等待一个特定的线程退出
②pthread_yield——线程让出CPU
③pthread_create——创建新线程
④pthread_exit——结束一个线程 - (14)进程调度的原因:(新创建的进程进入就绪队列不引起调度)
①进程执行完毕
②进程调用阻塞原语将自己阻塞(运行–>阻塞)
③调用唤醒原语激活进程(阻塞–>就绪)
④时间片用完(运行–>就绪)
⑤就绪队列的某进程优先级高于当前进程(运行–>就绪)
⑥运行出现错误 - (15)fork()创建进程,后面的语句整体执行2次,返回两个值。子进程返回0,父进程返回非0
例:pid = fork();
if(pid == 0) printf(“Hello World\n”);
else if(pid > 0)printf(“Hello World\n”);
else printf(“Hello World\n”);——输出2行Hello World
- (16)原语:
①撤销:寻找PCB–>撤销子孙进程–>释放该进程–>撤销该PCB
②唤醒:在等待队列寻找PCB–>修改进程状态为就绪–>插入PCB至就绪队列
③阻塞:中断CPU–>保存现场信息–>修改进程状态为阻塞–>插入PCB至阻塞队列
④创建 ⑤挂起 ⑥激活 ⑦改变进程优先级 - (17)特性:
①独立:一个进程是一个相对完整的资源分配单位
②异步:每个进程按照各自独立的、不可预知的速度向前推进
例:m核处理机的系统中有n个进程
①处于运行//就绪状态的进程最少为0个,所有进程可以进入阻塞状态;运行的进程最多为m个
②处于就绪态的进程最多有n-1个,所有进程在一个处理机的就绪队列时,必须有一个进入运行态
例:T1:…while(true){ i = i+1;}…——T2:while(true){ printf("%d",i); i = 0;}…并发执行2次循环
求可能输出值:将所有可能组合结果列出,即为可能值
例如这个题目:T1 T1 T2 T2、T2 T2 T1 T1、T1 T2 T1 T2、T2 T1 T2 T1
进程控制块(PCB)—
- (1)组织方式:线性方法、索引方法、链接方法
- (2)打开的文件的关键指针放在进程控制块中
- (3)进程创建完成后,控制块被插入到就绪队列中
- (4)区别:进程拥有而程序没有
- (5)内容:
①调度信息:进程名、进程号、存储信息、优先级、当前状态、资源清单、消息队列指针、当前打开文件
②现场信息:程序状态字、时钟、界地址寄存器
管程—
- (1)本身不能保证互斥:每次只允许一个进程进入,从而实现进程互斥
- (2)提高代码可读性
- (3)一种同步机制
- (4)将共享变量及对共享变量的操作封装在一起
可再入程序—纯代码程序,运行中不需要修改
饥饿—相关进程没有阻塞,但是调度被无限推后
调度算法——
- (1)公平性:先来先服务(不可抢占)、时间片轮转
- (2)饥饿现象:短作业优先、多级反馈队列、最短剩余时间优先、最高优先级
- (3)最小响应时间指标:交互式系统
- (4)适用于实时系统:速率单调、最早最终时限优先
- (5)满足截止时间:实时系统
- (6)时间片轮转调度——主要因素:响应时间、就绪进程数目、计算机处理能力
第四章——并发与同步
信号量—
- (1)若初值设定为1,m个进程在该信号量的等待队列时,值为 -m
- (2)PV操作顺序不能颠倒,P操作减一,V操作加一
- (3)信号量的初值不能小于0
- (4)可进行的操作:初始化信号量、P操作、V操作
例1:有m台打印机,申请打印机进程数量最多为n个,则信号量的范围为m~(m-n)
例2:假设信号量初值mutex为1,则当有k个进程在mutex的等待队列中时,信号量初值为-k
PV—
- (1)可以实现:进程同步、进程互斥、进程前趋
- (2)一类低级通信原语:不能大量信息交换(进程共享)
- (3)生产者往缓冲区放产品先使用P操作保证有空闲槽
- (4)临界资源使用:
①进入区:对临界资源访问前,需调用——P操作、while TS(&lock)类似语句
②临界区:对共享资源读写的代码段(空闲则进、忙则等待、让权等待、有限等待)——fetch(ticket)类似语句
③退出区:结束对临界资源的访问后离开——V操作、lock=FALSE类似语句
④剩余区:代码中的其余部分——output(list)类似语句 - (5)不足:
①程序不易读懂
②程序不利于修改和维护
③正确性难以保证
并发—
- (1)多个进程并发且通信:共享内存(不会产生多份相同拷贝)
- (2)制约问题:同步、互斥、死锁、饥饿
- (3)感知问题:
①相互不感知:竞争关系
②相互间接感知:共享协作
③相互直接感知:通信协作
同步—一个进程等待另一个进程向它发消息(包含同一共享变量)
互斥—
- (1)已满的邮件槽不能申请互斥锁
- (2)解决方法:竞争各方平等协商、设置进程管理者
- (3)硬件实现进程互斥:
①使用范围广
②操作简单
③支持多个临界区
通信—
- (1)直接通信:send(receiver,message)
- (2)信箱通信:receive()包含指令信箱名、取出的信件将存放的内存地址
- (3)管道通信:同步与互斥都由操作系统自动进行,对用户透明
- (4)共享内存通信:
①怎样提供共享内存——操作系统解决
②公共内存中的读写互斥问题——程序开发人员解决 - (5)方式:
①共享内存:设置一个公共缓冲区,一组写一组读
②消息机制:若干个公共缓冲区组成队列
③管道通信:连接两个进程的一个打开的共享文件(只能为同步),通信速度慢,数据流
④信箱通信:发送者和接收者可以异步收发信件
重定位—
- (1)把程序的逻辑地址空间变换成内存中的实际物理地址空间
- (2)静态重定位:在装入程序时,进行地址转换
- (3)动态重定位:在装入程序时,不进行地址转换,在指令执行时刻转换
第五章——内存管理
虚拟页式—
- (1)允许动态扩充内存容量
- (2)判断页面是否调入内存:有效位(驻留位、中断位、存在位)
- (3)调入策略:请求调页、预调页
例:进程的虚拟地址空间为2GB,页面大小为4KB,当用4字节表示物理页号时,页表需要占用512个页面。
地址空间:2GB = 2 × 210MB = 2 × 210 × 210KB
页面数量:2GB ÷ 4KB = 219个页面
总页号大小:219 × 4B = 211KB
页表所占数量:总地址空间/页面大小*页号大小/页面大小
页面置换—
- (1)Belady异常现象:FIFO算法
- (2)抖动:页面置换算法不合理(解决方法:工作集算法——随时间变化)
- (3)策略:全局置换、局部置换
缺页中断—
例1:页面大小为50个整型变量(题目有点长,挑重点)。下列程序数据初始化时,产生多少次缺页中断?
for(i = 1; i <= 50; i++)
for(j = 1; j <=100; j++) C[i,j] = 0;
——这里小编教大家看一些东西。首先记页面大小可以放的变量个数为k,然后看for里面的变量顺序和C[]括号里面的变量顺序是否相同
当顺序相同时,缺页次数= i × j / k,这里即是50×100÷50=100次中断
当顺序不同时,缺页次数= i × j × ( i / k),前提是i <= k,否则记 i / k = 1,如下:
例2:一个页面可以存放150个整数变量。
FOR j = 1 to 200 DO
FOR i = 1 to 150 DO A[i,j] = 0;
这里的for变量顺序是先 j 后 i,数组的变量顺序是先 i 后 j,且 i <= k
所以缺页次数 = 200 × 150 × (150 / 150)
存储—
- (1)操作系统涉及:寄存器、高速缓存器、内存、硬盘
- (2)内存紧缩:将零碎的空闲区集中为一个大空闲区
- (3)以进程为单位连续分配内存:固定分区、可变分区
- (4)碎片:
①外碎片(移动技术能解决):段式、动态分区(可变分区)
②内碎片(移动技术无法解决):页式、段页式、固定分区 - (5)进程交换:
①部分交换:页式、段式、段页式
②全部交换:固定分区、可变分区 - (6)存储保护:
①系统区不应被用户侵犯
②用户不能读写系统地址空间数据
③用户不能读写其他用户地址空间数据
地址映射—
- (1)通常由硬件完成
- (2)将虚拟地址转换成物理地址
- (3)页表项的一些内容是由硬件确定的
- (4)根据页表项的有效位确定所需访问的页面是否已经在内存
快表(TLB)—
- (1)切换进程时,刷新快表
- (2)快表存放在高速缓存中
- (3)查找按内容并行进行
- (4)进行地址转换时,如果快表不命中则继续查页表
可变分区—
- (1)算法:
①最佳适应:按空闲区大小递增排列占用
②最差适配:按空闲区大小递减排列占用
③首次适应:按空闲区地址递增排列占用
④下次适配:从上一次分配的位置扫描,选择下一个足够的可用块 - (2)移动技术解决碎片问题
页式存储—
- (1)页面的划分与页表数量有关,可以找到平衡点
- (2)管理空闲物理内存:空闲快链表、位示图
- (3)逻辑地址连续,物理页面可以不相邻
- (4)页面:
①为了提高内存利用率,可以采用多种不同大小的页面
②操作系统每次启动时确定本次运行的页面大小,用户进程在运行过程中不可改变页面尺寸
③页面和页框大小可以采用不同的尺寸
例1:某页式存储管理采用一级页表。访问内存时间为0.4us,快表的命中率为90%,有效访问时间为:
访问内存时间 + (1- 命中率) * 访问内存时间 = 0.4 + 0.4 × (1 - 0.9) = 0.44
例2:在采用页式存储管理方案的系统中,逻辑地址用32位表示,内存分块大小为210,则用户程序最多可分成222页。
232 / 210 = 222
例3:在某页式存储管理系统中,页面大小为2KB,物理内存为256MB,进程地址空间为512MB,则页表长度(页表项个数)为218
——这里的物理内存是干扰项,无实际作用。进程地址空间即业内地址大小,所以页表长度 = 512MB / 2KB = 218
——假设地址用m个二进制位表示,则地址大小为2mB,页内地址占n个二进制位,则每页大小为2nB。则页面数量用(m-n)位表示,即2m-n个页面
页面编号(高位) | 页内地址 (低位) |
---|---|
m-n | n |
虚拟存储—
- (1)空间大小的决定因素:计算机地址位宽
- (2)用户调入的页面来自磁盘文件区
- (3)内存管理:页式、段式、段页式
- (4)CPU利用率 > 磁盘繁忙率,则增加进程数量提高系统效率;反之则减少
- (5)硬件基础:缺页中断机制
- (6)置换算法:
①最近最少使用(LRU):置换距离现在最长时间未被访问的页面
②最佳页面(OPT):置换以后不再需要的、最后使用的页面
③先进先出(FIFO):先进的页面被置换
④最近最不常用(LFU):置换距离现在使用次数最少的页面
⑤最近未使用(NRU):置换最近一个时钟内没有被访问和没有被修改的页面
例:在管理系统中,页面大小为1024B。某进程在运行过程中访问的虚拟地址分别为2050、4121、89、1056、2100、144、4097、156、1121、2200、3996、288、2200、567、5109,系统给进程分配3个页框。采用LRU页面算法,该进程的缺页率为73%。
——首先将虚拟地址转化为页面号(注意,页面号从0开始)。虚拟地址除以页面大小可获得页面号,如:2050/1024 = 2…2,可知两个页面存不下,它在第三个页面,即2号页面。以此类推其他页面号:2、4、0、1、2、0、4、0、1、2、3、0、2、0、4。
程序—
- (1)时间局部性:程序存在大量循环
- (2)空间局部性:程序代码的顺序性
第六章——文件管理
文件—
- (1)存取方式依赖:文件的物理结构、存放文件的设备的物理特性
- (2)按名存取:文件目录查找
- (3)提高检索效率:引入当前目录、采用相对路径文件名、将目录项分解
- (4)文件安全:定时备份、设置文件访问控制列表、用户权限表、口令或密码
- (5)存储空间分配单位:数据块
- (6)随机存取:连续结构、索引结构、多级索引结构
- (7)存储空间管理:空闲块表、空闲块链表、位示图、成组链接法
- (8)文件的逻辑块号到磁盘块号的转换由物理结构决定
- (9)结构:
①逻辑结构:流式结构(二进制文件)、定长记录和不定长记录文件构成的记录树(数据库记录文件、日志文件)
②物理结构:顺序(磁盘碎片)、链接、节点、索引 - (10)文件操作:
①创建文件:检查参数合法性——检查重名——查找FCB位置——填写FCB
②关闭文件:查找文件——修改FCB相关内容——置FCB为“非活跃”——写回磁盘
③删除文件:查找文件——检查删除合法性——收回FCB资源——收回文件存储空间 - (11)打开文件:
①查找文件控制块(FCB——最重要:文件名)
②检查用户身份访问合法性
③打开文件表,看文件是否被打开
④返回用户一个文件描述符(第一次访问路径名,后面访问描述符) - (12)文件目录:(非必需:文件路径)
①用户通过系统调用可以读写目录
②根目录只能在操作系统格式化时创建
③所能容纳的文件或子目录数量受限于磁盘的大小
④文件控制块的全部或一部分 - (13)文件类型划分:
①组织形式:普通文件、目录文件、特殊文件
②用途:系统文件、库函数文件、用户文件
③保护方式:可执行文件、只读文件、读写文件、无保护文件
④存放时限:档案文件、临时文件、永久文件
⑤物理结构:顺序文件、链接文件、索引文件
例1:某文件由100个逻辑记录组成,每个记录长度为80个字符。磁盘分为若干块,块大小为1024个字符。块因子为12
——没采用成组操作:利用率 = 每个记录长度 / 块大小 = 80/1024
——采用成组操作:利用率 = 每个记录长度 * 块因子 / 块大小 = 80 * 12 / 1024
例2:主索引表有12项,其中前10项为文件前10块的磁盘地址,第11项为一级索引表的地址,第12项为二级索引表的地址。每个磁盘块存放100个磁盘地址。(或物理块大小为512B,16位表示一个物理块号,则磁盘项 = 512B / (16/8)B)
——文件的总块数 = 直接索引(10)+ 一级索引 * 磁盘项(100) + 二级索引*磁盘项(100)*磁盘项(100)+ 三级索引* 磁盘项3+四级索引*磁盘项4+ … + n级索引*磁盘项n = 10110
磁盘—
- (1)位示图法:(归还块号/列数)行(归还块号%列数)列
- (2)物理结构及存取方式:连续结构(随机、顺序存取)、链接(顺序存取)、索引(顺序、随机存取)
- (3)访问时间:
①寻道时间(最重要)
②旋转延时时间
③传输时间(花费时间最短) - (4)调度算法:
①扫描算法SCAN(电梯算法)
②最短寻道时间优先SSF(平均寻道时间较短引起饥饿)
③FCFS调度(先来先服务调度)
文件系统—
- (1)提高性能:块高速缓存、磁盘驱动调度、目录项分解法
- (2)文件控制块(FCB):至少包含文件名和文件存储地址
- (3)用户角度:实现文件的按名存取
- (4)物理结构:
①顺序结构:逻辑块与存储介质上物理块存放顺序一致(磁带机只能顺序存取)
②索引结构:文件信息分散在不连续的磁盘块中,将地址集中放在一张表中(适合随机访问且易于文件扩展)(磁盘、磁盘阵列)
③链接结构:每个磁盘块中设置一个指向下一个磁盘块的指针(存取速度慢且不适合随机存取) - (5)文件分配表——FAT
①FATn是指系统中用n位表示簇号
②Windows支持
③FAT16文件名最大长度为8字符
④采用链接结构的物理结构 - (6)树形目录:
①不能简化目录管理
②引入当前目录,加快目录检索速度
③解决了文件重名问题(主要目标)
④便于实现文件共享
例:假设目录文件放在磁盘上,每个盘块a字节。文件控制块有b字节,其中文件名占c字节,文件控制块分解后,第一部分占有d字节(包括文件名和文件内部号),第二部分占e字节(包括文件内部号和文件其他信息)。假设某一个目录文件共有f个文件控制块。
——采用目录项分解法前,平均访盘次数 = (文件控制块总数 / 每个盘的文件块数 + 1)/ 2
每个盘文件块数——盘块大小a / 文件控制块大小b
——采用目录项分解法后,平均访盘次数 = (文件控制块有效部分 / 磁盘块大小 + 1)/ 2 + 1
文件控制块有效部分——文件控制块总数f * 包含文件名部分d
第七章——I/O设备管理
设备表—
- (1)建立逻辑设备与物理设备之间的对应关系
- (2)系统设备表SDT——设备控制表DCT——控制器控制表COCT——通道控制表CHCT
I/O设备管理—
- (1)信息交换单位:块设备(磁盘、磁带机)、字符设备(键盘)
- (2)层次结构:用户应用层、设备独立层(屏蔽设备多样性)、设备驱动层、中断处理层(设备硬件)
- (3)不同的I/O设备可以并行工作
- (4)准备就绪:输出缓冲区已空、可以向输出缓冲区写数据
- (5)缓冲技术:匹配不同外部设备的传输速度
- (6)设备分配原则:固有属性、分配算法、分配的安全性、独立性
- (7)软件结构:中断处理程序、设备驱动程序、设备无关软件层(提供与设备无关的逻辑块)、用户级软件
- (8)I/O技术:缓冲技术、设备分配技术、SPOOLing技术、DMA与通道技术
- (9)实现中断控制部件:中断控制器、地址总线和数据总线、设备控制器
- (10)控制方式:
①程序直接控制方式:检测寄存器完成位
②中断控制方式:I/O控制、CPU与外设并行工作
③DMA方式:磁盘、不经过CPU
④通道控制方式:引入不同与CPU的特殊功能处理单元 - (11)硬件
①结构:适配器和接口部件、设备控制器、设备硬件
②策略:先来先服务、高优先级优先 - (12)设备管理的主要任务:
①通过协调技术避免设备冲突
②通过虚拟技术提高设备并发度
③通过缓冲技术匹配高、低速设备
④通过接口技术提供一致的系统调用 - (13)提高I/O性能:
①应用缓冲技术,解决传输速度差异的问题
②应用异步I/O技术,使CPU不必等待I/O的操作结果
③应用DMA和通道部件,使CPU与这些部件能够并行执行
④应用虚拟设备技术,减少进程阻塞时间,提高独占设备的利用率
缓冲池—
- (1)实现进程访问缓冲区的同步(着重考虑)
- (2)高速缓存不是缓冲
通道—类型:字节多路、数据选择、数组多路
SPOOLing—组成部分:输入井和输出井、输入缓冲区和输出缓冲区、输入进程和输出进程
外存设备控制器—连接:光盘驱动器、磁带驱动器、磁盘驱动器
第八章——死锁
死锁—
- (1)产生原因:资源分配不当、进程推进顺序不当
- (2)死锁状态一定是不安全状态
- (3)定义:当且仅当当前状态的资源分配图是不可完全简化的,相关进程进入阻塞状态且无法唤醒
- (4)必要条件:资源互斥使用、部分分配资源、已分配资源不可剥夺、资源申请形成环路
- (5)独占设备分配策略:静态分配,分配时加锁
- (6)死锁算法:
①避免算法:银行家算法
②预防算法:建立SPOOling系统(破坏互斥条件)、一次分配所有资源、有序分配所有资源、剥夺其他进程资源
③检测算法:定时运行资源分析程序并报告是否已有死锁
④解除算法:剥夺进程资源、撤销进程、重新启动系统
假设系统共有m个资源,被n个进程共享,若要使系统不会死锁,则每个进程最多可以申请的资源个数:m / n + 余数,如m = 7, n = 3,则最多可申请3个
活锁—相关进程没有阻塞,可被调度,但是没有进展
饥饿—相关进程没有阻塞,但是调度被无限推后
哲学家算法—
- (1)仅当哲学家左右两边筷子都可用时,才允许他取筷子
- (2)最多允许4个哲学家可以同时申请进餐
- (3)奇数号的哲学家先取左边的筷子,偶数的则先取右边的筷子
- (4)给其中一个哲学家增配1只筷子
可能有重复的地方,博主实在懒得改了,就当重复记忆了吧,实在太多了。。。欢迎各位读者指出错误的地方,或者对某些大题有疑问的地方,我可以找时间写个专题!希望读者们都能一次性通过网络工程师测试!
转载请注明出处!!!
点个赞吧!这玩意好难整理啊,没有读者的支持实在没啥动力写计算机网络篇了,太难了,太难了,呜呜呜~~~