Posts process
Post
Cancel

process

进程

概念

进程是现代分时系统的工作单元,是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位

运行中的程序叫做进程,程序是被动的实体,程序本身并不是进程,进程不只是单纯的代码段,还包括堆栈段、数据段等

状态

三态 :就绪态,运行态,阻塞态

五态 :新的,运行,等待,就绪,终止

进程控制块(PCB)

进程在操作系统中用PCB表示,它包含许多与该进程相关的信息,如:进程状态,进程编号,程序计数器,寄存器等等

线程

线程是操作系统中能够运算调度的最小单位,包含在进程中,是进程中单一顺序的控制流

调度队列

进程进入系统后会被加入到作业队列中,该队列包含了系统中的所有进程,该队列通常使用链表来实现,头节点指向第一个和最后一个PCB指针

调度程序

操作系统通过调度程序来从调度队列中选择进程

  • 长期调度程序从内存池中选择进程并装入内存中
  • 短期调度程序从内存中选择程序并为之分配CPU运行

这两个调度程序要相互平衡,使CPU的利用率最大化

  • 短期调度程序的执行频率快
  • 长期调度程序控制多道程序设计的程度,即内存中进程的数量

有的系统会有中期调度程序,中期调度程序将进程从内存移出,降低多道程度

上下文切换

操作系统在进程间频繁切换,所以要保存当前进程的信息,然后中断到其它程序

执行 状态保存 保存上下文,执行 状态恢复 重新开始运行

进程操作

进程创建

进程在执行过程中,可以通过 进程创建系统调用 创建多个子进程

当进程创建新进程时,会有两种可能

  • 父进程和子进程并发执行
  • 父进程等待子进程执行

进程终止

进程完成后会调用 exit() 来请求操作系统删除自身,终止进程,进程可以返回状态值到父进程;如果父进程终止,那么子进程会以init()作为父进程

通信

  • 独立进程:不能影响其它进程或被其它进程影响;反之为协作进程

进程间的通信机制IPC

  • 共享内存
  • 消息传递

消息传递系统

进程间要有通信线路,根据逻辑线路的如何实现,可以划分成如下几种

  • 直接或间接通信
  • 同步或异步通信
  • 自动或显示

直接通信:进程双方直接交换消息

间接通信:进程双方通过邮箱或端口来通信

同步或异步:消息传递可以使阻塞或非阻塞的

自动或显示:交换的消息都驻留在临时队列上,根据,临时队列的容量不同划分

客户机-服务器系统间的通信

socket:只能交换无结构的字节流,程序要负责加上数据结构,属于低级的分布式进程通信

RPC(远程过程调用):RPC语义允许客户机调用位于远程主机的过程,就如同在本地调用一样;在客户机提供存根,RPC隐藏了通信发生的必要细节

RMI(远程方法调用):是一个类似于RPC的Java特性,允许线程调用远程对象的方法;如果对象位于不同的JVM上,就认为是远程的

RMI和RPC的根本性不同:

  • RPC只能调用远程的子程序或函数;RMI可以调用远程对象的方法

  • RPC调用时只能传递的参数只是普通的数据结构;RMI可以传递对象

OLDER POST NEWER POST

Comments powered by Disqus.

Search Results