操作系统——第二章 进程管理

二、进程管理

2.1进程与线程

2.1.1进程的基本概念

PID (ProcessID)

2.1.1进程的概念

多道并发执行可能会发生的问题:

不能让程序粗野的执行,我们必须给他们引入一些约束:

进程包括什么:

进程控制块是一种数据结构,在Linux中是一个结构体

 

(答案就是上面的那张图)

挂起状态

(Linux代码)

2.1.6线程

设计之初进程是独立的,进程间不允许用相同的地址空间,必须得开辟一块新的存储空间,然后来取,线程的设计解决了这种问题。

比如还是播放器问题:

单进程的话,读完了要把pcb中存储空间拿出来放到一个区域里,然后再解码,然后放出来,然后再去播放。

有了线程,在同一个存储空间中,调度进行读完,解码,播放。

线程是调度的单位 进程退化为资源的单位

内核级线程:

用户级线程:

1.runtime

2.lwp

网上资料:

用户线程指不需要内核支持而在用户程序中实现的线程,其不依赖于操作系统核心,用户进程利用线程库提供创建、同步、调度和管理线程的函数来控制用户线程。用户线程不需要用户态/核心态切换,速度快,操作系统内核不知道多线程的存在,因此一个线程阻塞将使得整个进程(包括它的所有线程)阻塞。由于这里的处理器时间片分配是以进程为基本单位,所以每个线程执行的时间相对减少为了在操作系统中加入线程支持,采用了在用户空间增加运行库来实现线程,用户线程是不能被操作系统所感知的。

内核线程和用户线程都有自己的优势和缺点,一般配合使用

2.3同步与互斥

2.3.1 进程同步的概念

互斥:你和我没沟通交流,你拿走了我就没法用,等你拿走了我才能用

直接制约同步:你和我有沟通有交流,接力比赛,第二棒要等第一棒来了才能跑 棒子不能扔地上,你必须把棒子给我(而互斥就是互相抢资源)

同步:消费者必须等生产者生产出来才能消费,不能凭空消费

n个缓冲区:如果生产了n个放不进去就别放了

(挂着牌子并且拿着钥匙就能进去)

(类似于数据结构中的拓扑排序)

拿左筷子 拿右筷子,吃饭

4

原文地址:https://www.cnblogs.com/eret9616/p/9452319.html

时间: 2024-10-03 11:05:41

操作系统——第二章 进程管理的相关文章

Linux内核分析——第三章 进程管理

第三章 进程管理 3.1 进程 1.进程就是处于执行期的程序:进程就是正在执行的程序代码的实时结果:进程是处于执行期的程序以及相关的资源的总称:进程包括代码段和其他资源. 线程:是在进程中活动的对象. 2.执行线程,简称线程,是在进程中活动的对象.每个线程都拥有一个独立的程序计数器.进程栈和一组进程寄存器. 3.内核调度的对象是线程,而不是进程.Linux对线程并不特别区分,视其为特殊的进程 4.在现代操作系统中,进程提供两种虚拟机制:虚拟处理器和虚拟内存.在线程之间可以共享虚拟内存,但每个都拥

第二章 状态管理和绘制几何物体 总结

目标 1. 清除窗口 2.强制完成所有尚未执行的绘图操作 3.在2d或3d空间绘制图元 4.打开.关闭.查询状态 5.控制图元显示 6.在实心物体表面适当位置指定法线向量 7.用顶点数组和缓冲区对象存储和访问几何数据. 8.同时保存和恢复几个状态变量. 1.1 3种基本操作:清除窗口.绘制几何图形.绘制光栅对象. 2. 绘图工具箱: 2.1 清除RGBA模式的窗口 glClearColor(R, G, B, A); //将当前清除颜色设置成为一个状态变量 glClearDepth(1.0); /

【操作系统】之进程管理

定义 进程的典型定义:进程是程序的一次动态执行 进程在传统OS中的定义: 进程是进程实体的运行过程,是系统进行资源分配和调度的独立单位. 一般情况下,我们所说的进程实体(也叫进程映像)简称进程,进程实体包括程序段,数据段和进程控制块(PCB). PCB 创建进程的实质就是创建PCB,撤销进程实质也是撤销PCB. PCB作用:作为独立运行的基本标志, 实现间断性运行方式, 提供进程管理需要的信息,提供进程调度需要的信息, 与其他进程通信 PCB包含的信息 1.进程标识符:外部标识符,内部标识符 2

Linux进程管理(第二版) --进程管理命令

进程管理命令 一.查看用户信息w 1. w显示信息的含义 TTY:说明用户登录的方式,ttyN:表示以本地终端登录;pts/N表示以远程终端登录 JCPU:以终端代号来区分,该终端所有相关的进程执行时,所消耗的CPU时间会显示在这里 PCPU:CPU执行程序耗费的时间 WHAT:用户正在执行的操作 load average:分别显示系统在过去1.5.15 分钟内的系统的平均负载程度[一般在0.8之下,我们认为系统负载较轻] FROM:显示用户从何处登录系统,":0"的显示代表该用户时从

操作系统原理:进程管理4和5

进程管理41.进程几个状态.运行.就绪.阻塞2.进程怎么存放.(数组和链接结合,局部性原理:地址连续)3.进程之间切换 --中断(时钟中断),阻塞--就绪 ,运行-->就绪等等中断4.cpu调度进程的优化,用硬件做,在CPU上做一系列指令,保存进程现场. 进程之间动态切换,或者使用寄存器来动态切换,把进程的信息放到寄存器 中,我们改变寄存器的状态,也就是改变了进程之间的状态. 进程管理51.进程启动的过程:系统内核加载完成后,就会启动进程.用户非常迫切 需要的线程.比如资源管理器.2.点击软件图

网络操作系统 第二章 用户和组管理

本章小结 本章介绍了用户和用户的基本概念.讲解了在Windows Server2008中用户和组的创建.删除及其属性的修改.在Linux部分,首先通过图形配置工具介绍了Linux.中用户及组的相关属性,然后讲解了与用户和组相关的配置文件,最后介绍了如何使用命令完成对用户和组的管理. 一.Windows Server 2008中的用户有哪些类型?系统默认的用户有哪些? 用户.InetOrgPerson和联系人. 默认用户账户: Administrator Guest: 二.如何在Windows S

第十二章 进程管理

一.进程 1.进程概述 一个程序是一个可执行文件,而进程是程序执行的动态过程.进程是为运行着的程序提供执行环境的实体,它包括一个地址空间和一个控制点. 当执行一个程序的时候,系统加载程序会把此程序加载到内存中,它在内存中由5部分组成:正文.初始化数据.未初始化数据.栈.用户区 进程通常由三大部分组成:代码.数据.进程控制块(PCB).代码部分描述了进程所要完成的功能:数据部分包括程序在执行的时候所需要的数据和工作区.进程的代码部分和数据部分是进程存在的物质基础.进程控制块(PCB)包括了进程的描

操作系统第二章

重点: 进程的含义 理解掌握同步的概念及经典进程同步问题 难点: 进程同步算法 知识点: 进程.线程.进程的特征.PCB.进程控制.进程同步(通信) 前趋图和程序执行 前趋图: 有向无循环图(DAG),描述进程之间执行的前后关系.结点间的有向边用于表示两个节点间存在的偏序.前趋关系“->”. (Pi,Pj):pi是pj的直接前驱 每个节点还具有一个重量(权值),表示该节点所含有的程序量或节点的执行时间(长短) 起始节点:无进||终止节点:无出 前驱图中不能存在循环 例如: s1->s2,s2-

node.js学习第二天--进程管理

1.简介 process是一个全局内置对象,可以在代码中的任何位置访问此对象,这个对象代表我们的node.js代码宿主的操作系统进程对象. 使用process对象可以截获进程的异常.退出等事件,也可以获取进程的当前目录.环境变量.内存占用等信息,还可以执行进程退出.工作目录切换等操作. 下面我们一起来学习一下process对象的一些常用方法. 2.cwd函数的基本用法 当我们想要查看应用程序当前目录时,可以使用cwd函数,使用语法如下: process.cwd(); 获取程序目录的方法就是这样简