2.1进程与线程

脑图

在这里插入图片描述

一些概念和错题知识点整理

  • 创建进程实质上是创建进程映像中的PCB撤销进程实质上是撤销进程的PCB
  • 进程映像静态的,进程动态
  • 进程控制用的程序段称为原语,它是不可分割的基本单位
  • 允许一个进程创建另一个进程,创建者为父进程,被创建者为子进程
  • Block原语和Wakeup原语是一对作用刚好相反的原语,必须成对使用。Block是由被阻塞进程自我调用实现的,而Wakeup原语是一个与被唤醒进程合作或被其他相关进程调用实现的
  • 进程切换处理机模式切换是不同的,模式切换无须改变当前进程的环境信息进程切换需要改变当前环境信息
  • 调度是决定资源分配给哪个进程的行为,是一种决策行为切换是实际分配的行为,是执行行为。一般来说先有资源的调度,才有进程的切换
  • 并发进程失去封闭性是指并发进程共享变量,其执行结果与速度有关
  • 一个计算机系统中,进程最大数目主要受内存大小限制

简答题

1.进程和程序之间可以形成一对一、一对多、多对多的关系,请分别举例说明在什么情况下会形成这样的关系

执行一条命令或运行一个应用程序时,进程和程序之间形成一对一的关系。进程在执行过程中可以加载执行不同的应用程序,从而形成一对多的关系;以不同的参数或数据多次执行同一个应用程序,形成多对一的关系;并发地执行不同的应用程序时,形成多对多的关系

2.父进程创建子进程和主程序调用子程序有何不同

父进程创建子进程后,父进程与子进程同时执行(并发)。主程序调用子程序后,主程序暂时停在调用点,子程序开始执行,直到子程序返回,主程序才开始执行

3.为什么进程之间的通信必须借助于操作系统的内核功能?简单说明进程通信的几种主要方式

每个进程都有自己独立的地址空间。在操作系统和硬件的地址保护机制下,进程无法访问其他进程的地址空间,所以必须借助于操作系统的系统调用函数实现进程之间的通信。进程通信的主要方式有:

  • 1.共享内存区
  • 2.消息传递
  • 3.管道系统
  • 4.共享文件

4.什么是多线程?多线程与多任务有什么区别?

多线程是指在一个程序中可以定义多个线程并同时运行他们,每个线程可以执行不同的任务。
多线程与多任务的区别:多任务是针对操作系统而言的,代表操作系统可以同时执行的程序个数,多线程是针对一个程序而言的,代表一个程序可以同时执行的线程个数,而每个线程可以完成不同的任务

5.回答下列问题

1)若系统中没有运行进程,是否一定没有就绪进程?为什么?

是。若操作系统中未运行进程,则系统会选择一个就绪进程运行。只有就有队列中无进程时,CPU才会处于空闲状态

2)若系统中既没有运行进程,又没有就绪进程,系统中是否就没有进程?为什么?

不一定。因为系统中的所有进程可能都处于等待态,可能处于死锁状态,也可能因为等待的时间未发生而进入循环等待态

3)在采用优先级进程调度时,运行进程是否一定是系统中优先级最高的进程?

不一定。因为高优先级的进程有可能正处在等待队列中,进程调度会从就绪队列中选择一个进程占用CPU,这个被选中的进程可能优先级较低

6.现代操作系统一般都提供多线程运行环境,回答以下问题

1)为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构?
2)为支持进程状态的变迁,系统至少应提供哪些进程控制原语?
3)执行每个进程控制原语时,进程状态发生什么变化?相应数据结构发生什么变化?
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天地神仙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值