Linux知识点学习(持续更新)

1:proc被称为虚拟文件系统,它是一个控制中心,可以通过更改其中某些文件改变内核运行状态,它也是内核提空给我们的查询中心,用户可以通过它查看系统硬件及当前运行的进程信息;

2:linux内核的作用:1、负责进程的创建和销毁,完成进程间的通信,以及进程的输入和输出;2、进行内存管理;3、进行文件系统管理;4、负责设备控制,内核中包含访问平台上硬件设备的驱动代码;5、负责网络功能。

3: ctrl+shift+t---打开终端,

pwd-显示当目录

cat nl vim均可以查看文件

su -切换root

clear清屏-但仍可以查看之前的,reset-清屏且清除历史

find 路径 -name 文件名  greb -n 字符串 文件名

4: tar.gz  格式解压为 tar -zxvf   xx.tar.gz

tar.bz2  格式解压为  tar -jxvf  xx.tar.bz2

5:DTS--在内核编译的过程中,

被编译为.dtb 的二进制文件。在开机启动阶段,dtb 会被 bootloader(如 U-Boot)加载到 RAM 的某个地

址空间,并且将该地址作为参数传递给 Kernel space。内核解析整个 dtb 文件,提炼每个设备信息以初始

化。

6:buildroot可以用来定制文件系统,主要路径是output/***********/target

7:/etc/init.d/rcS用于存放要启动的脚本

8:vmalloc kmalloc malloc

(1)vmalloc()分配的内存虚拟地址是连续的,而物理地址无须连续。而kmalloc()确保页在物理地址上是连续的,自然虚拟地址也是连续的。硬件设备用的的任何内存区都必须是物理上连续的块,而不仅仅是虚拟地址连续上的块;

(2)vmalloc()相比较于kmalloc()效率不高,因为获得的页必须转换为虚拟地址空间上连续的页,必须专门建立页表项,可能会导致translation lookaside buffer 抖动,所以一般只有需要分配大块内存时才是用vmalloc;

(3)vmalloc()仅在不得已时才使用,其典型的就是为了申请大块内存。该函数可能睡眠,因此不能从终端上下文中调用,也不能从其他不允许阻塞的情况下进行调用;

(4)kmallloc(kernel malloc),内核级的程序运行需要注重效率,因此需要物理地址连续,但分配的内存不会很大一般最大128KB;

9:内核编译(make)之后会生成两个文件,一个Image,一个zImage,其中Image为内核映像文件,而zImage为内核的一种映像压缩文件,Image大约为4M,而zImage不到2M。

那么uImage又是什么的?它是uboot专用的映像文件,它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本、加载位置、生成时间、大小等信息;其0x40之后与zImage没区别。

10:共享内存

1:共享内存就是允许多个不同的进程访问同一个逻辑内存,由一个进程创建,但可被多个进程使用;

2:如果某段进程对你共享内存进行改动,那么会立即影响到与该内存块相关的其他进程;

3:每一个进程都有属于自己的进程控制块以及地址空间,也有与之对应的页表,负责将虚拟空间与物理地址相映射;

4:管道和消息队列

 

对于共享内存来说,AB两个进程块均通过指针来访问数据,减少了拷贝的次数,提高效率

5:也没有传输的概念,相应的效率也提高了;

6:

7:函数

shmget:得到一个共享内存标识符或创建一个共享内存对象,返回共享内存标识符;

shmat:把共享内存区对象映射到调用进程的地址空间,返回附加好的共享内存的地址;

shmdt:断开共享内存连接,成功返回0;

shmctl:共享内存管理,成功返回0;

11:信号量

1:操作系统用来解决并发中互斥和同步问题的一种方法;

2:信号量就是一个计数器,准确的说,是一个具有原子性的计数器。当使用资源时,计数器减一,表示外界的可用资源减少一个;当释放资源时,计数器加一,表示使用完后将资源还回去,使得外界可用资源增加一个。

3:

12:PV操作是一种实现进程互斥与同步的有效方法。PV操作与信号量的处理相关。P(passeren)通过,理解为申请资源,V(vrijgeven)释放,理解为释放资源。

12:ioctl函数式设备驱动程序中对设备的io通道进行管理的函数,即对设备进行控制;

13:递归更改文件及子文件夹的下的权限chmod -R 777 ./

14:grep -r "MIPI error: phy:"

猜你喜欢

转载自blog.csdn.net/warren103098/article/details/127577868