linux程序设计
crowd2019
这个作者很懒,什么都没留下…
展开
-
linux 进线程间通信
信号:由一个进程发送给另一个进程,可作为进程间传递消息或修改行为的一种方式。信号集:多个信号组成的集合。信号量(线程信号量):用于线程间同步与互斥。(与进程信号量不同)互斥锁:用于线程间同步与互斥。信号量(进程信号量,也可叫做信号量集):用于进程间同步与互斥。(与线程信号量不同)消息队列:共享内存:管道:套接字:原创 2015-11-24 19:33:34 · 344 阅读 · 0 评论 -
linux socket
#include #include int socket(int domain, int type, int protocol);域(domain),又称协议族(protocal family),指定套接字通信中使用的网络介质类型。如AF_UNIX(UNIX文件系统套接字)、AF_INET(UNIX网络套接字)、AF_INET6(用于IPv6)、AF_ISO(ISO标准协议)等。最常用原创 2015-11-24 19:09:21 · 306 阅读 · 0 评论 -
linux select 系统调用
select 系统调用允许程序同时在多个底层文件描述符上等待输入的到达(或输出的完成,或产生错误信息)。这意味着终端仿真程序可以一直阻塞到有事情可做为止。类似地,服务器也可以通过同时在多个打开的套接字上等待请求到来的方法来处理多个客户。 select 函数对数据结构 fd_set 进行操作,它是由打开的文件描述符构成的集合。有一组定义好的宏可以用来控制这些集合:原创 2015-11-24 17:49:47 · 810 阅读 · 0 评论 -
va_list
va_list 是C语言中解决变参问题的一组宏,这些宏定义在 stdarg.h 文件中,所以用到可变参数的程序应该包含这个头文件。va,variable argument,可变参数。写可变参数的C函数要在程序中用到以下这些宏: void va_start( va_listarg_ptr, prev_param ); type va_arg( va_listarg原创 2016-06-13 16:24:45 · 300 阅读 · 0 评论 -
vfprintf
vprintf是一个函数,功能是送格式化输出到stdout中。printf的功能就是用它来实现的,所不同的是,它用一个参数取代了变长参数表,且此参数是通过调用va_start宏进行初始化。同样,vfprintf和vsprintf函数分别与fprintf和sprintf函数类似。用 法: int vprintf(char *format, va_list param);示例:原创 2016-06-13 16:44:37 · 991 阅读 · 0 评论 -
linux系统启动流程
内核空间启动主要流程:1、init/main.c start_kernel()2、init/main.c rest_init()3、init/main.c kernel_init()4、init/main.c init_post()内核至用户空间启动主要流程:1、如果bootloader设置了启动参数,则将"rdinit = "参数赋予ramdisk_execute_...转载 2016-06-21 14:39:20 · 498 阅读 · 0 评论 -
/etc/inittab
Linux完成内核(Kernel)引导后,会开始运行init程序。init程序的进程号始终为1,是所有系统进程的起点。init程序需要读取配置文件/etc/inittab。/etc/inittab是一个不可执行的文本文件,它由若干行指令组成,描述在系统引导及其他操作期间, 都启动哪些进程。在inittab文件中,以#开头的所有行都是注释行。/etc/inittab文件格式:l...转载 2016-06-21 16:01:28 · 383 阅读 · 0 评论