自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

开坦克的飞行员

一名安防小码农

  • 博客(15)
  • 资源 (6)
  • 收藏
  • 关注

原创 linux多线程程序设计

1、核心理论为什么需要线程? 为了提高完成一个任务的速度,我们创建了多个进程去完成一个任务,但是多个进程间有相同的地方(例如代码相同,所使用的数据相同),同时工作时就造成了资源的浪费;为了避免资源浪费,我们进程间相同的部分分割出来,不同的部分就形成了一个小小的线程。线程概念(特点): · 线程就是“轻量级”的进程。(linux中不存在线程这个机制) · 线程与创建他的进程共享代码段、数据段

2015-11-17 18:42:47 587

原创 linux进程间的通信--共享内存

1.核心理论共享内存概念:共享内存是IPC机制中的一种。顾名思义,它允许两个不相关的进程访问同一段内存,这是传递数据的一种非常有效的方式。 通俗的讲,共享内存就是进程A产生的数据放在内存中某个位置,进程B可以从这个内存位置访问B产生的数据2.函数学习共享建立内存步骤:新建共享内存块→映射到进程内存空间→断开与进程的联系→删除共享内存块创建共享内存 函数名:shmget 函数原型:int

2015-11-17 18:28:28 412

原创 linux进程间的通信--信号量同步

1.核心理论进程的同步:是指一组并发的进程互相合作互相等待,使得各进程按照一定的顺序执行的过程叫做进程同步。同步与互斥的区别:同步时信号量初始值为0,互斥时信号量初始值大于0。 解释:如果用信号量互斥的话,必须是生产者进程先执行。如果采用信号量同步的话,那么那么生产者和消费者的执行顺序不影响结果2.进程同步编程实例消费者与生产者的关系 生产者进程:创建一个文件,向文件中写入字符,二者之间

2015-11-17 17:13:24 1544

原创 linux进程间的通信机制--信号量互斥

1.核心理论进程互斥:多个并发的进程互相排斥的按照一定的先后顺序访问临街资源的过程叫做进程互斥。信号量的实质:数字信号量的操作:获取信号量(减法),释放信号量(加法)。信号量概念:信号量又名信号灯,与其他进程间的通信方式大不相同,主要用途是保护临界资源(进程互斥)。此外进程可以根据它判定是否能够访问某些共享资源。除了用于访问控制外,还用于进程同步。信号量分类:二值信号灯:信号灯的值只能取

2015-11-16 18:46:12 904 1

原创 linux进程间的通信机制——信号

1.核心理论信号:在linux中信号是一个古老的进程间的通讯机制,就像古代烽火台所起到的传递信号的作用一样。信号处理流程 信号通讯机制就分为三步:选择信号→发送信号→处理信号信号类型 linux系统支持的所有信号均定义在usr/include/asm/signal.h中,其中常见的信号有: SIGKILL:杀死进程 SIGSTOP:暂停进程 SIGCHLD:子进程停止货结束时用来通知

2015-11-15 16:56:26 385

原创 linux进程通信-有名管道

1.核心理论:有名管道:有名管道又称FIFO文件,因此我们对有名管道的操作可以采用操作文件的方法,如使用open 、read 、write等函数。fifo文件与普通文件的对比 FIFO文件 普通文件 读取FIFO文件的进程只能以“RDONLY“方式打开fifo文件 任意方式 写FIFO 文件的进程只能以“WRONLY”方式打开fifo文件 任意方式 fifo文件读取后就消

2015-11-14 12:27:54 624

原创 linux进程间的通信-无名管道

1.linux进程间通讯(IPC)的主要方式:无名管道(pipe)有名管道(FIFO)信号(signal)消息队列共享内存信号量套接字(socket)注意:学习进程间的通信重点在每种通讯方式所适用的场景和其使用方法。2.管道通信一个进程在管道的尾部写入数据,另一个进程从管道的头部读出数据。管道包括无名管道和有名管道两种,前者只能用于父进程和子进程间的通讯,后者可用于运行于同一系统中的

2015-11-14 12:04:44 390

原创 linux进程相关函数

1.获取进程号获取当前进程号 函数名 :getpid 原型:pid_t getpid(void) 所属库文件:sys/types.h 、unistd.h 参数:无参数 功能:返回当前进程ID 返回值:成功返回当前ID,该函数always successful获取父进程号: 函数名 :getppid 原型:pid_t getppid(void) 所属库文件:sys/types.h

2015-11-13 13:43:24 612

原创 linux进程相关概念

1.基本概念进程定义:进程是一个具有独立功能的程序的一次运行活动。进程特点:动态型、并发性、独立性、异步性进程三态: 进程ID(PID):标识进程的唯一数字 父进程ID:PPID 启动进程的用户ID : UID进程互斥:当多个进程使用同一个资源,且该资源同一时刻只允许一个进程使用时,那么其他的进程必须等待到该资源释放后才能使用,这种情形叫做进程互斥。临界资源:某个时刻只允许一个进程访问

2015-11-13 12:03:02 683

原创 GDB使用方法

1.GDB的功能2.GDB的使用方法3.gdb常用命令使用方法

2015-11-12 18:36:35 592

原创 linux应用程序内存布局

1.linux应用程序内存布局从低地址到高地址分别为:代码段、数据段、BSS段、堆、栈对向高内存地址生长,栈想低内存地址生长linux中所有的应用程序都是这个布局,每个应用程序都是从0x80480000这个地址开始的,这样冲突吗?不冲突,因为这个地址是一个虚拟地址,linux中每个应用程序都有自己的虚拟地址空间。2.2.查看linux中应用程序内存布局方 法:通过查看应用程序进程中的进程地址

2015-11-10 18:15:44 3262

原创 linux中静态库的制作

1、linux中应用程序函数调用分为两种:库函数:运行于用户空间系统调用:运行与内核空间2.函数库分类静态链接库 在编译(即编译期链接)其将其打包到应用程序,如果多个程序调用同一个函数时,会造成内存资源的浪费,但是可移植性。动态链接库 在调用时(即调用是链接),将其拷贝到内存,多个应用程序(多进程)可以调用同一个库函数的拷贝;节约内存,但是不可移植。存放位置 linux中应用程序的

2015-11-10 18:05:13 630

原创 原子操作

1.原子变量:原子操作函数所使用的变量。 变量定义在内核源码:include/linux/Types.h中typedef struct { int counter;} atomic_t;2.原子操作: 原子操作从物理意义上来理解就是,操作的最小单位,不能在分割了。顾名思义,原子操作,就是对原子变量的操作,它将对一个数据的“读取→修改→回写”变成了一个不可打断的操作。它的执行是封闭的,不

2015-11-08 13:11:08 602

原创 进程上下文与中断上下文的理解

一.什么是内核态和用户态内核态:在内核空间执行,通常是驱动程序,中断相关程序,内核调度程序,内存管理及其操作程序。用户态:用户程序运行空间。二.什么是进程上下文与中断上下文1.进程上下文:(1)进程上文:其是指进程由用户态切换到内核态是需要保存用户态时cpu寄存器中的值,进程状态以及堆栈上的内容,即保存当前进程的进程上下文,以便再次执行该进程时,能够恢复切换时的状态,继续执行。(2)进程下文:其是指

2015-11-06 17:03:17 10155 6

原创 C语言关键字解析(一)

我参加嵌入式软件开发的笔试时,经常会遇到直接或者间接考察对C语言中一些关键字含义的理解,所以今天我就简单的总结一下。1.关键字static(1)保持变量持久。在函数体内,一个被声明为静态变量的变量,在这个变量被调用的过程中保持其实上次调用后的值,并不会被初始化。该变量在程序开始运行时就被初始化,也是唯一的一次初始化。其存储在全局存储区。 file1.c#include <stdio.h>int p

2015-11-04 13:49:17 724

briss-0.9切边工具及使用方法

briss-0.9切边工具及使用方法

2018-01-21

串口工具secureCRT和putty

附件包含绿色版的串口工具secureCRT和putty

2017-03-08

mnist数据集

官网下载的mnist数据集,caffe训练使用;压缩包中包含 train-images-idx3-ubyte.gz、train-labels-idx1-ubyte.gz、t10k-images-idx3-ubyte.gz、t10k-labels-idx1-ubyte.gz 四个数据包。

2017-03-08

SourceInsight4.082

最新版SourceInsight4.082,解决中文搜索和中文编码乱码问题,界面也有所改变。

2017-02-24

mini2440配置文件

这个文件是把linux移植到arm mini2440开发板上的配置文件,该文件配置是配置了linux最基本的功能

2016-01-02

TFTP客户端

tftp客户端软件,实现linux客户机与服务器端的文件传输功能。

2015-12-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除