随笔分类 - unix
摘要:原文地址:http://www.dutor.net/index.php/2009/07/linux-timer/Linux 定时器Linux 为每个进程提供了三个定时器:ITIMER_REAL: 给一个指定的时间间隔,按照实际的时间来计数,发出SIGALRM信号;ITIMER_VIRTUAL: 当进程执行的时候才计数,发出SIGVTALRM信号;ITIMER_PROF: 当进程执行或者是系统为进程调度的时候计数,发出SIGPROF信号。这个和ITIMER_VIRTUAL联合,常用来计算系统内核时间和用户时间。两个提供定时参数的结构体定义:strcut timeval{ //~ 秒 long t
阅读全文
摘要:参考地址:http://hi.baidu.com/luxey/blog/item/41c802085918a1980a7b8292.html#include<unistd.h>#include<signal.h>void handler() { printf("hello\n");}main(){ int i; signal(SIGALRM,handler); alarm(5); for(i=1;i<7;i++) { printf("sleep %d ...\n",i); sleep(1); }} 1. alarm(设置信号
阅读全文
摘要:原文地址:http://www.cnblogs.com/feisky/archive/2009/10/23/1588737.html所谓系统调用是指操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务。例如用户可以通过进程控制相关的系统调用来创建进程、实现进程调度、进程管理等。在这里,为什么用户程序不能直接访问系统内核提供的服务呢?这是由于在 Linux 中,为了更好地保护内核空间,将程序的运行空间分为内核空间和用户空间(也就是常称的内核态和用户态),它们分别运行在不同的级别上,在逻辑上是相互隔离的。因此,用户进程在通常情况下不允许访问内核
阅读全文
摘要:原文地址:http://www.cnblogs.com/feisky/archive/2009/10/25/1589613.html 进程是程序的一次执行, 是运行在自己的虚拟地址空间的一个具有独立功能的程序. 进程是分配和释放资源的基本单位, 当程序执行时, 系统创建进程, 分配内存和 CPU 等资源; 进程结束时, 系统回收这些资源。 进程由PCB(进程控制块)来描述:进程id。系统中每个进程有唯一的id,在C语言中用pid_t类型表示,其实就是一个非负整数。进程的状态,有运行、挂起、停止、僵尸等状态。进程切换时需要保存和恢复的一些CPU寄存器。描述虚拟地址空间的信息。描述控制终端的信息。
阅读全文
摘要:原文地址:http://www.cnblogs.com/feisky/archive/2009/11/11/1600986.htmlLinux提供了内存映射函数mmap, 它把文件内容映射到一段内存上(准确说是虚拟内存上), 通过对这段内存的读取和修改, 实现对文件的读取和修改, 先来看一下mmap的函数声明:头文件:<unistd.h><sys/mman.h>原型: void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offsize);返回值: 成功则返回映射区起始地址, 失
阅读全文
摘要:client.c#include <stdio.h> #include <sys/socket.h> #include <arpa/inet.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <netinet/in.h> #define BUFFSIZE 32 void Die(char *mess) { perror(mess); exit(1); } int main(int argc, char *argv[])
阅读全文