进线程概述

目录

 

一、进程(定义、组成、组织方式、特征)

二、进程状态与转换

三、进程控制

四、进程通信

五、线程与多线程模型


一、进程(定义、组成、组织方式、特征)

1.进程实体包括程序段、数据段、PCB(进程控制块)。(静态)

2.进程是具有独立功能程序在数据集合上运行的过程,是资源调度分配的独立单位。(动态过程)

3.PCB进程控制块的组成

              描述信息:进程标识符PID,用户标识符UID。

              控制与管理信息:当前状态、优先级。

              资源分配:程序段、数据段指针;键鼠等外设。

              处理器相关信息:寄存器值(执行到的位置)

4.多个进程的组织方式

        链接方式:根据进程状态将PCB分为多个队列,持有队列指针。

        索引方式:根据状态不同建立索引表,持有索引表指针。

5.特征

        动态性、并发性、独立性、异步性(进程同步机制)、结构性(每个进程有一个PCB)。

二、进程状态与转换

        基本状态:

                1.运行态:占有CPU,在CPU上运行。

                2.就绪态:具备运行条件,拥有除处理机外的所有状态。

                3.阻塞态:因等待而不能运行。

                4.创建态:操作系统分类资源,初始化PCB。

                5.终止态:从系统中撤销,回收进程资源。

        转换:

                1.就绪态---运行态:进程被调度

                2.运行态---就绪态:时间片到或者处理器被抢占

                3.运行态---阻塞态:进程根据“系统调用”申请系统资源,或请求等待。(进程主动)

                4.阻塞态---运行态:申请资源被分配,或等待的事件发生。(进程被动)

三、进程控制

        实现各种进程状态转换,利用原语实现,不允许中断,具有原子性

        原语在核心态中运行:

                1.更新PCB信息,修改状态标志,将运行环境保存在PCB,从PCB中恢复。

                2.将PCB插入合适队列。

                3.分配/回收资源。

四、进程通信

        各进程的内存地址空间相互独立。

        1.共享存储:基于数据结构、存储区的共享。对共享空间访问必须互斥。

        2.管道通信:只能采用半双工通信(同一时间单向传输),进程以互斥方式写入管道,写满时,Write()阻塞,等待读;读取完成后,Read()阻塞。

                             未写满管道,不允许读;未读取完成,不允许写入。

        3.消息传递:格式化消息(消息头和消息体)。包括直接传递和间接传递(信箱)。

五、线程与多线程模型

        1.线程是一个基础的CPU执行单元,也是程序执行的最小单位,调度的基本单位。线程可以进一步并发,提高了系统的并发度。

        2.引入线程后,进程只作为系统资源分配单元。

        3.线程有一个线程ID线程控制块(TCB),不同的线程共享进程中分配的资源。

        4.实现方式

                用户级线程:由应用程序通过线程库实现(用户可见),线程切换在用户态下执行。

                内核级线程(处理器分配单位):线程的管理工作有操作系统内核完成,切换在核心态下完成。

        5.多线程模型

                多(用户级)对一(内核级):无需切换到核心态,开销小,但一个线程阻塞,则进程阻塞,并发度低,不可在多核处理器上并行运行。

                一对一:并发能力强,可在多核处理器上并行运行,但需要切换到核心态,增加了开销。

                多对多:兼顾并发与开销控制。

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值