计算机网络工程师多选题系列——操作系统

2023-09-19 10:00:11

得多选者得天下啊同志们!

摘录按照章节顺序,但事实上各章节习题有交叉。

1 操作系统

1.1 操作系统概论

操作系统的主要功能:进程管理、存储管理、文件管理、设备管理和用户接口。

        操作系统的主要功能——设备管理:为用户程序提供系统调用接口、提供缓冲技术、管理通道、网卡等相关数据结构、提供虚拟设备技术。

        存储管理:包括内存的分配与回收和存储保护。因此包括,完成虚拟地址到物理地址的转换、管理内存分配表、检查进程地址空间是否出现地址越界问题和将磁盘上的代码调入内存以及内存扩充。

        文件管理:包括管理磁盘空间、磁盘碎片整理、建立文件目录和设置文件存取权限等。

不同类型的操作系统:

        根据操作系统在用户界面的使用环境和功能特征的不同,操作系统可以划分为批处理操作系统、分时操作系统、实时操作系统、嵌入式操作系统和分布式操作系统。

        批处理操作系统:批量处理用户作业、系统资源利用率高、吞吐率大,但是不能人机交互砌运行速度不快、运行成本不低。

        实时操作系统:能够及时响应外部请求,具有较高的可靠性和过载防护能力。

        分布式操作系统主要特点:是一个统一的操作系统、资源深度共享、透明性和自治性(各个主机关系都处于平等地位,没有主从关系)、可靠性。

        微内核(客户/服务器)结构的操作系统具有高可靠性、高灵活性和适合分布式处理的特点。

        操作系统提供了三种类型的接口供用户使用,分别是命令接口、程序接口和图形界面接口。


1.2 操作系统运行机制

中断与异常:

        典型的中断包括时钟中断、输入输出中断、控制台中断和硬件故障中断。

        异常指的是由正在执行的指令引发的,典型的包括程序性中断、访管指令异常。其中算术溢出、虚存中缺页、被零除都属于程序性中断。

程序状态字PSW:

       包括CPU的工作状态代码、条件码和中断屏蔽码。


       

1.3 进程线程模型

        实时操作系统 满足可靠性要求和截止时间要求。

        PCB 进程控制块:

        包括调度信息:进程名、进程号、存储信息、优先级、当前状态、资源清单、“家族”关系、消息队列指针、进程队列指针和当前打开文件。现场信息:程序状态字、时钟、届地址寄存器。

        下列调度算法中,适用于交互式操作系统的是: 多级反馈队列、时间片轮转、高优先级优先。

        线程描述表包括:记录线程ID 指令地址寄存器 处理器寄存器 硬件设备寄存器 栈现场状态。

        引入线程的目的:

        能够减少程序并发执行所付出的时间和空间开销,是操作系统具有更好的并发性。创建一个新县城花费时间少,系统开销也小;两个线程的切换花费时间少,同一个进程内的线程共享内存和文件,不需要额外的通信;线程能够独立执行,有独立的栈但是没有独立的地址空间。

        在抢占式调度系统中,进程从运行状态转换为就绪状态可能原因有:进程创建完成、时间片用完和被调度程序抢占处理机。


1. 4 并发与同步

        题型1 信号量 S值从XX变为XXX,哪些操作能够达成上述变化? 牢记P减V加。 V+P-

        题型2 互斥访问临界区,指令问题:

        TS指令实现互斥的算法是 测试锁变量的值,如为1,则不断测试。为0则置变量为1并进入临界区。退出临界区则置为0。

        题型3 读者 写者问题 P V 相关问题

        信号量初始化后,只能实施P V原语操作; 在互斥信号量与同步信号量都使用的进程中,应先执行同步信号量的P操作。信号量的初值不能小于0但互斥信号量的变化范围可以到负数。

        P、V操作可以实现进程间的同步与互斥,但是程序不易读懂 程序不利于修改和维护以及正确性难以保证。所以管程不仅相对于这些具有有点,而且不容易产生死锁。

        V语句一般可以颠倒顺序。

信箱通讯机制接收原语receive()操作,将从指定信箱中取出一封信,存到指定的内存地址中。

可以实现进程互斥的方法:Peterson算法 Test-and-Set 指令 Swap或者Exchange指令以及信号量。


1.5 内存管理

某进程运行时若将磁盘中的一个页面调入内存,该页面对应的页表表项中,哪些参数和标志位必须修改? 内存块号 驻留位和访问位。 进行虚拟页式存储管理时候,需要在页表增加的有页号 修改位  保护位 和禁止缓存位。

        存储管理的主要任务:

        内存的分配和回收、存储共享、存储保护、扩充内存容量。

        内存分配表的组织方式包括位示图法 空闲页面表和空闲块表

        虚存管理中的颠簸。 由于缺页率高会引起,工作机可以解决颠簸现象但是工作机随着时间变化的。虚拟页式存储管理方式 需要有缺页中断处理程序、页面调入策略和页面置换策略和程序分页机制和页表软件条件。快表是用来提高访问内存的效率。当进行页面置换的时候,需要用到 有效位 修改位和访问位。当页面仅进行修改后,访问位和修改位需要修改。进程发生缺页中断,选中页面进行淘汰,只需要修改驻留位。

        在虚拟页式存储方案中,常用的页面调入策略有两种,请求调页和预调页。

        实现虚拟页式存储管理方案需要:容量足够大的磁盘、一定容量的内存、虚实地址映射机制、缺页中断处理程序和页表。在虚拟页式存储管理中,为了实现地址变换所涉及到的数据结构是空闲区表、页表和位图。

进程的逻辑地址与内存存储区域都是连续的管理方案是固定分区和可变分区,并且可以进行整个进程的交换;可进行进程部分交换的是 段式和段页式。

        可变分配、全局置换: 进程运行中,其内存页面可以动态增长或减少;运行的进程中当其页面不够时可以从系统中的任何进程处进行置换、为每一个进程分配一定数量的内存页面。

增加联想寄存器和分页尺寸大小为2^n 能够加快虚拟页式存储管理系统中的虚实地址转换速度。

页面置换: 采用FIFO页面置换算法可能导致Belady现象。

1. 先进先出法(FIFO first in first out)

2. 最近最少使用页面置换算法(LRU Least Recently Used)

3. 最近最不常用页面置换算法(LFU Least Frequently Used)

4. 理想页面置换算法(OPT)

5. 最近未使用页面置换算法(NRU)

6. 第二次机会页面置换算法

7.时钟页面置换算法(Clock)

内存碎片:内存碎片分为内部碎片和外部碎片。其中内部碎片是虚拟页式、虚拟段式和固定分区可以产生的,外部碎片包括了段式和可变分区。

缺页过程:

能够支持多道程序设计的存储管理方案是:可变分区存储管理 页式存储管理 固定分区存储管理 段页式存储管理。

快表:

        另一个名称是TLB。  当切换进程时,要刷新快表、块表存放在告诉缓冲中。对快表和页表的查找是并行的,一旦发现快表中的有与所查页号一致的逻辑页号就停止查找内存页表,而直接利用快表中的逻辑页号。

        采用可变分区存储管理方案 ,需要硬件地址转换机制作为支持、基址寄存器、限长寄存器、地址加法器、地址比较器。

在可变分区内存管理方案中,当一个程序在内存中移动时,需要做如下工作:

  • - 读出该程序在内存中的所有代码和数据
  • - 进行内存重定位
  • - 将读出的代码和数据写入目标内存中
  • - 修改内存已分配区表
  • - 修改内存空闲区表。

1.6 文件管理

文件权限问题:

        rwx-rwx-rwx 分别代表着文件属主、同组用户和其他用户的权限。r可读 w可写 x可执行。

        权限编号1+2+4 ,分别代表着可执行、可写、可读。

        文件物理结构及存取方式有:连续结构、链接结构、索引。

       

 FAT: FAT卷结构包括引导扇区、FAT1和FAT2。

        FAT系统的一些情况:FAT文件系统采用链式存储结构,文件名不区分大小写。没有采用目录项分解法,不适用位示图法,文件系统没有访问分级权限。

文件控制块:

        文件控制块FCB通常包括文件名、文件号、用户名、文件地址、文件长度、文件类型、文件属性、共享计数、文件建立日期、保存期限和最后修改日期、最后访问日期、口令、文件逻辑结构、文件物理机构等等。容易混淆的地方:一般来说是文件大小、文件创建时间、文件拥有者和文件访问权限,没有文件访问控制列表。

        

文件的物理结构:

  •         链接结构: 文件很容易动态增长、物理存储空间出现的碎片相对较少。
  •         顺序结构:文件的逻辑块号到物理块号变换简单、顺序结构适合视频流数据的存取、采用顺序结构的文件相对来说查找速度较快。
  •         索引结构:文件的逻辑块号到物理块号变换简单、适合顺序存取和随机存取、文件内容容易动态增加、文件查找速度较快。

能够进行随机存取的文件物理结构只有连续结构与索引结构,链接结构只能顺序存取。

文件系统分类:

  • 文件的组织形式划分文件类型: 普通文件、目录文件和特殊文件。
  • 文件的保护方式划分文件类型: 可执行文件、只读文件、读写文件、无保护文件。
  • 按照文件的物理结构划分文件类型:连续结构、索引结构和链接结构。
  • 按照文件的用途划分文件分类:系统文件和用户文件。
  • 按照文件的存放时限划分文件分类:档案文件、临时文件和永久文件。

磁臂调度算法:先来先服务调度算法、最短寻道事件优化调度算法、扫描算法、循环扫描算法。

文件存储空间的管理方法有哪些:空闲块表、空闲块链表、位示图和成组链接法。

1.7 I/O设备管理

对于I/O设备分配算法有两种:先来先服务法和最优先级优先算法。

在设备分配算法中,常用的数据结构主要是4张表: 系统设备表、设备控制表、控制器控制表和通道控制表。

控制器控制表(COCT)

        控制器标识、控制器忙/闲标记、通道控制表指针、控制器等待队列首指针和尾指针。

通道控制表:CHCT!

        通道控制表中包含通道标识、通道忙\闲标记、控制器控制表COCT指针、通道等待队列首指针和通道等待队尾指针。

系统设备表(SDT):

        设备类型、设备标识、获得设备的进程号和设备控制表指针。

在进行设备分配时应当考虑下列哪些因素:

        设备固有属性、设备分配算法、 设备分配的安全性、设备独立性。

在I/O设备管理中,为了提高设备和CPU效率,引用了各种技术,其中包括 缓冲技术、设备分配技术、SPOOling技术、DMA与通道技术。

通道按照信息交换方式通常设立三种类型的通道:字节多路通道、数据选择通道和数组多路通道。

设备与CPU之间数据传送和控制方式有程序直接控制方式、中断控制方式、DMA控制方式、通道控制方式。

通道控制方式需要:通道控制器、设备控制器、通道程序代码与地址总线和数据总线。


1.8 死锁

题型1 安全序列: 根据剩余资源加可分配资源判断即可。

题型2 死锁预防、解除

        预防:破坏互斥条件:使用假脱机技术SPOOLing; 破坏不可剥夺条件; 破坏请求和保持条件;破坏循环等待条件。 

        解除: 剥夺某些进程所占有的资源、撤销某些进程、重新启动系统。


更多推荐

Rust结构体和枚举

结构体struct,或者structure,是一个自定义数据类型,允许你包装和命名多个相关的值,从而形成一个有意义的组合。声明定义结构体,需要使用struct关键字并为整个结构体提供一个名字。结构体的名字需要描述它所组合的数据的意义。接着,在大括号中,定义每一部分数据的名字和类型,我们称为字段(field)。struc

网安之PHP基础作业(5)

目录目录前言系列文章列表IJ中PHP环境的搭建和使用教程思维导图1,简答题1.1.题目部分1.2,题目分析2,页面一实现2.1,题解2.2,页面效果展示3,页面二的实现3.1,题解3.2,题目结果展示3.2.1,结果13.2.2,结果23.2.3,结果34,总结前言本博文,主要是对自己在学校PHP基础第5节课后,对作业

[maven] maven 创建 web 项目并嵌套项目

[maven]maven创建web项目并嵌套项目这里主要就创建另外一个web项目,并且创建一个parent项目比较方便的管理一下两个子项目。mavenweb项目web创建和quickstart的过程是差不多的,只不过这里换乘webapp,配置方便的话可以搞的东西挺多的……这里就搞servlet,上古版本的东西了。cre

如何利用Requestly提升前端开发与测试的效率

【软件测试行业现状】2023年了你还敢学软件测试?未来已寄..测试人该何去何从?【自动化测试、测试开发、性能测试】前端测试在进行前端页面开发或者测试的时候,我们会遇到这一类场景:在开发阶段,前端想通过调用真实的接口返回响应在开发或者生产阶段需要验证前端页面的一些异常场景或者临界值时在测试阶段,想直接通过修改接口响应来验

14:00面试,14:06就出来了,问的问题有点变态。。。

从小厂出来,没想到在另一家公司又寄了。到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到5月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%,这下搞的饭都吃不起了。还在有个朋友内推我去了一家互联网公司,兴冲冲见面试官,没想到一道题把我给问死了:如果模块请求http改为了h

RabbitMQ

1.初识MQ1.1.同步和异步通讯微服务间通讯有同步和异步两种方式:同步通讯:就像打电话,需要实时响应。异步通讯:就像发邮件,不需要马上回复。两种方式各有优劣,打电话可以立即得到响应,但是你却不能跟多个人同时通话。发送邮件可以同时与多个人收发邮件,但是往往响应会有延迟。1.1.1.同步通讯我们之前学习的Feign调用就

安卓埋点策略+Retrofit上传埋点数据

安卓埋点在企业级安卓项目中,埋点是一项重要的技术,用于收集用户行为数据以进行分析和改进产品。以下是一个常见的安卓企业级项目开发中使用的埋点方案:定义埋点事件:首先,确定需要埋点的关键事件,如页面访问、按钮点击、数据提交等。为每个事件定义唯一的标识符或名称。埋点代码插入:在关键事件的代码位置插入埋点代码,以便在事件发生时

Windows【工具 04】WinSW官网使用说明及实例分享(将exe和jar注册成服务)实现服务器重启后的服务自动重启

官方Github;官方下载地址。没有Git加速的话很难下载,分享一下发布日期为2023.01.29的当前最新稳定版v2.12.0网盘连接。包含文件:WinSW-x64.exesample-minimal.xmlsample-allOptions.xml链接:https://pan.baidu.com/s/1sN3hL5

GaussDB OLTP 云数据库配套工具DAS

目录一、前言二、DAS的定义1、DAS的定义2、DAS功能特点三、DAS应用场景1、标准版2、企业版四、操作示例(标准版)1、登录华为控制台登录,输入账号密码2、新增数据库实例链接3、新建对象4、SQL操作5、导入导出五、小结一、前言传统的数据库管理软件,不仅需要下载安装、功能还比较单一,而且已经滞后于云服务的发展模式

让项目顺利上线:做好转测试与上线准备

转测试转测试是项目上线前最后一道坎,需求全部做完并自测后,项目就进入了转测试阶段。很多没想到的问题都会在这个阶段涌现出来,这个阶段大家都会很辛苦,通常都会加班加点。为了缓解这个阶段的压力,我们需要做以下几个改进:一、提前做测试把一些可提前做的事情放到转测试之前做。比如:UI设计师正常是在转测试后来验收视觉效果。但项目周

一文读懂SQL的增删改查(基础教程)

前言一、一些最重要的SQL命令二、查询(SELECT)1、查询所有列2、查询指定列3、查询并去重(DISTINCT)4、按条件查询where5、SQLAND&OR运算符6、SQLORDERBY关键字7、SQLLIMIT关键字8、SQLLIKE操作符9、SQLIN操作符9、SQLBETWEEN操作符三、插入(INSERT

热文推荐