一、进程的三种基本运行状态
1.执行:指进程获得cpu资源,正在执行中。
2.就绪:指进程除了cpu以外的资源都已具备,万事俱备,只差cpu。
3.阻塞:指CPU中的进程因为某种原因而无法继续执行下去的状态,此时一般通过进程调度将CPU分配给另一就绪进程。
二、进程的特殊状态
挂起:为了满足用户的某种需求,比如对进程进行检查,便要先将正在运行的进程暂停,或是将就绪的进程改成暂不接受CPU的状态。相应的,被挂起的进程也可被激活。继续执行或是返回就绪队列。
三、进程之间的通信
既然进程是为并发性而设计的,那么不同进程在并发执行时,应当能够知晓彼此之间的运行信息,以避免冲突。
下面是几种主要的通信方式:
1.共享资源:当一个进程对共享资源进行修改时,另一进程能获得这一修改的信息。
2.管道:用于读进程和写进程之间。管道是一个共享文件。写进程向该文件中输入数据,读进程从该文件中读出数据。
3.消息传递:指一个进程将数据封装入消息中,该消息在进程之间进行通信。消息可直接发送给目标进程,也可以装在一个中转站(邮箱)中,等待有需要的进程来取。
4.套接字(socket):以上三种主要用于同一主机中不同进程间的通信,而套接字用于不同主机间的进程通信。套接字是一种数据结构,里面包含了不同计算机进程间通信所需的全部信息。两个不同的进程分配一对套接字,每对套接字都是唯一的。确保了通信的准确性。
四、进程的同步
所谓进程的同步,其实就是并发进程间按照一定的规则对计算机资源进行占用。通常采用信号量机制,比如用信号量实现进程之间的互斥。即给临界(互斥)资源设置一个信号量,比如设置为1,当有一个进程正在访问时,1变成0,这样其余进程就知道该资源无法被访问,直到信号量再度变成1。也可用信号量实现进程之间的前驱关系。这样来看,所谓进程同步,可以解释为进程之间的关系。
菜鸡的计算机操作系统学习之路(三)了解进程
最新推荐文章于 2022-05-15 17:21:40 发布