四级网络工程师-操作系统

此篇网络工程师经验为博主亲身经历所得,本人根据未来教育系统题库整理得出此篇论文,希望对备考四级的同志们有帮助!因为自己亲身经历,所以给大家的备考建议:(题目不是全覆盖!全覆盖太多了,特别是多选题)
(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-nn

虚拟存储

  • (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只筷子


可能有重复的地方,博主实在懒得改了,就当重复记忆了吧,实在太多了。。。欢迎各位读者指出错误的地方,或者对某些大题有疑问的地方,我可以找时间写个专题!希望读者们都能一次性通过网络工程师测试!
转载请注明出处!!!
点个赞吧!这玩意好难整理啊,没有读者的支持实在没啥动力写计算机网络篇了,太难了,太难了,呜呜呜~~~

  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值