- 博客(8)
- 收藏
- 关注
原创 韦东山 imx6ull Study 4-1(VFS)
VFS(Virtual File System,虚拟文件系统)的目的是为了在Linux系统中引入一套通用的文件模型,使其能够表示并操作所有支持的文件系统。在Linux中,我们不能使用一个特定的函数来对所有设备执行相同的操作,比如read()和ioctl()。相反,我们可以使用指向特定对象的函数指针来执行这些操作。举个例子,如果我有两本书,一本是《哈利·波特》,另一本是《猎人笔记》,它们分别拥有自己的write操作。
2024-04-01 23:14:09 620
原创 韦东山 imx6ull Study 3 (编译与链接)
GCC编译器需要完成四步编译成目标可执行文件。1. 预处理:读取程序中的.h文件, 插入到程序中 得到另一个C程序,以.i 结尾2. 编译器:将文本文件hello.i 翻译成文本文件hello.s 这个是一个汇编语言3. 汇编器:将hello.s翻译成机器语言吧这些指令打包成一个可重定位目标程序.o中4. 链接器:比如我们的程序使用了printf这个是存放在另一个pirntf.o中的,这个文件必须合并到我们的可执行程序中,链接器就负责这个工作。
2024-03-31 16:50:55 975 1
原创 韦东山 imx6ull Study 2(编译bootloader,内核,Buildroot)
在YYLTYPE yylloc;前面增加extern。在YYLTYPE yylloc;前面增加extern。一系列的not a member of ‘std’因为ubuntu太新了遇到了一些奇怪的报错的问题。找到PERF字样的 不要去编了都注释掉。fix: 参照这个修改改一下。麻蛋搞半天搞不定不编了。
2024-03-30 23:30:02 1897
原创 韦东山 imx6ull Study 1(板子到手,简单验证功能)
青春时可纵情欲,半生前可纵蹉跎,已是坦途矣。君不见贫贱子弟,家不亲,友不近。自幼奋笔无沃土,寒窗数年无所得。吃穿用度皆节俭,人情世故皆小心。已过冠礼无欢爱,举目望天唯叹息。七情六欲不得志,四季三餐无滋味。平生种种若囚笼,昏黑暗暗困其中。上班之后好久没学习了,板子都落灰了。重来一遍学习记录一下。
2024-03-29 23:47:41 707 1
原创 linux fork (学习)
进程是程序执行和资源管理的最小单位。为什么需要进程呢?计算机在最开始的确是没有进程这个概念的,但是随着硬件的发展cpu的运行速度越来越快了,如果只是单独一个进程的话,那么在程序准备数据的过程中cpu实际上是处于空闲状态的,为了让cpu的硬件资源得到充分的占用,所以就引发出了进程这种机制。(微观串行,宏观并行)linux管理线程的方式是通过PCB的方式(process control block)是一个结构体task_struct { PID, //进程标识符
2021-08-28 16:40:21 136
原创 三种最基本的排序(选择,冒泡,插入)
排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。排序算法 平均时间复杂度 最好情况 最坏情况 空间复杂度 排序方式 稳定性 冒泡 O(n^2) O(n) O(n^2) O(1) In-place 稳定 选择 O(n^2) O(n^2) O(n^2) O(1) In-place 不稳定 插入 O(n^2) O(n) O(n^2
2021-08-24 21:34:10 183
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人