
嵌入式Linux应用
Flypei
这个作者很懒,什么都没留下…
展开
-
时间编程
日历时间、格林威治时间原创 2017-07-19 16:18:11 · 453 阅读 · 0 评论 -
IPC之管道编程(1)
1、IPCIPC:是指进程间通信(Inter Process Cnmunication)。进程间相互通信的方式主要有以下6种: (1)管道(pipe)和有名管道(FIFO)。 (2)信号(signal) (3)消息队列 (4)共享内存 (5)信号量 (6)套接字(socket)2、进行进程间通信的目的(1)数据传输:一个进程需要将它的数据发送给另一个进程。 (2)资源共享:多个进程之间原创 2017-07-30 00:47:33 · 745 阅读 · 0 评论 -
IPC之信号编程(2)
1、信号通信信号(signal)机制是Unix系统最为古老的进程间通信机制,很多条件可以产生信号: (1)单用户按某些按键时,产生信号。 (2)硬件异常产生信号:除数为0、无效的存储访问等等。这些情况由硬件检测到,将其通知内核,然后内核产生适当的信号通知进程,例如,内核对正在访问一个无效存储区的进程产生一个SIGEGV信号。 (3)进程用 kill 函数将信号发送给另一个进程。 (4)用户可原创 2017-07-30 12:08:50 · 296 阅读 · 0 评论 -
IPC之共享内存(3)
1、共享内存共享内存是被多个进程共享的一部分物理内存。共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存写入一段数据,共享这个区域的所有进程就能立刻其中的内容。2、共享内存实现(1)创建共享内存,使用shmget函数。#include <sys/shm.h> int shmget(key_t key, size_t size, int shmflg);key:当 key 取值为 IPC_P原创 2017-07-30 17:43:05 · 266 阅读 · 0 评论 -
文件编程之系统调用
1、系统调用接口大多数文件I/O只需要用到5个函数:open、read、write、lseek 以及 close。这些函数经常被称为不带缓冲的I/O(unbuffer I/O)。术语不带缓冲的是指每个read和write都直接调用内核的一个系统调用。 创建文件函数:#include <fcntl.h> int creat(const char *pathname, mode_t mode);pat原创 2017-07-17 00:01:32 · 353 阅读 · 0 评论 -
文件编程之C库函数
1、打开流prototype:#include <stdio.h> FILE *fopen(const char *restrict pathname, const char restrict type);fopen 打开路径名为 pathname 的一个指定的文件; type参数指定该I/O流的读、写方式,ISO C 规定可以有15种不同值。 type 说明 open标志 r或rb原创 2017-07-18 18:41:21 · 279 阅读 · 0 评论 -
进程控制
1、进程标识#include <unistd.h> pid_t getpid(void); //返回值:调用进程的进程ID pid_t getppid(void); //返回值:调用进程的父进程ID2、进程等待#include <sys/wait.h> pid_t wait(int *staloc);功能:阻塞该进程,直到某个子进程退出3、进程创建#include <uinstd.h>原创 2017-07-23 19:37:43 · 218 阅读 · 0 评论 -
IPC之消息队列(4)
1、消息队列(1)消息队列产生原因 Unix早期通信机制之一的信号能够传送的信息量有限,管道则只能传送无格式的字节流,这无疑会给应用程序开发带来不便。而消息队列(也叫报文队列)则克服了这些缺点。(2)什么是消息队列 消息队列就是一个消息的链表。可以把消息看作一个记录,具有特定的格式以及特定的优先级。对消息队列有写权限的进程可以向消息队列中按照一定的规则添加新消息;对消息队列有读权限的进程则可以从原创 2017-08-06 00:04:30 · 266 阅读 · 0 评论