操作系统原理学习_第三周(下)_进程
发布日期:2022-02-10 11:37:04 浏览次数:49 分类:技术文章

本文共 2198 字,大约阅读时间需要 7 分钟。

3-5 进程操作

1.进程控制

①进程有生命周期:产生、运行、暂停、终止。对进程的这些操作叫进程控制。

②进程控制的职责是对系统中进程实施有效的管理,它是CPU的管理的一部分(还有进程同步、通信和调度)。

③当系统允许多进程并发执行时,为了实现共享,协调并发进程的关系,处理机管理必须对进场实施有效的管理。

 

2.进程创建的情况

①作业调度:在批处理系统中,作业调度程序调度到某个作业以后,就把这个作业装入内存,并分配必要的资源,创建进程,插入就绪队列。

②用户登录:在分时系统中,用户在终端键入登录命令后,若是合法用户,系统建立一个进程,并插入就绪队列。

③提供服务:用户向系统提出请求后,系统专门建立一个进程为用户服务(如打印请求)。

④应用请求:应用进程的需要,由它自己创建一个新进程,使新进程以并发运行的方式完成特定的任务。(如输入数据并将处理结果输出到表格上)。

 

3.典型的UNIX系统中的进程树

父进程创建了子进程,如此轮流创建进程下去,构成一棵进程树。

 

4.进程创建的问题

①资源共享 Resource Sharing,三种可能:

  • 父进程和子进程共享所有的资源
  • 子进程共享父进程资源的子集
  • 父进程和子进程无资源共享

②执行 Execution

  • 父进程和子进程并发执行
  • 父进程等待,直到子进程终止

③地址空间 Address Space

  • 子女复制双亲(两者地址空间一样)
  • 子女有一个程序被调入(不一样) Child has a program loaded into it.

 

3-6 进程创建

1.进程创建 UNIX例子 Process Creation

①在UNIX中用户键入一个命令(如date,ps,ls),shell就创建一个进程。

②fork系统调用创建新进程。

③在fork之后采用ececlp系统调用用一个新程序代替进程的内存空间。

 

2.进程终止 Process Termination

①进程执行最后一项并询问操作系统做出决定,从子进程向父进程输出数据,操作系统收回进程的资源。

②父进程可中止子进程的执行(终止)的情况:

  • 子进程超量分配资源
  • 赋予子进程的任务不再需要
  • 父进程终止,若父进程终止,不允许子进程继续(级联终止)

 

3.进程阻塞 Process Blocking

一个处在运行状态的进程,因等待某个事件发生(如等待打印机)而不能继续运行时,将调用阻塞原语,把进程置为阻塞状态,并转程度调度程序(等于让出处理机)。

调用进程阻塞操作是进程处于运行状态下执行的,它的执行将引起等待某事件的队列的改变。

 

4.进程唤醒

①当进程所等待的事件发生时,该进程将被唤醒(由进程唤醒操作完成)。

②唤醒一个进程有两种方法:

  • 由系统进程唤醒
  • 由事件发生进程唤醒

 

3-7 进程通信:共享存储

生产者——消费者问题

思考问题:缓冲区buffer容量为n,为什么至多n-1可用?

 

3-8 消息传递

1.若P与Q要通信:

①建立通信连接

  • 物理的,如共享存储,硬件总线
  • 逻辑的,逻辑特性

②通过send/receive交换信息

 

2.连接的问题

①连接如何建立

②连接可同多于两个进程相关吗? Can a link be associated with more than two processes?

③每对通信进程有多少连接?

④一个连接的容量是多少?

⑤连接可使用的固定消息大小?或可变消息的大小?

⑥连接是双向的还是无向的。

 

3.直接通信

①进程必须是显示的命名

    send(P,message) 向P发信息

    receive(P,message) 从进程Q接收消息

②通信连接的特性:

  • 连接自动建立
  • 连接精确地与每一对在通信的进程相关
  • 每一对之间存在一个连接
  • 连接可以无向,但通常是双向的

③非对称通信 asymmetric communication

发送信息 send(P,message)

接收 receive(id,message) 不指定接收方

 

4.间接通信

①消息导向至信箱,并从信箱接收(被视作端口)

每一个信信箱有一个唯一的id

仅当共享一个信箱时,进程才能通信

②send(A,message)  从信箱A发出

receive(A,message) 从A接收

③特性

  • 仅当共享一个信箱时,进程才能通信
  • 连接可与多个进程相关
  • 每一对进程可共享多个通信连接(共享多个信箱)
  • 连接可以是无向的或双向的

 

5.操作 operation

  • 创建新信箱
  • 通过信箱发送和接收信息
  • 销毁信箱

 

6信箱共享

P1发送消息到信箱A,P2和P3都可以接收信息,谁收到信息不确定

解决方案:

  • 允许一个连接最多2个进程相关
  • 允许一个时刻有一个进程执行接收操作
  • 允许系统任意的选择接受者,发送者被通知谁是接收者

 

7.同步与异步 Synchronization and Asynchronization

①同步

  • 阻塞的发送,发送者阻塞,发消息后直到被接收才被唤醒
  • 阻塞的接收,接收者阻塞,未接收时阻塞,接收后被唤醒

②异步

  • 非阻塞的发送
  • 非阻塞的接收

 

8.缓冲

消息队列附加在连接上,有以下三种实现方案:

①零容量——0消息 发送者必须等待接收者

②有界容量——n个消息有限长度 若连接满了,发送者必须等待

③无界容量——无限长度 发送者从不等待

 

本文知识以及图片来源:慕课_操作系统原理_田丽华

网址:

转载地址:https://blog.csdn.net/Fan_z_0802/article/details/93759292 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:操作系统原理学习(第二周)_操作系统结构
下一篇:(四)建筑物多边形化简系统——“去尾巴”和分割复杂多边形

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月02日 09时46分50秒