操作系统:操作系统是管理计算机硬件和软件资源的计算机程序。操作系统需要处理如管理和配置内存,决定系统供需的优先次序,控制输入输出设备、操作网络与文件管理系统等基本事务。操作系统也提供一个用户与系统交互的界面。
- 进程是计算机中的程序关于某数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。
- 线程是进程的一个实体,是CPU调度和分派的基本单位。进程可与同属于一个进程的其他线程共享进程所拥有的全部资源。
🌟 一、进程和线程的区别和联系
(1)调度方面。在传统的操作系统中,拥有独立资源和独立调度的基本单位都是进程。在引入线程的操作系统中,线程是独立调度的基本单位,进程是拥有资源的基本单位。在同一进程中,线程的切换不会引起进程的切换,在不同进程中进行线程切换,会引起进程切换。
(2)拥有资源。不论是传统操作系统还是设有线程的操作系统,进程都是拥有资源的基本单位,而进程不拥有系统资源,但线程可以访问其隶属进程拥有的资源。
(3)并发性。在引入线程的操作系统中,不仅进程之间可以并发执行,而且同一进程中的线程之间也可以并发执行。
(4)系统开销。由于创建进程或撤销进程时,系统都要为之分配或者回收资源,操作系统所付出的资源远远大于创建或撤销线程时的开销。在进行进程的切换时,涉及到整个当前CPU环境的保护和新调度到新进程的CPU环境设置;而线程切换时,只需要保护和设置少量寄存器内存,因此开销很小。另外,由于同一进程中的线程共享进程的地址空间,因此多进程之间的同步和通信非常容易实现,甚至无需操作系统的干预。
🌟二、进程中包含什么?
(1)进程控制块PCB:进程存在的唯一标识,包括进程描述信息、控制信息、资源分配信息等
(2)程序段:能被进程调度到CPU执行的代码
(3)数据段:进程对应的程序加工处理的原始数据
🌟三、计算机中数据传输的控制方式有哪几种
- 轮询(程序控制方式)是对I/O设备的程序轮询方式,是早期的计算机系统对I/O设备的管理方式。CPU定时对各种设备轮流询问一遍有无处理要求。轮流询问之后,有要求的就加以处理。若无处理要求或者要求处理完毕,即转而询问下一个I/O设备。
- 中断是指I/O设备准备好数据后,向CPU发送中断请求。CPU在正常执行程序过程中,执行完一条现行指令后,查询是否存在中断指令,若检测到中断指令,即保存现场,随即转而处理中断指令,中断指令执行完毕后返回原程序。在处理中断过程中,CPU不受理另一个中断的请求,中断处理结束后,开放中断并返回原来被中断程序的下一条指令。
- DMA(直接内存存取)方式。
🌟四、中断和轮询区别
(1)速度:由于程序控制方式完全采用软件的方式对外设接口进行控制,所以它的硬件就是普通的端口读写,其速度由总线传输速度、端口响应速度决定。中断处理方式本身所作的原子操作解释和程序控制方式是一致的,只不过加入了中断请求和响应机制,对端口状态的判断变成了中断入口地址的确定。从本质来讲,中断处理方式和程序控制方式本身的速度指标一致,没有太大差别。
(2)可靠性:
- 程序控制方式:由于硬件不支持中断方式,因此操作系统把CPU控制权交给应用程序后,只要应用程序不交还CPU控制权,操作系统就始终不能恢复对系统的控制。(应用程序和操作系统都是软件模块,而操作系统属于核心模块,它们之间存在CPU控制权的关系。)因此,使用对外设的程序控制方式,一旦应用程序发生死锁,则操作系统永远无法恢复对系统的控制。应用程序故障通过外设控制方式波及到作为核心模块的操作系统,因此,根据关联可靠性指标的计算可知,程序控制方式的关联可靠性很低。
- 中断处理方式:由于定时处理中断,操作系统可以在应用程序当前时间片结束后通过中断服务程序重新获得对CPU的控制权。应用程序的故障不会波及到操作系统,因此中断处理方式的关联可靠指标高。
(3)可拓展性 - 程序控制方式:由于所用应用程序中都包含对端口的操作,一旦硬件接口的设计发生变化,则所有应用程序必须进行修改,这会使修改费用升高很多倍,因此,程序控制方式会使相关硬件模块的局部修改指标相对较低。
- 中断处理方式:应用程序不是直接处理端口,对端口的操作由中断程序来完成。如果某个硬件接口的设计发生了变化,只要修改其相关的中断程序即可。因此中断处理程序使得相关硬件模块的局部修改指标较高。
(4)生命期 - 程序控制方式在早期的计算机系统中能够满足应用需求,但是随着外部设备的增多、速度差异的加大,这种方式逐渐成为系统性能提高的障碍。它的生命期仅限于早期计算机阶段,现代计算机中已经很少应用。
- 中断处理方式能够协调CPU与外设之间的速度差异,对于慢速设备和设备故障的处理,中断方式的处理仍是最有效的,因此只要慢速设备保持存在,中断处理方式就有其使用的意义。
网友评论