操作系统之进程的描述与控制

一.程序执行

1. 程序顺序执行
特征:
(1)顺序性 : 每一操作必须在下一操作开始之前结束。
(2)封闭性 : 程序运行时独占全机资源,一旦执行,执行结果不受外界影响。
(3)可再现性:只要执行时的环境和初始条件相同,不论过程怎样,结果一样。
2. 程序的并发执行
特征:
( 1 )间断性:由于并发进程之间形成了相互制约关系,是并发进程具有
“执行———暂停———-执行”这种间断性的活动规律。
(2)失去封闭性:进程会受到资源和环境影响。
(3)不可再现性:由于失去了封闭性,也将导致其失去可再现性,其计算结果必将与并发程序的执行速度有关。

二 . 进程的描述

1**. 进程的定义**
为了使程序并发执行,并且可以对并发执行的程序加以描述和控制,引入了”进程“的概念。
定义:
(1)进程是程序的一次执行。
(2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。

  1. 进程的基本状态
    (1)进程的三种基本状态
    ①就绪态:已经处于准备好的状态,只要在获得CPU就可以执行。
    ②执行态:指进程已经获得CPU,其程序正在执行的状态。
    ③阻塞态:正在执行的进程由于发生某些事件(I/O请求与,申请缓冲失败)暂时无法继续执行,排入阻塞队列。
    (2)挂起操作(原语Suspend)
    ①活动就绪–>静止就绪
    ②活动阻塞–>静止阻塞
    反之用原语Active
  2. 进程管理中的数据结构
    内存: 内存表 设备: 设备表 文件: 文件表 进程: 进程表(PCB)
    (1)PCB的作用
    ①作为独立运行基本单位的标志。
    ②能实现间断性运行方式。
    ③提供进程管理所需要的信息。
    ④提供进程调度所需要的信息。
    ⑤实现与其他进程的同步与通信。
    (2)PCB信息
    ①进程标识符(内部,外部)
    ②处理机状态。
    ③进程调度信息。
    ④进程控制信息。
    (2)进程控制块的组织方式
    ①线性方式。构造线性表,简单,但是每次查找需要扫描整张表。
    ②链接方式。把相同状态的的进程PCB链接成一个队列。
    ③索引方式。索引表中几率相应状态的某个PCB和其首地址。

三. 进程控制

  1. 操作系统内核
    (1)支撑功能
    ①中断处理。是内核最基本功能,是整个操作系统赖以活动的基础。
    ②时钟管理。基本功能,如在时间骗轮转调度中,时间片完,便让时钟管理产生一个中断信号。
    ③原语操作。要么全做,要么全不做,不可分割,常驻内存。

(2)资源管理功能
①进程管理
②存储器管理
③设备管理

(3)引起进程创建事件
①用户登录。登录成功,系统将为用户建立一个进程。
②作业调度。调入内存,创建进程。
③提供服务。
④应用请求。

(4)进程的创建
①申请空白PCB。为新进程申请获得唯一数字标志符,从PCB集合中索取空白PCB。
②为新进程分配其所需要的资源。
③初始化进程控制块(PCB)。
④如果进程就绪队列能够接纳新进程,便将其插入。

三. 线程的基本概念

线程: 比进程更小的基本单位,用来提高程序并发执行的速度。
1. 线程的引入
(1)进程的两个基本属性
①进程是一个可拥有资源的独立单位,一个进程要能独立运行,必须拥有一定的资源。
②进程同时又是一个可独立调度和分派的基本单位,每个进程在系统中有唯一的PCB,系统可根据PCB对进程进行调度。
(2)程序并发执行所需时空开销
①创建进程。
②撤销进程。
③进程切换
程序并发执行对进程的时空开销太大,限制进程数目,而且进程切换不宜过于频繁,限制了并发进程的进一步提高。
(3)线程
线程 : 把进程的两个属性分开来,而作为调度和分派的基本单位的就是线程
2. 线程与进程的比较
(1)调度的基本单位
传统OS:独立调度和分派的基本单位—–进程
引入线程后,独立调度和分派的基本单位—–线程,线程切换代价远远低于进程,同一进程切换线程*不会引起进程的切换,而不在同一进程线程*切换则会。
(2)并发性
不仅进程之间可以并发,线程也能并发执行(不管同一进程还是不是同一进程),使OS更具并发性。
(3)拥有资源
进程可以拥有资源,并作为系统拥有资源的基本单位;而线程本身并不拥有系统资源(仅有一点保证独立运行的资源)
( 4 )独立性
同一进程内的不同线程之间的独立性比不同进程之间的独立性低得多(前者通常共享很多资源和空间)
(5)系统开销
创建或者撤销进程的系统开销远大于创建或者撤销线程的开销,一些OS中,线程的切换,同步,通信都无需内核干预。
(6)支持多处理机系统
传统进程(单线程进程)只能在一个处理机上运行;而多线程进程,可以将一个进程的多个线程分配到多个处理机上,使它们并发执行,加速了进程的执行。
3. 线程运行三个状态
执行,就绪,阻塞和进程一样
4. 线程控制块TCB
5. 多线程OS中的进程属性
(1)进程是一个可拥有资源的基本单位。
(2)多个线程可并发执行。
(3)进程不是可执行的实体。在多线程OS中,把线程作为调度的基本单位,进程不在是一个可执行的实体,但仍有与执行相关的状态,如:进程处于“执行”状态,实际是指进程中某线程正在执行;进程挂起–>所有线程挂起。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值