- 博客(16)
- 收藏
- 关注
原创 NS学习笔记
NS 基本概念节点(node):相当于一个主机代理(agent):相当于协议应用(application):相当于应用程序使用NS模拟网络时,需要先定义相关的节点set no [$ns node],然后定义节点间的链路带宽:$ns duplex-link $n0 $n1 1Mb 1ms DropTail发送数据就是在指定的协议上用指定的应用程序发送,这和网络上计算机之
2012-04-25 16:04:44 474
转载 [diameter] difference between offline charging and online charging
Online Charging is the name used by 3GPP for pre-paid charging in the IMS scope. It is the charging which occurs in real-time, where the service cost is deducted from the user balance (which has been
2012-04-01 16:58:29 2670
原创 sigsuspend 用于等待信号处理程序设置全局变量
#include #include #include #include #include #include extern int errno;volatile sig_atomic_t quitflag;static void sig_int(int signo){ if(signo == SIGINT) { printf("INTER
2012-03-26 09:55:38 312
原创 sigsetjmp & siglongjmp
sigsetjmp和siglongjmp用于在信号处理程序中进行非局部跳,而不应该使用setjmp和longjmp函数原型:NAME setjmp, sigsetjmp - save stack context for non-local gotoSYNOPSIS #include int setjmp(jmp_buf env);
2012-03-25 15:03:20 412
原创 用sigaction实现signal
#include #include #include #include typedef void (*sig_handler_t)(int);void sig_int(int signo);sig_handler_t signal(int signo, sig_handler_t func);void sig_int(int signo){ printf("caug
2012-03-25 14:16:17 316
原创 可重入函数
可重入函数主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的。也可以这样理解,重入即表示重复进入,首先它意味着这个函数可以被中
2012-03-23 20:37:08 211
转载 setsid()
守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进 程。 Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。 比如,作业规划进程crond,打印进程lpd等。守护进程的编程本身并不复杂,复杂的是各种版本的U
2012-03-22 08:57:53 249
原创 ubuntu 安装ssh服务
最近想搞搞android,安装了ubuntu之后发现系统没有安装ssh,没事,用apt-getsudo apt-get install openssh-server
2012-03-11 18:45:27 198
原创 solution for git clone SSL certificate problem
1、using export GIT_SSL_NO_VERIFY=true to ignore the ssl certificate verification:
2012-03-05 22:09:12 402
原创 child的宿命
previous on process:linux进程创建可以使用fork和vfork进程在创建后有三种命运:destiny one:正常情况此时子进程先于父进程死亡,父进程调用wait或者wait_pid为其收尸。#include #include #include #include #include extern int errno;int main()
2012-02-23 13:25:08 218
原创 linux创建线程之vfork
相对于fork,vfork在创建线程时不会将父进程的地址空间完全拷贝过来,相反是在父进程的地址空间里运行的,因此对父进程变量的修改会在父进程体现出来。另外vfork可以保证子进程先于父进程执行,此时如果子进程依赖父进程的某些条件可能会产生死锁。函数原型#include #include pid_t vfork(void)返回值:子进程返回0,父进程返回子进程pid
2012-02-22 19:41:55 957
原创 linux 创建进程
虽然现在说的都是线程,和进程相比线程的确有不可比拟的优势,但是有些时候使用进程也是很有必要的,具体情况具体分析。linux下线程的创建使用fork系统调用函数原型:pid_t fork(void)函数返回值:父进程返回子进程pid,子进程中返回0,出错返回-1使用fork创建子进程时会拷贝父进程的资源,包括堆、栈和数据空间,现代系统都使用写时拷贝技术,也就是copy-o
2012-02-22 16:37:53 244
转载 vim 快捷键
vim undo 可以使用下面的命令:u 撤销最后执行的命令U 修正之前对该行的操作Ctrl+R redovim 大小写切换,针对单个字符:~查找和替换:/pattern 从光标开始处向文件尾搜索pattern?pattern
2012-02-18 21:40:05 254
原创 socket常用地址定义
ipv4/* Address to accept any incoming messages. */#define INADDR_ANY ((unsigned long int) 0x00000000)/* Address to send to all hosts. */#define INADDR_BROADCAST ((unsigned
2012-02-13 14:56:43 425
原创 socket 地址结构体定义
IPV4struct sockaddr_in { __kernel_sa_family_t sin_family; /* Address family */ __be16 sin_port; /* Port number */ struct in_addr sin_addr; /* Interne
2012-02-13 14:16:49 600
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人