2023年12月17日

Unreal Engine 物体描边与高亮

摘要: 本篇随笔将使用 UE 中的后处理体积以及编写对应的材质参数,来实现物体的描边与高亮功能,要做到物体高亮与描边,需要利用到 UE 提供的 CustomDepth(自定义深度) 和 CustomStencil(自定义模板)两个 Buffer(亦或是在物理上占用一个Buffer,深度和模板占用位数不一样, 阅读全文

posted @ 2023-12-17 17:22 ThomasZhong 阅读(1702) 评论(0) 推荐(1) 编辑

2022年1月6日

现代操作系统:内存管理(五)

摘要: Multilevel Page Tables多级页表 回想一下上面显示的数据段和堆栈段相互增长的图表。通常,堆栈包含在每个过程中定义的局部变量。它们在过程被调用时产生,在过程返回时消失。数据段包含了不具有如此容易定义的生存期的变量的空间。在C语言中,malloc()使用数据段,free()释放数据段 阅读全文

posted @ 2022-01-06 15:51 ThomasZhong 阅读(48) 评论(0) 推荐(0) 编辑

现代操作系统:内存管理(四)

摘要: 4.3 Virtual Memory(meaning Fetch on Demand)虚拟内存(按需获取) 其思想是允许程序即使只有其活动的地址空间不问保留在内存中它也可以运行,也就是说换入和换出的一部分程序,即使程序的某些部分(也许是大部分)不在内存中,该程序也可以运行。 粗略的说,这可以称之为自 阅读全文

posted @ 2022-01-06 15:49 ThomasZhong 阅读(162) 评论(0) 推荐(0) 编辑

现代操作系统:内存管理(三)

摘要: Paging 分页 分页是最简单的移除由他引起的连续的物理内存请求和潜在的大量外部碎片的一种方案。 程序被按逻辑的切分为固定大小的块称之为virtual pages(虚拟页面),这种分块对用户是不可见的; 这种对虚拟内存空间的划分被展示在下方中间的图片中; 物理内存类似的被划分为固定大小的块并称之为 阅读全文

posted @ 2022-01-06 15:41 ThomasZhong 阅读(109) 评论(0) 推荐(0) 编辑

现代操作系统:内存管理(二)

摘要: 4.2 A Memory Abstraction: Address Spaces内存抽象:地址空间 4.2.1 The Notion of an Address Space地址空间的概念 正如进程概念创建了一种抽象的CPU来运行程序(每个进程都被认为是唯一在运行的进程),地址空间创建了一种抽象的内存 阅读全文

posted @ 2022-01-06 15:38 ThomasZhong 阅读(470) 评论(0) 推荐(0) 编辑

现代操作系统:内存管理(一)

摘要: 4 Memory Management内存管理 通常也称之为存储管理(storage management)或空间管理(space management)。 内存管理器必须处理现代计算机中的具有层次性的存储结构。该层次结构由寄存器(最高级别)、缓存、中央内存、磁盘组成。当我们移动到较低的层次时,内存 阅读全文

posted @ 2022-01-06 15:35 ThomasZhong 阅读(416) 评论(0) 推荐(0) 编辑

现代操作系统:死锁(四)

摘要: 3.5.1 The Banker's Algorithm (Dijkstra) for a Single Resource单类资源的银行家算法 这个算法很简单:保持安全状态!现在我们假设,在开始执行之前,所有的进程已经开始并且声明了它所需要的所有资源。更详细的说,银行家算法的具体流程如下: 执行前需 阅读全文

posted @ 2022-01-06 15:29 ThomasZhong 阅读(295) 评论(0) 推荐(0) 编辑

现代操作系统:死锁(三)

摘要: 3.4 Deadlock Prevention死锁预防 破坏Coffman/Havender的四个条件中的任意一个。 3.4.1 Attacking the Mutual Exclusion Condition破坏互斥条件 假设一个资源并不会被一个进程独占,那么就根本不会存在死锁的产生,但是两个进程 阅读全文

posted @ 2022-01-06 15:26 ThomasZhong 阅读(237) 评论(0) 推荐(0) 编辑

现代操作系统:死锁(二)

摘要: 3.2 Ignoring the Problem—The Ostrich Algorithm忽略死锁之鸵鸟算法 俗称摆烂,就是不管,把头埋进沙子里。 如果进程发生死锁可能性足够小,并且为了避免死锁会付出很大的代价,那么忽略这个问题可能会更好。例如,如果一个PC操作系统每10年死锁一次,那么一次重启可 阅读全文

posted @ 2022-01-06 15:21 ThomasZhong 阅读(123) 评论(0) 推荐(0) 编辑

现代操作系统:死锁(一)

摘要: 3 DeadLocks 注意:死锁与进程/线程管理密切相关,因此我们把它放在这里,在第2章之后。课程的目标是确保在一个学期内掌握基本知识,我知道我们会讲前6章,所以我们没有必要推迟对死锁的研究。 Definition: A deadlock occurs when every member of a 阅读全文

posted @ 2022-01-06 15:16 ThomasZhong 阅读(95) 评论(0) 推荐(0) 编辑

导航