saltyfishyjk's Blog

我会珍惜这一份幸运

「BUAA OS Course」进程

「BUAA OS Course」进程Part 0 基本概念并发与并行 并发(Concurrent):设有两个活动a1和a2,如果在某一指定时刻t,无论a1和a2是在同一处理机还是不同的处理机上执行,只要a1和a2都处在各自的起点和终点间的某一层处,则称a1和a2是并发执行的 并行(Parallel):考虑两个程序,他们在同一时间度量下运行在不同的处理机上,则称这两个程序是并行执行的。 原语......

「BUAA Discrete Mathematics Chapter7」递推关系和生成函数

「BUAA Discrete Mathematics Chapter7」递推关系和生成函数Part 0Part 1 生成函数为什么研究生成函数生成函数也叫母函数,研究生成函数是因为其适合求解计数问题。 一方面,我们将生成函数看作代数对象,用代数手段计算一个问题的可能性的数目;另一方面,生成函数是无限可微分函数的泰勒级数。因此,如果找到这样的函数和它的泰勒级数,那么泰勒级数的系数就给出了问题的......

「BUAA OO Unit 2 HW8」第二单元总结

「BUAA OO Unit 2 HW8」第二单元总结Part 0 前言第二单元多线程已经告一段落,本单元中我收获颇丰,在这里再次总结记录。 本篇博客将分为以下几个部分,读者可自取所需: Part 1 第五次作业 Part 2 第六次作业 Part 3 第七次作业 Part 4 多线程心得体会 Part 5 Tricks Part 6 展望 其中,为了阅读顺畅,我将对象头、锁和同步以及线程......

「BUAA OO Unit 3」 JML笔记

「BUAA OO Unit 3」 JML笔记Part 0 前言JML(Java Modeling Language)是用于对Java程序进行规格化设计的一种表示语言,对规格化设计有重要作用。这里记录Unit3中学习JML的相关笔记 Part 1 注释JML中以javadoc注释的方式表示规格,每行以@开头。有行注释和块注释两种方式。 按照javadoc习惯,JML注释一般放在被注释成分的近......

「BUAA OS Lab3-1-Extra」模拟PV操作

「BUAA OS Lab3-1-Extra」模拟PV操作Part 0 前言本篇博客记录Lab3-1-Extra模拟PV操作的实现,Part 1为题目描述,Part 2为设计分析,Part 3为课上源码(已AC并开源)参考,读者可自取所需。 同时,本博客系统已支持评论区,欢迎您参考 Gitment评论区配置与使用中Part2开通您在本博客的权限,留下您的想法。 Part 1 题目描述在理论课......

「BUAA OS Lab3」名词解释

「BUAA OS Lab3」名词解释变量和类型PCB进程控制块(Process Conotrol Block),系统感知进程存在的唯一标志。进程和PCB一一对应。 Env1234567891011struct Env { struct Trapframe env_tf; // Saved registers LIST_ENTRY(Env) env_link; // Free L......

「BUAA Discrete Mathematics Chapter6」容斥原理及应用

「BUAA Discrete Mathematics Chapter6」容斥原理及应用Part 0Part 1容斥原理定理6.1.1集合 $ S $ 中不具有性质 $ P_1 , P_2, \cdots , P_m $ 的对象个数由下面的交错表达式给出: |\overline{A_1} \cap \overline{A_2} \cap \cdots\cap\overline{A_m}| =......

「BUAA OS Lab2」名词解释

「BUAA OS Lab2」名词解释 变量和类型Pde和PtePage directory entry / Page table entry 声明: 12typedef u_long Pde; typedef u_long Pte; 位置:include/mmu.h Pde表示一个一级页表项,Pde表示一个二级页表项。二者本质为u_long。 PDX和PTXPage Directory i......

「BUAA OO Unit 2」 第二次电梯的架构设计与调度策略分享

第二次电梯的架构设计与调度策略[TOC] 第八周研讨课,笔者依旧准备了讲稿和分享,但是没有选上,在这里和大家分享。 Part 0 第一次电梯架构与调度基础第一次作业中,ABCDE座各有纵向电梯一部,乘客需求只有纵向。 在这次作业,我们核心设计采用生产者-消费者模型,大致结构如下: 其中,我们的InputHandler维护所有请求的一个大Dispatcher,其中储存所有楼座的待分发请求,并......

「BUAA OO Unit 2」 多线程分享

「BUAA OO Unit 2」 多线程分享Part 0 前言第六周研讨课,笔者依旧准备了讲稿和分享,但是没有选上,在这里和大家分享。 Part 1 如何在Java中进行多线程编程三种使用线程的方法继承Thread需要继承Thread类,并重写run方法,调用start()启动线程。 实现Runnable需要实现run方法,通过Thread调用start()启动线程。在这里我们更推荐使用实现......