
Linux 系统编程
文章平均质量分 76
Chord__
linux 嵌入式
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
linux 进程通信之内存共享
共享内存是系统出于多个进程之间通讯的考虑,而预留的的一块内存区。在/proc/sys/kernel/目录下,记录着共享内存的一些限制,如一个共享内存区的最大字节数shmmax,系统范围内最大共享内存区标识符数shmmni等,可以手工对其调整,但不推荐这样做。一、应用共享内存的使用,主要有以下几个API:ftok()、shmget()、shmat()、shmdt()及shmctl()。1转载 2014-11-26 20:01:09 · 519 阅读 · 0 评论 -
Linux POSIX 消息队列
一.概述 内核经常要推后执行某些代码,如底半部机制就是为了将工作推后执行。timer_list为我们提供一种方式,使工作能够在指定时间点上执行。 定时器使用简单,只须执行一些初始化工作,设置一个超时时间,指定超时发生后执行的函数,然后激活定时器就可以了。 定时器并不是周期运行的,它在超时后就自行销毁,这就是这种定时器被称为动态定时器的原因。动态定时器不断地转载 2017-07-18 11:17:18 · 415 阅读 · 0 评论 -
Linux内核定时器-- timer_list
一.概述 信号量是Linux进程间通信的常用方法之一,这里使用POSIX标准的信号量,而不是System V的。二.头文件linux/timer.h二.结构体数据类型struct timer_list { struct list_head entry; //定时器链表的入口 unsigned long expir原创 2017-04-28 14:05:00 · 681 阅读 · 0 评论 -
Linux信号(signal)
【摘要】本文分析了Linux内核对于信号的实现机制和应用层的相关处理。首先介绍了软中断信号的本质及信号的两种不同分类方法尤其是不可靠信号的原理。接着分析了内核对于信号的处理流程包括信号的触发/注册/执行及注销等。最后介绍了应用层的相关处理,主要包括信号处理函数的安装、信号的发送、屏蔽阻塞等,最后给了几个简单的应用实例。 1 信号本质软中断信号(signal,又简称为信号转载 2017-03-31 13:14:10 · 642 阅读 · 0 评论 -
Linux IPC - POSIX信号量
一.概述 信号量是Linux进程间通信的常用方法之一,这里使用POSIX标准的信号量,而不是System V的。二.函数接口 1.头文件 #include /* For O_* constants */ #include /* For mode const原创 2017-03-28 17:16:55 · 470 阅读 · 0 评论 -
Linux下常用头文件释义
定义全局项current ,其指向结构体struct task_struct 定义结构体task_struct ,只要包含此头文件即可引用当前进程 定义含有可装载模块需要的大量符号和函数 定义初始化和清楚函数 定义错误编码 定义成员访问许可值 定义大部分内核API,包括睡眠函数以及各种变量声明 定转载 2017-02-23 14:03:57 · 480 阅读 · 0 评论 -
linux(ubuntu)下FTP的使用
1.安装、配置FTP服务组件sudo apt-get updatesudo apt-get install vsftpd修改ftp的配置文件 /etc/vsftpd.conflocal_enable=YES write_enable=YES重启FTP服务sudo service vsftpd restart2.命令行FTP操作在shel原创 2017-01-24 15:39:52 · 5770 阅读 · 0 评论 -
Linux socket本地进程间通信
使用套接字除了可以实现网络间不同主机间的通信外,还可以实现同一主机的不同进程间的通信,且建立的通信是双向的通信。socket进程通信与网络通信使用的是统一套接口,只是地址结构与某些参数不同。一、创建socket流程(1)创建socket,类型为AF_LOCAL或AF_UNIX,表示用于进程通信:创建套接字需要使用 socket 系统调用,其原型如下:int转载 2017-02-17 14:58:59 · 1713 阅读 · 1 评论 -
chmod 详解
chmod [options] mode files只能是文件属主或root用户才能使用该功能来改变文件属性。mode可以是数字形式或以who opcode permission形式表示。who是可选的,默认是a(所有用户)。只能选择一个opcode(操作码)。可指定多个mode,以逗号分开。options:-c,--changes只输出被改变文件的信息-f,--silent,-原创 2017-01-18 11:27:18 · 460 阅读 · 0 评论 -
gcc 编译时的 error trying to exec 'cc1plus': execvp: 没有那个文件或目录问题
今天在source insight上建了一个新文件 文件名为unorderedAB.C 这里的是C用的是大写的c,于是再用gcc编译出现这样的错误 error trying to exec 'cc1plus': execvp: 没有那个文件或目录,命令gcc unorderedAB.C -lpthread 用的是和文件名一样的,查了半天也没找出来。网上的回答基本都是:由于gcc版本过低或者是没原创 2014-11-25 18:42:45 · 11274 阅读 · 1 评论 -
pthread_join的段错误
运行的时候能够打出三行AAAA原创 2014-11-24 20:34:07 · 8001 阅读 · 2 评论 -
标准IO--fgets()
函数原型 char * fgets(char * s, int size, FILE *stream); 参数: s: 字符型指针,指向存储读入数据的内存缓冲区的首地址 1. char s[100]; 2.char *s=(char *)malloc(100 * sizeof(char)原创 2014-11-23 12:17:35 · 609 阅读 · 1 评论 -
linux进程与线程
进程与线程 为什么对于大多数合作性任务,多线程比多个独立的进程更优越呢?这是因为,线程共享相同的内存空间。不同的线程可以存取内存中的同一个变量。所以,程序中的所有线程都可以读或写声明过的全局变量。如果曾用fork() 编写过重要代码,就会认识到这个工具的重要性。为什么呢?虽然fork() 允许创建多个进程,但它还会带来以下通信问题:如何让多个进程相互通信,这里每个进程都有各自转载 2014-11-26 15:58:57 · 434 阅读 · 0 评论 -
标准IO和文件IO的比较
作者:王姗姗,华清远见嵌入式学院讲师。先来了解下什么是标准IO以及文件IO。标准IO:标准I/O是ANSI C建立的一个标准I/O模型,是一个标准函数包和stdio.h头文件中的定义,具有一定的可移植性。标准IO库处理很多细节。例如缓存分配,以优化长度执行IO等。标准的IO提供了三种类型的缓存。(1)全缓存:当填满标准IO缓存后才进行实际的IO操作。 (2)行缓存:当输入或转载 2014-12-03 09:44:57 · 1034 阅读 · 0 评论 -
linux dup2函数
一.概述 dup和dup2也是两个非常有用的调用,它们的作用都是用来复制一个文件的描述符。它们经常用来重定向进程的stdin、stdout和stderr。二.头文件unistd.h四.函数接口int dup2(int fd, int fd2);dup2函数成功返回时,目标描述符fd2将变成源描述符fd的复制品,换句话说,两个文件描述符现在都原创 2017-09-22 16:37:56 · 660 阅读 · 0 评论