摘要: 系统调用  在系统中真正被所有进程都使用的内核通信方式是系统调用。例如当进程请求内核服务时,就使用的是系统调用。一般情况下,进程是不能够存取系统内核的。它不能存取内核使用的内存段,也不能调用内核函数,CPU的硬件结构保证了这一点。只有系统调用是一个例外。进程使用寄存器中适当的值跳转到内核中事先定义好的代码中执行,(当然,这些代码是只读的)。在Intel结构的计算机中,这是由中断0x80实现的。进程... 阅读全文
posted @ 2010-09-23 16:46 浪里飞 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 当一个任务(进程)执行系统调用而执行内核代码时,称进程处于内核内核态,此时处理器处于特权级最高的(0级)内核代码中执行,当进程处于内核态时,执行的内核代码会使用当前进程的内核栈,每个进程都有自己的内核栈。当进程执行用户代码时,称其处于用户态,此时处理器在特权级最低的(3级)用户代码中运行。 当正在执行用户程序而突然被中断程序中断时,此时用户程序也可以象征性地称为处于进程的内核态,因为中断处理程序将... 阅读全文
posted @ 2010-09-23 16:39 浪里飞 阅读(1095) 评论(3) 推荐(0) 编辑
摘要: 进程同步与互斥首先,我们看一个例子:进程P1、P2公用一个变量COUNT,初始值为0P1、P2两个进程的执行顺序是随机的,P1、P2可能顺序执行或交错执行。由图可见,不同的执行顺序,COUNT值会不同,这是不允许的。在多道程序系统中,由于资源共享或进程合作,使进程间形成间接相互制约和直接相互制约关系,这需要用进程互斥与同步机制来协调两种制约关系。1、临界资源:然在多道程序系统中的诸进程可以共享各类... 阅读全文
posted @ 2010-09-23 16:12 浪里飞 阅读(3001) 评论(0) 推荐(0) 编辑
摘要: 要留给Fedora安装的空间必须是没有被分配的,也就是说利用分区工具(如Acronis)将E盘删除,即该段空间不分配给任何盘符。  由于MBR块的容量有限,一个硬盘最多只能分成4个分区P+P+P+P或P+P+P+E,其中P为主分区,E为扩展分区(只能有1个扩展分区),而扩展分区可以分为多个逻辑分区供我们使用。在xp下我已经有1个主分区(C)和1个扩展分(D、E),所以在Fedora分区的时候最多只... 阅读全文
posted @ 2010-09-23 15:06 浪里飞 阅读(2148) 评论(0) 推荐(0) 编辑
摘要: # 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。# 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。# 信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时... 阅读全文
posted @ 2010-09-23 14:54 浪里飞 阅读(195057) 评论(3) 推荐(10) 编辑