摘要:
我的相关博文 三种工厂模式详解 策略模式 在GOF的《设计模式:可复用面向对象软件的基础》一书中对策略模式是这样说的: 定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。该模式使得算法可独立于使用它的客户而变化。 策略模式为了适应不同的需求,只把变化点封装了,这个变化点就是实现不同需求的 阅读全文
摘要:
1. wait、waitpid 函数简介 补充:对于waitpid,如果返回值为0,表示指定去等待的子进程尚未结束。 该系列宏的使用方法展示: PART1 实验思路: 使用wait系统调用让父进程给子进程收尸,并获取子进程的返回值。 同时,正常终止。 直接打印获取的返回值会与实际返回的值不一样,进而 阅读全文
摘要:
1、插入SD卡 如果系统能够识别SD卡,则会打印一些信息: 2、查看系统给SD卡分配的设备名 命令如下: fdisk -l 说明:通常是根据SD卡的存储容量来确定的。 比如下面的信息: 3、挂载SD卡 命令如下: mount /dev/mmcblk1 /mnt 当显示如下信息时: 说明挂载失败,其m 阅读全文
摘要:
1. 守护进程 2. 孤儿进程 父进程结束,子进程就成为了孤儿进程。孤儿进程由1号进程(init进程)领养。 2.1实验: 实验思路: 先产生一个孤儿进程,然后打印出该孤儿进程的父进程ID。 #include <stdio.h> #include <sys/types.h> #include <sy 阅读全文
摘要:
1. 进程链、进程扇 图示 所谓进程链就是父进程创建一个子进程,创建的子进程再次创建出一个属于自己的子进程,这样依次往下循环。 所谓的进程扇就是一个父进程创建出多个子进程。 2. 进程链 #include <stdio.h> #include <sys/types.h> #include <sys/ 阅读全文
摘要:
我的关联博文: 系统编程-进程-fork深度理解、vfork简介 系统编程-进程-先后fork或open一个文件的区别 test1: lseek基本使用 #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include 阅读全文
摘要:
1. test1 #include <stdio.h> #include <unistd.h> #include <stdlib.h> /******全局变量位于数据区, 用于数据区测试*******/ int globvar = 6; char buf[] = "a write to stdout 阅读全文
摘要:
做了4个试验,test5没做,但是给了结论。 直接贴实践过的代码 #include <iostream> #include <string> template<typename T> void swapval(T& val1, T& val2){ T vector = val1; val1 = va 阅读全文
摘要:
声明:此博文所述我未实践,目的是知识整理。 1. 常说的 "单片机的norflash上可以执行代码 “ 这句话该如何理解? CPU做取指、译码、执行。 常说的哪些介质可以执行程序,实际上指的是CPU可以从那里取指,以供后续译码和执行。 2. 单片机一般在内部norfalsh上执行代码 Soc读取内部 阅读全文
摘要:
根据menuconfig定位一个驱动涉及到的源文件,这个是很常用的,因为有时候你需要参考别人的驱动代码。新手不知道如何定位驱动相关源码,这篇文章将告之。 假设我手头有一块开发板,现在我想要获取板载ov7725摄像头的驱动代码。如何查看? 1. menuconfig内定位到ov7725 2. 在第一步 阅读全文
摘要:
1. fork基本使用 #include <unistd.h> #include <stdio.h> int main(){ pid_t pid = fork(); if(pid < 0){ perror("fork error"); }else if(pid > 0){ printf("I am 阅读全文
摘要:
Note: 我的S5PV210板子的磁盘是emmc版本,不是nandflash版本。 1. SD卡内烧录uboot镜像,然后作为启动盘来启动emmc中的内核镜像和根文件系统。 只要破坏emmc内的uboot镜像,就可以使其从sd2启动 (因为emmc内没了完整的uboot,自然就无法启动内核) 然后 阅读全文
摘要:
1. jiffies简介 首先,操作系统有个系统专用定时器(system timer),俗称滴答定时器,或者系统心跳。 全局变量jiffies取值为自操作系统启动以来的时钟滴答的数目,数据类型为 unsigned long volatile (32位无符号长整型),最大取值是2^32-1。 2. j 阅读全文
摘要:
实例说话: 使用vscode保存,有报提示信息,可以以超级用户身份重试,于是我授权root给vscode软件,却还提示失败! 而实际上,我使用cat命令发现已经写入成功了 终端内使用cat这条shell命令,很长,很辛苦。 这是我第一次亲身体会感受到,需要vim! 需要vim! 需要vim! 超强编 阅读全文
摘要:
1. 进程标识 待添加 用户和用户组相关 https://www.cnblogs.com/ddz-linux/p/10467106.html 用户组 进程组 2. 实验,待添加 chmod u+s file : 修改黏着位,可以使得其他用户操作该文件时临时转变为该文件拥有者用户,这就是有效用户的含义 阅读全文
摘要:
1. ps详解 ps : 只列出当前用户的进程 ps -ef : e表示有效, f 表示全面, 所以是列出后台的所有有效进程。 ps -ef | more : 列出后台所有的有效进程,并且分屏显示 ps -aux | more : 可以查看进程占用CPU 和 内存的百分比 、 进程状态 详细参数参考 阅读全文
摘要:
实验环境说明: ubuntu 16.04 进行本实验的前提:需要在ubuntu上搭建好ffmpeg环境,参考我的另一篇博文 ffmpeg编译过程经历的99八十一难 下面开始本文内容 PART1 编译安装带Nginx-rtmp-module的Nginx服务器 1 下载Nginx (Nginx从官网下载 阅读全文
摘要:
1. atexit函数: 用于登记用户自定义的进程终止函数,这样会覆盖系统默认提供的标准终止函数 我们自定义的进程终止函数并非在所有进程终止的情况下都会被调用,是否会被调用与进程的终止方式有关。 下图展示了不同的进程终止方式的区别: _exit或者_EXIT不会负责调用进程终止函数,也不会刷新缓存。 阅读全文
摘要:
PART1 1. 进程相关的内容概要(主要知识模块) PART2 2, 程序和进程的概念 内核中的进程结构 ubuntu内的进程结构声明所在头文件 /usr/src/linux-headers-4.15.0-88-generic/include/linux/sched.h 进程结构体: 3, C程序 阅读全文
摘要:
<1> 操作系统提供的服务 <2> 现代操作系统的特征 2.1 微内核(英文中常译作µ-kernel或者micro kernel) 这是一种能够提供必要服务的操作系统内核;其中这些必要的服务包括任务,线程,交互进程通信(IPC,Inter-Process Communication)以及 阅读全文
摘要:
Part1. 计算机的基本组成原理 Part2. 计算机执行原理顶层视图 Part3. 指令 指令周期 取指令和执行指令 指令格式 前面1字节是操作码,代码指令的功能,例如加法功能。 后面3字节用于寻找要操作的数据值。 由于数据存储在内存(存储器)中,由内存地址来标识,所以后3字节本质是要操作的数据 阅读全文
摘要:
虽然学习Linux系统编程比不上学习QT之类的快速见效, 但是我想,系统编程在Linux的江湖里,总是占据着无上的地位,这大概就是"地基"二字含义的体现了, 地基搞稳了,才有可能多栖地发展。 Linux系统程序设计,大致需要了解以下几个模块 1. 2. 3. 4. 5. 6. 7. 8. . 阅读全文
摘要:
当前平台, 基于君正的X10000平台的嵌入式Linux 系统 0 目的 我要设置根文件系统为可读写, 设置data分区上的文件系统为只读 1 设置各文件系统的读写属性 /bin/mount -o remount,rw / # REMOUNT_ROOTFS_RW /bin/mount -t ubif 阅读全文
摘要:
1. getpic_transform_encode2h264.c #include <stdio.h> #include <string.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <time.h> 阅读全文
摘要:
1. Linux内我们使用V4L2框架获取摄像头数据,由于摄像头的不同,摄像头所输出的数据格式各有不同。 考虑到YUV420P 的格式使用最广泛,我们最终将摄像头数据转为该格式。 pic_data_transform.c /* * # Desc: use ffmpeg read a frame da 阅读全文