自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 IO接口基本结构与内容

在很多教材和考试中,“设备控制器”和“I/O接口”的概念有时会混用或合并讨论,但严格来说,接口更偏向于总线的标准化,而控制器更偏向于设备的特异性控制。:CPU处理的是并行数据(如32位、64位),而设备可能是串行数据(如鼠标、网络)或不同字长。:I/O部分常与指令系统(I/O指令)、总线(DMA占用总线)、中断系统等结合出题。这是I/O部分最重要的内容,描述了数据在内存和I/O设备之间传输的具体管理方式。给定CPU时钟、I/O设备速率,计算程序查询方式下CPU时间的利用率。

2025-11-09 18:00:00 837

原创 文件管理 && CPU调度

具有文件名的一组相关信息的集合。是外存分配的基本单位。

2025-10-24 06:00:00 805

原创 CPU访存过程

OS检查发生缺页的地址是否合法(是否在进程地址空间内)、访问权限是否正确(如是否尝试写只读页)。数据沿着路径原路返回,最终到达CPU的寄存器(本例中的EAX)。如果该牺牲页是“脏”的(修改位为1),则必须安排一个I/O操作,将其内容。,CPU会暂停当前指令,硬件自动切换到内核模式,并跳转到操作系统预设的。是OS介入硬件管理的关键点,体现了OS作为“资源管理者”的角色。(如x86的CR3)的值,找到当前进程的页目录地址。:表示该页面不在内存中,而是在磁盘上。:填入物理页框号,将有效位置1,修改位置0,等。

2025-10-15 07:00:00 898

原创 中断全流程

某个中断源(如I/O设备、时钟、软件异常)需要CPU介入处理时,会向CPU的中断控制器发出一个中断请求信号。:中断控制器会记录这个请求。:CPU立刻响应,只有在满足特定条件时才响应:CPU允许中断(即中断允许触发器EINT = 1,通常由“开中断”指令设置)。当前指令执行完毕。没有更高级的请求(如DMA请求)发生。当前中断的优先级高于正在运行程序的优先级。

2025-10-09 06:00:00 1218

原创 最小生成树 && 最短路径

连通图生成树,非连通图生成森林生成树是包含图中全部顶点的一个极小连通子图特性:图中有n个顶点,则它的生成树含有n-1条边。去除一条边会变成非连通图;加上一条边会变成一个回路之前学过广度优先生成树和深度优先生成树。最小生成树,也叫最小代价树。在带权连通无向图的所有生成树中,所有边的代价和最小。最小生成树可能很多,但边的权值之和总是唯一且最小的。最小生成树的边树=顶点数-1。

2025-07-18 07:00:00 1093

原创 图的存储结构 && 图的遍历

①领接矩阵:顺序存储(一维数组存点的数据,二维数组存边的连接情况)(存储无向图、有向图)②邻接表:顺序+链式存储(顺序存点的数据,链存连接该点的边)(存储有向图、无向图)③十字链表:链式存储(存储有向图)④邻接多重表:链式存储(存储无向图)

2025-07-14 07:00:00 1160

原创 线索二叉树 && 树的存储结构

背景:为解决遍历只能从根结点开始这个问题,因为普通二叉树找前驱和后继很麻烦线索二叉树在二叉树的结点上加上线索的二叉树。

2025-07-07 06:00:00 786

原创 树——二叉树

二叉树是n(n≥0)个结点的有限集合 ①或者为空二叉树,即n=0。②或者由一个根结点和两个互不相交的被称为根的左子树和右子树组成。左子树和右子树又分别是一棵二叉树特点:①每个结点至多只有两棵子树 ②左右子树不能颠倒(二叉树是有序树)

2025-07-03 06:00:00 874

原创 队列及其应用

顺序队列:队列的顺序存储队列的顺序实现是指分配一块连续的存储单元存放队列中的元素,并附设两个指针:队首指针front指向队首元素,队尾指针rear指向队尾元素的下一个位置。链队列:队列的链存储。它实际上是一个同时有队首队尾指针的单链表。

2025-07-02 06:00:00 517

原创 栈及其应用

顺序栈:栈的顺序存储。链栈:栈的链式存储,单链表实现。

2025-07-01 06:00:00 900

原创 线性表——链表

单链表的结点中只有一个指向其后继的指针,使得单链表要访问某个结点的前驱结点时,只能从头开始遍历,访问后驱结点的复杂度为O(1),访问前驱结点的复杂度为O(n)。为了克服上述缺点,引入了双链表。双链表的结点中有两个指针prior和next,分别指向前驱结点和后继结点。循环链表:一般包括循环循环链表和循环循环链表静态链表借助数组来描述线性表的链式存储结构,结点也有数据域data和指针域next,这里的指针是结点的相对地址(数组下标),又称游标。和顺序表一样,静态链表也需要预先分配一块连续的内存空间。

2025-06-28 06:00:00 635

原创 线性表——顺序表

顺序表:线性表的顺序存储,它是用一组地址连续的存储单元依次存储线性表中的数据元素,使得。

2025-06-20 06:00:00 894

原创 C++ priority_queue&algorithm

Cpp的标准库中std::priority_queue是一个模板类,用于实现优先级队列,其中的元素按照一定的优先级顺序进行排列,默认情况下,std::priority_queue使用大顶堆进行排序(即最大的元素优先)。2.定义比较函数或使用自定义比较器(可选):如果您的元素类型不是内置类型或没有默认的 操作符,您需要定义一个比较函数或使用自定义的比较器类来指定元素的优先级排序规则。3.创建优先级队列对象:使用定义的元素类型和比较函数/比较器类,创建一个 std::priority_queue 对象。

2025-05-29 06:00:00 949

原创 C++ Stack&Queue

是一个容器适配器,它基于其他容器实现了栈的功能,栈是一种先进后出(first int last out, FILO)的数据结构,要使用。,队列是一种先进先出(first in first out)的数据结构,,这种初始化方式会调用适当的构建函数来构建栈对象。的使用过程中一般使用默认初始化,即不给。是一个容器适配器,它提供了队列的功能。可以使用其他容器来进行初始化,比如。,弹出栈顶元素,请注意无返回值。,移除队首元素,无返回值。,获取栈中元素的数量。来实现队列操作,使用。,返回队列中元素数量。

2025-05-27 06:00:00 520

原创 C++ Pair&Set

是C++标准库中的模板类,用于表示两个值的有序对,它可以存储不同类型的值,并提供了一些成员函数和操作符来访问和操作这两个值,在使用。是C++标准库中的容器类,用于存储唯一且自动排序的元素集合,类似于Python中的。是基于红黑树实现的关联容器,其中元素按照特定的排序顺序规则进行存储和访问,所以。是一个简单的容器,只包含两个值,没有提供像容器类(如。,不允许有重复的元素,所以如果查找到元素的话就返回。会返回查找元素的迭代器,如果没找到,则遍历到。要访问其中的元素,我们可以使用。范围-based for循环。

2025-05-25 06:00:00 1152

原创 C++ Map

并不直接支持使用下标进行遍历,因为它是一种按键排序的关联容器,而不是顺序容器。上述代码我们在指定迭代器的时候,手动去指定迭代器的类型,这样十分的麻烦,我们可以使用。是一种键值对容器,在python中这种容器被称为字典。中数据都是成对出现的,每一对中的第一个值被称为关键字。获取指向第一个键值对的迭代器,使用。,返回指定键在map中的出现次数。,返回指向最后一个键值对的迭代器。,返回指向第一个键值对的迭代器。是用于比较键的比较函数类型,是用于比较键的比较函数类型,,向map中插入一个键值对,

2025-05-24 06:00:00 1275

原创 C++ String

std::string可以像普通类型一样进行定义。

2025-05-14 06:00:00 830

原创 C++ Vector

可以像定义普通变量一样来定义vectorstd::vector<类型名> 变量名;//这里定义了一个二维的向量。

2025-05-09 06:00:00 979

原创 操作系统 第八章 文件管理(下)

每个文件占有一个目录项,含文件名,文件扩展名,文件长度,物理地址,文件类型,文件说明,状态位,以及其他文件属性。每当创建一个新文件时,必须先检索所有目录项,以保证新文件名在目录中是唯一的。创建目录时,只需查看在自己的UFD及其子目录有无新建文件的相同文件名,若无,便可在UFD或其某个目录中增加一个新目录项。系统建立一个主文件目录MFD,每个用户目录文件占一目录项,包括用户名和指向用户目录文件的指针。FCB长32字节,包含文件名,拓展名,首个盘块号,文件长度,建立时间,文件属性。相对路径,绝对路径。

2025-05-05 06:00:00 1965

原创 操作系统 第八章 文件管理(上)

Open操作将文件项(属性)从外存目录拷贝到内存打开文件表,并返回表目编号(文件句柄或指针),建立表目和文件的关联,以后直接在内存中找到文件信息,节省文件检索开销。OS增加文件管理功能,专门管理外存文件,并提供文件存取,共享,保护等手段;文件的逻辑结构和物理结构:用户角度,文件由一系列逻辑记录组成,逻辑记录是存取文件的基本单位文件系统高层主要关心逻辑结构,如何把逻辑记录构成逻辑文件文件系统低层主要关心物理结构,如何将文件存储到外存。②索引文件:为可变长记录建立索引表,每个记录占一个索引表,加快里检索速度。

2025-03-29 22:20:40 1746

原创 操作系统 第七章 输入输出系统(下)

a. 发出I/O请求继续运行,仅当请求的设备被占用才阻塞;a. 发出I/O请求即阻塞直到I/O完成,阻塞时不能再请求资源;b. 摒弃死锁"请求和保持"条件,系统不会发生死锁,CPU和I/O顺序发生,效率低。前例以物理设备名提出I/O请求,若指定设备忙则分配失败;通过假脱机技术可以将一台物理I/O设备虚拟为多台逻辑I/O设备,这样就可以允许多个用户共享一台物理I/O设备。忙则进程阻塞并放于设备后备队列,空闲时唤醒。(3)移动头磁盘:每个磁盘一个磁头,需寻道,串行方式读写,简单,用于中小型计算机如微机。

2025-03-28 06:00:00 1125

原创 操作系统 第七章 输入输出系统(上)

① 接受设备无关层软件的命令和参数,将抽象命令转换为与设备相关的低层操作序列。② 检查I/O合法性,了解设备工作状态,传递与I/O设备有关的操作序列,设置设备工作方式。③ 发出I/O命令,若设备空闲便启动I/O设备完成操作;若设备忙碌则将请求块挂在设备队列上等待。④ 及时响应设备控制器的中断请求,根据中断类型调用相应中断处理程序。

2025-03-27 06:00:00 2254

原创 操作系统 第六章 虚拟存储器(下)

所谓工作集,是指在某段时间间隔里,进程实际所要访问页面的集合。虽然程序只需少量的几页在内存便可运行,但为了较少地产生缺页,应将程序的全部工作集装入内存中。然而我们无法事先预知程序在不同时刻将访问那些页面,故仍只有像置换算法那样,用程序的过去某段时间内的行为作为程序在将来某段时间内的行为的近似。如图所示为某进程访问页面的序列和窗口大小分别为3,4,5时的工作集。

2025-03-25 22:30:00 1054

原创 操作系统 第六章 虚拟存储器(上)

连续存储管理方式和离散存储管理方式统称为传统存储器管理方式。它们具有以下两个特征。(1)一次性:是指作业必须一次性地全部装入内存后,方能开始运行。这一特征会导致两种情况发生,第一种是作业很大超出了内存总容量,导致不能正常运行;第二种每次只能装入少量的作业,不能将作业一次性全部交付,使系统的多道程序度下降。(2)驻留性:是指作业被装入内存后,整个作业都一直驻留在内存中,直至作业运行结束。虚拟存储器定义:仅把作业一部分装入内存就可运行的系统。虚拟存储器:是指具有请求调入功能和置换功能。

2025-03-23 16:00:00 1300

原创 操作系统 第五章 存储器管理

操作系统 存储器管理

2025-03-19 06:00:00 1115

原创 操作系统 第四章 进程同步(下)

操作系统经典进程同步问题(生产者-消费者问题、哲学家就餐问题、读者-写者问题及分析方法)

2025-03-16 17:00:00 1298

原创 操作系统 第四章 进程同步(上)

操作系统 进程同步

2025-03-14 18:00:00 1321

原创 操作系统 第三章 处理机调度与死锁(下)

(1)可重用资源。一种可供用户重复使用多次的资源。每个可重用资源中的单元,只能分配一个进程使用,而不允许多个进程共享。对资源的请求和释放通常都是通过系统调用来实现的。计算机系统中大多数资源属于可重用资源。(2)可消耗资源。又称临时性资源,它在进程运行期间由进程动态创建和消耗的。可消耗资源通常是由生产者进程创建、由消费者进程消耗的,最典型的可消耗资源就是用于进程间通信的消息。如果一组进程中的每个进程都在等待仅由该组进程中的其他进程才能引发的事件发生,那么该组进程是死锁的。

2025-03-11 08:00:00 847

原创 操作系统 第三章 处理机调度与死锁(上)

又称长程调度或作业调度,调度对象是作业。主要用于多道批处理系统。

2025-03-08 08:00:00 1339

原创 操作系统 第二章 进程的描述与控制(下)

应用程序在启动时,通常仅有一个线程在执行,称为初始化线程,它的功能是创建新进程。线程池:一个系统中的ULT数量可能很大,为了节省系统开销,不可能设置太多的LWP,而是会把这些LWP做成一个缓冲区,这个缓冲区就称为“线程池”。当一个线程完成了自己的任务或工作后,或是线程在运行中出现异常情况而须被强行终止时,由终止线程通过调用相应的函数(系统调用)对它执行终止操作。实际上是用于管理和控制线程的函数的集合,包括用于创建和撤销线程的函数、用于控制线程同步和通信的函数以及用于实现线程调度的函数。

2025-03-08 07:00:00 942

原创 操作系统 第二章 进程的描述与控制(上)

PCB:进程控制块,一种专门管理进程的数据结构。进程实体:简称进程,由程序段、相关的数据段和PCB三部分组成。进程是程序的执行过程,是系统进行资源分配和调度的一个独立单位。

2025-03-01 08:00:00 1002 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除