当前位置: 首页 > news >正文

2009 ~ 2019 年 408【操作系统】大题解析

2009 年

讲解视频推荐:【BOK408真题讲解-2009年(催更就退网版)】

1. 同步与互斥(7’)

三个进程 P1, P2, P3 互斥使用一个包含 N(N > 0)个单元的缓冲区。P1 每次用 produce() 生成一个正整数并用 put() 送入缓冲区某一空单元中;P2 每次用 getodd() 从该缓冲区中取出一个奇数并用 countodd() 统计奇数个数;P3 每次用 geteven() 从该缓冲区中取出一个偶数并用 counteven() 统计偶数个数。请用信号量机制实现这三个进程的同步与互斥活动,并说明所定义信号量的含义。(要求用伪代码描述)

【解析】

互斥资源:缓冲区只能互斥访问, 因此设置互斥信号量 mutex 。

同步问题:P1 、P2 因为奇数的放置与取用而同步,设同步信号量 odd ;P1 、P3 因为偶数的放置与取用而同步,设置同步信号量 even ;P1、P2、P3 因为共享缓冲区,设同步信号量 empty ,初值为 N 。程序如下:

2. 虚拟内存管理(8’)

请求分页管理系统中,假设某进程的页表内容如下表所示。

页号页框(Page Frame)号有效位(存在位)
0101H1
10
2254H1

页面大小为 4KB ,一次内存的访问时间为 100ns , 一次快表(TLB)的访问时间为 10ns ,处理一次缺页的平均时间为 108ns(已含更新 TLB 和页表的时间),进程的驻留集大小固定为 2 ,采用最近最少使用置换算法(LRU)和局部淘汰策略。

假设:① TLB 初始为空;② 地址转换时先访问 TLB ,若 TLB 未命中,再访问页表(忽略访问页表之后的 TLB 更新时间) ;③ 有效位为 0 表示页面不在内存,产生缺页中断,缺页中断处理后, 返回到产生缺页中断的指令处重新执行。设有虚地址访问序列:2362H 、1565H 、25A5H ,请问:
(1)依次访问上述三个虚地址,各需多少时间?给出计算过程。
(2)基于上述访问序列,虚地址 1565H 的物理地址是多少?请说明理由。

【解析】


2010 年

讲解视频推荐:【BOK408真题讲解-2010年】

1. 磁盘(7’)

假设计算机系统采用 CSCAN(循环扫描)磁盘调度策略,使用 2KB 的内存空间记录 16384 个磁盘块的空闲状态。
(1)请说明在上述条件下如何进行磁盘块空闲状态的管理。
(2)设某单面磁盘旋转速度为每分钟 6000 转,每个磁道有 100 个扇区,相邻磁道间的平均移动时间为 1ms 。若在某时刻,磁头位于 100 号磁道处,并沿着磁道号增大的方向移动(见下图),磁道号请求队列为 50, 90, 30, 120 ,对请求队列中的每个磁道需读取 1 个随机分布的扇区,则读完这 4 个扇区点共需要多少时间?要求给出计算过程。
(3)如果将磁盘替换为随机访问的 Flash 半导体存储器(如 U 盘、SSD 等) ,是否有比 CSCAN 更高效的磁盘调度策略? 若有, 给出磁盘调度策略的名称并说明理由;若无,说明理由。

【解析】


2. 虚拟内存管理(8’)

设某计算机的逻辑地址空间和物理地址空间均为 64KB ,按字节编址。若某进程最多需要 6 页(Page )数据存储空间,页的大小为 1KB ,操作系统采用固定分配局部置换策略为此进程分配 4 个页框(Page Frame)。在时刻 260 前的该进程访问情况如下表所示(访问位即使用位)。

页号页框号装入时刻访问位
071301
142301
222001
391601

当该进程执行到时刻 260 时, 要访问逻辑地址为 17CAH 的数据。请回答下列问题:

(1)该逻辑地址对应的页号是多少?
(2)若采用先进先出(FIFO)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。
(3)若采用时钟(CLOCK)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程(设搜索下一页的指针沿顺时针方向移动,且当前指向 2 号页框,示意图如下) 。

【解析】

2011 年

讲解视频推荐:【BOK408真题讲解-2011年】

1. 同步与互斥(8’)

某银行提供 1 个服务窗口和 10 个供顾客等待的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述如下:

cobegin{process 顾客 i{从取号机获取一个号码;等待叫号;获取服务;}process 营业员{while(TRUE){叫号;为客户服务;}}
}coend

请添加必要的信号量和 P 、V [或 wait() 、signal()] 操作, 实现上述过程中的互斥与同步。要求写出完整的过程, 说明信号量的含义并赋初值。

【解析】

2. 文件系统基础(7’)

某文件系统为一级目录结构,文件的数据一次性写入磁盘,已写入的文件不可修改,但可多次创建新文件。请回答如下问题。
(1)在连续、链式、索引三种文件的数据块组织方式中,哪种更合适?要求说明理由。为定位文件数据块, 需要 FCB 中设计哪些相关描述字段?
(2)为快速找到文件,对于 FCB ,是集中存储好, 还是与对应的文件数据块连续存储好?要求说明理由。

【解析】

2012 年

讲解视频推荐:【BOK408真题讲解-2012年】

1. 虚拟内存管理(7’)

某请求分页系统的局部页面置换策略如下:系统从 0 时刻开始扫描,每隔 5 个时间单位扫描一轮驻留集(扫描时间忽略不计),本轮没有被访问过的页框将被系统回收,并放入到空闲页框链尾,其中内容在下一次被分配之前不被清空。当发生缺页时, 如果该页曾被使用过且还在空闲页链表中,则重新放回进程的驻留集中; 否则,从空闲页框链表头部取出一个页框。

假设不考虑其他进程的影响和系统开销,初始时进程驻留集为空。目前系统空闲页框链表中页框号依次为 32, 15, 21, 41 。进程 P 依次访问的 <虚拟页号,访问时刻> 是: <1, 1> ,<3, 2>, <0, 4>, <0, 6>, <1, 11>, <0, 13>, <2, 14> 。请回答下列问题。

(1)访问 <0, 4> 时,对应的页框号是什么?
(2)访问 <1, 11> 时,对应的页框号是什么?说明理由。
(3)访问 <2, 14> 时,对应的页框号是什么?说明理由。
(4)该策略是否适合于时间局部性好的程序?说明理由。

【解析】

2. 文件系统基础(8’)

某文件系统空间的最大容量为 4TB(1T = 240B),以磁盘块为基本分配单位,磁盘块大小为 1KB 。文件控制块(FCB)包含一个 512B 的索引表区。请回答下列问题。

(1)假设索引表区仅采用直接索引结构,索引表区存放文件占用的磁盘块号。索引表项中块号最少占多少字节?可支待的单个文件最大长度是多少字节?
(2)假设索引表区采用如下结构:第 0 ~ 7 字节采用 <起始块号,块数> 格式表示文件创建时预分配的连续存储空间,其中起始块号占 6B ,块数占 2B ;剩余 504 字节采用直接索引结构,一个索引项占 6B ,则可支持的单个文件最大长度是多少字节?为了使单个文件的长度达到最大,请指出起始块号和块数分别所占字节数的合理值并说明理由。

【解析】

2013 年

讲解视频推荐:【BOK408真题讲解-2013年】

1. 同步与互斥(7’)

某博物馆最多可容纳 500 人同时参观,有一个出入口,该出入口一次仅允许一个人通过。参观者的活动描述如下:

cobegin{参观者进程 i:{…进门;…参观;…出门;}
}coend

请添加必要的信号量和 P 、V [或 wait() 、signal()] 操作,以实现上述过程中的互斥与同步。要求写出完整的过程,说明信号量的含义并赋初值。

【解析】

出入口一次仅允许一个人通过, 设置互斥信号量 mutex ,初值为 1 。博物馆最多可同时容纳 500 人, 故设置信号量 empty ,初值为 500 。

Semaphore empty = 500;
Semaphore mutex = 1;
cobegin{参观者进程 i:{P(empty);P(mutex);进门;V(mutex);参观;P(mutex);出门;V(mutex);V(empty);}
}coend

2. 内存管理概念(8’)

某计算机主存按字节编址,逻辑地址和物理地址都是 32 位,页表项大小为 4 字节。请回答下列问题。
(1)若使用一级页表的分页存储管理方式, 逻辑地址结构如下:

页号(20 位)页内偏移量(12 位)

则页的大小是多少字节?页表最大占用多少字节?
(2)若使用二级页表的分页存储管理方式,逻辑地址结构如下:

页目录号(10 位)页表索引(10 位)页内偏移量(12 位)

设逻辑地址为 LA ,请分别给出其对应的页目录号和页表索引的表达式。
(3)采用(1)中的分页存储管理方式, 一个代码段起始逻辑地址为 0000 8000H ,其长度为 8KB ,被装载到从物理地址 0090 0000H 开始的连续主存空间中。页表从主存 0020 0000H 开始的物理地址处连续存放,如下图所示(地址大小自下向上递增) 。请计算出该代码段对应的两个页表项的物理地址、这两个页表项中的页框号以及代码页面 2 的起始物理地址。

【解析】

2014 年

讲解视频推荐:【BOK408真题讲解-2014年】

1. 文件系统基础(6’)

文件 F 由 200 条记录组成,记录从 1 开始编号。用户打开文件后,欲将内存中的一条记录插入文件 F ,作为其第 30 条记录。请回答下列问题,并说明理由。

(1)若文件系统采用连续分配方式,每个磁盘块存放一条记录,文件 F 存储区域前后均有足够的空闲磁盘空间,则完成上述插入操作最少需要访问多少次磁盘块?F 的文件控制块内容会发生哪些改变?
(2)若文件系统采用链接分配方式,每个磁盘块存放一条记录和一个链接指针,则完成上述插入操作需要访问多少次磁盘块?若每个存储块大小为 1KB ,其中 4 字节存放链接指针,则该文件系统支待的文件最大长度是多少?

【解析】

2. 同步与互斥(9’)

系统中有多个生产者和多个消费者进程,共享一个能存放 1000 件产品的环形缓冲区(初始为空)。当缓冲区未满时,生产者进程可以放入其生产的一件产品,否则等待; 当缓冲区未空时,消费者进程可以从缓冲区取走一件产品,否则等待。要求一个消费者进程从缓冲区连续取出 10 件产品后,其他消费者进程才可以取产品。请使用信号量 P 、V [wait() 和 signal()] 操作实现进程间的互斥与同步,要求写出完整的过程,并说明所用信号量的含义和初值。

【解析】


2015 年

讲解视频推荐:【BOK408真题讲解-2015年】

1. 同步与互斥(9’)

有 A 、B 两人通过信箱进行辩论,每个人都从自己的信箱中取得对方的问题。将答案和向对方提出的新问题组成一个邮件放入对方的邮箱中。假设 A 的信箱最多放 M 个邮件,B 的信箱最多放 N 个邮件。初始时 A 的信箱中有 x 个邮件(0 < x < M),B 的信箱中有 y 个(0 < y < N)。辩论者每取出一个邮件,邮件数减 1 。A 和 B 两人的操作过程描述如下:

当信箱不为空时, 辩论者才能从信箱中取邮件,否则需要等待。当信箱不满时,辩论者才能将新邮件放入信箱,否则需要等待。请添加必要的信号量和 P 、V(或 wait 、signal)操作,以实现上述过程的同步。要求写出完整过程,并说明信号量的含义和初值。

【解析】

2. 虚拟内存管理(6’)

某计算机系统按字节编址,采用二级页表的分页存储管理方式,虚拟地址格式如下所示:

页目录号(10 位)页表索引(10 位)页内偏移量(12 位)

请回答下列问题。
(1)页和页框的大小各为多少字节?进程的虚拟地址空间大小为多少页?
(2)假定页目录项和页表项均占 4 字节,则进程的页目录和页表共占多少页?要求写出计算过程。
(3)若某指令周期内访问的虚拟地址为 0100 0000H 和 0111 2048H ,则进行地址转换时共访问多少个二级页表?要求说明理由。

【解析】

2016 年

讲解视频推荐:【BOK408真题讲解-2016年】

1. 处理机调度(6’)

某进程调度程序采用基于优先数(priority)的调度策略, 即选择优先数最小的进程运行,进程创建时由用户指定一个 nice 作为静态优先数。为了动态调整优先数, 引入运行时间 cpuTime 和等待时间 waitTime ,初值均为 0 。进程处于执行态时,cpuTime 定时加 1 ,且 waitTime 置 0 ;进程处于就绪态时,cpuTime 置 0 ,waitTime 定时加 1 。请回答下列问题。

(1)若调度程序只将 nice 的值作为进程的优先数,即 priority = nice ,则可能会出现饥饿现象,为什么?
(2)使用 nice 、cpuTime 和 waitTime 设计一种动态优先数计算方法,以避免产生饥饿现象,并说明 waitTime 的作用。

【解析】


2. 文件系统基础(9’)

某磁盘文件系统使用链接分配方式组织文件,簇大小为 4KB 。目录文件的每个目录项包括文件名和文件的第一个簇号, 其他簇号存放在文件分配表 FAT 中。

(1)假定目录树如下图所示, 各文件占用的簇号及顺序如下表所示,其中 dir 、dir1 是目录,file1 、file2 是用户文件。请给出所有目录文件的内容。

(2)若 FAT 的每个表项仅存放簇号, 占 2 字节,则 FAT 的最大长度为多少字节?该文件系统支待的文件长度最大是多少?
(3)系统通过目录文件和 FAT 实现对文件的按名存取,说明 file1 的 106 、108 两个簇号分别存放在 FAT 的哪个表项中。
(4)假设仅 FAT 和 dir 目录文件已读入内存,若需将文件 dir / dir1 / file1 的第 5000 个字节读入内存, 则要访问哪几个簇?

【解析】

2017 年

讲解视频推荐:【BOK408真题讲解-2017年】

1. 虚拟内存管理(7’)

假定题 44 给出的计算机 M 采用二级分页虚拟存储管理方式, 虚拟地址格式如下:

页目录号(10 位)页表索引(10 位)页内偏移量(12 位)

请针对题 43 的函数 f1 和题 44 中的机器指令代码, 回答下列问题。

int f1(unsigned n){int sum = 1, power = 1;for(unsigned i = 0; i <= n-1; i++) {power *= 2;sum += power;}return sum;
}


(1)函数 f1 的机器指令代码占多少页?
(2)取第 1 条指令(push ebp)时, 若在进行地址变换的过程中需要访问内存中的页目录和页表, 则会分别访问它们各自的第几个表项(编号从 0 开始) ?
(3)M 的 I/O 采用中断控制方式。若进程 P 在调用 f1 之前通过 scanf() 获取 n 的值,则在执行 scanf() 的过程中,进程 P 的状态会如何变化? CPU 是否会进入内核态?

【解析】

2. 同步与互斥(8’)

某进程中有 3 个并发执行的线程 thread1 、thread2 和 thread3 ,其伪代码如下所示。

请添加必要的信号量和 P 、V [或 wait() 、signal()] 操作,要求确保线程互斥访问临界资源,并且最大限度地并发执行。

【解析】

2018 年

讲解视频推荐:【BOK408真题讲解-2018年】

1. 虚拟内存管理(8’)

请根据题 44 图给出的虚拟存储管理方式, 回答下列问题。

(1)某虚拟地址对应的页目录号为 6 ,在相应的页表中对应的页号为 6 ,页内偏移量为 8 ,该虚拟地址的十六进制表示是什么?
(2)寄存器 PDBR 用于保存当前进程的页目录起始地址,该地址是物理地址还是虚拟地址?进程切换时,PDBR 的内容是否会变化?说明理由。同一进程的线程切换时,PDBR 的内容是否会变化?说明理由。
(3)为了支持改进型 CLOCK 置换算法,需要在页表项中设置哪些字段?

【解析】

2. 文件系统基础(7’)

某文件系统采用索引节点存放文件的属性和地址信息,簇大小为 4KB 。每个文件索引节点占 64B ,有 11 个地址项,其中直接地址项 8 个, 一级、二级和三级间接地址项各 1 个,每个地址项长度为 4B 。请回答下列问题。

(1)该文件系统能支持的最大文件长度是多少? (给出计算表达式即可。)
(2)文件系统用 1M(1M = 220)个簇存放文件索引节点, 用 512M 个簇存放文件数据。若一个图像文件的大小为 5600B ,则该文件系统最多能存放多少个图像文件?
(3)若文件 F1 的大小为 6KB ,文件 F2 的大小为 40KB ,则该文件系统获取 F1 和 F2 最后一个簇的簇号需要的时间是否相同?为什么?

【解析】

(1)簇大小为 4KB ,每个地址项长度为 4B ,故每簇有 4KB / 4B = 1024 个地址项。最大文件

2019 年

讲解视频推荐:【BOK408真题讲解-2019年】

1. 同步与互斥(8’)

有 n(n ≥ 3)位哲学家围坐在一张圆桌边,每位哲学家交替地就餐和思考。在圆桌中心有 m(m ≥ 1)个碗,每两位哲学家之间有 1 根筷子。每位哲学家必须取到一个碗和两侧的筷子后, 才能就餐,进餐完毕,将碗和筷子放回原位,并继续思考。为使尽可能多的哲学家同时就餐, 且防止出现死锁现象,请使用信号量的 P 、V 操作 [wait() 、signal() 操作]描述上述过程中的互斥与同步,并说明所用信号量及初值的含义。

【解析】

semaphore bowl;		//信号量,用于协调哲学家对碗的使用
semaphore chopsticks[n];	//用于协调哲学家对筷子的使用
for(int i = 0; i < n; i++){chopsticks.value = 1;}	//设置两个哲学家之间筷子的数量
bowl.value = min(n-1, m);	//bowl.value ≤ n-1 ,确保不死锁
CoBegin{while(TRUE){	//哲学家 i 的程序思考;P(bowl);			//取碗P(chopsticks[i]);	//取左边筷子P(chopsticks[(i+1) MOD n]);	//取右边筷子就餐;V(chopsticks[i]);V(chopsticks[(i+1) MOD n]);V(bowl);}
}CoEnd

回顾传统的哲学家问题,假设餐桌上有 n 个哲学家、n 根筷子,那么可以用这种方法避免死锁:限制至多允许 n-1个哲学家同时 “抢” 筷子,那么至少会有 1 个哲学家可以获得两根筷子并顺利进餐,于是不可能发生死锁的情况。本题可以用碗这个限制资源来避免死锁:当碗的数量 m 小于哲学家的数量 n 时,可以直接让碗的资源量等于 m ,确保不会出现所有哲学家都拿一侧筷子而无限等待另一侧筷子进而造成死锁的情况;当碗的数量 m 大于或等于哲学家的数量 n 时,为了让碗起到同样的限制效果,我们让碗的资源量等于 n-1 ,这样就能保证最多只有 n-1 个哲学家同时进餐,所以得到碗的资源量为 min{n-1, m} 。在进行 PV 操作时,碗的资源量起限制哲学家取筷子的作用,所以需要先对碗的资源量进行 P 操作。

2. 磁盘(7’)

某计算机系统中的磁盘有 300 个柱面, 每个柱面有 10 个磁道, 每个磁道有 200 个扇区, 扇区大小为 512B 。文件系统的每个簇包含 2 个扇区。请回答下列问题:

(1)磁盘的容量是多少?
(2)假设磁头在 85 号柱面上,此时有 4 个磁盘访问请求,簇号分别为 100260 、60005 、101660 和 110560 。若采用最短寻道时间优先(SSTF)调度算法, 则系统访问簇的先后次序是什么?
(3)第 100530 簇在磁盘上的物理地址是什么?将簇号转换成磁盘物理地址的过程是由 I/O 系统的什么程序完成的?

【解析】

(1)磁盘容量 = (300 × 10 × 200 × 51 2/ 1024) KB = 3×105KB

磁盘容量 = 磁盘的柱面数 × 每个柱面的磁道数 × 每个磁道的扇区数 × 每个扇区的大小。

(2)依次访问的簇是 100260 、101660 、110560 、60005 。

对 SSTF 算法而言,总是访问离当前柱面最近的地址。每个簇包含 2 个扇区,通过计算得到 85 号柱面对应的簇号为 85000 - 85999 。通过比较得出,最先访问离 85000 - 85999 最近的 100260 ,随后访问离 100260 最近的 101660 ,然后访问 110560 ,最后访问 60005 。

(3)第 100530 簇在磁盘上的物理地址由其所在的柱面号、磁头号、区号构成。
其所在的柱面号为 ⌊100530 ÷ (10 × 200 / 2)⌋ = 100 。
100530 % (10 × 200 / 2) = 530 ,磁头号为 ⌊530 ÷ (200 / 2)⌋ = 5 。
扇区号为 (530 × 2) % 200 = 60 。
将簇号转换成磁盘物理地址的过程由磁盘驱动程序完成。

柱面号 = ⌊簇号 / 每个柱面的簇数⌋
磁头号 = ⌊(簇号 % 每个柱面的簇数) / 每个磁道的簇数⌋
扇区号 = 扇区地址 % 每个磁道的扇区数

相关文章:

2009 ~ 2019 年 408【操作系统】大题解析

2009 年 讲解视频推荐&#xff1a;【BOK408真题讲解-2009年&#xff08;催更就退网版&#xff09;】 1. 同步与互斥&#xff08;7’&#xff09; 三个进程 P1, P2, P3 互斥使用一个包含 N&#xff08;N > 0&#xff09;个单元的缓冲区。P1 每次用 produce() 生成一个正整数…...

RestTemplate实时接收Chunked编码传输的HTTP Response

学习调用AI接口的时候&#xff0c;流式响应都是使用的 Transfer-Encoding: chunked&#xff0c;图方便想用RestTemplate&#xff0c;但是平时用到的都是直接返回响应对象的类型。使用bing搜索到一种方式&#xff0c;使用下面的代码来读取&#xff0c;于是掉这个坑里了&#xff…...

Java设计模式 —— 【结构型模式】适配器模式(类的适配器、对象适配器、接口适配器)详解

文章目录 基本介绍一、类的适配器二、对象适配器三、接口适配器总结 基本介绍 生活中有很多例子&#xff1a; 不同国家的插座接口不同&#xff0c;需要转换器&#xff1b;家用电源220V&#xff0c;手机只接受5V充电&#xff0c;需要转换器&#xff1b;读卡器&#xff0c;拓展…...

RabbitMQ 消息持久化/镜像队列/lazy对时延影响

测试背景&#xff1a; 不同条件下RabbitMQ不同队列类型的生产时延测试&#xff1a; 测试环境&#xff1a; 机型&#xff1a;rabbimtq.2u4g.cluster 背景流量&#xff1a;1000 TPS 测试条件&#xff1a; 消息大小 4k&#xff0c;消息条数为1000条&#xff0c;时延取值为平均…...

SQL在线格式化 - 加菲工具

SQL在线格式化 打开网站 加菲工具 选择“SQL 在线格式化” 或者直接访问 https://www.orcc.online/tools/sql 输入sql&#xff0c;点击上方的格式化按钮即可 输入框得到格式化后的sql结果...

【vue】在页面右下角添加悬浮按钮组件

效果图&#xff1a; 如上图所示&#xff0c;需要在页面的左下角添加一个悬浮按钮&#xff0c;鼠标放上去时候展示更多详细按钮&#xff0c;点击触发相应方法。 <div class"floating-component"><!-- 悬浮内容 --><el-tooltip placement"left&qu…...

MyBatis-Plus中isNull与SQL语法详解:处理空值的正确姿势

目录 前言1. 探讨2. 基本知识3. 总结 前言 &#x1f91f; 找工作&#xff0c;来万码优才&#xff1a;&#x1f449; #小程序://万码优才/r6rqmzDaXpYkJZF 基本的Java知识推荐阅读&#xff1a; java框架 零基础从入门到精通的学习路线 附开源项目面经等&#xff08;超全&#x…...

C语言(指针练习2)

编写函数,要求用指针做形参&#xff0c;分别实现以下功能&#xff1a; &#xff08;1&#xff09;求一个字符串长度 &#xff08;2&#xff09;在一个字符 串中统计大写字母的个数 &#xff08;3&#xff09;在一个字符串中统计数字字符的个数 #include <stdio.h>int str…...

ES6学习Symbol(五)

这里写目录标题 一、概述二、代码 一、概述 ES6引入了一种新的原始数据类型Symbol&#xff0c;表示独一无二的值。 它是 JavaScript 语言的第七种数据类型&#xff0c;前六种是&#xff1a; undefined 、 null 、布尔值&#xff08;Boolean&#xff09;、字符串&#xff08;St…...

简易分页制作

简易分页功能实现 分页是一种常见的前端功能&#xff0c;特别是在需要展示大量数据时。它通过将数据分割成多个页面&#xff0c;帮助用户更容易浏览并提高页面加载性能。本文将介绍一个简易分页的实现思路及其代码实现&#xff0c;旨在帮助开发者快速理解并实现分页功能。 功…...

概率论得学习和整理27:关于离散的数组 随机变量数组的均值,方差的求法3种公式,思考和细节。

目录 1 例子1&#xff1a;最典型的&#xff0c;最简单的数组的均值&#xff0c;方差的求法 2 例子1的问题&#xff1a;例子1只是1个特例&#xff0c;而不是普遍情况。 2.1 例子1各种默认假设&#xff0c;导致了求均值和方差的特殊性&#xff0c;特别简单。 2.2 我觉得 加权…...

arXiv-2024 | NavAgent:基于多尺度城市街道视图融合的无人机视觉语言导航

作者&#xff1a;Youzhi Liu, Fanglong Yao*, Yuanchang Yue, Guangluan Xu, Xian Sun, Kun Fu 单位&#xff1a;中国科学院大学电子电气与通信工程学院&#xff0c;中国科学院空天信息创新研究院网络信息系统技术重点实验室 原文链接&#xff1a;NavAgent: Multi-scale Urba…...

WPF 布局控件

wpf 布局控件有很多&#xff0c;常用的有&#xff1a;Grid, UniformGrid, Border, StackPanel, WrapPanel, DockPanel。 1. Grid Grid 经常作为控件的 Content 使用&#xff0c;常作为 Windows, UserControl 等 UI 元素的根节点。它用来展示一个 n 行 n 列的排版。 因此就有…...

在Mac电脑上安装adb环境

当你在命令行输入 adb version 或adb devices, 报错&#xff1a;zsh: command not found: adb &#xff0c;那么说明你的 Mac 上没有安装 ADB&#xff08;Android Debug Bridge&#xff09;&#xff0c;或者它没有添加到你的路径中。你可以按照以下步骤安装和配置 ADB&#xff…...

方正畅享全媒体新闻采编系统 reportCenter.do SQL注入漏洞复现

0x01 产品简介 方正畅享全媒体新闻生产系统是以内容资产为核心的智能化融合媒体业务平台,融合了报、网、端、微、自媒体分发平台等全渠道内容。该平台由协调指挥调度、数据资源聚合、融合生产、全渠道发布、智能传播分析、融合考核等多个平台组成,贯穿新闻生产策、采、编、发…...

Linux SHELL脚本中的常用命令

一.设置主机名称 1.文件的方式 [rootlocalhost 桌面]# vim /etc/hostname [rootlocalhost 桌面]# cat /etc/hostname shell.aaa.org 修改完毕文件后在当前的shell中是不生效的 如果需要看到效果&#xff0c;关闭当前shell后重新开启新的shell 2.通过命令更改主机名 [rootl…...

Go语言启动独立进程

文章目录 问题解决方案1. **将 npc.exe 启动为独立的进程**2. **修改 exec.Command 函数**示例代码解释为什么这样有效注意 问题 在你当前的代码中&#xff0c;调用 exec.Command("XXX.exe") 启动 XXX.exe 程序时&#xff0c;这个程序是由 Go 程序直接启动的。如果 …...

STM32中ADC模数转换器

一、ADC简介 ADC模拟-数字转换器 ADC可以将引脚连续变化的模拟电压转换为内存中存储的数字变量&#xff0c;建立模拟电路到数字电路的桥梁 12位逐次逼近型ADC&#xff0c;1us转换时间 输入电压范围&#xff1a; 0~3.3V&#xff0c;转换结果范围&#xff1a;0~4095 18个输入…...

为什么要用单例模式?

‌单例模式是一种创建型设计模式&#xff0c;用于确保某个类只有一个实例&#xff0c;并提供一个全局访问点&#xff0c;使得其他类可以轻松访问该实例‌。 使用单例模式的主要原因包括以下几点&#xff1a;‌ ‌确保唯一性‌&#xff1a;在某些情况下&#xff0c;我们需要确…...

线性表查找:Python 实现与性能分析

引言 在数据处理领域&#xff0c;查找操作是一项基础且关键的任务。线性表作为一种常见的数据结构&#xff0c;其查找算法的效率直接影响程序的性能。本文将深入探讨线性表查找的原理、Python 实现以及性能分析&#xff0c;为你揭示如何在 Python 中高效地进行线性表查找。 一…...

QT3学习之进阶理解信号和槽:如何自定义一个类信号,供其它类调用槽函数

下面是QWidget源码&#xff0c;定义了两个事件 /*!This event handler can be reimplemented in a subclass to receivewidget enter events.An event is sent to the widget when the mouse cursor enters thewidget.\sa leaveEvent(), mouseMoveEvent(), event() */void QWi…...

(Image Signal Processor)ISP简介

文章目录 ISP功能简介ISP的主要功能ISP的主要模块1. **黑电平校正&#xff08;Black Level Correction, BLC&#xff09;**2. **噪声去除&#xff08;Denoise&#xff09;**3. **色彩校正&#xff08;Color Correction Matrix, CCM&#xff09;**4. **自动曝光&#xff08;Auto…...

upload-labs靶场保姆级攻略

第一关&#xff1a;删除前端js校验 写一个一句话木马&#xff0c;命名为1.php 一句话木马 浏览上传 我们发现不可以上传&#xff0c;右键检查&#xff0c;依次点击 找到return checkFile()删掉&#xff0c;再上传 去看一下是否已经写入进去一句话木马 页面什么也没有&#xff…...

02、10个富士胶片模拟的设置

二色彩 1、色彩的加减控制全局的饱和度增减&#xff1b; 2、色彩效果只提升暖色系饱和度&#xff1b; 3、FX蓝色大幅度提升蓝色系饱和度&#xff1b; 4、三个参数都不改变颜色的色相。 2.1 色彩 色彩调整的是拍摄画面整体的色彩饱和程度 2.2色彩效果 调整的是画面中暖色…...

大模型呼出机器人详解

大模型呼出机器人详解 原作者&#xff1a;开源呼叫中心FreeIPCC&#xff0c;其Github&#xff1a;https://github.com/lihaiya/freeipcc 大模型呼出机器人是基于大规模深度学习模型构建的智能化客服系统&#xff0c;它能够处理海量数据并学习其中的规律&#xff0c;从而实现高…...

计算机基础知识——数据结构与算法(三)(山东省大数据职称考试)

大数据分析应用-初级 第一部分 基础知识 一、大数据法律法规、政策文件、相关标准 二、计算机基础知识 三、信息化基础知识 四、密码学 五、大数据安全 六、数据库系统 七、数据仓库. 第二部分 专业知识 一、大数据技术与应用 二、大数据分析模型 三、数据科学 数据结构与算法…...

【Unity功能集】TextureShop纹理工坊(三)图层(下)

项目源码&#xff1a;在终章发布 索引 图层渲染绘画区域图层Shader 编辑器编辑模式新建图层设置当前图层上、下移动图层删除图层图层快照 图层 在PS中&#xff0c;图层的概念贯穿始终&#xff08;了解PS图层&#xff09;&#xff0c;他可以称作PS最基础也是最强大的特性之一。…...

基于 SSM 框架 Vue 电脑测评系统:引领电脑评测新方向

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式&#xff0c;是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示&#xff1a; 图4-1系统工作原理…...

Android笔记【19】

具体示例 run: val result someObject.run {// 这里可以使用 thisthis.someMethod() }let: val result someObject?.let {// 这里使用 itit.someMethod() }with: val result with(someObject) {// 这里使用 thissomeMethod() }apply: val obj SomeClass().apply {// 这里使…...

Redis 中 IntSet 底层数据结构

IntSet 底层数据结构 序言: 像字符串 SDS 只是保存了一个变量的值&#xff0c;但是像 Redis 中也是需要保存一些集合元素的&#xff0c;这里就介绍一下其中一种集合 IntSet&#xff0c;由于是 Set 所以也有 Set 的一些特性&#xff0c;不过也多加了一些特性&#xff1a; ● 唯…...

自然语言处理:我的学习心得与笔记

Pytorch 1.Pytorch基本语法 1.1 认识Pytorch 1.2 Pytorch中的autograd 2.Pytorch初步应用 2.1 使用Pytorch构建一个神经网络 2.2 使用Pytorch构建一个分类器 小节总结 学习了什么是Pytorch. 。Pytorch是一个基于Numpy的科学计算包,作为Numpy的替代者,向用户提供使用GPU强大…...

Altair: 轻松创建交互式数据可视化

Altair: 轻松创建交互式数据可视化 Altair 是一个基于 Vega-Lite 的 Python 数据可视化库&#xff0c;它旨在简化数据可视化的创建过程&#xff0c;尤其适用于统计图表的生成。Altair 强调声明式编码方式&#xff0c;通过简单的语法&#xff0c;用户能够快速创建复杂的交互式图…...

【NLP】序列到序列(seq2seq)建模工具fairseq使用详解

文章目录 一、fairseq简介二、安装方式2.1 pip安装2.2 源码安装 三、fairseq命令工具3.1 fairseq-preprocess3.2 fairseq-train3.3 fairseq-generate3.4 fairseq-interactivate3.5 fairseq-score3.6 fairseq-eval-lm 4. 常见报错报错1 参考资料 一、fairseq简介 fairseq 是 Fa…...

[极客大挑战 2019]HardSQL 1

[极客大挑战 2019]HardSQL 1 打开实例&#xff0c;发现是个登陆页面&#xff0c;查看源代码&#xff0c;发现又是GET提交check.php 万能密码尝试 不太行&#xff0c;怀疑字段或者空格被过滤&#xff0c;尝试闭合不加其他东西 确认空格、union、and等都被过滤了&#xff0c;尝试…...

天空分割代码

目录 依赖项: 分割源代码: 依赖项: groundingdino Grounded-Segment-Anything 分割源代码: generate_sky_mask.py import os, syssys.path.append(os.getcwd()) # Change to your folder here sys.path.append(Grounded-Segment-Anything)import argparse import os…...

Leetcode 三角形最小路径和

算法思想与代码详解 这段代码采用的是**动态规划&#xff08;Dynamic Programming&#xff09;**的思想&#xff0c;用来解决“120. 三角形最小路径和”问题。动态规划通过将问题分解成更小的子问题&#xff0c;并通过保存子问题的解来避免重复计算&#xff0c;从而提高效率。…...

[Unity]Unity跨平台开发之Android入门

安卓环境配置 安装依赖项 推荐使用Unity Hub进行安装&#xff0c;安装时勾选Android Build Support、Android SDK & NDK Tools、OpenJDK。或者指定已安装的依赖项。&#xff08;注意&#xff1a;指定的依赖项需要是从UnityHub安装的。比如之前安装Unity2022时勾选了上述依…...

搭建Flume

title: 搭建Flume date: 2024-11-30 23:59:00 categories: - 服务器 tags: - Flume - 大数据搭建Flume 本次实验环境&#xff1a;Centos 7-2009、JDK 8、Flume-1.11.0 开始安装 1. 下载安装文件到服务器 # 使用wget命令下载flume文件&#xff08;二选一&#xff09; wget …...

【从零开始入门unity游戏开发之——C#篇10】循环结构——while、do-while、for、foreach的使用

文章目录 一、while 循环1、语法&#xff1a;2、示例&#xff1a; 二、 do-while 循环1、语法&#xff1a;2、示例&#xff1a; 三、for 循环1、语法&#xff1a;2、示例&#xff1a; 四、foreach 循环1、语法&#xff1a;2、示例&#xff1a; 五、总结对比六、注意事项七、使用…...

flask flask-socketio创建一个网页聊天应用

应用所需环境&#xff1a; python 3.11.11 其他 只需要通过这个命令即可 pip install flask3.1.0 Flask-SocketIO5.4.1 -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple 最好是用conda创建一个新的虚拟环境来验证 完整的pip list如下 Package Version ----…...

MVCC了解

MVCC&#xff08;多版本并发控制&#xff09;学习指南及代码示例 一、学习MVCC前先了解什么 1. MVCC的定义和作用 MVCC是一种并发控制机制&#xff0c;用于解决并发事务访问数据库时可能出现的问题&#xff0c;如脏读、不可重复读和幻读。它通过为每个数据行维护多个版本来实…...

LabVIEW随机扫描成像系统

利用LabVIEW开发了一套随机扫描成像系统&#xff0c;利用硬件时钟实现声光偏转器&#xff08;AOD&#xff09;的频率控制与信号采集之间的高速时间同步。系统利用了高精度的时钟同步技术&#xff0c;确保了成像精度和重复性&#xff0c;从而有效提高了成像速度和质量。 项目背景…...

系统移植——Linux 内核顶层 Makefile 详解

一、概述 Linux Kernel网上下载的版本很多NXP等有自己对应的版本。需要从网上直接下载就可以。 二、Linux内核初次编译 编译内核之前需要先在 ubuntu 上安装 lzop 库 sudo apt-get install lzop 在 Ubuntu 中 新 建 名 为 “ alientek_linux ” 的 文 件夹 &#xff0c; …...

【一文了解】C#重点-委托1

本篇文章来学习一下C#的委托&#xff0c;委托是C#中的一个重要概念&#xff0c;它允许将方法作为参数传递给其他方法。C#中的委托类似于C或C中的函数指针&#xff0c;并且类型安全。 委托 1.委托的定义 委托&#xff08;delegate&#xff09;是方法的代理/代表&#xff0c;委托…...

LeetCode hot100-87

https://leetcode.cn/problems/longest-increasing-subsequence/?envTypestudy-plan-v2&envIdtop-100-liked 300. 最长递增子序列 已解答 中等 相关标签 相关企业 给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。子序列 是由数组派生而来的序列&a…...

项目26:简易在线论坛 --- 《跟着小王学Python·新手》

项目26&#xff1a;简易在线论坛 — 《跟着小王学Python新手》 《跟着小王学Python》 是一套精心设计的Python学习教程&#xff0c;适合各个层次的学习者。本教程从基础语法入手&#xff0c;逐步深入到高级应用&#xff0c;以实例驱动的方式&#xff0c;帮助学习者逐步掌握Pyth…...

知乎 PB 级别 TiDB 数据库集群管控实践

以下文章来源于知乎技术专栏 &#xff0c;作者代晓磊 导读 在现代企业中&#xff0c;数据库的运维管理至关重要&#xff0c;特别是面对分布式数据库的复杂性和大规模集群的挑战。作为一款兼容 MySQL 协议的分布式关系型数据库&#xff0c;TiDB 在高可用、高扩展性和强一致性方…...

Intel(R) Iris(R) Xe Graphics安装Anaconda、Pytorch(CPU版本)

一、Intel(R) Iris(R) Xe Graphics安装Anaconda 下载网址&#xff1a;https://repo.anaconda.com/archive/ 双击Anaconda3-2024.10-1-Windows-x86_64&#xff0c;一直下一步&#xff0c;选择安装的路径位置&#xff0c;一直下一步就安装完成了。打开Anaconda PowerShell Promp…...

RK3588 , mpp硬编码rgb, 保存MP4视频文件.

RK3588 , mpp硬编码yuv, 保存MP4视频文件. ⚡️ 传送 ➡️ RK3588, FFmpeg 拉流 RTSP, mpp 硬解码转RGBRk3588 FFmpeg 拉流 RTSP, 硬解码转RGBUbuntu x64 架构, 交叉编译aarch64 FFmpeg mppCode Init MppMPP_RET init_mpp...

揭开 Choerodon UI 拖拽功能的神秘面纱

01 引言 系统的交互方式主要由点击、选择等组成。为了提升 HZERO 系统的用户体验、减少部分操作步骤&#xff0c;组件库集成了卓越的拖拽功能&#xff0c;让用户可以更高效流畅的操作系统。 例如&#xff1a;表格支持多行拖拽排序、跨表数据调整、个性化调整列顺序&#xff1…...