- 博客(7)
- 资源 (4)
- 收藏
- 关注
原创 linux ext4 文件系统数据丢失
为了保证数据不丢失,在L9到L10之间尝试增加数据流flush()操作,在L10文件close之后增加延时(20s)让系统自动保存。经过一些列努力,文件内容还是没有被保存进磁盘,文件系统在关机中丢失了数据。运行以上代码段后直接重启机器,会发现已经创建好了test.txt文件,但是文件内容是空的,这说明我们及时将文件对象正常关闭,真正的文件内容并不能及时保存到磁盘。问题现象:使用C++ ofstream文件输出流写内容到制定文件。进一步考虑使用系统调用sync,但是也没有很好的将数据保存下来。
2023-11-06 08:50:47 150 1
原创 04 进程线程相关工具
设计优良的系统,用户态使用率高,内核态CPU使用率低。top 工具是一个动态显示进程信息的工具,它可以实时显示进程的运行状态,包括进程的CPU占用率、内存占用率、进程的PID、进程的名称等信息。pidin是一个非常强大的工具,它可以查看进程的详细信息,包括进程的状态,进程的线程,进程的内存映射,进程的文件描述符,运行进程的环境变量等。ps(process status)是POSIX标准中定义的一个工具,它可以显示系统中的进程信息,包括进程的PID,进程的状态,进程的名称、参数等,可以参考。
2023-10-30 00:56:02 278 1
原创 03 进程与线程
一旦它消耗了它的时间片,这个线程就会被放到就绪队列的队尾,而处于相同优先级的下一个就绪线程就会得到CPU执行时间。程序是存储在存储介质上的一些指令和数据,而进程是一个正在执行的程序的实例,是一个动态的概念,它的状态随着程序指令的执行而不断变化。进程管理器有一组随时准备运行的调度优先级为0的特殊的线程,即空闲线程(每个可用的CPU核心一个)。尽管中断不能像线程一样被调度,但是可以将他们看成是优先级最高的线程,因为他们可以抢占任何正在运行的线程。中断处理程序的优先级高于任何线程,但它们的调度方式与线程不同。
2023-10-20 08:20:01 187 1
原创 附录 A
在安装完QEMU后,常常是缺少qemu-arm之类的工具的,我们可以使用安装完成之后,可以发现在/usr/bin目录下有一系列的的应用。每一个应用针对一种特定的硬件平台。接下来已我常用的aarch64平台来进行示范。将源码编译成arm64的二进制程序,使用file工具读取二进制文件的属性,确定其为在Ubuntu下直接运行aarch64其中-L参数指定了适用于aarch64架构程序的库文件路径。
2023-09-26 23:12:38 157 2
原创 02 QEMU
是一个通用开源的计算机模拟器和虚拟机软件,能够支持在Linux、MacOS、Windows等操作系统上运行,仿真出不同硬件架构的虚拟机。QEMU常以两种不同的模拟方式使用:在用户模式仿真(user mode emulate)下,它可以在一种CPU架构上执行为另外一种CPU架构编译的程序。例如在x86_64架构的通用计算机上交叉编译出一个ARM架构的程序,即不需将ARM程序部署到真实的目标板,而是直接在当前的计算机上使用qemu-arm执行ARM架构下的程序。这种情况下,CPU总是被模拟的。
2023-09-26 08:45:16 320
原创 01 QNX概述
QNX是一个类unix实时操作系统,遵循POSIX 1003.1标准以及POSIX实时标准,主要针对嵌入式系统市场。它最初是在1980年代早期由加拿大公司量子软件系统(Quantum Software Systems)开发的,后来更名为QNX软件系统(QNX Software Systems),被广泛应用于包括汽车,机器人,医疗设备,铁路,重型机械,工业控制,航空军事等领域。QNX的内核是一个可移植的内核,这使得QNX可以很好的支持多种CPU架构,例如x86,ARM等。
2023-09-22 03:45:00 137 2
Tesla Model S owners manual
2016-06-30
证件照片脸部特征精确定位与提取
2009-08-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人