进程控制块

浅析线程进程相关的知识点

只谈情不闲聊 提交于 2020-01-01 03:56:39
1.线程、进程 1.1 概念 进程 :引入:为了程序能够并发执行,且为了对并发执行的程序加以描述和控制,引入了进程的概念。   (1)进程是程序的一次执行。   (2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。   (3)进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。   (4)进程是作为能够拥有资源和独立运行的基本单位。 线程 : 引入:在操作系统中引入线程,是为了减少程序并发执行时锁付出的空间开销,使OS具有更好的并发性。1.2 1.2 线程与进程进行比较   线程具有许多传统进程所具有的特征,所以又称为轻量级进程或进程元,相应的把进程称为重量级的进程,传统进程相当于只有一个线程的任务,在引入了新城的操作系统中,通常一个进程都拥有若干个线程,至少也有一个线程。   相同点:   (1)调度:   (2)并发性:在引入了线程的操作系统中,进程之间或一个线程中的多个线程之间都可以并发执行。   (3)拥有资源:不论是传统的操作系统还是引入了线程的操作系统,进程都可以拥有资源,是系统中拥有资源的有个基本单位。   (4)系统开销:在某些操作系统中,线程的切换、同步和通信都无需操作系统内核的干预。   不同点 :   (1)调度:在传统操作系统中,进程是拥有资源的基本和独立调度、分派的基本单位,在引入了线程的操作系统中

操作系统复习笔记

爷,独闯天下 提交于 2019-12-28 21:23:34
操作系统复习 第1章 操作系统概论 定义:管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户方便有效的使用计算机提供良好运行环境的一种系统软件。 功能:处理器管理、存储管理、设备管理、文件管理、联网和通信管理 特性:并发性、共享性(1.透明资源共享 2.独占资源共享)、异步性 分类:批处理操作系统、分时操作系统、实时操作系统 第2章 处理器管理 进程定义:进程是具有独立功能的程序在某个数据集合上的一次运行活动,也是操作系统进行资源分配和保护的基本单位。 进程状态和转换:p73 三态模型:运行态、就绪态、等待态 五态模型:新建态、终止态提出的原因? 要求会画图,解释某些转换是不存在的。 引入多线程的动机:减少程序并发执行时所付出的时空开销,使得并发颗粒度更细、并发性更好。 线程的优点:快速线程切换、通信易于实现、减少管理开销、并发程度提高 PCB(Process Control Block)进程控制块:进程存在的唯一标识,是操作系统用来记录和刻画进程状态及环境信息的数据结构,是进程动态特征的汇集,也是操作系统掌握进程的唯一资料结构和管理进程的主要依据。p75 TCB的概念? 动态/静态 优先级? 处理器调度:p101 例题 先来先服务算法 最短作业优先算法(概念) 最短剩余时间优先算法 最高响应比优先算法(概念) 第3章 同步、通信与死锁

03-处理机调度

一个人想着一个人 提交于 2019-12-28 04:29:23
处理机调度 基本概念 调度分类 高级调度(作业调度) 中级调度(内存调度) 低级调度(进程调度) 进程调度 时机 方式 切换与调度 调度算法评价指标 CPU利用率 系统吞吐量 周转时间 等待时间 响应时间 调度算法 基本概念 当有一堆任务要处理,但由于资源有限,这些事务无法同时处理。这就需要确定 某种规则 来 决定 处理这些任务的 顺序 ,这就是“调度”研究的问题。 在多道程序系统中,进程的数量往往是多于处理机的个数的,这样不可能同时并行地处理各个进程。 处理机调度 ,就是从就绪队列中 按照一定的算法选择一个进程 并 将处理机分配给它 运行,以实现进程的并发行。 调度分类 高级调度(作业调度) 由于内存空间有限,有时无法将用户提交的作业全部放入内存,因此就需要确定某种规则来决定将作业调入内存的顺序。 高级调度(作业调度) 。按一定的原则从外存上处于后备队列的作业中挑选一个(或多个)作业,给它们分配内存等必要资源,并 建立相应的进程(建立PCB) ,以使它们 获得竞争多处理机的权利 。 高级调度是外存与内存之间的调度。每个作业只调入一次,调出一次。 作业调入时会建立相应的PCB,作业调出时才撤销PCB 。高级调度主要指调入的问题,因为只有调入的时机需要操作系统来确定,但调出的时机必然是作业运行结束才调出。 中级调度(内存调度) 引入了虚拟存储技术之后

操作系统期末复习

青春壹個敷衍的年華 提交于 2019-12-28 00:44:36
操作系统考纲 第一章 操作系统的概述 1.操作系统的概念、地位和作用 2.操作系统的发展历程 单道批处理OS 多道批处理OS(重) 分时OS(为了快速和用户交互) 实时OS(考虑响应问题) 个人计算机OS(具有以上三种特点) 网络OS 3.操作系统的特征 并发性(区别并行) 共享性 虚拟性(为了提高共享) 异步性(进程的推进速度不可预知,是并发导致的) 第二章(重)进程管理 1.进程的概念、特征及状态 就绪,执行,阻塞(哪些状态可以转换,哪些状态不能转换,什么时候会发生转换) 虚拟内存引入后五种状态 2.进程的组成及上下文 进程的组成 程序段:进程执行时的程序代码 数据段:进程执行时所需要的数据 进程控制块(PCB):进程存在的标志性数据结构 进程描述信息 处理机状态信息 进程调度信息 进程控制信息 进程上下文(概念) 3.进程和程序的关系 4.进程的互斥 与互斥相关的概念 互斥的概念及特征 互斥遵循的规则 互斥的实现方法 软件实现方法 硬件实现方法:硬件指令 信号量机制实现进程互斥 信号量的引入 信号量的作用 信号量的类型 整形信号量 记录型信号量 AND型信号量 信号量集 信号量的操作 初始化(建立)【说明所建信号量所代表的意义;赋初值,清空等待信号量的进程表】 等待信号量【WAIT(信号量);P(信号量)】 释放信号量【SIGNAL(信号量);V(信号量)】

C++实现操作系统中进程调度的优先级调度算法和轮转时间片调度算法

这一生的挚爱 提交于 2019-12-27 12:01:15
操作系统中进程调度是处理及管理的核心内容。 阅读本文,需要有一定的C/C++、数据结构基础。 内容介绍 采用C++编写程序,选用 优先数调度算法 或 简单轮转法 对五个进程进行调度,每个进程处于运行(Run)、就绪(Ready)和完成(Finish)三种状态之一,并假定起始状态为 就绪 状态。 进程控制块结构 进程控制块的链结构 其中: Run——表是当前运行进程指针, Ready——就绪队列头指针 Tail——就绪队列尾指针 Finish——完成队列指针 算法说明 (1) 为了便于处理,程序中进程的运行时间以时间片为单位进行计算,各进程的优先数或轮转时间片数,以及进程需要运行的时间片数,其初始值均有用户给定。 (2) 优先数法 进程就绪队列按优先数大小从高到低排列,链首进程首先投入运行。进程每执行一次,进程需要的时间片数减1、该进程的优先数减3。这样,该进程如果在一个时间片中没有完成,其优先数降低一级。接着仍是用该进程降低一级后的优先数与就绪队列中链首进程的优先数进行比较,如果仍是该进程的优先数高或相同,便让该进程继续执行;否则,调度就绪队列的链首进程投入运行。原运行过的进程按其现行优先数大小插入就绪队列,且改变它们对应的进程状态,一直到所有进程都运行完各自的时间片数。 (3) 简单轮转法 进程就绪队列按各进程进入的先后顺序排列

操作系统知识系列之基础篇

為{幸葍}努か 提交于 2019-12-26 08:34:34
一、操作系统概述 特性 1. 并发: 同一时间间隔内支持执行多个任务, 对于一个核则是交替执行; 2. 共享: 硬件资源或数据资源支持多个进程共享; 3. 异步: 并发情况下, 一个程序会陆陆续续被执行,完成时间不可预知; 4. 虚拟: 物理实体转化为逻辑实体,如虚拟内存。 基本功能 CPU管理:对处理器的管理和调度最终归结为对进程和线程的管理和调度,包括进程控制和管理,线程控制和管理,确定处理器调度策略,设计处理器调度算法,做好处理器分配和回收。 存储管理:存储管理的主要任务是管理内存资源,为多道程序运行提供有力支撑,提高存储空间利用率,具体来说有内存分配与回收,地址转换与存储保护,内存共享与存储扩充等。 设备管理:设备管理的除妖任务是管理各种外部设备,完成用户提出的I/O请求;加快数据传输速度,发挥设备的并行性,提高设备的利用率;提供设备驱动程序和中断处理请求。 文件管理:文件库案例的主要任务有提供文件逻辑组织方法,提供文件物理组织方法,提供文件存取和使用方法,实现文件目录管理,实现文件共享和安全性控制,实现文件存储空间管理等。 体系结构 大内核:将操作系统作为一个整体放在内核当中。 微内核:将操作系统的功能进行详细划分,只有微内核在内核态中存在,其他的在用户态。由于存在用户态和内核态的切换所以会影响系统整体性能。 补充 用户栈: 进程在用户空间时创建的栈

python进程、线程、协程

∥☆過路亽.° 提交于 2019-12-24 11:50:42
python 线程与进程简介 进程与线程的历史 我们都知道计算机是由硬件和软件组成的。硬件中的CPU是计算机的核心,它承担计算机的所有任务。 操作系统是运行在硬件之上的软件,是计算机的管理者,它负责资源的管理和分配、任务的调度。 程序是运行在系统上的具有某种功能的软件,比如说浏览器,音乐播放器等。 每次执行程序的时候,都会完成一定的功能,比如说浏览器帮我们打开网页,为了保证其独立性,就需要一个专门的管理和控制执行程序的数据结构——进程控制块。 进程就是一个程序在一个数据集上的一次动态执行过程。 进程一般由程序、数据集、进程控制块三部分组成。我们编写的程序用来描述进程要完成哪些功能以及如何完成;数据集则是程序在执行过程中所需要使用的资源;进程控制块用来记录进程的外部特征,描述进程的执行变化过程,系统可以利用它来控制和管理进程,它是系统感知进程存在的唯一标志。 在早期的操作系统里,计算机只有一个核心,进程执行程序的最小单位,任务调度采用时间片轮转的抢占式方式进行进程调度。每个进程都有各自的一块独立的内存,保证进程彼此间的内存地址空间的隔离。 随着计算机技术的发展,进程出现了很多弊端,一是进程的创建、撤销和切换的开销比较大,二是由于对称多处理机(对称多处理机(SymmetricalMulti-Processing)又叫SMP,是指在一个计算机上汇集了一组处理器(多CPU)

socket创建和结束

自作多情 提交于 2019-12-24 07:09:38
什么是进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是 操作系统 结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。 狭义定义:进程是正在运行的程序的实例(an instance of a computer program that is being executed)。 广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是 操作系统 动态执行的 基本单元 ,在传统的 操作系统 中,进程既是基本的 分配单元 ,也是基本的执行单元。 第一,进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。 第二,进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时(操作系统执行之),它才能成为一个活动的实体,我们称其为进程。[3] 进程是操作系统中最基本、重要的概念。是多道程序系统出现后

进程的描述与控制常见简答题|操作系统1

百般思念 提交于 2019-12-24 06:23:49
文章目录 1.什么是前驱图?为什么要引入前驱图 3.为什么程序并发执行会产生间断性特征? 4.程序并发执行为什么会失去封闭性和可再现性? 5.操作系统为什么要引入进程的概念?会产生什么影响。 6.试从动态性,并发性,独立性上比较进程和程序 7.试说明PCB的作用具体表现在那几个方面,为什么说PCB是进程存在的唯一标志 8.PCB提供了进程管理和调度的哪些信息? 9.进程控制块的组织方式 10.什么是操作系统内核?内核的主要功能 12.为什么要引入挂起状态 13.在进程切换时,要保存CPU那些信息 14.进程创建的主要事件 15.进程被撤销的主要事件 16.创建一个进程所要完成的工作 17.撤销一个进程所要完成的工作 18.试说明引起进程阻塞或者被唤醒的主要事件 19.为什么要引入线程 20.线程属性 21.试从调度性、并发性、拥有资源、时空开销比较进程和线程 22.线程控制块包含那些内容 23.何谓用户级线程和内核支持线程 24.试说明用户线程的实现方法 1.什么是前驱图?为什么要引入前驱图 前驱图 前驱图是一个有向,不循环图。用于描述进程之间执行的先后关系。 图中每个点可以表示一个程序段、进程,乃至一条语句;结点间的有向边则用来表示两个结点之间存在的偏序或前趋关系。 原因 引入前趋图可以形象地表示进程之间的前后关系和顺序,可以更好的描述进程的顺序和并发执行。 3

Python并发编程一(多进程)

那年仲夏 提交于 2019-12-23 21:47:58
1.背景知识(进程、多道技术) 顾名思义,进程即正在执行的一个过程。进程是对正在运行程序的一个抽象。 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的。 了解操作系统,详见: https://www.cnblogs.com/JackLi07/p/9226851.html #一 操作系统的作用: 1:隐藏丑陋复杂的硬件接口,提供良好的抽象接口 2:管理、调度进程,并且将多个进程对硬件的竞争变得有序 #二 多道技术: 1.产生背景:针对单核,实现并发 ps: 现在的主机一般是多核,那么每个核都会利用多道技术 有4个cpu,运行于cpu1的某个程序遇到io阻塞,会等到io结束再重新调度,会被调度到4个 cpu中的任意一个,具体由操作系统调度算法决定。 2.空间上的复用:如内存中同时有多道程序 3.时间上的复用:复用一个cpu的时间片 强调:遇到io切,占用cpu时间过长也切,核心在于切之前将进程的状态保存下来,这样 才能保证下次切换回来时,能基于上次切走的位置继续运行 2.python并发编程之多进程(理论)   进程:正在进行的一个过程或者说一个任务。而负责执行任务则是cpu。 2.1进程与程序的区别   程序仅仅只是一堆代码而已,而进程指的是程序的运行过程。   需要强调的是