计算机网络工程师多选题系列——操作系统
得多选者得天下啊同志们!
摘录按照章节顺序,但事实上各章节习题有交叉。
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 内存管理
某进程运行时若将磁盘中的一个页面调入内存,该页面对应的页表表项中,哪些参数和标志位必须修改? 内存块号 驻留位和访问位。 进行虚拟页式存储管理时候,需要在页表增加的有页号 修改位 保护位 和禁止缓存位。
存储管理的主要任务:
内存的分配和回收、存储共享、存储保护、扩充内存容量。
内存分配表的组织方式包括位示图法 空闲页面表和空闲块表
虚存管理中的颠簸。 由于缺页率高会引起,工作机可以解决颠簸现象但是工作机随着时间变化的。虚拟页式存储管理方式 需要有缺页中断处理程序、页面调入策略和页面置换策略和程序分页机制和页表软件条件。快表是用来提高访问内存的效率。当进行页面置换的时候,需要用到 有效位 修改位和访问位。当页面仅进行修改后,访问位和修改位需要修改。进程发生缺页中断,选中页面进行淘汰,只需要修改驻留位。
在虚拟页式存储方案中,常用的页面调入策略有两种,请求调页和预调页。
实现虚拟页式存储管理方案需要:容量足够大的磁盘、一定容量的内存、虚实地址映射机制、缺页中断处理程序和页表。在虚拟页式存储管理中,为了实现地址变换所涉及到的数据结构是空闲区表、页表和位图。
进程的逻辑地址与内存存储区域都是连续的管理方案是固定分区和可变分区,并且可以进行整个进程的交换;可进行进程部分交换的是 段式和段页式。
可变分配、全局置换: 进程运行中,其内存页面可以动态增长或减少;运行的进程中当其页面不够时可以从系统中的任何进程处进行置换、为每一个进程分配一定数量的内存页面。
增加联想寄存器和分页尺寸大小为 能够加快虚拟页式存储管理系统中的虚实地址转换速度。
页面置换: 采用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; 破坏不可剥夺条件; 破坏请求和保持条件;破坏循环等待条件。
解除: 剥夺某些进程所占有的资源、撤销某些进程、重新启动系统。
相关文章:

计算机网络工程师多选题系列——操作系统
得多选者得天下啊同志们! 摘录按照章节顺序,但事实上各章节习题有交叉。 1 操作系统 1.1 操作系统概论 操作系统的主要功能:进程管理、存储管理、文件管理、设备管理和用户接口。 操作系统的主要功能——设备管理:为用户程序提…...

matlab读写json文件
Background 通常,在matlab中使用mat文件进行数据存储。MAT文件是MATLAB中用来存储数据的二进制文件格式。MAT文件可以包含各种数据类型,包括数字、矩阵、向量、结构体、字符和函数等。但是,当和其他语言有交互时,mat文件会不太方便…...
数据治理-数据仓库环境
数据仓库环境包括一系列组织起来以满足企业需求的架构组件,从源系统流动到数据暂存区,数据可以在这里被清晰,当数据集成并存储在数据仓库或操作数据存储中时,可以对其进行补充丰富。在数据仓库中,可以通过数据集市或数…...

DevOps与CI/CD常见面试问题汇总
01 您能告诉我们DevOps和Agile(敏捷)之间的根本区别吗? 答:尽管DevOps与敏捷方法(这是最流行的SDLC[Software Development Life Cycle]方法之一)有一些相似之处,但两者在软件开发方面都是根本不同的方法。以下是两者之…...

OJ练习第178题——收集树中金币
收集树中金币 力扣链接:2603. 收集树中金币 题目描述 给你一个 n 个节点的无向无根树,节点编号从 0 到 n - 1 。给你整数 n 和一个长度为 n - 1 的二维整数数组 edges ,其中 edges[i] [ai, bi] 表示树中节点 ai 和 bi 之间有一条边。再给…...

uni-app打包iOS ipa文件后不上架App store为用户提供下载解决过程记录
写在前面,itms-services协议是什么 itms-services协议是苹果提供的一种让iOS应用在用户设备上无线安装或升级的协议。 具体来说: itms-services表示iOS应用无线安装服务的URL方案,格式为:itms-services://?actiondownload-manifest&urlMANIFEST_URL其中MANIF…...
MySQL学习系列(2)-每天学习10个知识
目录 1. INNER JOIN 和 ON 子句2. 死锁3. SELECT * 和 SELECT column1, column24. 数据库的视图5. MySQL的触发器类型6. MySQL表的备份和恢复7. MySQL存储引擎8. 索引优化9. MySQL中的子查询10. 使用连接(JOIN)从多个表中检索数据 👍 点赞&am…...

黑马JVM总结(十四)
(1)分代回收_1 Java虚拟机都是结合前面几种算法,让他们协同工作,具体实现是虚拟机里面一个叫做分代的垃圾回收机制,把我们堆内存大的区域划分为两块新生代、老年代 新生代有划分为伊甸园、幸存区Form、幸存区To 为什…...

vue项目升级webpack
vue项目升级webpack 目录 1. vue项目中影响webpack版本的是什么 2.理解package.json中库前缀^和~区别 3.升级webpack4到5操作 1. vue项目中影响webpack版本的是什么 答案是:vue/cli-service版本 2.理解package.json中库前缀^和~区别 x.y.z x代表大版本…...

ubuntu的root用户修改密码失败
解决如下: 查看文件属性是否有a或i lsattr /etc/group /etc/passwd /etc/shadow 移除a和i的属性权限 chattr -ai /etc/group /etc/passwd /etc/shadow 再次使用passwd进行修改密码,就成功了...

C++---链表
1、链表 1.1、链表的结构 每个链表开头都有一个头指针Head尾节点的指针域为NULL,用于判断此列表是否结束 如果一个链表开始就为NULL,那么该链表为空链表 链表中的先后不代表在真实内存中的位置,只是单纯的逻辑上关系 1.2、创建链表 我们首…...
Unity使用Mirror制作局域网的同步
1.脚本布置.参考tank那个demo制作 1.新建空物体,为管理脚本的物体:manager,挂载NetworkManager,kcpTransport,NetworkManagerHud. 2.设置玩家出生点,spawnPoint,设置好初始化的position的位置(*),挂载NetworkStartPosition的脚本 3.新建Player的预制体,挂载NetworkIdentity,Ne…...
算法 N皇后问题-(递归回溯)
牛客网 BM59. 解题思路: 行列、斜叉不在一条直线上。 命令行为 row, 列为col, row 从0开始递归直到最后一行,列从0开始遍历,直到最后一列,中间每一步记录或清除位置状态,状态分为 m1[col] 1, m2[row-col] 1, m3[r…...

个人博客搭建记录
个人博客地址:www.jiasun.top 使用github pagehexo搭建,主题为fluid,搭建步骤参照:Github hexo 实现自己的个人博客、配置主题(超详细) 主题:https://hexo.fluid-dev.com/ 搭建时的问题&…...
下载vscode 更新
将下载地址的主地址加入一下镜像网址 http://vscode.cdn.azure.cn下面是访问页面 http://vscode.cdn.azure.cn/stable/abd2f3db4bdb28f9e95536dfa84d8479f1eb312d/VSCodeUserSetup-x64-1.82.2.exe...
std::async简单使用
std::async介绍并使用 std::async是C11引入的一个用于异步执行函数或函数对象的工具。它可以用于并行地执行函数,并在需要时获取函数的返回值。下面是一个简单的示例,演示了如何使用std::async: #include <iostream> #include <fu…...

【编程实践】在VS studio中配置Eigen库
1 介绍 Eigen库是C标准模板库,能够进行向量运算、矩阵运算、矢量运算、数值分析等操作,并且包含相应的运算算法。 Eigen官方地址: 地址 可在官网下载指定版本的压缩包,将压缩包解压至后面配置的“附件包含目录”中。 2 配置 2.1 VS studi…...

SQLite 3.43 发布,性能大提升!
前言 SQLite是一种被广泛运用的嵌入式关系型数据库管理系统,最新发布的SQLite 3.43版本带来了一个重要的改进,大幅提升了对JSON数据的处理性能,达到了之前的两倍。 主要更新 添加对 Contentless-Delete FTS5 索引的支持。这是 FTS5 全文搜索…...

数据中心液冷服务器详情说明
目录 前言 何为液冷服务器? 为什么需要液冷? 1.数据中心降低PUE的需求 2.政策导向 3.芯片热功率已经达到风冷散热极限 4.液冷比热远大于空气 液冷VS风冷,区别在哪? 1.液冷服务器跟风冷服务器的区别 2.液冷数据中心跟风冷…...

Openresty(二十二)ngx.balance和balance_by_lua终结篇
一 灰度发布铺垫 ① init_by_lua* init_by_lua init_by_lua_block 特点: 在openresty start、reload、restart时执行,属于master init 阶段机制: nginx master 主进程加载配置文件时,运行全局Lua VM级别上的参数指定的Lua代码场景: …...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...

测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...

使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...

【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...

SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...