现代操作系统复习笔记【核心考点知识+重点复习题】

news2024/12/25 9:55:20

文章目录

  • 一、核心考点基础知识
    • 第一章 概述
      • 1、操作系统的基本概念、基本功能
      • 2、分时系统、批处理系统、实时系统的主要特征
      • 3、用户接口、系统调用过程
      • 4、单到与多道程序技术
      • 5、操作系统虚拟机体系结构
      • 6、CPU工作模式;
      • 7、部分课后习题
    • 第二章 进程与线程
      • 1、进程的基本概念、并发与并行
      • 2、线程的基本概念
      • 3、进程与程序、进程与线程的区别与联系
      • 4、进程的实现(PCB)、线程的实现(TCB)
      • 5、进程的状态及其转换
      • 6、进程控制原语
      • 7、临界资源、临界区概念
      • 8、进程通信的方式
      • 9、进程的同步与互斥信号量实现
      • 7、调度目标与常用的作业及进程调度算法(大题)
      • 8、生产者-消费者问题
      • 9、哲学家就餐问题
      • 10、读者-写者问题
      • 11、部分课后习题
    • 第三章 死锁
      • 1、死锁的概念
      • 2、死锁产生的原因及必要条件
      • 3、死锁问题的四个解决策略
      • 4、安全状态的定义、银行家算法(大题)
      • 5、部分课后习题
    • 第四章 存储管理
      • 1、分页存储管理方式原理及地址映射过程
      • 2、虚拟存储技术(覆盖、交换)
      • 3、物理内存管理方式(位图、空闲链表)
      • 4、内存分配算法
      • 5、页表组成、TLB、页的大小
      • 6、常用页面置换算法及缺页率计算(FIFO,LRU,时钟页面置换算法)(大题)
      • 7、段式与页式存储管理方式的主要区别
      • 8、部分课后习题
    • 第五章 文件系统
      • 1、文件的逻辑结构、物理结构
      • 2、文件FCB、文件目录及实现、目录文件
      • 3、文件的共享方式
      • 4、文件文件系统的可靠性
      • 5、文件系统的性能
      • 6、磁盘空间管理
      • 7、部分课后习题
    • 第六章 设备管理
      • 1、常用I/O数据传送方式
      • 2、 I/O独立编址与统一编址
      • 3、Spooling系统
      • 4、I/O软件的分层结构及其功能
      • 5、磁盘设备读写时间构成
      • 6、常用磁盘臂调度算法
      • 7、部分课后习题
    • 第七章&第十章
      • 1、系统保护机制:访问控制矩阵、ACL、权能表
      • 2、第一类与第二类虚拟机管理程序
  • 二、复习题
    • 1、选择题(20%)
    • 2、判断题(10%)
    • 3、填空题(10%)
    • 4、简答题(25%)
    • 5、综合题(35%)


一、核心考点基础知识

第一章 概述

1、操作系统的基本概念、基本功能

操作系统是一组控制和管理计算机软,硬件资源,合理组织计算机工作流程,以及方便用户的程序的集合。

基本构成:处理器、内存、输入/输出模块、系统总线

操作系统的特征:并发、共享、虚拟、异步

操作系统的基本功能
处理机管理:进程控制、同步、通信,处理机调度
存储器管理:内存分配,内存保护,地址映射,内存扩充
设备管理:缓冲管理,设备分配,设备处理(驱动程序)
文件管理:外存管理,目录管理,文件的读/写和保护
用户接口:系统调用(程序接口),命令接口,图形接口
作业管理:作业组织,调度

2、分时系统、批处理系统、实时系统的主要特征

  1. 分时系统
    · 交互性
    · 多路性
    · 独立性
    · 及时性

  2. 批处理系统
    · 脱机使用,无交互性
    · 成批处理,作业周转时间长
    · 多道批处理具有资源利用率吞吐量

  3. 实时系统
    · 事件驱动
    · 及时性
    · 高可靠性
    · (也具有独立性,交互性,多路性)

3、用户接口、系统调用过程

用户接口有以下几类:
命令接口:提供给用户命令的方式控制系统运行
系统调用(程序接口API):用户程序使用该接口访问系统资源,从而获取操作系统服务。
图形用户接口:为用户提供的图形化的操作界面

系统调用过程:
在这里插入图片描述
设备有关的系统调用:open、close、read、write
文件系统有关的系统调用:open、close、read、write、creat、unlink
进程控制有关的系统调用:fork、wait、exit、getpid、getppid、getpriority、nice、kill、signal、pause、pipe、lockf

4、单到与多道程序技术

单道:每次只调入一个作业进入内存,并运行。
多道:每次可调入多个作业进入内存并运行。(注:在单cpu环境下,宏观并行,微观串行,也提出了更多待解决的问题)

5、操作系统虚拟机体系结构

在这里插入图片描述
在这里插入图片描述

6、CPU工作模式;

内核模式(核心态):CPU可以执行指令集中的所有指令,并使用硬件的每种功能。
用户模式(用户态):仅仅允许执行指令集的一个子集和访问所有功能的一个子集。

7、部分课后习题

  1. 操作系统的两大主要作用是什么?
    (1)为用户提供扩展机器;
    (2)管理I/O设备和其他系统资源。

  2. 分时系统多道程序系统区别是什么?
    答: 在分时系统中,多个用户可以使用自己的终端同时访问和执行计算机系统上的计算;多道程序系统允许用户同时运行多个程序。所有的分时系统都是多道程序,但并不是所有的多道程序系统都是分时系统,因为一个多道程序系统可以在只有一个用户的PC上运行

  3. 访问I/O设备相关的指令通常是特权指令,也就是说,他们能在内核态执行而在用户态则不行,说明为什么这些指令是特权指令?
    答:对I/O设备(例如打印机)的访问通常针对不同的用户进行限制。有些用户可能被允许打印任意多的页面,有些用户可能根本不允许打印,而有些用户可能被限制只能打印一定数量的页面。这些限制是由系统管理员根据某些策略设置的。需要强制执行这样的策略,以便用户级程序不会干扰它们。

  4. 内核态用户态有哪些区别?解释在设计操作系统时存在两种不同的模式有什么帮助?
    答:CPU有两种状态:内核态和用户态。处于内核态时,CPU能访问所有的内存空间和对象,可以执行其指令集中的每一条指令,使用硬件的每一个特性,且所占有的处理机是不允许被抢占的;处于用户态执行时,进程所能访问的内存空间和对象受到限制,只能执行指令的子集和硬件特性的子集。且所占有的处理机是可以被抢占的。
    拥有两种模式允许设计人员以用户模式运行用户程序,从而拒绝他们访问关键指令。

  5. 下面哪一条指令只能在内核态使用?
    (a)禁止所有的中断
    (b)读日期-时间时钟
    (c)设置日期-时间时钟
    (d)改变存储器映像
    答:(a)、(c)、(d)仅能在内核态使用。

  6. 什么是陷阱指令?在操作系统中解释它的用途。
    答:陷阱指令将CPU的执行模式从用户模式切换到内核模式。 该指令允许用户程序调用操作系统内核中的函数

第二章 进程与线程

1、进程的基本概念、并发与并行

进程是一个执行程序,是系统资源分配基本单位,是资源竞争基本单位

进程的特征:动态、并发、独立、异步、结构

并发:两个或多个事件在同一个时间间隔之内同时发生
并行:两个或多个事件在同一个时刻同时发生

进程的终止:正常退出、出错退出、严重错误、被其他进程杀死

2、线程的基本概念

线程是轻量级的进程,它是一个进程内基本调度单位,有自己的程序计数器、寄存器及堆栈。

引入线程的原因:
①伪并行,进一步提高并发度
②更小的系统开销
③更高的性能
④有利于在多CPU系统中实现真正的并行

3、进程与程序、进程与线程的区别与联系

  1. 进程与程序的区别:
    进程是动态的,而程序是静态的
    进程可以并发,而程序则没有
    进程是资源竞争的基本单位

  2. 进程与程序的联系:一个程序可以生成多个不同的进程

  3. 进程与线程
    进程资源管理基本单位线程调度基本单位
    多进程系统允许多个进程共享物理内存、磁盘、打印机等资源,多线程系统允许多个线程共享一个进程的地址空间、打开文件、全局变量等资源
    一个进程中所有线程共享内容,每个线程自己的内容

4、进程的实现(PCB)、线程的实现(TCB)

  1. 进程控制块(PCB) 反映进程的动态特征,内容包含:
    · 描述信息:进程名(标识号),用户名(标识号),家族链
    · 控制信息:状态,优先级,内存始址,计时,通信信息
    · 资源管理信息:内存、设备等信息
    · CPU现场保护机构:寄存器
  2. 线程的实现
    在这里插入图片描述

5、进程的状态及其转换

运行态:正在使用CPU
就绪态:可运行,指获取了除CPU之外的所有资源的进程状态。
阻塞态:不可运行,且只能由其他外部事件发生而唤醒的状态

在这里插入图片描述

6、进程控制原语

系统使用具有特定功能的程序段来创建,撤消进程及完成进程之间状态转换

原语:系统态下执行的某些具有特定功能的程序段(机器指令级不允许中断、功能级不允许并发执行)

用于进程控制的原语:
创建原语:由系统创建或由父进程创建
撤消原语:由系统或祖先进程撤消
阻塞原语:自己调用阻塞原语阻塞自己
唤醒原语:由系统唤醒或事件发生进程唤醒

7、临界资源、临界区概念

临界资源(竞争条件):一次只允许一个进程使用的资源
临界区:在每个进程中,访问临界资源的那部分代码(那段程序)

8、进程通信的方式

  1. 并发执行的进程间相互制约关系:
    间接制约:诸进程对共享资源的使用通过系统来协调,使得进程间执行速度相互影响。(进程间互斥)
    直接制约:诸进程自行使用共享资源或由进程合作引起,某一进程直接通过某机制发消息给其他进程,从而直接影响其他进程的执行。(进程间同步)
  2. 进程通信方式
    低级通信:同步&互斥
    高级通信:管道通信、消息队列、共享内存、网络通信
  3. 高级通信-管道通信
    对管道的使用必须互斥
    管道工作时,只有一个读端和一个写端
    由读出端和写入端不断反复交替工作,完成通信
    在这里插入图片描述
  4. 高级通信-消息传递
    使用两条原语send和receive
    用N条消息实现的生产者-消费者问题
  5. 高级通信-共享内存
    允许一个或多个进程通过同时出现在它们的虚拟地址空间的内存进行通信。该虚拟内存的页面在每一个共享进程的页表中都有页表条目引用。

互斥:不允许两个以上的共享该资源的并发进程同时进入临界区

9、进程的同步与互斥信号量实现

进程的同步实现之消息名法:为同步进程间发送的事件或消息赋予一个唯一的消息名
wait():表示进程等待合作进程发来的消息
signal ():表示向合作进程发送消息
设消息名Bufempty表示Buf为空,Buffull表示Buf满
初始化:Bufempty=true,Buffull=false
在这里插入图片描述

进程的同步实现之信号量法:此处信号量只与制约及被制约进程有关,故为私有的信号量
在这里插入图片描述
在这里插入图片描述

互斥信号量实现
①设一个互斥的信号量sem
②描述:S为临界区的类名
在这里插入图片描述

7、调度目标与常用的作业及进程调度算法(大题)

进程调度层次:作业调度(高级调度)、交换调度(中级调度)、进程调度(低级调度)

调度的目标:.公平、高效、大吞吐量、短的响应时间和周转时间、实时性

调度方式:
①可剥夺式调度:强行剥夺先行进程的CPU周期,分配CPU给另一进程
②不可剥夺式调度:进程一直执行下去,直到完成本次CPU执行周期

调度算法(例题在后面):

  1. 先来先服务算法(FCFS):按作业/进程到来的先后次序进行调度
    特点:对执行时间短的进程及作业等待时间较长

  2. 最短作业优先法(SJF) :选择估计需要执行时间最短的作业或进程投入运行(对进程而言,指估算的本次cpu周期的长短,如果是可剥夺式调度,则按剩余最短原则)
    特点:吞吐量大、对不断有作业进入的系统,长作业将永得不到执行

  3. 响应比高优先算法(HRN)
    响应比R = (等待时间+服务时间) ÷ 服务时间,等待时间=上一个的完成时间-该作业到达的时刻。
    特点:介于FCFS与SJF之间、吞吐量减少、增加了系统开销

  4. 轮转法(RR) :(适用于进程调度)
    将CPU时间划分成一个个时间片,每个进程轮流使用一个时间片
    在这里插入图片描述
    特点:时间片的设置:Q=T/N(Q的取值不能过大或过小)
    T:系统的最大响应时间
    N:就绪队列中所允许的最大进程数

  5. 优先级调度算法:
    选择优先级高的进程/作业执行

8、生产者-消费者问题

生产者-消费者问题也叫做有界缓冲区问题,主要是两个进程 共享 一个公共的固定大小的缓冲区

同步信号量 fullempty是用来保证事件的顺序发生和不发生的,在这个例子它们保证了当缓冲区满的时候生产者停止运行,当缓冲区空的时候消费者停止运行
互斥信号量 mutex用于互斥,保证任何时刻只有一个进程读写缓冲区
down相当于P操作,对传入的变量进行判断是否>0,若>0执行 -1操作
up相当于V操作,对传入的变量执行 +1操作
在这里插入图片描述

9、哲学家就餐问题

哲学家就餐问题对于互斥 访问 有限资源的竞争问题(如I/O设备)一类的建模过程十分有用。

在这里插入图片描述

10、读者-写者问题

读者-写者问题它为数据库访问建立了一个模型
例如一个飞机订票系统,其中有许多竞争的进程试图读写其中的数据。多个进程同时读数据库是可以接受的,但如果一个进程正在更新(写)数据库,则所有的其他进程都不能访问该数据库,即使读操作也不行
在这里插入图片描述
补充:理发师的睡觉问题

11、部分课后习题

  1. 图中给出了三个进程状态。理论上,三个状态之间可以有六种转换,每个状态有两个。但图中只给出四种转换。其余两种转换是否可能发生?
    在这里插入图片描述
    答: 从阻塞态到运行态是可能发生的。假设一个进程在I/O上阻塞,且I/O完成,如果CPU处于空闲状态,则进程可以直接从阻塞变为运行。
    但从就绪态到阻塞态是不可能的。就绪进程不能执行I/O或任何其他可能阻塞它的操作。只有正在运行的进程才能阻塞。

  2. 假设要从互联网去哪个上下载一个2GB大小文件,文件内容可以从一组镜像服务器获得,每个服务器可以传输文件的一部分,假定每个传输请求给定开始字节可结束字节,如何用多线程优化下载?
    答: 客户端进程可以创建单独的线程。每个线程都可以从一个镜像服务器获取文件的不同部分。这可以帮助减少停机时间。当然,所有线程共享一个网络链接。当线程数量变得非常大时,这个链接可能成为瓶颈。

  3. 在用户空间实现线程,其最大的优点是什么?最大的缺点是什么?
    答: 最大优点是高效,因为无需陷入内核来切换线程;
    最大缺点是若一个线程被阻塞,则其他线程都会被阻塞。

  4. 在使用线程的系统中,若使用用户级线程,是每个线程一个堆栈还是每个进程一个堆栈?如果使用内核级线程情况又如何呢?请解释。
    答: 每个线程都调用自己的进程,因此它必须有自己的堆栈来存放本地变量、返回地址等等。对于用户级线程和内核级线程都是如此。

  5. 一个快餐店有四类雇员:
    (1)领班,接收顿客点的菜单;
    (2)厨师,准备饭菜;
    (3)打包工,将饭菜装在袋子里;
    (4)收银员,将食品袋交给顾客并收钱。
    每个雇员可被看作一个进行通信的顺序进程。它们采用的进程间通信方式是什么?请将这个模型与UNIX中进程联系起来。
    答: 在本例中,员工通过传递消息进行通信:订单、食物和包。在UNIX术语中,这四个进程通过管道连接

  6. 有5个批处理作业A~E,它们几乎同时到达一个计算中心。
    估计它们的运行时间分别为10、6、2、4和8分钟。其优先级(由外部设定)分别为3、5、2、1和4,其中5为最高优先级。对于下列每种调度算法,计算其平均进程周转时间,可忽略进程切换的开销。
    (a)先来先服务(按照10、6、2、4、8次序运行)
    (b)最短作业优先
    (c)优先级调度
    (d)轮转法
    对于(a)~(b),假设任一时刻只有一个作业运行,直到
    结束。所有的作业都是CPU密集型作业。
    对于(d),假设系统具有多道程序处理能力,每个作业均
    公平共享CPU时间;
    答:
    先来先服务作业按A->E的次序执行,则分别在第10,16, 18, 22和30分钟完成,因此,平均为19.2分钟。
    最短作业优先调度的完成时间分别为第2, 6, 12, 20和30分钟,平均为14分钟。
    优先级调度,首先运行B ,6分钟完成。其它作业分别在第14, 24, 26和30分钟完成,平均耗时18.8分钟。
    时间片轮转,在头10分钟里,每个作业获得1/5的CPU时间。在第10 分钟时,C结束。在接下来的8分钟里,每个作业获得 1/4 的CPU时间,然后D完成,然后,在接下来的6分钟内,余下的3个作业各获得1/3的CPU时间,直到B结束,以此类推。因此,5个作业的完成时间分别为是10, 18, 24, 28和30, 平均为22分钟。

  7. 一个实时系统有2个周期为5ms的点化任务,每次任务的CPU时间是1ms, 还有一个周期为33ms的视频流,每次任务的CPU时间是11ms。这个系统是可调度的吗?
    答:每个语音呼叫需要200个1毫秒(或200毫秒)的样本。 它们一起使用400毫秒的CPU时间。视频需要11/33=1/3(次/秒),共约367毫秒。总和是每秒767毫秒的实时时间,因此系统是可调度的。

  8. 考虑图2-46中的过程put_forks,假设变量state[i]在对test的两次调用之后而不是之前被置为THINKING,这个改动会对解法有什么影响?
    在这里插入图片描述
    答:这一变化意味着,当一位哲学家停止进食后,他的两个邻居都不能接着被选择。事实上,他们永远不会被选中。假设哲学家2号吃完了。他会对哲学家1号和3号进行测试,尽管他们都饿了,都有叉子,但都不会被启动。同样,如果哲学家4号完成进餐,哲学家3号也不会被启动。没有什么会启动他。

第三章 死锁

1、死锁的概念

如果一个进程集合中的每个进程都在等待只能由该进程集合中的其他进程才能引发的事件,那么该进程集合是死锁的。

2、死锁产生的原因及必要条件

  1. 死锁产生的必要条件
    互斥条件:每个资源要么已经分配给了一个进程,要么就是可用的
    占有和等待:已经得到了某个资源的进程可以再申请新的资源
    不可抢占条件:已经分配给一个进程的资源不能强制性被抢占,它只能被占有它的进程显示地释放
    环路等待条件:死锁发生时,系统中一定有由两个或两个以上的进程组成的一条环路,该环路中的每一个进程都在等待下一个进程所占有的资源

3、死锁问题的四个解决策略

  1. 忽略该问题(鸵鸟算法)
  2. 检测死锁并恢复
    检测死锁:
    ①资源分配图中是否存在环
    ②可用资源能够满足请求资源
    恢复:
    ①通过抢占恢复
    ②通过回滚恢复
    ③通过杀死进程恢复
  3. 仔细对资源进行分配,动态地避免死锁
    银行家算法
  4. 通过破坏引起死锁的四个必要条件之一,防止死锁的产生
    ①破坏互斥条件:避免分配那些不是绝对必需的资源、尽量做到尽可能少的进程可以真正申请资源
    ②破坏占有且等待条件:规定所有进程在开始执行前申请请求所需的全部资源
    ③破坏不可抢占条件:有些资源可以通过虚拟化的方法来避免这个问题(例如磁盘)
    ④破坏环路等待条件:对资源排序编号

4、安全状态的定义、银行家算法(大题)

安全状态没有死锁发生,且当所有进程突然请求对资源的最大需求,此时仍然存在某种调度次序能使得每个进程执行完毕,则称该装态是安全状态。
在这里插入图片描述
在这里插入图片描述

银行家算法 例题:
Available:整个系统还剩余的资源数量
Allocation:每个进程已经分配给它的资源数量
Max:每个进程请求的最大资源数量
Need: Max - Allocation,每个进程还需要的资源数量

在这里插入图片描述

5、部分课后习题

  1. 考虑系统的如下状态,有四个进程P1,P2,P3,P4以及5种类型的资源RS1,RS2,RS3,RS4,RS5。
    在这里插入图片描述
    使用死锁检测算法来说明该系统中存在一个死锁。并识别在死锁中的进程。
    答: 首先,一组未标记的进程,p=(p1 p2 p3 p4)
    A=(01021)
    R2等于A;标记p2;A=(0 2 0 3 1);p=(p1 p3 p4)
    R3等于A;标记p3;A=(0 2 0 3 2);p=(p1 p4)
    R1不小于等于A
    R4不小于等于A
    因此,进程p1和p4保持未标记状态,发生死锁。

  2. 某一系统有两个进程和三个相同的资源。每个进程最多需要两个资源。这种情况下有没有可能发生死锁?为什么?
    答: 系统不可能发生死锁。假设每个进程都有一个资源。有一个资源是空闲的。任何一个进程都可以请求并获取它,在这种情况下,它可以完成并释放这两个资源。因此,死锁是不可能的。

  3. 一个系统有4个进程和5个可分配资源,当前分配和最大需
    求如下:
              已分配资源  最大需求量   可用资源
    进程A   1 0 2 1 1     1 1 2 1 2     0 0 X 1 1
    进程B   2 0 1 1 0     2 2 2 1 0
    进程C   1 1 0 1 0     2 1 3 1 0
    进程D   1 1 1 1 0     1 1 2 2 1
    若保持该状态是安全状态,X的最小值是多少?
    答: 需求矩阵如下:
    0 1 0 0 1
    0 2 1 0 0
    1 0 3 0 0
    0 0 1 1 1
    如果x=0,则立即出现死锁。如果x=1,进程D可以运行到完成。完成后,可用资源为1 1 2 2 1。进程A可以运行完成。完成后,可用资源为2 1 4 3 2 。进程C可以完成运行,完成后,可用资源为3 2 4 4 2 。之后进程B也可以完成。
    故x的最小值为1,可以按照进程DACB的顺序保持安全。

  4. 一种预防死锁的方法是去除占有和等待条件。在本书中,
    假设在请求一个新的资源以前,进程必须释放所有它已经占
    有的资源(假设这是可能的)。然而,这种做法会引入这样
    的危险性:竞争的进程得到了新的资源但却丢失了原有的资
    源。请给出这一方法的改进。
    答: 更改请求新资源的语义如下。如果一个进程请求一个
    新的资源并且该资源是可用的,它就获取该资源并保留它已
    经拥有的资源。如果新资源不可用,则该进程所有已经占有
    的资源都将被释放。在这种情况下,死锁是不会发生的,并
    且不存在获取新资源而丢失现有资源的危险。当然这个进程
    只能工作在资源能够释放的情况下。(比如可以在页面之间
    释放扫描器)

第四章 存储管理

1、分页存储管理方式原理及地址映射过程

操作系统中管理分层存储器体系的部分称为存储管理器
在这里插入图片描述

  1. 地址空间
    虚地址空间:目标程序所限定的地址范围也称虚空间/逻辑空间(源程序经编译,或汇编后产生的逻辑空间,是相对于‘0’地址开始的地址的集合)
    在这里插入图片描述
    内存空间:内存中物理地址的集合。
    地址重定位地址映射):将虚拟地址变换为内存地址的过程,也称为地址重定位。

2、虚拟存储技术(覆盖、交换)

处理内存超载的两种方法:交换技术、虚拟存储技术

  1. 交换技术
    为可能增长的数据段预留空间
    为可能增长的数据段和堆栈段预留空间
    在这里插入图片描述
  2. 覆盖技术
    在这里插入图片描述
  3. 虚拟存储技术
    虚地址:也称为逻辑地址,它是程序生成的一组内存地址。
    虚地址空间:一组程序名为虚拟地址空间的虚拟地址。(每个进程都有它的虚拟地址空间)
    地址映射:转换虚拟地址为物理地址的过程。

3、物理内存管理方式(位图、空闲链表)

一段有5个进程和3个空闲区的内存
       刻度表示内存分配的单元
       阴影区域表示空闲
对应的位图
用空闲链表表示的同样的信息
在这里插入图片描述

4、内存分配算法

首次适配算法(First fit)
下次适配算法(Next fit)
最佳适配算法(Best fit)
最差适配算法(Worst fit)
快速适配算法(Quick fit)

5、页表组成、TLB、页的大小

  1. 分页原理:
    划分:用户进程的虚地址空间划分为页;物理空间划分为与页大小相同的块;页的大小=块的大小
    分配:将空闲块分配给逻辑页
    地址映射:借助页表实现地址映射
    在这里插入图片描述

页面置换:如果没有足够的物理块,将执行页面置换

TLB转换检测缓冲区

6、常用页面置换算法及缺页率计算(FIFO,LRU,时钟页面置换算法)(大题)

  1. 先进先出页面置换算法(FIFO)
    按照页面进入内存的顺序组织,在表头的最久进入页面被置换出内存
  2. 最近最少使用页面置换算法(LRU)
    置换很长时间没被使用的页面,页面走向从右往左,找最靠左的替换
  3. 最优页面置换算法(OPT)
    置换未来不再需要或最远的将来才会使用的页面,页面走向从左往右,找最靠右的替换,最优但是不可实现
  4. 最近未使用页面置换算法(NRU)
    每个页面都设置一个访问位和修改位,当页面被访问或修改时即设置访问位或修改位
  5. 时钟页面置换算法(Clock)
    在这里插入图片描述
    页面置换算法 例题:
    在这里插入图片描述

7、段式与页式存储管理方式的主要区别

分段存储管理原理:将虚地址空间按逻辑结构关系分成若干段,每段有自己的段名,且都是从0地址开始的地址空间,段的长短可变,划分后的地址结构为:
在这里插入图片描述
分段存储管理的特点
.实现了离散存储及虚拟存储,.段可动态增长
.便于实现共享
.更多的硬件支持及更大的系统开销
.内存碎片不如页式管理解决的好
.段的大小仍然受可用分区大小的限制

段页式存储管理原理:地址空间按逻辑分段,并各自有自己的段号,形成二维的地址空间;对每个逻辑段,又按照分页方式划分成大小固定的“页”,最后不足一页的部分仍占一页,得到的虚地址结构如下:
在这里插入图片描述

8、部分课后习题

  1. 在一个交换系统中,按内存地址排列的空闲区大小是10MB、4MB、20MB、18MB、7MB、9MB、12MB和15MB。对于连续的段请求:a)12KB、b)10KB、c)9KB。使用首次适配算法,将找出哪个空闲区?使用最佳适配、最差适配、下次适配算法呢?
    答:首次适配需要20 MB、10 MB、18 MB;
    最佳适配需要12 MB、10 MB、9 MB;
    最差适配需要20 MB、18 MB和15 MB;
    下次适配需要20 MB、18 MB和9 MB。

  2. 使用图3-9的页表,给出下面每个虚拟地址对应的物理地址:
    在这里插入图片描述
    (a) 20
    (b) 4100
    © 8300
    答:(a)8212. (b) 4100. (c) 24684.

  3. 从平均寻道时间10ms、旋转延迟时间10ms、 每磁道32KB的磁盘上载入一个64KB的程序,对于下列页面大小分别需要多少时间?
    a)页面大小为2KB;
    b)页面大小为4KB。
    假设页面随机地分布在磁盘上,柱面的数目非常大以至于两个页面在同一个柱面的机会可以忽略不计。
    答:寻道加旋转延迟为20毫秒。对于2kb的页面,加载其中32个页面大约需要640毫秒。对于4 kb的页面,传输时间增加了一倍,加载其中16个页面大约需要320 毫秒。使用如此快速的磁盘,最重要的是减少传输的数量(或将页面连续地放在磁盘上)。

  4. 一个计算机有4个页框,装入时间、上次访问时间和每个页
    的R位和M位如下所示(时间以时钟滴答为单位):
    a)NRU算法将置换哪个页面?
    b)FIFO算法将置换哪个页面?
    c)LRU算法将置换哪个页面?
    d)第二次机会算法将置换哪个页面?

页面装入时间上次访问时间RM
012628010
123026501
214027000
311028511

答:
a)NRU算法将置换页面2;
b)FIFO算法将置换页面3;
c)LRU算法将置换页面1;
d)第二次机会算法将置换页面2。

第五章 文件系统

1、文件的逻辑结构、物理结构

逻辑结构:字节序列、记录序列、树
在这里插入图片描述
物理结构:
在这里插入图片描述

文件的分类:
在这里插入图片描述

2、文件FCB、文件目录及实现、目录文件

文件目录结构:
在这里插入图片描述
目录的实现:线性列表、哈希表

3、文件的共享方式

硬链接:基于索引节点的共享方式,链接到多个目录中
软链接:利用符号链实现文件共享,只存放路径link

4、文件文件系统的可靠性

文件备份:全量、增量;块拷贝、逻辑备份
文件的一致性:块一致性、文件一致性

5、文件系统的性能

高速缓存
块提前读
减少磁盘臂运动

6、磁盘空间管理

在这里插入图片描述

7、部分课后习题

  1. 考虑图中的i节点。如果它含有用4个字节表示的10个直接地址,而且所有的磁盘块大小是1024KB,那么文件最大可能有多大?
    在这里插入图片描述
    答:间接磁盘块可以容纳128个磁盘地址。加上10个直接磁盘地址,最大文件有138个块。因为每个块是1 KB,所以最大的文件是138 KB。

  2. 考虑一个大小始终在4KB和4MB之间变化的文件,连续的、
    链表的和表格/索引的这三种分配方式中,哪种方式最合适?
    答:由于文件大小变化很大,连续分配方式的效率很低,需要在文件增大时重新分配磁盘空间,在文件减小时压缩空闲块。链表和表格/索引分配都是比较高效的,对于随机访问场景,表格/索引分配比链表更高效。

  3. 说明硬连接优于符号链接的一个优点,并说明符号链接优于硬连接的一个优点。
    答:硬链接不需要任何额外的磁盘空间,只需要i节点中的一个计数器来跟踪有多少个硬链接。符号链接需要空间来存储所指文件的名称。符号链接可以指向其他机器上的文件,甚至是因特网上的文件。而硬链接只能指向它们自己分区内的文件。

  4. 空闲磁盘空间可用空闲块表或位图来跟踪。假设磁盘地址需要D位,一个磁盘有B个块,其中有F个空闲。在什么条件下,空闲块表采用的空间少于位图? 设D为16位,请计算空闲磁盘空间的百分比。
    答:每个磁盘地址需要D位,且有F个空闲块,故空闲块表需要DF位,位图需要B位。当DF<B时,空闲块表采用的空间少于位图。当D=16时,F/B<1/D=6.25%(F/B是空闲块所占的比例),即空闲磁盘空间的百分比少于6.25%。

  5. 一个空闲块位图开始时和磁盘分区首次初始化类似,比如:
    1000 0000 0000 0000(首块被根目录使用),系统总是从最小编号的盘块开始寻找空闲块,所以在有6块的文件A写入之后,该位图为1111 1110 0000 0000。请说明在完成如下每一个附加动作之后位图的状态:
    a)写入有5块的文件B。
    b)删除文件A。
    c)写入有8块的文件C。
    d)删除文件B。
    答:
    a)写入文件B: 1111 1111 1111 0000
    b)删除文件A: 1000 0001 1111 0000
    c)写入文件C: 1111 1111 1111 1100
    d)删除文件B: 1111 1110 0000 1100

  6. 给定磁盘块大小为4KB,块指针地址值为4字节,使用10个直接地址(direct address)和一个间接块(indirect block)可以访问的最大文件大小是多少字节?
    答:间接块可以容纳1024个地址。加上10个直接地址,总共有1034个地址。由于每个文件都指向一个4KB的磁盘块,因此最大的文件是4,235,264字节

第六章 设备管理

1、常用I/O数据传送方式

程序控制IO:在进行输入/输出时,CPU处于一种忙等待
中断驱动IO:CPU发出IO命令,由控制器具体执行- CPU转去执行其他指令
③控制器完成IO后,向CPU发中断信号直接存储器存取(DMA):由专门的DMA控制器控制数据在内存与外部设备间的传输, CPU仅仅在所有数据传输结束后进行中断干预
通道控制方式

软件中断的执行步骤:
①保存没有被中断硬件保存的所有寄存器
②为中断服务过程设置上下文,可能包括设置TLB,MMU和页表
③为中断服务过程设置堆栈
④应答中断控制器,如果不存在集中的中断控制器,则再次开放中断
⑤将寄存器从它们被保存的地方复制到进程表中
⑥运行中断服务过程,从发出中断的设备控制器的寄存器中提取信息
⑦选择下一次运行哪一个进程
⑧为下一次要运行的进程设置MMU上下文

2、 I/O独立编址与统一编址

I/O(Input/Output)独立编址和统一编址是计算机系统中与外部设备进行通信的两种不同的寻址方式。它们涉及到计算机系统中处理器与外部设备之间的数据传输和地址寻址方式。

  1. I/O独立编址(I/O-mapped I/O):
    定义: 在I/O独立编址中,计算机使用专门的I/O地址空间来访问外部设备。这意味着计算机为I/O设备和内存分别提供了两个独立的地址空间。
    特点:
          外部设备和内存有不同的地址空间。
          通常使用专门的指令(I/O指令)来进行I/O访问。
    优点:
          易于实现,硬件上对I/O和内存进行了明确的区分。
    缺点:
          浪费地址空间,因为需要为I/O设备和内存分别提供地址范围。
          需要额外的指令或指令扩展来支持I/O操作。
  2. 统一编址(Memory-mapped I/O):
    定义: 在统一编址中,计算机使用相同的地址空间来访问内存和外部设备。I/O设备被映射到计算机的内存地址空间中的特定区域。
    特点:
          I/O设备和内存共享同一地址空间。
          使用常规的内存读写指令来进行I/O访问。
    优点:
          节省地址空间,不需要为I/O设备和内存分别分配地址范围。
          使用通用的内存访问指令,简化了指令集。
    缺点:
          可能会导致一些复杂性,需要特殊的硬件和机制来处理I/O设备和内存的共享。
    选择与应用:
    应用场景:

I/O独立编址通常用于相对简单的系统或对硬件要求较低的场景。
统一编址通常用于需要更高性能和更灵活的系统,例如多处理器系统。

3、Spooling系统

Spooling(假脱机,虚拟设备技术)可把独享设备转变成具有共享特征的虚拟设备,从而提高设备利用率。

在这里插入图片描述

4、I/O软件的分层结构及其功能

在这里插入图片描述

5、磁盘设备读写时间构成

  1. 读写一个磁盘块的时间由下面三个时间因素构成
    ①子道压间
    ②旋转延迟
    ③实际数据传输时间
  2. 寻道时间占主导地位
  3. 传输过程中的纠错由控制器完成

6、常用磁盘臂调度算法

  1. 先来先服务(FIFO):按达到顺序满足进程的需求
  2. 优先级:进程在系统的优先级特征,具有较好系统交互响应时间
  3. 后进先出:该算法是基于事务系统中顺序文件中磁盘I/O的局部性特征,相邻访问的位置也相邻。
  4. 最短寻道时间优先:考虑磁盘I/O请求队列中各请求的磁头定位位置,选择从当前磁头位置出发,移动最少的磁盘IO请求。
  5. 扫描算法/电梯算法(SCAN):选择在磁头前进方向上从当前位置移动最少的磁盘IO请求执行,没有前进方向上的请求时才改变方向。
  6. 循环扫描(C-SCAN):严格按照一个方向进行扫描,在一个方向上使用扫描算法,当到达边沿时直接移动到另一沿的第一个位置。

7、部分课后习题

  1. 以下各项工作是在四个I/O软件层的哪一层完成的:
    a).为一个磁盘读操作计算磁道、扇区、磁头。
    b).向设备寄存器写命令。
    c).检查用户是否允许使用设备。
    d).将二进制整数转换成ASCII码以便打印。
    答:
    a).设备驱动程序。
    b).设备驱动程序。
    c).与设备无关的软件 。
    d).用户级软件。

  2. 为什么打印机的输出文件在打印前通常都假脱机输出在磁盘上?
    答:可以提高CPU和打印机的并行工作程序:加快打印机的输出速度,缩短进程周转时间,提高系统的吞吐量。如果输出一出现就分配打印机,那么进程可以打印几个字符,然后休眠一周,从而会长时间占用打印机。

  3. 一个磁盘的转速为7200rpm,一个柱面上有500个扇区,每个扇区大小为512B。读入一个扇区需要多少时间?
    答:磁盘转速为7200rpm时,每秒旋转120次,所以一次旋转大约需要8.33 毫秒。一个柱面有500个扇区,则读入一个扇区需要时间约为16.67微秒。

  4. 考虑一个包含16个磁头和400个柱面的磁盘。该磁盘分成4个100柱面的区域,不同的区域分别包含160个、200个、240个和280个扇区。假设每个扇区包含512字节,相邻柱面间的平均寻道时间为1ms,并且磁盘转速为7200rpm。计算:
    a).磁盘容量;b).最优磁道斜进;c).最大数据传输率。
    答:
    a). “磁盘容量=磁” 头"数"×柱面数×扇区数×512字节
    区域1的磁盘容量:16×100×160×512=131072000字节
    区域2的磁盘容量:16×100×200×512=163840000字节
    区域3的磁盘容量:16×100×240×512=196608000字节
    区域4的磁盘容量:16×100×280×512=229376000字节
    所以总的磁盘容量:131072000 + 163840000 + 196608000 + 229376000 = 720896000字节。
    b). 磁盘转速为7200rpm时,每秒旋转120次。在1毫秒的寻道时间内,覆盖了0.120个扇区。
    在区域1中,磁头将在1毫秒内通过的扇区数为:
    0.120×160=19.2
    因此,区域1的最优磁道斜进为19.2扇区。
    在区域2中,磁头将在1毫秒内通过的扇区数为:
    0.120×200=24
    因此,区域2的最优磁道斜进为24扇区。
    在区域3中,磁头将在1毫秒内通过的扇区数为:
    0.120×240=28.8
    因此,区域3的最优磁道斜进为28.8扇区。
    在区域4中,磁头将在1毫秒内通过的扇区数为:
    0.120×280=33.6
    因此,区域4的最优磁道斜进为33.6扇区。
    c).最大数据传输速率将在读取/写入最外层区域(区域4)中的柱面时发生。在该区域,一秒钟内,280个扇区被读取120次。因此,数据速率为
    𝐶=280 ×120 ×512 = 17,203,200字节/秒。

  5. 磁盘请求以柱面10、22、20、2、40、和38的次序进入磁盘驱动器,寻道时每个柱面移动需要6ms,以下各算法所需的寻道时间是多少?
    a)先来先服务。
    b)最近柱面优先。
    c)电梯算法(初始向上移动)。
    在各情形下, 假设磁臂起始于柱面20。
    答:
    a).10+12+2+18+38+34+32=146柱面
    146×6=876毫秒
    b).0+2+12+4+4+36+2=60柱面
    60×6=360毫秒
    c).0+2+16+2+30+4+4=58柱面
    58×6=348毫秒

第七章&第十章

1、系统保护机制:访问控制矩阵、ACL、权能表

  1. 访问控制矩阵(Access Control Matrix):
    定义: 访问控制矩阵是一种表示系统中主体(如用户、进程)对对象(如文件、资源)访问权限的矩阵结构。矩阵的行表示主体,列表示对象,矩阵元素表示权限。
    功能: 访问控制矩阵提供了对系统中各种资源和主体的访问权限的全面而结构化的视图。
    管理: 通过访问控制矩阵,系统管理员可以方便地管理和修改主体对对象的权限。

  2. ACL(Access Control List):
    定义: ACL 是一种存储在操作系统中的数据结构,用于指定某个对象(如文件或目录)上的访问权限。ACL 列表包含了对该对象的各种权限信息。
    功能: ACL 允许系统管理员为每个对象定义具体的访问权限,包括读、写、执行等。
    粒度: ACL 可以精确到个别用户或用户组,以确保对对象的访问权限可以根据需求进行细粒度的控制。

  3. 权能表(Capability Table):
    定义: 权能表是一种数据结构,用于存储主体(如进程或用户)拥有的访问权限,以及对哪些对象(如文件或资源)具有这些权限。
    功能: 权能表将主体的权限集中存储,使得在访问对象时可以直接检查主体的权限,而无需在对象上存储权限信息。
    实现: 通过权能表,系统可以实现基于对象存储权能的访问控制,而不是基于主体。

2、第一类与第二类虚拟机管理程序

  1. 第一类虚拟机管理程序:
    适用于企业级服务器虚拟化,提供更高的性能和资源利用率。
    通常用于数据中心和云计算环境。
  2. 第二类虚拟机管理程序:
    适用于桌面虚拟化、开发和测试等个人或小型团队场景。
    更灵活,可以在已有操作系统上运行,不需要直接访问物理硬件。

二、复习题

1、选择题(20%)

  1. 关于临界资源临界区的说法错误的是_
    A.临界区是程序中的某个片段
    B.一个进程内的多个线程可以同时使用临界资源
    C.临界资源可以是一个共享变量
    D.临界区中含有对临界资源的存取操作
    正确答案:B

  2. 进程控制块PCB说法错误的是__
    A.创建进程的时候创建PCB数据结构
    B.进程生存期间PCB成员变量的值一直保持不变
    C.PCB是进程存在的标志
    D.Linux中定义PCB的数据结构是task_struct.
    正确答案:B

  3. 关于操作系统启动过程说法错误的是
    A.安装操作系统的时候会修改甚至重写MBR
    B.GRUB是一个典型的引导程序
    C.引导程序以文件的形式存在于硬盘
    D.启动程序属于BIOS的一部分
    正确答案:C

  4. 在经典生产者—消费者问题中,假设有m个生产者,n个消费者,缓冲区容量为5,那么在进程并发执行过程中empty私有信号量的最小可能取值是_
    A.-n+4
    B.-m+5
    C.-m+4
    D.-n+5
    正确答案:B

  5. 关于系统调用错误的描述是__
    A.是系统提供给用户的方便使用的接口
    B.是系统提供给用户的程序级接口
    C.系统调用的函数运行在内核态
    D.是保证系统安全稳定运行的一种机制
    正确答案:A

  6. 进程创建后状态
    A.核态
    B.就绪态
    C.阻塞态
    D.运行态
    正确答案:B

  7. 关于分时系统说法错误的是
    A.分时系统中每个终端等待固定时间间隔可以再次获得CPU的服务
    B.分时系统让CPU以时间片为单位轮流为终端服务
    C.分时系统中,仅当程序需要执行I/O操作时才把CPU让给其他程序,尽量让CPU处于忙碌状态
    D.分时系统允许内存中同时存放多道程序
    正确答案:C

  8. 关于P-V (down-up)操作解决同步问题的说法正确的是_
    A.一般在关键操作之前执行V操作
    B.信号量S的初值设置不对,可能导致进程并发过程出错
    C.信号量S的定义可以随意定义
    D.一般在关键操作之后执行P操作
    正确答案:B

  9. 关于进程控制说法错误的是____
    A.进程被唤醒的条件和被阻塞的原因一致
    B.进程控制采用原语实现
    C.进程生存期间都受操作系统控制
    D.进程被撤销时操作系统收回其占用资源,但是不释放相应的PCB
    正确答案:D

  10. 下列应用场景中不适合采用线程的是_-
    A.需要改善程序结构
    B.需要改善窗口交互性
    C.多个功能需要并发
    D.应用程序的初始化
    正确答案:D

  11. 20世纪60年代,_技术的出现导致操作系统对多道程序的支持能力操作系统的并发性能的提高起到了重大的推动作用
    A.SPOOLing技术
    B.集成电路技术
    C.通道和中断技术
    D.虚拟存储管理技术
    正确答案:C

  12. CPU状态分为内核态和用户态,从用户态转换到内核态的唯一途径是_
    A.修改程序状态字
    B.使用函数调用
    C.使用系统调用
    D.中断屏蔽
    正确答案:C

  13. 关于死锁 不正确的说法是__
    A.资源数量不够不一定产生死锁
    B.五个哲学家并发就餐的过程一定会发生死锁
    C.每个死锁的进程一定持有某个资源
    D.每个死锁的进程一定在等待某个资源
    正确答案:B

  14. 多道程序设计是指
    A.程序划分成多个程序段并行执行
    B.允许多个程序同时进入内存并发执行
    C.允许多个程序同时使用CPU
    D.同一个程序可以对应多个不同的进程
    正确答案:B

  15. 关于锁机制的说法错误的是___
    A.锁机制只能解决进程互斥的问题
    B.锁机制满足有限等待和让权等待的原则
    C.锁机制设置一个标志表示临界区是否可用
    D.锁机制满足忙则等待和空闲让进的原则
    正确答案:B

  16. 下列文件物理结构中,适合随机访问且易于文件扩展的是( )
    A.连续结构
    B.索引结构
    C.链式结构且磁盘块定长
    D.链式结构且磁盘块变长
    正确答案:B

  17. 虚拟页式存储管理主要特点是()
    A.不要求将作业装入到主存的连续区域
    B.不要求将作业同时全部装入到主存的连续区域
    C.不要求进行缺页中断处理
    D.不要求进行页面置换
    正确答案:B

  18. 使用文件必须先进行文件的___操作。
    A.打开
    B.建立
    C.改名
    D.备份
    正确答案:A

  19. 操作系统采用分页式存储管理方法,要求____
    A.每个进程拥有一张页表,且进程的页表驻留在内存中
    B.每个进程拥有一张页表,但只有执行进程的页表驻留在内存中
    C.所有进程共享一张页表,以节约有限的内存空间,但页表必须驻留在内存中
    D.所有进程共享一张页表,只有页表中当前使用的页面必须驻留在内存中,以最大限度地节约有限的内存空间
    正确答案:A

  20. 下列说法错误的是____。
    A.手工操作阶段,资源利用率低的原因是因为程序运行的准备和撤销都需要手工完成。
    B.单道批处理系统中,CPU和外设交替工作和空闲。
    C.单道批处理系统效率之所以比手工操作效率高,核心原因是因为可以按批处理作业。
    D.多道批处理系统尽量让CPU和外设处于忙碌状态,提升资源利用效率。
    正确答案:C

  21. 某基于动态分区存储管理的计算机,其主存容量为55MB(初始为空闲),采用最佳适配(Best fit)算法,分配和释放的顺序为:分配15 MB,分配30MB,释放15 MB,分配8 MB,分配6 MB,此时主存中最大空闲分区的大小是()
    A.7MB
    B.9 MB
    C.10 MB
    D.15 MB
    正确答案: B

  22. 以下关于页表的描述,错误的是(
    A.MMU借助页表实现地址变换
    B.多级页表可以解决页表过大的问题
    C.每个进程都有一个页表
    D.进程创建后,页表不再发生变化
    正确答案:D

  23. 位于CPU与内存之间,可以极大地提升系统执行效率。
    A.寄存器
    B.闪存
    C.Cache
    D.总线
    正确答案:C

  24. 分区分配内存管理方式的主要保护措施是()
    A.界限地址保护
    B.程序代码保护
    C.数据保护
    D.栈保护
    正确答案:A

  25. 在缺页处理过程中,操作系统执行的操作可能是()
    |∶修改页表 || 磁盘I/O |||:分配页框
    A.仅|、||
    B.仅|
    C.仅|||
    D.l、|| 和|||
    正确答案:D

  26. 考虑一个大小始终在4KB和4MB之间变化的文件,采用()的物理结构最合适。
    A.连续
    B.链表
    C.内存链表
    D.索引
    正确答案:D

  27. 虚拟设备是指()。
    A.允许用户使用比系统中具有的物理设备更多的设备
    B.允许用户以标准方式来使用物理设备
    C.把一个物理设备变换成多个对应的逻辑设备
    D.允许用户程序不必全部装入主存,便可使用系统中的设备
    正确答案:C

  28. 向设备寄存器写命令,是在四个I/O软件层的()层完成的
    A.用户
    B.设备无关软件
    C.驱动程序
    D.中断处理
    正确答案:C

  29. 在可变式分区内存管理方案中,某一作业完成后系统收回其主存空间,并与相邻空闲区合并,为此需修改空闲区表,造成空闲区数目减1的情况是______。
    A.无上邻空闲区,也无下邻空闲区
    B.有上邻空闲区,但无下邻空闲区
    C.有下邻空闲区,但无上邻空闲区
    D.有上邻空闲区,也有下邻空闲区
    正确答案: D

  30. 唤醒驱动程序,是在四个I/O软件层的(层完成的
    A.用户
    B.设备无关软件
    C.驱动程序
    D.中断处理
    正确答案:D

  31. 关于操作系统内核说法错误的是_
    A.是操作系统的最核心部分,能够完成操作系统的基本功能
    B.内核是指操作系统工作在内核态的软件的集合
    C.内核除了具备最近本的资源管理功能,还为用户提供友好的GUI接口和开发环境
    D.Linux内核可以通过模块机制来动态扩展
    正确答案:C

  32. 在关于Spooling的叙述中,______描述是不正确的。
    A.Spooling系统中不需要独占设备
    B.Spooling系统加快了作业执行的速度
    C.Spooling系统使独占设备变成共享设备
    D.Spooling系统利用了处理器与通道并行工作的能力
    正确答案:C

  33. 相同名字的文件应允许在一个系统中同时存在,解决这个问题的办法是()。
    A.采用索引文件
    B.通过文件共享
    C.采用多级目录管理
    D.利用文件分级安全管理
    正确答案:C

  34. 以下哪项不是存储管理应该具备的功能
    A.地址映射
    B.内存分配与回收
    C.页面置换
    D.缺页中断处理
    正确答案:D

  35. 关于P-V(down-up)操作的说法错误的是___
    A.P-V操作是比锁机制更灵活的同步进制
    B.P-V操作可以用于控制进程间的同步和互斥
    C.P-V操作的核心是两个函数,用来对信号量和进程进行控制
    D.P操作和V操作都会把信号量加1
    正确答案:D

  36. 以下内存分区分配算法中,内存利用率最高的算法是( )。
    A.首次适应算法
    B.最佳适应算法
    C.下次适应算法
    D.最坏适应算法
    正确答案:B

  37. 一个分段存储管理系统中,地址长度为32位,其中段号占8位,则段长最大()
    A.2的8次方字节
    B.2的16次方字节
    C.2的24次方字节
    D.2的32次方字节
    正确答案:C

  38. 在内存管理的固定分区分配中,每个分区的大小是()。
    A.相同
    B.随作业长度变化
    C.可以不同但预先固定
    D.可以不同但根据作业长度固定
    正确答案:C

  39. 某系统采用两级页表,页的大小是2^12字节,逻辑地址是32位,若地址的前8位用于做一级页表的索引,则需要_来指定二级索引.
    A.12
    B.8
    C.4
    D.10
    正确答案:A

  40. 虚拟存储技术的基础是()
    A.交换原理
    B.置换原理
    C.请求调入原理
    D.程序局部性原理
    正确答案:D

  41. 以下页面置换算法中,需要考虑页面的访问位和修改位的是()
    A.OPT
    B.LRU
    C.NFU
    D.NRU
    正确答案:D

  42. 请求调入对换功能实现的是存储器管理的( )部分子功能
    A.内存分配
    B.内存保护
    C.地址变换
    D.内存扩充
    正确答案:D

  43. 如果目标程序的指令和数据是在装入时一次完成地址变换,则采取的是()重定位方式。
    A.静态地址
    B.动态地址
    C.直接地址
    D.间接地址
    正确答案:A

  44. 多道程序设计技术可以___单位时间的任务量,对每个任务来说,其完成时间比单道执行所需时间可能要_
    A.增加,减少
    B.增加,延长
    C.减少,延长
    D.减少,减少
    正确答案:B

  45. 当处理器处于内核态时,处理器可以执行的指令应该是____
    A.非特权指令
    B.仅限于特权指令
    C.硬件体系结构支持的所有指令
    D.硬件体系结构支持的指令集合的子集
    正确答案:C

  46. 有关系统功能调用的描述错误的是
    A.应用程序使用系统功能调用会引起中断
    B.高级语言中不能使用系统功能调用,只有汇编程序中通过INT指令使用
    C.在LINUX操作系统中,每一个系统功能调用都有一个确定的编号
    D.LINUX系统中,应用程序往往是通过C库封装的函数,间接使用系统调用
    正确答案:B

  47. 用户界面(或接口)是操作系统提供给用户与计算机交流的外部机制。用户界面可以分为两类,它们是_
    A.操作界面和系统功能调用
    B.操作界面和图形界面
    C.系统功能调用和API函数界面
    D.图形界面和键盘命令界面
    正确答案:A

  48. 关于进程错误的说法是。
    A.进程的运行是不可重现的
    B.一个程序只能生成一个进程
    C.进程具有异步性
    D.进程具有独立性
    正确答案:B

  49. 关于进程状态说法错误的是____
    A.单CPU的系统中处于运行态的进程可以有多个
    B.进程在整个生存期间会根据不同条件转换状态
    C.阻塞态的进程即便给它CPU它也无法运行
    D.处于就绪态的进程都在等待CPU
    正确答案:A

  50. 关于P-V (down-up)操作的说法错误的是
    A.P操作可能会阻塞调用进程
    B.V操作会把信号量加1
    C.P操作可以唤醒一个进程
    D.P操作和V操作在所有并发进程中成对出现
    正确答案:C

  51. 关于P-V (down-up)操作解决同步问题的说法正确的是___
    A.一般在关键操作之前执行V操作
    B.一般在关键操作之后执行P操作
    C.信号量S的定义可以随意定义
    D.信号量S的初值设置不对,可能导致进程并发过程出错
    正确答案:D

  52. 关于Linux进程不正确的说法是__
    A.fork函数具有两个返回值
    B.wait函数会阻塞进程直到其一个子进程结束为止
    C.exit函数可以在结束进程的时候传递信号给父进程
    D.sleep函数会让调用者进程挂起若干时间
    正确答案:A

  53. 计算机系统的三级存储体系指的是(
    A.寄存器、内存、外存
    B.内存、外存、闪存
    C.寄存器、高速缓存、内存
    D.高速缓存、内存、外存
    正确答案:D

  54. 能够提供比实际物理内存更多的内存空间,指的是存储管理具有()的功能
    A.物理扩展内存
    B.虚拟存储
    C.动态分区
    D.地址映射
    正确答案:B

  55. 虚拟内存管理主要目标在于实现(
    A.分页管理
    B.更大容量的虚拟存储
    C.离散存储
    D.内存访问效率的提升
    正确答案:B

  56. 以下关于动态分区的说法,正确的是(
    A.动态分区有利于提高内存访问效率
    B.动态分区结合交换技术,也可以实现虚拟存储
    C.动态分区相比分页存储管理而言,内存利用率更高
    D.动态分区可以实现程序的分区分配
    正确答案:B

  57. 以下关于覆盖技术的描述,错误的是(
    A.覆盖技术首先需要进行程序的划分
    B.覆盖技术需要事先给出覆盖顺序
    C.覆盖技术适用于系统软件
    D.覆盖技术可以实现虚拟存储
    正确答案:D

  58. 关于内存碎片,以下说法正确的是()
    A.内存碎片指页内碎片
    B.内存碎片指分区内碎片
    C.内存碎片越小,内存利用率越小
    D.内存块越大,内存碎片越大
    正确答案:A

  59. 下列关于虚拟存储器的叙述中,正确的是()
    A.虚拟存储只能基于连续分配技术
    B.虚拟存储只能基于非连续分配技术
    C.虚拟存储容量只受外存容量的限制
    D.虚拟存储容量只受内存容量的限制
    正确答案:B

  60. 下列选项中,不能改善磁盘设备I/O性能的是()
    A.重排l/O请求次序
    B.在一个磁盘上设置多个分区
    C.预读和延迟写
    D.优化文件物理块的分布
    正确答案:B

  61. 文件系统中,如果需要频繁地对文件进行修改,则最不适合采用的物理结构是()。
    A.连续
    B.链表
    C.内存链表
    D.索引节点
    正确答案:A

  62. 假设磁头当前位于第105道,正在向磁道序号增加的方向移动。现有一个磁道访问请求序列为35,45,12,68,110,180,170,195,采用SCAN调度(电梯调度)算法得到的磁道访问序列是()
    A.110,170,180,195,68,45,35,12
    B110,68,45,35,12,170,180,195
    C.110,170,180,195,12,35,45,68
    D.12,35,45,68,110,170,180,195
    正确答案:A

  63. 文件系统中,文件访问控制信息存储合理位置是()
    A.文件控制块
    B.文件分配表
    C.用户口令表
    D.系统注册表
    正确答案:A

  64. 程序员利用系统调用打开I/O设备时,通常使用的设备标识是()
    A.逻辑设备名
    B.物理设备名
    C.主设备号
    D.从设备号
    正确答案:A

  65. 用户程序发出磁盘I/O请求后,系统的正确处理流程是()
    A.用户程序→系统调用处理程序→中断处理程序→设备驱动程序
    B.用户程序→系统调用处理程序→设备驱动程序→中断处理程序
    C.用户程序→设备驱动程序→系统调用处理程序→中断处理程序
    D.用户程序→设备驱动程序→中断处理程序→系统调用处理程序
    正确答案:B

  66. 在存储管理的分区分配中,最有可能使得高地址空间成为大的空闲区的分配算法是()。
    A.最先(首次)适应法
    B.最佳适应法
    C.最坏适应法
    D.下次适应法
    正确答案:A

  67. 虚拟页式管理中,若常发生抖动影响CPU的利用率,从系统管理员的角度,则可改善CPU的利用率的方法是().
    A.用一个更快的CPU
    B.用一个更大的辅存
    C.减少多道程序的道数
    D.采用更快的I/O设备
    正确答案:D

  68. 页式存储管理中,假定地址用m个二进制位表示,其中页内地址部分占用了n个二进制位,那么页数的最大值是(()。
    A.2^n
    B.2^(m-n)
    C.2^m
    D.2^(m+n)
    正确答案:B

  69. 对磁盘进行移臂调度时,既考虑了减少寻道时间,又不频繁改变移动臂的移动方向的调度算法是()
    A.先来先服务
    B.最短寻道时间优先
    C.电梯调度
    D.利用文件分级安全管理
    正确答案:C

  70. 程序员利用系统调用打开I/O设备时,通常使用的设备标志是(
    A.设备类相对号
    B.物理设备名
    C.主设备号
    D.次设备号
    正确答案:A

  71. 操作系统的I/O软件通常由四个层次组成,每一层明确定义了与邻近层次的接口,其合理的层次组织排列顺序是()
    A.用户级I/O软件、设备无关软件、设备驱动程序、中断处理程序
    B.用户级I/O软件、设备无关软件、中断处理程序、设备驱动程序
    C.用户级I/O软件、设备驱动程序、设备无关软件、中断处理程序
    D.用户级I/O软件、中断处理程序、设备无关软件、设备驱动程序
    正确答案:A

  72. MS-DOS系统中的磁盘物理块的最后一个单元存放下一个物理块的地址,这种文件物理结构属于()。
    A.连续文件
    B.链接文件
    C.索引文件
    D.散列文件
    正确答案:B

  73. 文件存储空间空闲块管理中,UNIX应用的方法是( )。
    A.空白文件目录
    B.位示图
    C.空闲盘区链
    D.成组链接法
    正确答案:D

  74. 采用缓冲技术的主要目的是()。
    A.改善用户编程环境
    B.提高CPU的处理速度
    C.提高CPU与设备之间的并行速度
    D.实现与设备无关性
    正确答案: C

  75. 设备管理中解决绝对号相对号对应的是()。
    A.缓冲管理
    B.设备分配
    C.设备处理
    D.设备独立性
    正确答案:B

  76. 虚拟存储系统中,若进程在内存中占4块(开始时为空),采用栈式页面置换算法,当执行访问页号序列为1、2、3、4、1、2、5、2、3、4、5时,将产生____次缺页中断
    A.7
    B.8
    C.9
    D.10
    正确答案:B

  77. 通常CLOCK置换算法只有一位访问位,如果改进的CLOCK置换算法则通过一个访问位A和一个修改位M来选出淘汰的页。如果已访问,则A为1,已修改,则M为1,那么A和M的4种组合中,最佳被淘汰页的情况是
    A.A为0,M为0
    B.A为0,M为1
    C.A为1,M为0
    D.A为1,M为1
    正确答案:A

  78. 下列选项中,_______ 不是 删除文件中所需要完成的工作
    A.释放文件所占用的空间
    B.在目录中删除该文件相应的目录项,即文件控制块
    C.若文件为共享文件,还要对共享设置进行处理
    D.对文件原存储单元全部清零
    正确答案:D

  79. 某系统中,一个FCB(文件控制块)占用64B,盘块大小为1KB,文件目录中共有3200个FCB,故查找一个文件平均启动磁盘次数为—
    A.50
    B.64
    C.100
    D.200
    正确答案:C

  80. CPU存储器I/O端口完成一次读写操作所需的时间为一个_

    A.指令周期
    B.总线周期
    C.时钟周期
    D.机器周期
    正确答案:B

  81. 下列____只在设备驱动程序层实现
    A.校验访问权限
    B.调度I/O操作
    C.检查请求信息是否在高速缓存中
    D.处理一个设备中断
    正确答案:D

  82. 为一个磁盘读操作计算磁道、扇区、磁头,是在四个I/O软件层的()层完成的
    A.用户
    B.设备无关软件
    C.驱动程序
    D.中断处理
    正确答案:C

  83. 检查用户是否允许使用设备,是在四个I/O软件层的()层完成的
    A.用户
    B.设备无关软件
    C.驱动程序
    D.中断处理
    正确答案:B

  84. 硬链接通过()方式,实现文件的共享
    A.在共享目录下建立文件目录项
    B.在i节点中使用一个计数器
    C.不同文件共享i节点
    D.链接到共享目录
    正确答案:B

  85. 给定磁盘块大小为4KB,快指针地址值为4字节,使用10个直接地址(direct address)和一个间接块(indirect block),可以访问的最大文件大小是()。
    A.4MB
    B.8MB
    C.16MB
    D.40KB
    正确答案:D

  86. 操作系统核心目标是。
    A.管理硬件
    B.运行程序
    C.让用户方便使用
    D.提高CPU利用率
    正确答案:B

  87. 设备本地缓冲之间传输数据由()完成。
    A.I/O控制器
    B.CPU
    C.设备机械装置
    D.内存
    正确答案:A

  88. 下面关于分时系统的叙述错误的是)。
    A.分时系统主要用于批处理作业
    B.分时系统中每个任务依次轮流使用时间片
    C.分时系统的响应时间好
    D.分时系统是一种多用户操作系统
    正确答案:A

  89. 解决信息在计算机中存储问题的操作系统模块是()。
    A.进程管理
    B.内存管理
    C.文件管理
    D.设备管理
    正确答案:C

2、判断题(10%)

  1. 单道批处理系统作业的启动与结束以手工方式进行,作业串行地在系统中运行。【×】
  2. 异步性会使得每个进程都按自己的逻辑和速度向前运行【√】
  3. 根据对资源和机器指令的使用权限,处理机工作状态区分为实模式和保护模式。【×】
  4. 阻塞的进程获得相应服务或信号后会立即开始运行【×】
  5. 一旦出现死锁,所有进程都不能运行【×】
  6. CPU和设备控制器可并行工作,但不同的设备控制器都不能并行工作。【×】
  7. 操作系统是所有软件中最底层的软件。【√】
  8. 操作系统只管理硬件资源。【×】
  9. 单道批处理系统的核心思想是把一批作业一次装入计算机。【×】
  10. 分时系统比多道批处理系统的系统开销大。【√】
  11. 多道批处理系统的CPU利用率比单道批处理系统高,但是设备利用率差不多。【√】
  12. 分布式操作系统又称紧耦合系统。【×】
  13. 异步双核(ASMP)操作系统中,一般有主处理器和从处理器之分。【√】
  14. 目前,计算速度最快的计算机系统是集群系统。【√】
  15. 系统调用的代码是在内核模式执行的。【√】
  16. 内存保护的目的是为了提高内存的访问效率。【×】

3、填空题(10%)

  1. BIOS的中文名称是基本输入输出系统
  2. 同时考虑作业等候时间和作业大小的调度算法是响应比高者优先
  3. 分时技术共享CPU的时间单位是时间片
  4. 在对死锁进行了检测之后,可以采用资源剥夺法解除死锁,还可以采用杀死进程方法解除死锁
  5. 若系统中有五台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许4个进程参于竞争,而不会发生死锁

4、简答题(25%)

  1. 站在普通用户的角度,总结操作系统有哪些基本功能?
    提供操作界面
    控制程序运行
    管理系统资源
    配置系统参数

  2. 操作系统有哪4个典型的发展阶段,各有什么特点?
    手工操作:手工操作、独占方式
    批处理系统:多道、成批
    分时系统:同时性、独立性、及时性
    实时系统:及时响应、高可靠性

  3. 分时技术与多道批处理都能完成多个程序的切换。这两种切换情形有什么差别?
    分时技术: 实现多用户轮流使用计算机,时间片轮转。
    多道批处理: 多个作业同时在系统中运行,采用先来先服务或优先级调度

  4. 从系统观点来看,操作系统的核心功能包括哪些?
    进程管理
    内存管理
    文件系统管理
    设备管理
    安全性和权限管理

  5. 多道批处理系统相较于分时系统而言,最大的问题是什么?
    作业吞吐量低: 多道程序共享 CPU,可能导致某些作业等待时间过长。

  6. 何为CPU的态?定义态的作用什么?有哪些态?
    运行态(Running): 执行指令。
    就绪态(Ready): 可以执行,但被阻塞等待CPU。
    阻塞态(Blocked): 等待某事件的发生。

  7. 中断的概念是什么?中断的响应过程是怎样的?
    中断是由硬件或软件触发的事件,打断正常程序流程。

  8. 系统BIOS的功能有哪些?
    提供基本的硬件初始化和启动功能。
    提供系统调用接口。

  9. 外部设备与计算机系统交互采用什么方式·
    采用I/O端口访问或内存映射方式。

  10. 系统调用与普通用户态函数比较,有何异同点?
    相同点:都是通过函数调用实现。
    不同点:系统调用涉及内核态切换,访问核心资源。

  11. 试述系统调用的典型步骤?
    用户程序通过系统调用号请求服务。
    操作系统切换到内核态。
    执行相应的系统调用服务例程。
    返回结果给用户程序。

  12. 文件访问往往首先需要获取文件的描述和控制信息,描述这些信息的数据结构我们称为?
    文件控制块(FCB)·

  13. 试述fork()函数的作用和特点?
    复制当前进程,创建新进程。
    父子进程共享代码段,但拥有各自的数据段。

  14. Linux采用的是哪种类型的体系结构?·
    冯诺依曼体系结构

  15. 进程有哪3个基本状态,它们之间如何迁移?
    就绪态
    运行态
    阻塞态

  16. 进程与程序的区别与联系?
    进程是程序的执行实例,具有独立的内存空间和状态。

  17. 试述线程的概念(Thread)及特点?
    线程是进程内的执行单元,共享进程资源。
    轻量、低开销。

  18. 对比多进程实现与多线程实现的不同?
    多进程:进程间独立,通信复杂。
    多线程:共享进程资源,通信简单。

  19. 多线程在用户空间实现的特点?·
    用户态线程库管理线程,内核不感知。
    线程切换开销小。

  20. 多线程在内核空间实现的特点?·
    内核感知线程,线程切换由内核管理。
    更适用于多核系统。

  21. 什么是进程的互斥,什么是进程的同步?各举一个例子说明。·
    进程互斥:保证同一时间只有一个进程访问共享资源。
    进程同步:协调多个进程的执行顺序。

  22. P—V操作的作用是什么?P操作和V操作各自的原理是什么?
    P(wait)操作:资源减少,等待资源。
    V(signal)操作:资源增加,释放资源

  23. 临界区访问机制的四个原则是什么?
    互斥性
    有限等待性
    进程可抢占性
    空闲让权性

  24. 进程调度的目标有哪些?
    公平性
    高吞吐量
    低延迟

  25. Linux系统中普通进程采用何种调度策略?实时进程又采用何种调度策略?
    普通进程采用时间片轮转策略。
    实时进程采用优先级调度策略。

  26. 什么是死锁或死锁的定义是什么?
    多个进程因竞争资源而被永久阻塞。

  27. 死锁的四个必要条件是哪些?
    互斥条件
    请求与保持条件
    不可剥夺条件
    循环等待条件

  28. 简述实际的三级存储器体系的结构(组成)和基本原理?
    快速缓存(Fast Cache)
    主存储器(Main Memory)
    辅助存储器(Auxiliary Storage)

  29. 何为内存动态分区?有什么特点?·
    动态划分为不同大小的分区以满足进程需求。

  30. 何为内存覆盖技术(Overlay)?有何缺点?
    使用超过物理内存大小的程序,通过覆盖技术实现分阶段执行

  31. 何为内存交换技术(Swapping)?有何优点/缺点?
    将进程暂时移出内存,以腾出空间给其他进程。

  32. 试述页式存储管理系统的页面共享原理。
    共享相同物理页框的多个进程,减少内存占用。

  33. 试述缺页中断的概念和缺页中断响应的过程。
    在虚拟存储系统中,当程序访问的页面(Page)不在内存中时,发生了缺页中断。这表示所需的页面不在主存中,需要从辅助存储器(通常是硬盘)中加载到内存中,以便程序可以继续执行。
    缺页中断响应的过程:缺页中断的发生、中断处理程序的启动、保存现场、中断服务例程的执行、确定缺页位置、判断页面是否在磁盘上、更新页表、恢复现场、重新执行指令、程序继续执行

  34. 什么是文件,什么是文件系统?什么是文件的逻辑结构?有哪二种典型的逻辑结构?
    文件:计算机中存储数据的基本单元
    文件系统:负责文件的存储、检索、命名、保护和维护
    文件的逻辑结构:文件中数据的组织方式
    两种典型的逻辑结构:顺序结构、随机结构

5、综合题(35%)

1、地址变化和求FAT表大小
2、可变分区管理
3、页面置换算法
4、磁盘调度算法
5、处理机调度
6、银行家算法
7、进程的同步与互斥(PV操作)

地址:https://www.bilibili.com/read/cv28629345/?spm_id_from=333.999.0.0&jump_opus=1 出处:bilibili

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1372585.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Tsmaster使用笔记整理

选择厂商 根据你所选择的CAN分析仪的厂商&#xff0c;确定你的厂商设备设置。 我一般会选择PEAK&#xff0c;和 ZLG多一点&#xff0c;其他的没有用过。除了上图中的&#xff0c;市面上的CAN分析仪还有CANanlyst、广成科技、创芯科技等&#xff0c;但它们都不能在Tsmaster上使…

如何利用 NFTScan Portfolio 功能分析钱包 NFT 持仓

随着 NFT 市场的扩大和投资者的增加&#xff0c;追踪和管理大量 NFT 资产正变得越来越复杂&#xff0c;无论是新手还是资深投资者&#xff0c;都需要借助实时的 NFT 数据作为判断依据。因此&#xff0c;一个能够全面分析 NFT 钱包持仓的工具就显得尤为重要。帮助投资者掌握自身…

Linux C/C++ 显示NIC流量统计信息

NIC流量统计信息是由操作系统维护的。当数据包通过NIC传输时&#xff0c;操作系统会更新相关的计数器。这些计数器记录了数据包的发送和接收数量、字节数等。通过读取这些计数器&#xff0c;我们可以获得关于网络流量的信息。 为什么需要这些信息? 可以使用这些信息来监控网络…

Linux的网络服务DHCP

一.了解DHCP服务 1.1 DHCP定义 DHCP&#xff08;动态主机配置协议&#xff09;是一个局域网的网络协议。指的是由服务器控制一段IP地址范围&#xff0c;客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。默认情况下&#xff0c;DHCP作为Windows Server的一个服…

【Python】使用tkinter设计开发Windows桌面程序记事本(2)

上一篇&#xff1a;【Python】使用tkinter设计开发Windows桌面程序记事本&#xff08;1&#xff09;-CSDN博客 下一篇&#xff1a; 作者发炎 此代码模块是继承上一篇文章的代码模块的基础上开始设计开发的。 如果不知道怎么新建"记事本项目"文件夹&#xff0c;请参…

程序员试用期转正工作总结

一、试用期工作总结 在公司的三个月试用期中&#xff0c;我完成了以下工作&#xff1a; 完成了XX个功能模块的开发&#xff0c;包括XX模块、XX模块和XX模块。参与了XX个项目的开发和上线&#xff0c;其中XX项目、XX项目和XX项目是我主导的。优化了现有系统的性能&#xff0c;特…

跟着我学Python进阶篇:02.面向对象(上)

往期文章 跟着我学Python基础篇&#xff1a;01.初露端倪 跟着我学Python基础篇&#xff1a;02.数字与字符串编程 跟着我学Python基础篇&#xff1a;03.选择结构 跟着我学Python基础篇&#xff1a;04.循环 跟着我学Python基础篇&#xff1a;05.函数 跟着我学Python基础篇&#…

计算机体系结构----寄存器重命名/Tomasulo算法

前情提要 计分板算法可看我写的博文计算机体系结构----计分板&#xff08;scoreboard&#xff09;算法 Tomasulo算法的核心是寄存器重命名&#xff08;register renaming&#xff09;&#xff1b;通过寄存器重命名&#xff0c;可彻底消除WAR/WAW冲突&#xff0c;计分板算法中…

2024--Django平台开发-Django知识点(五)

day05 django知识点 今日概要&#xff1a; 中间件 【使用】【源码】cookie 【使用】【源码 - Django底层请求本质】session【使用】【源码 - 数据库请求周期中间件】 1.中间件 1.1 使用 编写类&#xff0c;在类型定义&#xff1a;process_request、process_view、process_…

C++重新认知:inline关键字

一、为什么要使用inline关键字 在C中.&#xff0c;为了解决频繁调用小函数造成大量消耗栈空间的问题&#xff0c;引进了inline关键字&#xff0c;inline修饰的函数为内敛函数&#xff08;频繁大量的使用栈空间会造成栈溢出&#xff09;。 在这段代码中&#xff0c;每次执行for…

RT-Thread:SPI万能驱动 SFUD 驱动Flash W25Q64,通过 STM32CubeMX 配置 STM32 SPI 驱动

关键词&#xff1a;SFUD,FLASH,W25Q64&#xff0c;W25Q128&#xff0c;STM32F407 说明&#xff1a;RT-Thread 系统 使用 SPI万能驱动 SFUD 驱动 Flash W25Q64&#xff0c;通过 STM32CubeMX 配置 STM32 SPI 驱动。 提示&#xff1a;SFUD添加后的存储位置 1.打开RT-Thread Sett…

【obj To 3DTiles 格式转换】 可以自定义经纬高、属性表等参数 (一)

目录 0 引言1 3DTiles数据2 objTo3DTiles2.1 工具的安装2.1.1 拓展&#xff1a;Node.js 和 npm 2.2 工具的使用2.2.1 输出成瓦片数据2.2.2 输出带有坐标参数的瓦片数据 3 查看3DTiles数据 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xff1a;Cesiumfor…

强化学习9——免模型预测算法介绍(蒙特卡洛方法和时步差分方法)

对于大部分情况来说&#xff0c;环境是未知的&#xff0c;也就是说状态转移概率未知&#xff0c;对于这种情况的算法称为免模型预测算法。免模型算法与环境不断交互学习&#xff0c;但是需要大量的运算。 蒙特卡洛方法 蒙特卡罗方法通过重复随机抽选&#xff0c;之后运用统计…

条款21:必须返回对象时,别妄想返回其引用

考虑一个表示有理数的类&#xff0c;其中包含一个计算两个有理数相乘的函数: class Rational { public:Rational(int numerator 0, int denominator 1) :n{ numerator }, d{ denominator }{} private:int n, d; // 分子和分母friend const Rational& operator*(const R…

vue知识-03

购物车案例 要实现的功能&#xff1a; 1、计算商品总价格 2、全选框和取消全选框 3、商品数量的增加和减少 <body> <div id"app"><div class"row"><div class"col-md-6 col-md-offset-3"><h1 class"text-center…

C++模板——(4)C++泛型编程与标准模板库简介

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 勤奋&#xff0c;机会&#xff0c;乐观…

苍穹外卖Day01——解决总结1中存在的问题

前序章节&#xff1a; 苍穹外卖Day01——总结1 解决总结1中存在的问题 1. 什么是JWT2. POJO、Entity、VO、DTO3. Nginx&#xff08;反向代理&#xff09;4. Data注解 1. 什么是JWT JWT&#xff08;JSON Web Token&#xff09;是一种用于在网络应用间传递信息的开放标准&#…

智慧校园电子班牌管理系统源码 Java Android原生

智慧校园电子班牌系统源码是一种智能化的教育管理解决方案&#xff0c;它可以在学校内实现信息共享、教学管理、学生管理、家校互通等各个方面的协调与配合&#xff0c;帮助教师、学生和家长更加高效地开展教学活动、管理学生、协同合作&#xff0c;从而推动学校教育水平的提高…

【高等数学之泰勒公式】

一、从零开始 1.1、泰勒中值定理1 什么是泰勒公式?我们先看看权威解读: 那么我们从古至今到底是如何创造出泰勒公式的呢? 由上图可知&#xff0c;任一无穷小数均可以表示成用一系列数字的求和而得出的结果&#xff0c;我们称之为“无穷算法”。 那么同理我们想对任一曲线来…

Ubuntu启动Xming报错:cannot open display: :1.0

Ubuntu启动Xming报错&#xff1a;cannot open display: :1.0 1、问题描述&#xff1a;2、问题解决&#xff1a;3、实践结果&#xff1a; 叮嘟&#xff01;这里是小啊呜的学习课程资料整理。好记性不如烂笔头&#xff0c;今天也是努力进步的一天。一起加油进阶吧&#xff01; 1、…