![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
嵌入式Linux应用
嵌入时Linux应用开发
初见未晚
博学而约取,厚积而薄发。
展开
-
Linux中POSIX IPC(二)和线程同步(1)-学习笔记(十)
1、线程为什么要同步?共享数据可能会重复,线程间有很多共享资源,都对一个共享数据进行读写操作,可能会冲突。//程序1 线程间共享资源访问冲突#include <stdio.h>#include <unistd.h>#include <pthread.h>#include <stdlib.h>int counter;//定义全局变...原创 2019-08-18 12:42:49 · 134 阅读 · 0 评论 -
Linux中POSIX 多线程技术-学习笔记(九)
1、概念:线程是一个进程内部的控制序列,是轻量级进程。也有PCB,创建线程使用的底层函数和进程一样,都是克隆。2、线程与进程关系(1)进程有自己的PCB空间及自己独立的共享地址空间;线程有自己的PCB空间但无自己独立的共享地址空间(2)CPU执行时以线程为最小执行单位。进程是最小的分配资源的单位。(3)可以把进程看成一个只有一个线程的进程。程序可看成一个主线程(进程)3、线程:用于执行...原创 2019-08-18 01:34:41 · 223 阅读 · 0 评论 -
Linux中网络基础和SOCKET-学习笔记(八)
1、协议概念指定规则:先传输文件名,再传输文件大小,最后传输数据。如ftp协议,传输固定数据,遵守一定的格式。标准协议:如http、tcp/ip,arp等。2、网络设计模式c/s架构:client/server 特点:要求开发客户端和服务端,协议采用自定义方式;必须先下载客户端,数据提前缓存好。 不足:安全性不高;开发工作量大b/s架构:web...原创 2019-08-17 20:05:38 · 186 阅读 · 0 评论 -
Linux中进程间通信(POSIX IPC)-学习笔记(七)
一、内存共享映射1、mmap(1)将磁盘文件的一部分直接映射到内存(2)映射机制 share:内存修改,磁盘跟着修改,磁盘修改内存跟着修改 private:内存当中的数据发生变化,不影响磁盘空间2、munmap -->解除映射3、mmap函数(1)参数1:内存的地址位于哪个位置 1)设置多少合适 1)null,系统会帮找一块内存空间(2)参数2...原创 2019-08-15 01:02:11 · 461 阅读 · 0 评论 -
Linux中信号-学习笔记(五)
一、概念:信号是UNIX系统响应某些状况而产生的事件,进程在接收到信号时会采取相应的行动。信号是因为某些错误条件而产生的,比如内存段冲突、浮点处理器错误或者非法指令等。1、分类:分为软中断和硬中断产生的信号,其中软中断实际为借助硬件手段完成。2、特点 1)简单;2)不能携带大量信息;3)满足某个条件才发送。3、特质 由于信号通过软件方法实现,具有很强延时性对用户来讲,时间...原创 2019-08-13 18:26:20 · 553 阅读 · 0 评论 -
Linux中进程管理(二)-学习笔记(四)
1、僵尸进程和孤儿进程僵尸进程: 当子进程退出时,父进程没有收回子进程资源(PCB),则子进程变为僵尸进程。 孤儿进程: 当父进程先于子进程结束,则子进程变为孤儿进程,子进程的父进程成为1号进程init进程,称为init进程,领养孤儿进程。//程序1 清理僵尸进程(回收子进程)#include <stdio.h>#include <fcntl.h>#inc...原创 2019-08-13 18:25:58 · 162 阅读 · 0 评论 -
Linux中设备与文件IO-学习笔记(二)
1、设备或文件操作两种方式: 1)用户编程接口 API 2)系统调用2、文件描述符fd1)每个进程PCB结构中有文件描述符指针,指向files_struct的文件描述符表,记录每个进程打开的文件列表2)系统内核不允许应用程序访问进程的文件描述符表,只返回这些结构的索引即文件描述符ID(File Description)给应用程序3)Linux系统中,应用程序通过这些文件描述符...原创 2019-08-13 18:24:17 · 402 阅读 · 0 评论 -
FFmpeg基础编程-学习笔记(十二)
首语:学习三步:是什么?怎么用?为什么?一、概念1、FFmpeg:(1)FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec。(2)FFmpeg是领先的多媒体框架,提供音视频的编解码播放等功能,支持几乎所有音视频格式。含有多个模块库,如AVFormate,AVCodec,AVFilter,AVDivic...原创 2019-09-13 15:37:02 · 435 阅读 · 0 评论 -
Linux中管道-学习笔记(六)
1、匿名管道(1)确定通信方向:1)父写子读,关闭父读,关闭子写 2)子写父读,关闭子读,关闭父写(2)好处:确定,经典(3)注意事项:1)写端关闭,读端仍然在读,则读完管道中的内容后再次读时,读到EOF,返回0。2)写端未写完数据,写端暂无数据但未关闭,则读端将数据读完,再次去读时,发生阻塞。3)读端关闭,写端写数据到管道,进程产生SIGPIPE信号,默认写进程会终止进程4...原创 2019-08-13 21:57:29 · 255 阅读 · 0 评论 -
虚拟机Fedora中电脑接入手机热点,输入ifconfig命令之后,只有2行 Inet6或一行inet6在列表信息中,没有出现ipv4的一种解决方式
今天在虚拟机Fedora连接网络过程中,终端输入ifconfig之后一直出现2个inet6,没有inet4,查询CSDN各种解决方法之后,输入命令的方式还是没有解决这个问题,无意中发现手动连接解决了这个问题,具体方式如下:虚拟机Fedora中电脑接入手机热点后输入命令ifconfig之后,没有出现ipv4,只看到2行Inet6或一行inet6在列表信息中。可以看到,右上角网络没有选择并有个红...原创 2019-07-19 23:04:46 · 1165 阅读 · 0 评论 -
Linux中进程管理(一)-学习笔记(三)
1、虚拟空间当运行内存不够时,磁盘分配一些内存个CPU寄存器,成为虚拟内存。虚拟空间的作用?(1)方便编译器和操作系统安排程序的地址分布(2)方便进程之间的隔离(3)方便内存管理2、进程的产生父进程和子进程用法实例//程序1 产生父进程和子进程#include <unistd.h>#include <stdlib.h>#incl...原创 2019-08-13 18:25:24 · 158 阅读 · 0 评论 -
Linux中shell编程-学习笔记(一)
1、虚拟机中shell是什么?有什么作用?概念:shell是用户和Linux内核之间的接口程序,是内核的外层,shell作为操作系统的外层,为用户提供操作系统的接口。目前常用的shell 为bash 。shell是解释执行的脚本语言(脚本语言即不用编译就可以执行的语言),在shell 中可以调用Linux系统命令。shell是一个命令语言解释器,有自己的内建命令解释集,用户在提示符后输入的...原创 2019-08-13 18:23:43 · 474 阅读 · 0 评论 -
Linux中POSIX IPC(二)和线程同步(2)-学习笔记(十一)
一、条件变量:1、概念:用线程间共享的全局变量进行同步的机制。条件变量是用来等待事件。条件变量给多个线程提供了一个汇合的场所。2、原理:在线程间同步时,自动阻塞一个线程,直到某些条件满足被唤醒,通常与互斥锁一同被使用。3、函数:(1)初始化条件变量int pthread_cond_init(pthread_cond_t *cond,pthread_condattr_t *cond_...原创 2019-08-18 14:57:34 · 172 阅读 · 0 评论