自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ubuntu启动后黑屏左上角光标闪烁

解决方案:ctrl+alt+F2进入命令行界面,登录后输入指令。安装nvidia驱动不匹配,启动ubuntu后电脑黑屏。

2023-12-28 15:30:59 537 1

原创 rosdep init ROS安装问题解决方案

网站在国内被屏蔽无法访问,直接进行初始化会失败。修改hosts文件直接访问IP地址。

2023-12-28 13:32:38 422 1

原创 efficient lock-free solutions for multi-core Linux scheduler 同步机制分析

在抽象的CPU中,内存操作的顺序是非常松散的,这意味着CPU可以按照它自己喜欢的方式执行内存操作。实际上,CPU可以以不同的顺序执行内存操作,只要程序的因果关系(causality)在外部看来仍然得以维持。这意味着程序中的内存操作的执行顺序对于CPU来说不是强制的,只要最终的结果对外部观察者来说是符合程序逻辑的。同样地,编译器在生成机器代码时,也可以重新排列指令的顺序,只要这不会影响程序的外部表现。这意味着编译器可以进行指令优化,但必须确保最终的程序行为与源代码的语义相一致。

2023-10-13 00:22:43 80

原创 efficient lock-free solutions for multi-core Linux scheduler第一章 研究背景

处理器时间是一个有限的资源,进程调度器是内核的一个子系统,它将处理器时间分配给可运行的进程。

2023-10-10 23:34:58 106 1

原创 efficient lock-free solutions for multi-core Linux scheduler 绪论阅读

像Linux这样的流行操作系统最初被设计为实时操作系统(RTOS),现在被用于具有多核平台的嵌入式实时系统。因此,许多风格的Linux现在包括一个实时调度器。Linux实时调度器的一个最新例子是SCED DEADLINE补丁,它是流行的“EDF”算法的实现。这种调度器也可以用于大型多核服务器工作站,因为它有助于控制用户请求的服务质量。首先介绍了 PRACTISE,这是一种开发、调试、测试和分析用户空间中实时调度数据结构的工具。

2023-10-06 17:42:23 62 1

原创 哈工大2022形式语言与自动机期末

1设计一个DFA,同时有01与10子串2.设计一个NFA,使得01与10出现次数相等(sdl老师认为DFA不是NFA,等分数出来也许才知道标准)3正则表达式(在a,b上)a aa子串出现两次的正则表达式b 不以ab与ba结尾的表达式4一条简单的泵引理5已知一个DFA的五元组,以及同态h(a)=aa,要求在原字符集上构造一个同态对应的DFA的五元组6CFL存在相等的两个连续的0串的语言7.设计DPDA(这个要求以小写英文给出,蛮坑的)接受a(N)b(2N+1)(n>=1)

2023-04-21 21:06:14 370

原创 4 Data Type and Type Checking数据类型与类型检验

静态类型检查是关于“类型”的检查,不考虑值;动态检查是关于“值”的检查。Java 是一种静态类型语言,它同时具有静态类型检查和动态类型检查。改变变量和值的区别改变一个变量:将该变量指向另一个值的存储空间改变一个变量的值:将该变量当前指向的值的存储空间中写入一个新的值不变性不变数据类型(immutable type):一旦被创建,其值不能改变引用不变:一旦确定其指向的对象,不能再被改变(但其值是可能变化的)Java 中的 final 关键字 final 类无法派生子类 fin

2022-06-10 21:13:21 121 1

原创 3.Software Construction Process and Configuration Management软件构造过程与配置管理

两种基本类型:线性过程、迭代过程选择合适的过程模型的依据:用户参与程度、开发效率/管理复杂度、开发出的软件的质量瀑布过程特点:线性推进、整体推进、非迭代优点:管理简单缺点:无法适应需求增加/变化增量过程特点:线性推进、增量式(多个瀑布的串行)、非迭代优点:比较容易适应需求的增加V-ModelV 模型可以看作瀑布模型的优化,它仍然是线性推进的,瀑布模型存在的问题大多在 V-model 中也存在。每个开发阶段都有相应的测试对齐进行验证,但是测试与开发是串行而非并行进行的,也就是测试需要等开发完成后再开始。

2022-06-10 16:06:44 102

原创 2 Testing and Test-First Programming软件测试与测试优先的编程

从范围上看 从静态/动态上看从结构上看白盒测试:对程序内部代码结构的测试黑盒测试:对程序外部表现出来的行为的测试(例如输入输出)测试用例:输入 + 执行条件 + 期望结果测试的动机:让代码出错,出错越快越好编写测试的过程 先写规约,再写符合规约的测试用例 写代码、执行测试、有问题再改、再执行测试用例,直到通过它 测试驱动开发(TDD):将需求转化为具体的测试用例,然后软件经过改进,通过新的测试规约本身也可能是错误的 - 不正确,不完整,模棱两可缺失

2022-06-10 02:30:00 73

原创 1 Views and Quality Objectives of Software Construction软件构造的多维度视图和质量目标

总览:按阶段划分:构造时/运行时视图按动态性划分:时刻/阶段视图按构造对象的层次划分:代码/构件视图软件多维视图:源码组织在文件中,进而组织在目录中文件存档在包中,并逻辑上归属于组件和子系统可重用的模块以库的形式存在,库存储在磁盘文件中静态链接:库被拷贝进代码形成整体,执行的时候无需提供库文件,发生在构造阶段AST:彻底结构化,对树的各种操作==对源代码的修改版本控制是给计算机软件不同状态分配唯一的名字或编号的过程动态链接:库文件不会在构建阶段被加入可执行软件,仅仅做出标记;程序运行时,根据标记装载库至内存

2022-06-09 21:26:51 116

原创 Junit测试异常

检查抛出的异常有三种方式,它们各自都有优缺点:1.@Test(expected…)@Test注解有一个可选的参数,"expected"允许你设置一个Throwable的子类。在测试的方法前加入类似下面的句子即可验证方法抛出预期的异常:简单明了,这个测试有一点误差,因为异常会在方法的某个位置被抛出,但不一定在特定的某行。2.ExpectedException如果要使用JUnit框架中的ExpectedException类,需要声明ExpectedException异常。然后你可以使用更加简单的方式验证预期的异

2022-06-01 01:56:23 2161

原创 关于Junit4中test测试执行的顺序

在做软件构造的lab1时,编写P3的测试用例时我遇到了这么一个问题,即在检测加边是否正常工作时,图中并没有我在检测加点的程序中添加的人.addVertex正常工作,addEdge报错错误信息不存在此人我以为是不同方法之间的数据不共享,于是我便在addEdge中重复了一遍加点操作,发现这次addEdge正常通过,但addVertex却开始报错:图中出现重复人名.这下知道了,同一个测试类中的私有数据还是共通的,那么便是顺序问题了,说明它并不是起初我预想的按顺序执行,而是有着自己的规则.查阅资..

2022-05-15 23:55:20 2003

空空如也

空空如也

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

TA关注的人

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