软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因为内部事件而给进程发送信号,通知进程发生了某个事件。注意,信号只是用来通知某进程发生了什么事件,并不给该进程传递任何数据。简介收到信号的进程对各种信号有不同的处理方法。...
分类:
系统相关 时间:
2014-09-24 17:34:17
阅读次数:
258
学习IBM中国上的文章“系统调用跟我学”系列文章。文章地址为http://www.ibm.com/Search/?q=系统调用跟我学&v=16&en=utf&lang=zh&cc=cn&Search=搜索。 内容包括getpid, fork, exit和_exit,wait,waitpid和ex.....
分类:
系统相关 时间:
2014-09-24 15:41:36
阅读次数:
259
accept()函数 系统调用 accept() 会有点古怪的地方的! 你能够想象发生 这种事情:有人从非常远的地方通过一个你在侦听 (listen()) 的port连接 (connect()) 到你的机器。它的连接将增加到等待接受 (accept()) 的队列 中。 你调用 accep...
分类:
其他好文 时间:
2014-09-23 23:45:05
阅读次数:
150
下图列出了实现插口选项系统调用的函数。本章描述带...
分类:
其他好文 时间:
2014-09-23 23:04:25
阅读次数:
254
fork函数调用特点 一次调用,两个返回 为什么? 每个进程在各自的地址空间中返回---->站在Linux内核角度思考fork调用fork是一个系统调用,在Linux内核中完成fork返回值为什么设计成pid>0是父进程, =0是子进程? 一个父进程可以有N个子进程,父亲找儿子的...
分类:
系统相关 时间:
2014-09-23 18:56:35
阅读次数:
240
brk() , sbrk() 的声明如下:
[cpp]
view plaincopy
#include int brk(void *addr); void *sbrk(intptr_t increment);
首先说明一点 sbrk()是函数库调用,brk()是系统调用
这两个函数都用来改变 "program break" (程序间断点)的位置,这个位置可...
分类:
其他好文 时间:
2014-09-23 14:33:14
阅读次数:
267
如何查看进程发生缺页中断的次数?
用ps -o majflt,minflt -C program命令查看。
majflt代表major fault,中文名叫大错误,minflt代表minor fault,中文名叫小错误。
这两个数值表示一个进程自启动以来所发生的缺页中断的次数。
发成缺页中断后,执行了那些操作?...
分类:
其他好文 时间:
2014-09-23 14:17:14
阅读次数:
256
本文主要分析内存以及I/O相关的系统调用和库函数的实现原理,根据原理给出在使用过程中需要注意的问题和优化的侧重点,本文涉及到的系统调用包括readahead,pread/pwrite,read/write,mmap,readv/writev,sendfile,fsync/fdatasync/msync,shmget,malloc。
本文先简单介绍应用程序对内存的使用以及I/O系统对...
分类:
其他好文 时间:
2014-09-23 12:55:44
阅读次数:
380
一、fork入门知识一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代...
分类:
系统相关 时间:
2014-09-23 12:42:14
阅读次数:
325
进程的创建:fork(),Vfork(),clone()函数创建轻量级进程,使用的参数(fn,flag,arg,child_stack,pid)它负责建立新轻量级进程的堆栈,并调用clone()系统调用,fork()系统调用是用clone()实现的,vfork()系统调用也是用clone()实现的。...
分类:
其他好文 时间:
2014-09-22 16:57:32
阅读次数:
193