OS第二章王道练习题 2.1进程与线程

2.1进程与线程

  1. 进程与程序最根本的区别是动态和静态特点(动态性是进程最重要的特性,以此来区分文件形式的程序。OS引入进程的概念的目的是为了从变化的角度动态地分析和研究程序的执行)
  2. 一个进程的状态变化不一定引起另一个进程的状态变化(例如,由阻塞态变成就绪态就不会引起其他进程状态变化)
  3. 一个进程释放了一台打印机,他可能会改变另外一个等待打印机的状态,它自身的状态也可能改变,但是这并不是由释放打印机引起的,相反,是因为运行完成了才释放了打印机。
  4. 进程失去封闭性”是指并发进程共享变量,执行结果与速度有关,(假如A等于B或C的结果加一,那么B执行的快的话,A就等于B加一,否则就是C加一,所以执行结果与速度有关)。
    进程的封闭性是指,进程的执行结果只取决于进程本身,不受外界影响。也就是说,进程在执行过程中,不管是走走停停还是不停顿地执行,进程的执行速度都不会改变它的执行结果。失去封闭性后,不同速度下的执行结果不同。
    程序并发的特点:
    间断性。程序并发时,它们共享系统中的资源或者为完成同一个任务相互合作,致使在并发当中形成某种制约关系(比如刚刚举的例子S4中的S3没有算出,S4的执行必须等待),所以并发进程具有“执行 - 暂停 - 执行”间断性活动。因此也叫制约性。
    失去封闭性。多道程序共享系统中某个资源,因而这些资源由多个程序改变,所以程序在执行期间容易受到其他程序的影响。(就看起来不是相互独立)。
    不可再现性。再现性是指程序被重复执行时,只要初始条件相同,那么执行结果必然相同。不可再现性当然就是说执行的结果会受到其他因素的影响。

https://zhuanlan.zhihu.com/p/46995707挑战408——操作系统(3)——程序的并发执行
https://wenku.csdn.net/answer/8dc32228539cc57e709d2b69435aa4fe程序并发执行时会失去封闭性和可再现性,主要是因为并发执行会引入竞态条件和不确定性。当多个线程同时访问共享资源时,由于执行顺序不确定,可能会导致不同的结果。这就会导致程序失去封闭性和可再现性,因为同样的输入可能会产生不同的输出。此外,并发执行还可能会导致死锁和饥饿等问题,进一步影响程序的正确性和可靠性。因此,在编写并发程序时,需要特别注意这些问题,采取合适的同步机制和调度策略,以确保程序的正确性和可靠性。

  1. 进程在处理机上运行时,进程之间可能是无关的,但也有可能是有交互性的

  2. 引入线程后,进程是拥有资源的独立单位,是资源分配的单位;内核级线程是处理机调度和分派的基本单位。
    实在混淆的话,就记住:
    进程----------…资源…分配
    线程----------…处理机…分派

  3. 进程的优先级在PCB内
    共享正文段:常量、全局变量
    堆段:动态分配的存储区
    栈段:临时使用的变量

  4. 进程实体主要是代码、数据、PCB
    PCB:进程控制信息、进程标志信息、进程资源信息、CPU现场信息
    9.一个计算机系统中,进程的最大数目主要受内存大小控制,(进程创建需要占用系统内存来存放PCB的数据结构),与打开的文件数、用户数、外部设备数量无关。

10.在具有通道设备的单处理器系统中实现并发技术后,各个进程在某一时间段内并发运行,CPU和I/O并行工作。(因为是单处理器,某一时刻只能有一个进程上处理机,也是因为CPU和I/O并行工作才能使各进程并发执行。

11.同一个进程或不同进程内的线程都可以并发执行,(在引入线程后,进程退化为资源分配的基本单位,而线程代替了进程被操作系统调度,因而线程可以并发执行)

12.管道也是一种文件

13.采用轮转调度法,进程中设置用户级线程和内核级线程的效果完全不同,(如果分别设置100个用户级线程和100个内核级线程,则前者的执行时间是后者的100倍,因为后者可以连上100台打印机直接打印,但是前者只能连一台打印机慢慢打印)

14.CPU调度是在内核上进行的,在内核级线程中,调度是在线程一级进行的,因此内核可以同时调度同一进程的多个线程在CPU上并行运行。

15.创建新进程的操作:
用户登录
作业调度:多道批处理系统,作业从外存调到内存
提供服务:用户向OS提出请求的时候,OS会创建一个进程处理该请求
应用请求:向用户进程主动请求创建一个子进程
启动程序执行
但是设备分配不会创建一个新进程,因为设备分配是在系统中设置相应的数据结构实现的。

16.一个进程的读磁盘操作完成后,操作系统针对该进程必做的是修改进程状态:阻塞态-----> 就绪态,(进程申请读磁盘,要等I/O操作完成,会把自身阻塞…

17.管道是一种固定大小的缓冲区,管道的大小通常为内存的一页,其大小并不是受磁盘容量大小限制。

18.内核级线程的管理工作由操作系统内核完成
用户级线程的管理工作由应用程序负责
在这里插入图片描述
19.父进程与子进程会共享一部分资源,但不是能共享虚拟地址空间,在创建子进程时,会为子进程分配资源,如虚拟地址空间等。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值