谈谈操作系统的进程
操作系统的定义:==操作系统是是管理系统资源、控制程序执行,改善人机界面,提供各种服务,合理组织计算机工作流程和为用户有效使用计算机提供良好运行环境的一种系统软件。==比如说电脑使用的操作系统:Windows,Linux,Mac,Unix都是一种操作系统,而手机上的操作系统又是:Android,IOS占主流。操作系统是用于管理计算机的资源,分配相应的资源使得计算机可以正常工作。而要一个程序正常运行必须要程序是正常的,且资源足够,一个程序才可以运行。
操作系统是安装在计算机硬件的系统软件,一些实用程序软件安装在操作系统上,使用电脑也就是在程序软件中进行操作,比如:网页浏览,财务管理,记录日志,都是基于程序软件上。
而说到操作系统工作,不可避免的会谈到进程,**进程是操作系统中最基本,最重要的概念,**是用于描述运行程序活动规律而引入的思想。现在多道程序处理已经成了常态,在程序调度时,会经常出现无法合理分配资源而产生的一系列问题。而使用进程恰好可以解决程序之间的资源共享性,从而提高资源利用率,进程就是一个描述程序并发执行,又可以共享系统资源的一个基本单位。
进程五大特性
1,动态性:这里重要体现在程序是一个静态概念,程序在系统中是永远存在的,进程是对程序进行操作,由创建产生,由调度而执行,由事件而等待,由撤销而终结。
2.共享性:进程和程序之间用数据库的话来讲是多对多的关系,表示一个程序在不同数据中构成不同进程,而多个不同的进程可执行相同的程序。
3.独立性:每个进程都是操作系统的一个独立实体,有属于自己的状态。
4.制约性:每个进程因为会和程序进行协同工作会产生相互制约关系,造成进程执行速度会产生不可预测的错误,必须对会产生这些错误的进程改进执行顺序或者对执行速度进行调整。
5.并发性
多个进程在执行的时间上可以重叠,在单处理器上可以进行并发执行,在多处理器环境可并行执行。
并行:并行是指两个或两个以上以上的程序在同一时间使用系统分配的资源执行。
并发:当程序发生事件不具备运行条件时让出占用的CPU,而由另一个程序运行。多个事件或活动在同一时间间隔内发生,一个物理CPU在若干道程序之间多路复用,是对有限物理资源强行使多用户共享以提高效率。
进程的状态
1)运行态(running):进程占用处理器正在运行的状态
2)就绪态(ready):进程具备运行条件,等待系统分配处理器以便运行
3)等待态(wait):又称为阻塞(blocked),指进程不具备运行条件,等待某个进程完成
三个状态的转换:
注意:等待态只能成为就绪态后才可以到达运行态,就绪态不能回到等待态,因为成为就绪态就说明已经分配资源,分配资源是不能回退的。
影响进程的运行顺序
1)进程优先级
进程的优先级是根据用户指定现在的进程紧急状态,一般进程都是按顺序进行的,就像一台打印机,在打印任务时,都是按一个一个来,但是当有紧急时间需要处理时,这时会让紧急事件先执行。
2)进程的上下文
记录进程中断时,程序执行过程的一些信息,CPU内部的一系列寄存器的值。(寄存器主要作用是保存当前进程执行的中间结果,包括进程运行的指令)
3)进程的控制与管理
对进程调度的信息进行记录,对不需要的进程进行处理,对需要增加的资源进行添加,可以有效的提高CPU的利用率。
PCB进程控制块
每个进程有且只有一个进程控制块(Process Control Block),它是进程存在唯一的标识,是操作系统用来记录和刻画进程状态及运行环境的数据结构。
PCB包含的三类信息
1)标识信息:唯一一个可以标识进程的信息,常用的表示信息包括进程ID,进程组标识等。
2)现场信息:进程在运行中保留进程在1运行时放在处理器现场中各种信息。
3)控制信息:控制信息用于管理和调度进程,他包含了一切进程运行产生的问题或者冲突。
虚拟(逻辑)地址是操作系统稳定运行的关键,在进程运行中需要扩展空间,此时操作系统就会提供一个数据结构–》页表,用于存储该进程的物理地址和虚拟地址,通过寻址然后找到该进程。主要作用保护了进程的私密性,可以用于防止修改根本上的物理地址,每个进程都是独立的,大大提升操作系统的“稳定性”。
==进程间通信(Inter Process Communication)==在进程隔离的前提下,寻找一个公共区域,使得两个不同的进程来进行数据交换。操作系统提供通信的方法:管道,消息队列,共享内存,信号交换……
进程和线程
执行一个进程,需要调配大量的资源,而线程就解决了资源不足的问题,线程只需要一小部分资源就可以执行该程序。大大提高了资源的利用率。
比如:在执行同样程序时,进程需要1G,而线程可能只需要300MB,在销毁时,线程需要的成本也相对低。
感谢观看,有用的话,动动你的金手指(☆▽☆)。