自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ubuntu在无法连接网络的情况下安装gcc---通过iso镜像安装程序

E: 无法获得锁 /var/lib/dpkg/lock-frontend-open (11:资源不可用)更换介质,请把标有…的盘片插入驱动器 “/media/cdrom”…提示iso已经装载或挂载了,可以先卸载掉,如。额外开一个终端,然后执行。可通过以下步骤解开锁。

2023-06-09 19:56:02 714

原创 GDB常用命令

使用“info address function_name”来查找函数地址。例如,如果您想查找名为“test”的函数的地址,您可以在gdb中输入“info address test”您可以使用gdb中的“examine”命令(简写为“x”)来查看指定内存地址处的内容。命令格式为“x/nfu ”,其中“n”表示需要显示的内存单元个数,也就是从当前地址向后显示几个内存单元的内容,一个内存单元的大小由后面的“u”定义;“f”表示显示格式。

2023-03-15 11:09:49 287

翻译 官方教程:sel4 debug

不幸的是,在您返回用户空间之前,没有简单的方法可以继续,特别是如果内核安排的线程与您正在调试的线程不同。GDB不知道它的打印函数的地址(因为我们只给了GDB内核的符号表),而且它也不希望破坏它的地址。要注意,如果你调试内核的早期引导步骤,可能不是显而易见的是,调试跨上下文中页面映射变化(例如切换页面目录或打开/关闭MMU)会混淆GDB,你可能会发现断点触发意外或被错过。我们所描述的过程与x86类似,但如果您是在x86或x86_64主机上,您可以简单地使用您的平台的本机GDB,gdb。

2023-03-14 17:26:08 195

原创 hello3-sel4多线程

但是还请注意,虽然发送线程能够授予它跨端点发送数据的全部权利,因为它是创建该能力的人,但接收方的能力不一定会授予它对端点的发送能力(写入能力)。调用将向您的新线程将监听的端点返回一个新的、带标记的功能副本。您会发现您在第二个教程中已经涵盖的内容已经填写完毕,您不必重复它们:以几乎相同的方式,我们不会在此页面上重复概念解释,如果它们是 本系列之前的教程已涵盖。虽然这个任务是无序的,因为我们还没有检查操作的接收端,但它相当简单:这个任务发生在接收方发送回复之后,它显示发送方现在正在阅读接收方的回复。

2023-03-05 17:23:57 241

翻译 官方教程:SeL4: 线程

设置 TCB 的优先级时,必须提供明确的 TCB 能力以获取设置优先级的权限。我们将在以后的教程中提供有关故障处理的更多详细信息,但现在您可以依赖内核打印故障消息,因为您创建的线程没有故障处理程序。为了提供机密性,seL4 提供了一个顶级分层调度器,它提供静态的、循环调度的调度分区,称为域。域是在编译时使用循环调度静态配置的,并且是不可抢占的,从而导致域的完全确定性调度。请记住,要设置线程的优先级,调用线程必须具有这样做的权限。新创建的线程的优先级为 0,而加载程序创建的线程的优先级为 254。

2023-03-01 19:41:44 577

原创 SeL4 : 三 、内核内存分配与IPC

除了硬件专用的以外,内核本身不要求任何的资源限制(虚拟ASIDs的处理利用了固定数量的地址空间,这一限制将在后续的版本中移除),因此也就避免了很多通过消耗资源实施的拒绝服务攻击。创建新的内核对象时,新创建的能力将作为原始未分配内存对象的子能力插入到CDT中。目前所描述的模型足以让应用程序分配内核对象,在客戶应用程序之间分配权限,并获得由这些对象提供的各种不同的内核服务。撤销内核对象的最后一个能力将触发现在无人引用对象上的销毁操作,这只需清除它与其他对象及内核之间的任何内核依赖项。内核跟踪能力派生,即,由。

2023-03-01 10:24:31 525

原创 SeL4: 二 内核对象

内核实现了一类对象类型,应用程序可以调用它们的实例(也称为对象objects这些对象的接口构成了内核本身的接口。CNodes:存储多个能力,许可线程调用特定对象的方法。每个CNode有固定数量的slots(槽),且总是2的整数幂,这在CNode创建时确定。Slots可以是空的,也可以包含能力。线程控制块:表示seL4中的一个线程。端点:促成了线程之间的消息通信。IPC是同步的:一个线程试图在一个端点上发送或接收数据,会阻塞直到信息可以传递(这里未考虑非阻塞的情况,因为非阻塞不要求必须成功发送或接收。。

2023-02-28 17:54:16 212

原创 SeL4:一 辅助库

用到这个工程里面来,主要是提供标准的符合posix标准的api,其他的操作系统也是可以使用的。一般程序里面都有一个main函数,作为该程序的入口位置,但是,这个程序的运行并不是从main开始的,在运行main之前,其实还做了其他的一些工作,比如堆栈指针的设置,环境变量的获取,其他的一些准备工作等等。单单的一个内核运行起来,是没法运行一个例如hello world这样的程序的,因为这个程序需要链接其他的库,比如stdio中的printf,而且该程序和内核交互,就需要知道内核提供的标准API有哪些。

2023-02-28 17:15:37 459

原创 Linux添加系统调用(一)

在QEMU中,CMakeList.txt修改。,调整QEMU中模拟的 CPU的个数。表示系统调用不需要参数,

2023-02-28 16:20:45 76

原创 keystone workflow

keystone enclave workflow

2023-02-28 12:24:19 106

原创 keystone硬件部署

Keystone can either be simulated or FPGA emulated on the Xilinx Genesys 2【数字电路开发平台】 board。, but I have not been able to build the other individual components---github上其他人在尝试使用这个开发板。keystone1.0版本才适配,0.4版本没有适配。板子的核心是SiFive FU740 SoC。发布时间:2020.10.30。

2023-02-10 22:38:43 174 1

原创 github下载的常用操作

git clone --branch [tags标签] [git地址] 或者 git clone -b [tags标签] [git地址]

2022-12-01 15:03:51 910

原创 Memory Protection Keys

Intel MPK 是一个有效的提供数据权限隔离的手段,并且性能十分地高效,切换权限仅需要 20 个左右的 CPU 指令周期。可是挑战在于:1)MPK 只能针对用户态的页,该如何用在特权模式下做同级隔离;2)当应用程序调用内核函数时,权限切换该如何设计;3)MPK 不能够控制内存页的可执行权限,该如何防止 ROP[39]等类似的代码复用攻击。

2022-11-25 10:27:55 685 2

原创 ubuntu安装musl编译器

环境变量为: export PATH=$PATH:/usr/local/musl/bin/musl默认安装目录是:/usr/local/musl。然后编译(在hello.c所在的目录下编译)在文件的最末尾加上(按 a 进入编辑模式)编译成功即安装成功。

2022-11-24 10:35:19 2494

原创 keystone enclave学习记录

官方提供了Keystone在各平台上的快速测试或部署指导。1.2.1. 用QEMU测试Keystone(基于Docker)1.2.2. 用FireSim测试Keystone(带Chipyard框架)1.2.3. 例如硬件部署以上就是今天要讲的内容,本文对keystone enclave的第一种部署进行了实现。

2022-10-12 23:28:25 1447 1

原创 电脑有网(如可以登QQ),但浏览器连不上网络

如果所有的浏览器都出现这种情况:即电脑成功连接网络的情况下,浏览器显示网络未连接。选择“网络和Internet”这种情况是因为系统代理出错。

2022-10-09 20:01:42 1837 6

原创 Qt 下载

记录一下Qt下载过程中整理的一些事项,以免后来又出错介绍官方下载地址:Index of /archive/qthttps://download.qt.io/archive/qt/Qt有开源版和商业版,我们一般选择开源版,开源版和商业版使用上没有区别,以上链接为开源版。打开链接后,选择需要的版本,注意:Qt 5.9 之后的安装包与之前相比,不再区分 VS 版本和MinGW版本,而是全都整合到了一个安装包中,所以5.9版本之后就只有一个安装包.例如,选择Qt5.9.0:根...

2022-04-02 12:26:36 428

转载 异或、异或运算、计算机位运算

什么是异或_异或运算及异或运算的作用

2021-11-12 19:45:26 121

原创 解决Tomcat无法使用start up的问题

在java和Tomcat环境配置都成功的前提下cmd打开命令行;进入到Tomcat的bin文件夹下;执行startup.bat命令,如果你的其他环境配置好的话,那么现在就会正确的显示你启动了服务器然后再打开tomcat9w.exe,此时应该可以看到start up可以使用;若还是不能使用,大概率是Java环境或者Tomcat没有配置成功...

2021-06-12 20:24:43 3381 1

原创 如何查询OracleSQL的监听器服务端口

win+R 输入cmd回车;输⼊lsnrctl status;可能会出现 lsnrctl status 不是内部或外部命令;是因为Oracle环境没有配置好。选择此电脑右键打开属性,依次打开:高级系统设置,环境变量,在系统变量中新建:(变量值选自己的目录)(因为我为个人PC,所以用户变量和系统变量都没差,推荐在系统变量新建)然后编辑 Path 变量;新建蓝色那行此时再运行即可...

2021-05-27 18:51:53 967

原创 Java EE环境配置——Tomcat服务器的安装与配置

记录下本人服务器的安装与配置过程及出现的问题(Tomcat服务器)1、服务器下载:https://tomcat.apache.org/download-90.cgi2、解压到选定的文件夹本人目录为:D:\Prog\ORacle修改你自己选定的文件夹的访问权限,选定为完全访问(右键属性——安全——修改)3、配置用户配置完后即可启动。 找到目录下bin/startup.bat启动出现的问题一:启动时乱码:找到配置conf 下的 logging.properties,记事本打

2021-05-27 18:46:25 236

原创 Web应用程序开发

桌面应用程序与web应用程序的对比对两者的理解:桌面应用程序主要为C/S型模式(客户机 /服务器),像我们电脑上的程序:office、QQ、chrome属于此类;web应用程序主要为B/S型模式(浏览器 /服务器),简单来说,web程序是通过web(简单理解为浏览器)的应用程序,像淘宝网、QQ邮箱属于此类。开发中两者的比较:桌面应用程序:缺少共享、以windows窗口的形式存在,开发过程中需要开发服务器端和客户端,需要考虑不同OS的兼容,需要考虑注册表等;web应用程序:维护成本..

2021-05-21 16:19:10 2703

空空如也

空空如也

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

TA关注的人

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