06 2020 档案
摘要:1.Network Manager Ubuntu Server: Ubuntu的Server版本只有终端界面,没有桌面GUI,且Server版本不会安装NetworkManager,所以Ubuntu Server网络由配置文件进行配置。 由于Server版本一般用作服务器的操作系统,服务器IP一般是
阅读全文
摘要:因为我的海思板卡是64M的,所以对应的是0x10000。针对不同的板卡要进行修改。 可以通过uboot打印看到自己的板卡是什么flash以及多大和块大小 在海思的SDK里面的package中有已经制作好的文件系统,我就拿这个用,然后拷贝新的文件进去。然后运行下面的命令。 osdrv/pub/bin/
阅读全文
摘要:互斥锁和条件变量配合使用: https://www.ibm.com/developerworks/cn/linux/thread/posix_thread1/index.html https://www.ibm.com/developerworks/cn/linux/thread/posix_thr
阅读全文
摘要:1.线程的定义 线程:线程是进程中的一个独立的代码块。说白了,其实它就是个函数,只不过再也不用像以前的函数调用来调用它。而是通过pthread_create函数来创建它,也就是告诉内核,这个函数是个线程,今后交给你来调度了。 如果从以上的定义来看,那么很明显,线程是拥有自己的栈空间(局部变量),但是
阅读全文
摘要:1.移植rsync 因为要使用rsync把板卡已经配置好环境的文件系统备份出来。但是使用apt-get不能下载rsync,因此就自己下载rsync的软件包。 下载地址:https://download.samba.org/pub/rsync/src/ tar -zxvf rsync-3.1.3.ta
阅读全文
摘要:1.信号的概念 信号是UNIX和Linux系统响应某些条件而产生的一个事件,接收到该信号的进程会相应地采取一些行动。通常信号是由一个错误产生的。但它们还可以作为进程间通信或修改行为的一种方式,明确地由一个进程发送给另一个进程。一个信号的产生叫生成,接收到一个信号叫捕获。 1)信号是在软件层次上对中断
阅读全文
摘要:1.信号量 信号量本质上是一个计数器(不设置全局变量是因为进程间是相互独立的,而这不一定能看到,看到也不能保证++引用计数为原子操作),用于多进程对共享数据对象的读取,它和管道有所不同,它不以传送数据为主要目的,它主要是用来保护共享资源(信号量也属于临界资源),使得资源在一个时刻只有一个进程独享。
阅读全文
摘要:1.共享内存 共享内存:共享内存是一种最为高效的进程间通信方式。因为数据可以直接读写内存,不需要任何数据的拷贝。内核专门留出一块内存区,这段内存区可以由需要访问的进程将其中映射到自己的私有地址空间。但同时由于多个进程共享一段内存,因此也需要依靠同步机制,如互斥锁和信号量。(没有同步机制是共享内存的一
阅读全文
摘要:1.消息队列 消息队列:提供一种从一个进程向另一个进程发送一个数据块的方法。与FIFO相比,消息队列的优势在于,它独立于发送和接收进程而存在。 1.链表式结构组织,存放于内核。 2.通过队列标识来引用。 3.通过一个数据类型来索引指定的数据。 每个队列都有一个msqid_ds结构与其关联“ stru
阅读全文
摘要:命名管道的主要用途:不相关的进程之间交换数据。 命令行上创建命名管道: $ mkfifo filename 程序中创建命名管道: #include <sys/types.h> #include <sys/stat.h> int mkfifo(const char *filename, mode_t
阅读全文
摘要:各个通信机制以及优缺点:https://www.cnblogs.com/wuyepeng/p/9747515.html 1.进程间通信的概念 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程A把数据从用户
阅读全文
摘要:1. 僵尸进程 1.1 僵尸进程的概念 如果一个进程已经终止,但是它的父进程尚未调用 wait() 或 waitpid() 对它进行清理,这时的进程状态称为僵死状态,处于僵死状态的进程称为僵尸进程(zombie process)。任何进程在刚终止时都是僵尸进程,正常情况下,僵尸进程都立刻被父进程清理
阅读全文
摘要:1. exec函数簇 exec函数族的作用是根据指定的文件名找到可执行文件,并用它来取代调用进程的内容,换句话说,就是在调用进程内部执行一个可执行文件。这里的可执行文件既可以是二进制文件,也可以是任何Linux下可执行的脚本文件。 #include <unistd.h> extern char **
阅读全文
摘要:在uboot命令行模式下,通过tftp烧录内核或者文件系统什么的。需要板卡和电脑先ping通。 提示warning:gatewayip needed but not set.需要需要网关,但是没设置。 然后就一直ping不通。 解决方法: 1.检查网线是否连接好,可查看上面的网口灯是否亮起。如果是直
阅读全文
摘要:在uboot命令行模式中,有时候设置了变量,然后想删除,怎么删除。 #pri gatewayip 192.168.60.1 现在我不想要这个gatewayip setenv gatewayip 这样就可以了。相当于设置为空。
阅读全文
摘要:1.进程的创建 1.1 fork #include <unistd.h> pid_t fork(void); 返回值: 父进程返回的是新建的子进程的进程ID,子进程返回的是0 在fork的返回值中,最好是判断3个值,一个等于0、大于0以及小于0(fork失败的场景)。 当调用完fork函数后,子进程
阅读全文
摘要:1.进程的概念 UNIX标准进程的定义为:“一个其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源”。说白了,进程基本就是看成是我们运行的一个程序。 2.进程的监控方法 2.1 ps命令 ps命令用于显示当前进程 (process) 的状态。 -e: 选择所有进程 -f: 全格式的列表 -
阅读全文
摘要:1. 进程ID Linux 下每个进程都会有一个非负整数表示的唯一进程 ID。 Linux 提供了 getpid 函数来获取进程的 pid ,同时还提供了 getppid 函数来获取父进程的 pid。 #include <sys/types.h> #include <unistd.h> pid_t
阅读全文
摘要:1. 标准IO 与文件IO函数相类似,标准IO库中提供的是fopen、fclose、fread、fwrite等面向流对象的IO函数,这些函数在实现时本身就要调用linux的文件IO这些系统调用。 2. 标准IO的缓冲机制 由于IO设备的访问速度与CPU的速度相差好几个数量级,为了协调IO设备与CPU
阅读全文
摘要:1.文件IO的概念 linux文件IO操作有两套大类的操作方式:不带缓存的文件IO操作,带缓存的标准IO操作。不带缓存的属于直接调用系统调用(system call)的方式,高效完成文件输入输出。它以文件标识符(整型)作为文件唯一性的判断依据。这种操作不是ASCI标准的,与系统有关,移植有一定的问题
阅读全文
摘要:CGI入门教程: http://www.jdon.com/idea/cgi.htm c语言写CGI程序: http://www.cs.tut.fi/~jkorpela/forms/cgic.html 常见的4种动态网页技术—CGI、ASP、JSP、PHP:https://blog.csdn.net/
阅读全文
摘要:1.下载解压源码 下载源码:www.sqlite.org tar zxvf sqlite-autoconf-3320100.tar.gz 2. 配置、编译、安装 2.1 配置 进入SQLite源码工程顶层目录sqlite-auto,新建安装sqlite-arm目录,执行配置脚本 mkdir sqli
阅读全文
摘要:1. 下载CGIC源码 直接百度Github,然后查找CGIC。 2. 配置编译 2.1 配置编译器 vi Makefile 可以看到默认的编译器是GCC。因为我是直接在虚拟机上面做测试。因此直接用GCC就可以。 如果是要放在开发板上面,需进行对应的修改。 CC=arm-linux-gcc AR=a
阅读全文
摘要:1.源码下载 源码下载可以到:http://www.boa.org 进行下载。下载后可得boa的压缩包(boa-0.94.13.tar.gz) 虚拟机版本:ubuntu14.04 2.编译与使用 2.1 解压、进入解压后的目录中的src,执行./configure,生成对应的Makefile文件 将
阅读全文
摘要:1.text段 用于保存可执行指令。 2.data段 data段为数据段,用于保存有非0初始值的全局变量和静态变量。 3.bss段 用于保存没有初始值或初值为0的全局变量和静态变量。 当程序加载时,bss段中的变量会被初始化为0.这个段并不占用物理空间。这些变量的值固定初始化为0,因此没必要占用宝贵
阅读全文
摘要:#include <xxx.h> 以上的#include就是预处理命令。它的作用是将头文件的内容包含到本文件中。 注意:这里的“包含”指的是该头文件中的所有代码都会在#include处展开。 gcc -E xxx.c > xxx.i 预处理xxx.c并把预处理的结果输出到标准输出。 预处理常见的错误
阅读全文