一,信号集及相关操作函数 信号集被定义为一种数据类型: typedef struct { unsigned long sig[_NSIG_WORDS]: } sigset_t 信号集用来描述信号的集合,每个信号占用一位(64位).Linux所支持的所有信号可以全部或部分的出现在信号集中,主要与信号阻塞相关函数配合使用.下面是为信号集操作定义的相关函数: #include <signal.h> int sigemptyset(sigset_t *set): int sigfillset(sigs…
信号在内核中的表示 执行信号的处理动作成为信号递达(Delivery),信号从产生到递达之间的状态称为信号未决(Pending).进程可以选择阻塞(Block)某个信号. 被阻塞的信号产生时将保持在未决状态,直到进程解除对此信号的阻塞,才执行递达的动作 注意:阻塞和忽略是不同的,只要信号被阻塞就不会递达,而忽略是在递达之后可选的一种处理动作 ①PCB进程控制块中有信号屏蔽状态字(block),信号未决状态字(pending)还有是否忽略标识 ②信号屏蔽状态字(block):1代表阻塞,0代表不阻…
执行信号的处理动作称为信号递达(Delivery),信号从产生到递达之间的状态,称为信号未决(Pending). 进程可以选择阻塞(Block)某个信号.被阻塞的信号产生时将保持在未决状态,直到进程解除对此信号的阻塞,才执行递达的动作.注意,阻塞和忽略是不同,只要信号被阻塞就不会递达,而忽略是在递达之后可选的一种处理动作. 1:PCB进程控制块中函数有信号屏蔽状态字(block)信号未决状态字(pending)还有是否忽略标志(或是信号处理函数):block状态字.pending状态字 64bi…
知识点 程序与程序(Process and Program) 通过执行一条指令或程序,则可以触发一个事件,并获得一个PID.当我们需要启动一个程序时,我们是启动一个二进制文件(binary file),因此可以说,二进制文件就是程序. 当执行者执行一个程序时,该程序就有了执行者的权限,并被加载到内存当中来运行.程序被加载进内存当中的不仅只有程序代码,程序在内存当中的内容有 程序的PID 执行者的权限属性参数 程序所需的代码与相关资料 这里对两种程序作一下区分(Process and Progra…
前段时间看APUE,确实比较详细,不过过于详细了,当成工具书倒是比较合适,还是读一读这种培训机构的书籍,进度会比较快,遇到问题时再回去翻翻APUE,这样的效率可能更高一些. <嵌入式linux应用程序开发标准教程>的前几章没必要看了,都是写浅显的知识点,从第六章文件IO编程开始记录笔记.后期再根据APUE的内容进行补充和扩展. 一.linux系统调用及API 1. 系统调用 linux分为内核空间和用户空间,用户空间无法直接访问内核空间.内核通过系统调用为用户提供服务,很精简,大约250个左右…
什么是信号? 信号是 Linux 进程间通信的最古老的方式.信号是url=474nN303T2Oe2ehYZjkrggeXCaJPDSrmM5Unoh4TTuty4wSgS0nl4-vl43AGMFbo0_5uH5OQFr_vaRJaZ-3lq_" style="color:rgb(202,0,0); text-decoration:none">软件中断,它是在软件层次上对中断机制的一种模拟,是一种异步通信的方式 . 信号能够导致一个正在执行的进程被还有一个正在执行的异…
在看韦东山视频linux驱动方面有一些吃力,究其原因,虽然接触过linux应用程序编程,但是没有深入去理解,相关函数用法不清楚,正好看到国嵌视频对这一方面讲的比较透彻, 所以把学习过程记录下来,也作为linux应用程序开发的一个系列吧! 文件编程有两种方式,一是系统调用方式,二是库函数调用. 前者依赖特定的平台,后者不依赖平台. 系统调用:创建 int creat(const char *filename,mode_t mode); filename:要创建的文件名 mode:创建模式 S_IR…
http://blog.chinaunix.net/uid-20733992-id-3447120.html http://blog.chinaunix.net/space.php?uid=16480950&do=blog&id=103598   原文见:http://www.cppblog.com/flashboy/articles/47012.html1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要…
进程控制 1.进程概述现代操作系统的特点在于程序的并行执行.Linux是一个多用户多任务的操作系统.ps .pstree 查看进程进程除了进程id外还有一些其他标识信息,可以通过相应的函数获得.// 这些函数在unistd.h里声明. 2.Linux进程的结构Linux一个进程由3部分组成:代码段,数据段,堆栈段.代码段存放可执行代码数据段存放程序的全局变量,常量,静态变量堆栈段存放动态分配的内存变量,堆栈中的栈用于函数调用,存放着函数的参数,函数内部定义的局部变量. 3.Linux进程的状态 …
问题聚焦:     除了网络通信外,服务器程序通常还必须考虑许多其他细节问题,这些细节问题涉及面逛且零碎,而且基本上是模板式的,所以称之为服务器程序规范.     工欲善其事,必先利其器,这篇主要来探讨服务器程序的一些主要规范. 概览: Linux服务器程序一般以后台程序的形式运行,后台进程又称为守护进程. Linux服务器程序一般以某个专门的非root身份运行. Linux服务器程序通常是可配置的,命令行或者配置文件的形式. Linux服务器程序通常会在启动的时候生成一个PID文件,以记录该后…