进程控制块

进程概念

不问归期 提交于 2020-01-24 02:48:16
文章目录 什么是进程 冯诺依曼体系结构 进程概念 PCB 进程的创建和查看 查看进程信息 杀死进程 进程状态 僵尸进程 孤儿进程 进程优先级 环境变量 程序地址空间 什么是进程 冯诺依曼体系结构 输入设备:采集获取数据(键盘) 输出设备:数据输出(显示器) 存储器:内存/ 运算器+控制器:中央处理器CPU 硬件结构决定软件行为。 所有硬件都是围绕内存工作的。 **操作系统:**系统内核+外部应用。管理计算机上的软硬件资源。 进程概念 运行中的程序。进程就是一个PCB。是一个运行中程序的描述,通过描述信息中的内存指针能够找到内存中运行的程序代码以及数据,并且通过上下文数据可以保存程序调度切换时正在处理的数据,以及通过程序计数器保存进程切换时程序即将执行的下一步指令,等等…通过这些描述信息实现控制一个程序的运行,因此对于一个操作系统来说进程就是PCB。 进程在操作系统中是调度切换运行的,每个进程都有一个CPU时间片(一个进程在CPU上的运行时间段),在CPU上时间片运行完毕后则切换到下一个进程–CPU分时机制。 PCB 一个CPU同一时间只能处理一个进程,其他进程就会处于阻塞状态。为了提高处理效率, CPU采取分时技术 (每个进程CPU只处理很短的时间)。那么问题来了,CPU在处理一个进程的时候怎么知道它上次处理这个进程处理到哪里了?所以就有了 PCB (process control

计算机操作系统实验:模拟进程状态转换程序

ε祈祈猫儿з 提交于 2020-01-22 08:08:32
实验:模拟进程状态转换程序 一、实验内容完成情况(请写明自己已完成的项目功能): 完成进程控制块结构体的编写 创建就绪队列、阻塞队列、运行队列、完成队列、挂起队列 初始化操作系统的原始进程:可静态设置也可动态添加 编写新建进程函数 系统开始调度 当前运行进程请求 I/O 事件 某进程 I/O 完成 时间片到期 其他阻塞事件 挂起 完成先来先服务算法 完成优先级调度算法 完成时间片轮转算法 查看当前所有进程的 PCB 信息 查看当前时刻就绪队列和阻塞队伍信息 查看当前正在运行的进程信息 计算当前时刻,每个进程的周转时间。 三、模块说明及相应代码: 1、 初始化操作系统(请文字写明思路并给出核心代码): 1) 创建PCB的结构体: 思路:根据实验要求完成结构体的创建 代码: typedef struct node { char name[20]; //进程名 int id = 0; //进程ID int priority = 0; //优先级 int ArriTime = 0; //进程到达时间 int serviceTime=0; //进程总需要时间 int needTime = 0; //还需要运行时间 int CPUTime = 0; //已用CPU时间 char state[20]; //进程状态 1.Ready 2.Run 3.Wait 4.Finish int

操作系统概念- Silberschatz 期末复习

我是研究僧i 提交于 2020-01-22 05:47:13
第一章——导论 1>操作系统是一组控制和管理计算机软硬件资源,合理地对各类作业进行调度,及方便用户的程序集合。 用户视角:为用户方便,不在乎资源使用率; 系统视角:资源分配器 &控制程序; 2>陷阱: 软中断,来自出错(除数为0/无效存储访问..)和用户程序的特别请求、系统调用。 中断:来自硬件。 3>os结构 ①多道程序设计 ②分时系统:操作系统将时间划分为若干时间在用户之间快速切换,这种快速切换使得用户感到整个系统只为自己所用,以时间片为单位,且因为频度高,用户可以在程序运行期间与之进行交互。 4>特权指令:特权指令是拥有特殊权限的指令,用于调用系统函数或系统软件等,因为在执行程序时,为了方式用户随意调用特权指令,系统又分成了用户态和核心态。由此延申模式位,1:用户态,0:内核模式,用于保证特权指令只能由操作系统完成,保护操作系统和用户程序不受错误用户程序的影响。 5>高速缓存一致性 6>上下文切换, CPU 从一个 进程 或线程切换到另一个进程或线程,不可以在用户态实现,而系统调用是操作系统提供的服务,用户态可以使用。 第二章——操作系统结构 1>系统调用:OS内核提供一系列的预定功能,通过一组称为系统调用的接口来呈现给编程人员,相应内核函数完成处理并返回给编程人员;它把应用程序请求传给内核,其相应内核函数完成处理并返回给程序;系统调用是内核的一部分。

操作系统OS总结/入门

﹥>﹥吖頭↗ 提交于 2020-01-21 00:57:06
一、综述: 1.OS特征:并发,共享,虚拟,异步 2.OS功能(任务): 存储管理,文件管理,设备管理,提供用户管理接口,处理机管理(进程作业相关:进程和作业调度,进程控制,进程通信,进程同步) 二、进程 1.基本概念: (1)进程定义 : 系统中正在运行的一个程序,程序一旦运行就是进程。可看成程序执行的实例 (2)区别线程 :线程是进程的一个实体,是进程的一条执行路径 【进程切换慢, 线程切换快】 【进程需通过IPC通信,线程可直接读写共享的进程空间通信】 【进程间地址空间和其他资源相互独立,同一进程下线程共享】 【追求更安全稳定用进程,追求速度快多机响应用线程】 (3)进程状态: (创建)、等待、就绪、运行、(结束) 转化图: (4)控制结构: PCB(processing control block )进程控制块是用来表示进程状态的数据结构。 OS根据PCB进行进程控制管理。 存放描述进程情况的全部信息: 程序计数器:程序中下一条即将执行的指令地址 进程标识符:进程的唯一标识 进程状态 内存指针:相关数据存放在哪儿 进程上下文:记录上下文防止在进车给切换时丢失现场数据 优先级:用来区别调度顺序 I/O信息:记录IO请求,分配的文件资源,外部设备 记账信息:时间限制、时间、记账号,方便记录管理 【PCB是进程在系统中的唯一标志】 2.进程控制: (1)进程调度: (补充: 饥饿

进程和线程的区别

折月煮酒 提交于 2020-01-21 00:03:30
此问题也是面试中的一大俗题,可以发散引申出很多。下面记录几点关键点。 1.进程是操作系统资源分配的最小单位,线程是CPU调度的最小单位(后半句是因为多线程的OS中,进程不是一个可执行的实体)。 2.线程是依附于进程,比进程的创建销毁切换都更省资源,所以多线程的程序有更好的并发。 这里有可能被追着问到线程和进程都包括哪些信息 2.1 进程的PCB(进程控制块) 包括进程ID,内存指针,寄存器,状态,优先级,程序计数器,IO状态信息。   这里可能会被问到具体的进程状态,一共五种。新建,就绪,执行,阻塞,退出。 2.1.1.进程的三种基本状态:就绪状态,执行状态,阻塞状态。 2.1.2.进程三种状态间的转换  (1) 就绪→执行 当前运行进程阻塞,调度程序选一个优先权最高的进程占有处理机;  (2) 执行→就绪 当前运行进程时间片用完;  (3) 执行→阻塞 当前运行进程等待键盘输入,进入了睡眠状态。  (4) 阻塞→就绪 I/O操作完成,被中断处理程序唤醒。 2.2 线程信息包括堆栈,局部变量,程序计数器 2.2.1 线程状态:以JAVA线程的状态为例,将阻塞状态进行了扩展,包括:阻塞等待(线程执行了wait()),同步阻塞(线程尝试进入synchronized方法内受保护的区域,但是没有获得同步锁) 3.进程间的crash不会相互影响

进程与线程

半腔热情 提交于 2020-01-20 23:59:51
进程模型   计算机上所有可运行的软件,通常也包括操作系统,被组织成若干顺序进程,简称 进程。一个进程就是一个正在执行程序的实例。包括程序计数器、计数器和当前变量的值。     CPU在进程之间快速来回切换被称作是多道程序设计。    进程的创建     四种事件会导致进程的创建       1.系统初始化       2.正在运行的程序执行了创建进程的系统调用。       3.用户创建一个新进程。       4.一个批处理作业的初始化。   守护进程:停留在后台处理诸如电子邮件、WEB页面、新闻、打印之类活动的进程成为守护进程。      在UNIX和Windows中,进程创建之后,父进程和子进程有各自不同的地址空间    进程的终止     1.正常退出(自愿的)     2.出错退出(自愿的)     3.严重错误(非自愿)     4.被其它进程杀死(非自愿)      进程的结构层次     UNIX:树     Windows: 没有进程层次概念,所有的进程层次相同,唯一类似的是,创建子进程的时候,父进程得到一个特别的令牌(句柄),可以用来控制子进程,但它有权把句柄传给其它进程,这样就不存在进程层次,UNIX中则不能剥          夺子进程的继承权。   进程的状态           进程的实现:         操作系统维护这一张表格(一个结构数组)

进程管理(一)

◇◆丶佛笑我妖孽 提交于 2020-01-20 17:14:49
进程管理 一、进程 1. 进程概念 进程是一个具有一定独立功能的程序,在一个数据集上的一次动态执行的过程。进程是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。进程一般由程序,数据和进程控制块三部分组成。 程序用于描述进程要完成的功能,是控制进程执行的指令集; 数据是程序在执行时所需要的数据和工作区; 程序控制块包含进程的描述信息和控制信息是进程存在的唯一标志。 二、进程查看 1. ps与pstree ps命令用来查看当前进程的快照信息 用法:ps [ 选项 ] -u  以用户为中心组织进程状态信息显示 -a  与终端相关的进程 -x  与终端无关的进程 -e  显示所有进程 -f   显示完整格式程序信息 ps -aux 输出格式说明 字段 描述 USER 用户名 %CPU 进程占用的CPU百分比 %MEM 占用内存的百分比 VSZ 该进程使用的虚拟內存量(KB) RSS 该进程占用的固定內存量(KB)(驻留中页的数量) STAT 进程的状态 START 该进程被触发启动时间 TIME 该进程实际使用CPU运行的时间 状态码说明 状态码 描述 D 无法中断的休眠状态(通常 IO 的进程); R 正在运行可中在队列中可过行的; S 处于休眠状态; T 停止或被追踪; W 进入内存交换 (从内核2.6开始无效); X 死掉的进程 (基本很少见); Z 僵尸进程; <

基于python理解进程

不羁岁月 提交于 2020-01-20 05:01:32
文章目录 普通程序 进程理解 进程与程序的区别 进程的特征 程序的理解 进程的基本状态 进程挂起状态 进程通讯 queue队列 实现多任务的下载 在了解进程和线程之前来看看,我们所编写的程序。 普通程序 当我们运行它: 进程理解 它再任务管理器中就呈现出一个进程状态,它现在就是一个进程 我们所编写的程序在运行之后呢就像一台电脑开机之后可以处理很多任务,桌面上可以运行很多程序。那么这些运行的程序其实就是一个个进程,一个程序本身其实是一些指令的有序集合,本身呢是没有任何运行的意义,是静态的,进程呢就是程序运行了之后的状态,当我们运行程序的时候,操作系统将程序装载到内存中,操作系统为它分配资源,然后才能运 行。运行起来的应用程序就称之为进程 最直接就是打开任务管理器: 就是程序运行之后的状态====>进程 进程是可并发执行的程序在某个数据集合上的一次计算活动,也是操作系统进行资源分配和调度的基本单位。 进程与程序的区别 程序是指令的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程是程序在处理机上的一次执行过程,它是一个动态的概念。 程序可以作为一种软件资料长期存在,而进程是有一定生命期的。程序是永久的,进程是暂时的。 进程和程序组成不同:进程是由程序、数据和进程控制块三部分组成的。 进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系

CPU管家的进程标签

爷,独闯天下 提交于 2020-01-19 05:01:51
文章目录 什么是进程 进程的三大特征 进程创建 进程的状态 进程参数 进程中的全局变量共享问题 守护主进程 什么是进程 通俗点说进程就是当一个应用程序在运行的时候首先操作系统将程序装载到内存中,操作系统为它分配资源及协调其它应用,运行起来的程序就是一个进程,程序与进程对应关系,程序只有一个,但是进程可以有多个。(进程是系统进行资源和调度的基本单位) 进程的三大特征 1.动态性:进程是程序的一次执行过程,是临时的,有生命期的,是动态产生,动态消亡的; 2.并发性:任何进程都可以同其他进行一起并发执行; 3.独立性:进程是系统进行资源分配和调度的一个独立单位; 4.结构性:进程由程序,数据和进程控制块三部分组成 进程创建 创建多进程实现多任务 #encoding:utf-8 from multiprocessing import Process import time def sing ( ) : #定义函数 for i in range ( 3 ) : print ( "唱%d首歌" % ( i + 1 ) ) time . sleep ( 1 ) def dance ( ) : #定义函数 for i in range ( 3 ) : print ( "跳%d段舞" % ( i + 1 ) ) time . sleep ( 1 ) def main ( ) : p1 =

操作系统进程基本概念

血红的双手。 提交于 2020-01-18 19:38:11
操作系统进程基本概念 进程描述 定义 进程几种状态及变化(重点) 创建状态和终止状态 挂起状态 这部分是进程的基本概念,其中进程状态转换与引起状态转换的事件是重点 进程描述 定义 (1)进程是程序的一次执行。 (2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。 (3)进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。 本教材定义进程为:进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。 为了使参与并发执行的每个程序(含数据)都能独立地运行,在操作系统中必须为之配置一个专门的数据结构,称为 进程控制块(Process Control Block,即PCB) 。系统利用PCB来描述进程的基本情况和活动过程,进而控制和管理进程。 进程实体由程序段、相关的数据段和PCB三部分构成。 创建进程实质上就是创建进程实体中的PCB,撤销进程实质上就是撤销进程的PCB。 进程几种状态及变化(重点) (1)就绪状态: 进程已分配到除CPU以外的所有必要资源,只要获得CPU,便可立即执行,此时的状态称为就绪状态。一个系统中处于就绪状态的进程有多个,通常排成一个就绪队列。 (2)执行状态:进程已获得CPU,其程序正在执行。单处理机系统中,只有一个进程在执行;多处理机系统中,可以是多个进程在同时执行。 (3)阻塞状态