摘要: 定义:进程是程序执行时的一个实例。所有进程都有一个父进程。当一个进程创建时,它几乎与父进程相同。她接受父进程地址空间的一个拷贝,并从进行创建系统调用的下一条指令开始执行与父进程相同的代码。尽管父子进程可以共享含有程序代码的页,但是他们各自有独立的数据拷贝。进程描述符 进程状态。进程状态是互斥的。 ... 阅读全文
posted @ 2014-05-19 17:38 Homura 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 当使用80x86微处理器时,我们必须区分三种地址:1.逻辑地址(logical address) 包含在机器语言指令中用来指定一个操作数或者一条指令的地址。由一个段(segment)和偏移量(offset)组成。2.线性地址(linear addres,也称虚拟地址 virtual address... 阅读全文
posted @ 2014-05-19 15:40 Homura 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 一个典型的快速排序如下QUICKSORT(A, p, r)if (p < r) then q <- PARTITION(A, p, r) QUICKSORT(A, p, q-1) QUICKSORT(A, q+1, r)显然在最底层一个函数返回之前,栈的深度为length(A).其实其中一个递归可以去掉。QUICKSORT2(A, p, r)while (p < r) then q <- random(p, r) QUICKSORT2(A, p, q-1) p = q+1在最后一个函数返回之前,栈的深度为lg(length(A)).简单分析:我们把每一次函... 阅读全文
posted @ 2013-10-25 00:06 Homura 阅读(1537) 评论(0) 推荐(0) 编辑
摘要: 通过比较元素的大小的排序算法的运行时间下界为NlgN(可以用决策树来证明)但是满足某些条件的序列可以达到线性。假设序列A有N个元素,这N个元素都是大于1小于K的整数。伪代码如下,A[N], B[K], C[N],C[N]为排序结果for i 2N.仔细分析一下,这算法如此高效的原因在于每个元素的相对位置不会变化(在a右边的数不会跑到a左边)。而在比较算法里面就保证不了这种情形。我们称之为算法的稳定性。 阅读全文
posted @ 2013-10-22 23:56 Homura 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 1.指定缺省值 :- :=echo "${color:-blue}"输出为 bluecolor=redecho "${color:-blue}"输出为 red:- 和 := 效果是一样的2.覆盖 :+color=redecho "${color:+blue}"输出为 blue3.检查是否存在 :?color5=redecho "${color5:?blue}"输出为 redunset color5echo "${color5:?blue}"输出为-bash: color5: blue变量配置方式 阅读全文
posted @ 2013-10-20 17:32 Homura 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 1.SHELL 下关闭/etc/inputrc 加了set bell-style none,重启2.vim 里面关闭.vimrc,加上set vb使用visualbeep(闪屏)。如果连闪屏也不想要,set vb t_vb=这声音是虚拟终端收到控制字符才发出的,一劳永逸的方法是在虚拟终端的软件上面关掉。SecureCRT, opption->session options,把audio bell前面的勾去掉就行。 阅读全文
posted @ 2013-10-19 23:21 Homura 阅读(525) 评论(0) 推荐(0) 编辑
摘要: 环境:vmware 8, linux RedHat Enterprise 6.41.正确安装vmware和linux 虚拟机2.打开VMware,选择菜单VM-Settings,选中网卡,在右边的network connection选项下,选中NAT。3.打开VM-Edit,选择Virtual Network Editor。在弹出的窗口里选择 VMnet8, 点击NAT settings。在弹出的窗口里能看到NAT虚拟服务器的相关信息。4.设置linux的ip和网关。IP设置为和NAT虚拟服务器的同一网段,网关和NAT虚拟服务器的一致。重启network service即可。5.物理机相关的网 阅读全文
posted @ 2013-10-19 02:22 Homura 阅读(940) 评论(0) 推荐(0) 编辑
摘要: 算法导论课后习题 5.1-2描述RANDOM(a,b)的一个实现。只调用RANDOM(0,1)。RANDOM(0, b-a) =∑b-aRANDOM(0, 1)RANDOM(a,b) = a + RANDOM(0, b-a) =∑b-aRANDOM(0, 1) 阅读全文
posted @ 2013-10-18 00:25 Homura 阅读(240) 评论(0) 推荐(0) 编辑
摘要: Find命令的一般形式为:find pathname -options [-print -exec -ok]让我们来看看该命令的参数:pathname find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。-print find命令将匹配的文件输出到标准输出。-exec find命令对匹配的文件执行该参数所给出的s h e l l命令。相应命令的形式为'command' {} \;,注意{ }和\;之间的空格。-ok 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执 阅读全文
posted @ 2013-10-17 00:17 Homura 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 求一个字符串S的全排列.假设字符串的长度为N。问题可以分解为确定了第一个字符,求后面N-1个字符的全排列递归来解决。递归的关键在于第一个字符有N种选择。递归表达式为T(N) = N * T(N-1), T(1) =1void swap(char *a, char *b){ char c; if (a == b) return; c = *a; *a = *b; *b = c;}void func(char *s){ int i, len = strlen(s); ... 阅读全文
posted @ 2013-10-16 21:09 Homura 阅读(131) 评论(0) 推荐(0) 编辑