自定义博客皮肤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)
  • 资源 (1)
  • 收藏
  • 关注

原创 21、网络IPC:套接字(2)

1、数据传输//发送数据,成功返回发送的字节数//发送成功只能表示数据已经无错误的发送到网络驱动程序上ssize_t send(int sockfd, const void *buf, size_t nbytes, int flags);//sendto可以为无连接的套接字指定一个目标地址//面向连接的套接字连接中隐含目标地址ssize_t sendto(int sockfd, const

2017-10-26 20:39:07 160

原创 20、网络IPC:套接字(1)

1、套接字是通信端点的抽象。//创建套接字,成功则返回描述符int socket(int domain, int type, int protocol);(1)domain域确定通信的特性,如地址格式,AF=address familyAF_INET IPv4因特网域AF_INET6 IPv4因特网域AF_UNIX UNIX域AF_UNSPEC 未指定(2)typ

2017-10-25 20:25:47 236

原创 19、进程间通信(2)

1、3种被称为XSI IPC的IPC:信号量、消息队列、以及共享存储器。每个IPC结构都用一个非负整数的标识符加以引用。每个对象都与一个键key相关联,这个键作为对象的外部名。使客户进程和服务器进程在同一IPC上汇聚的方法: (1)服务器进程指定键IPC_PRIVATE创建一个新IPC结构,将返回的标识符存放在某处(如一个文件)以便客户进程取用。 (2)在一个公共头文件中定义一个客户进程和服务器

2017-10-24 09:47:18 141

原创 18、进程间通信IPC(1)

1、IPC包括:管道、FIFO、消息队列、信号量、共享存储以及套接字机制的网络IPC。 2、每当在管道中键入一个命令序列,让shell执行时,shell都会为每一条命令单独创建一个进程,然后用管道将前一条命令进程的标准输出与后一条命令的标准输入相连接。//创建管道,fd[0]为读而打开,fd[1]为写而打开。fd[1]的输出是fd[0]的输入。int pipe(int fd[2]); 3、po

2017-10-22 14:19:41 229

转载 mmap和read、write

在介绍mmap和read/write之前,首先先要介绍一下基础知识,其中包括磁盘,文件系统,内存。      首先说一下文件系统,linux文件系统的三层结构想必大家多少都了解一些,每个进程中都有一个用户文件描述符表,表项指向一个全局的文件表中的某个表项,文件表表项有一个指向内存inode的指针,每个inode唯一标识一个文件。如果同时有多个进程打开同一文件,他们的用户文件描述符表项指向不同的文件

2017-10-21 22:44:07 494

原创 17、高级IO

1、低速系统调用是可能会使进程永远阻塞的一类系统调用,包括: (1)管道、终端设备和网络设备等文件的数据不存在,读操作可能会使调用者永远阻塞。 (2)数据不能被相同的文件类型立即接受(如管道中无空间、网络流控制),写操作可能会使调用者永远阻塞。 (3)在某些条件之前打开某些文件类型可能会发生阻塞。 …. 2、非阻塞IO使我们可以发出open、read和write这样的IO操作,并使这些操作

2017-10-21 16:20:56 153

原创 16、守护进程

1、SID:会话ID,即会话首进程ID。父进程为0的各进程通常是内核进程,内核进程存在于系统的整个生命周期,以root权限允许,无控制终端,无命令行。2、Linux使用kthreadd内核进程来创建其他内核进程。init PID=1,是系统守护进程,负责启动各运行层次特定的系统服务。inetd负责侦听网络接口,以便取得来自网络的各种网络服务进程的请求。cron守护进程在定期安排的日期和时间执行命令。

2017-10-18 14:48:31 200

原创 15、线程控制

1、属性对象对应用程序来说是不透明的。这意味着应用程序并不需要了解相关属性对象的内部结构的详细细节,这增加了应用程序的可移植性。取而代之的是,需要提供相应的函数来管理这些属性对象。2、线程属性int pthread_attr_init(pthread_attr_t *attr);int pthread_attr_destroy(pthread_attr_t *attr);//线程状态:分离还是可获

2017-10-17 14:19:21 142

原创 14、线程(2)

1、带超时的互斥量//等待的时间是绝对时间int pthread_mutex_timedlock(pthread_mutex_t *restrict mutex, const struct timespec *restrict tsptr);2、读写锁 写加锁只有一个线程可以,读加锁所有线程都可以(读加锁后在想写加锁不可以)。//初始化静态分配定义PTHREAD_RWLOCK_INITIALI

2017-10-16 20:14:15 191

原创 13、线程(1)

1、多个进程使用操作系统提供的复杂机制才能实现内存和文件描述符的共享。每个线程都包含有表示执行环境所必须的信息,其中包括进程中标志线程的线程ID、一组寄存器值、栈、调度优先级和策略、信号屏蔽字、errno变量以及线程私有数据。一个进程的所有信息对该进程的所有线程都是共享的,包括执行程序的代码、程序的全局内存和堆内存、栈以及文件描述符。2、线程ID只有在它所属的进程上下文中才有意义。Linux使用无符

2017-10-15 16:21:28 130

原创 12、信号(2)

1、信号被屏蔽后无法捕获,但是没有消失,5s后恢复则立即捕获到#include "apue.h"static void sig_quit(int);int main(void){ sigset_t newmask, oldmask, pendmask; if(signal(SIGQUIT, sig_quit)==SIG_ERR)

2017-10-15 10:17:34 275

原创 11、信号(1)

1、进程调用kill函数将任一信号发送给另一进程或进程组。当信号出现可以告诉内核以3种方式处理:(1)忽略信号;(2)捕捉信号,kill默认发送的是SIGTERM终止信号,不能捕获SIGKILL和SIGSTOP信号;(3)执行系统默认动作,“终止+core”表示在进程当前工作目录的core文件中复制了该进程的内存映像。大多数UNIX系统调试程序都使用core文件检查进程终止时的状态。2、signal

2017-10-13 09:24:14 1170

原创 最小二乘法分析

分类:预测的变量是离散的 回归:预测的变量是连续的极大似然估计:就是利用已知的样本结果信息,反推最具有可能(最大概率)导致这些样本结果出现的模型参数值。P(model|observation) 求给定当前观测值observation,该模型分布密度函数取最大值,即适合最多样本。 根据贝叶斯原理: P(model|observation) = [ P(observation|model) *

2017-10-11 14:44:53 1993

原创 10、进程关系

1、终端登录 本地和远程登录都经内核中的终端设备驱动程序。 (1)本地终端登录     终端设备文件中,每个终端设备都有一行,每一行说明设备名和传到getty程序的参数。     系统自举时,init进程(ID=1)使系统进入多用户模式,读取终端设备文件,对每一个允许登录的终端设备调用一次fork,生成的子进程exec getty程序(以空环境运行)。此时所有进程的实际用户ID和有效用户ID

2017-10-10 20:03:16 202

原创 9、进程控制(2)

1、实际用户ID是用户登录时,由login程序设置的,login是一个超级用户进程。只有对程序文件设置了设置用户ID位时,exec函数才设置有效用户ID,即exec可以改变有效用户ID。保存的设置用户ID从有效用户ID复制得到。   普通用户可以将其有效用户ID设置为其实际用户ID或保存的设置用户ID。(自己设置自己)//设置有效ID#include <unistd.h>int seteuid

2017-10-08 15:36:12 190

基于实时操作系统utenux真实抢答机制设计

实现处理器为STM32F103ZET6,裁判任务通过串口公布题目并进行5秒倒计时,若5秒内无人抢答则进入下一题。选手1,2,3通过三个按键进行抢答,抢到者通过串口输入答案。裁判通过串口判断正误。题目答玩输出排名和各选手的分数。主要用到:事件标志组,消息邮箱,软件定时器,端口集合点。

2017-07-12

空空如也

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

TA关注的人

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