进程的概念

news2024/9/23 23:35:25

进程的概念

程序的概念
这里说的是一个可执行文件,passive的意思可以理解为我们这个执行文件需要我们进行双击才会被被执行。
在这里插入图片描述双击后,程序入口地址读入寄存器,程序加载入主存,成为一个进程
在这里插入图片描述进程是主动去获取想要的资源,注意这里每个进程都只有一个pc
在这里插入图片描述这里我去问了一下老师,老师说微观上来说确实一个核心一个pc只能同时运行一个进程,因为学习过计组之后我们知道单核只有一个pc寄存器,分时任务可以设置中断程序然后让pc数据存入对应堆栈空间,然后执行完相应程序再读取回来,通过cpu流水线进行优化,这样一套流程让我们感觉到多进程是在同时运行的。

程序推入内存示意图
在这里插入图片描述

在这里插入图片描述

执行流程:
1.先将代码解释成二进制指令,该指令区域(text)是只读的,压入无法修改;
2.入口main函数加载入栈空间,压入静态变量i和调用另外一个g函数,同时压入全局变量global;
3.g函数压入栈,a局部变量压入栈,再压入f函数;
4.压栈入f函数,x,y,p局部变量进栈,动态申请堆空间100Byte(p指针局部变量值为此堆空间的地址) ,继续向下读
5.返回到f函数f函数再代码中存在的地址区,继续向下读;
6.读到g函数return,返回g函数代码点,返回0值进栈,释放栈、堆空间,释放text空间;

遗留问题
在这里插入图片描述

c语言需要手动释放垃圾内存

并发的进程:
在这里插入图片描述在这里插入图片描述当然这里我们要知道这个"并发"并非并行,前面讨论pc的时候有讲。
当然如果是多核cpu是可以并行的。

并发进程共享cpu
就算是并行也会被并发所影响
在这里插入图片描述最后给进程下个定义
在这里插入图片描述

进程的状态:
在这里插入图片描述
最后一个等待态是不具备运行条件,下面这个例子是,如果指定到2步输出语句需要调用系统write占用io,如果这个函数执行占用资源很大,那调用2步函数的进程需要进入等待状态让出cpu控制权,等待调用结束。
在这里插入图片描述

运行状态何时能让出cpu控制权?
在这里插入图片描述

调用i/o设备进入等待,非正常结束进入终止。
在这里插入图片描述

windows叫做抢占式的多任务操作系统,如果有更高优先级的进程到达就绪状态,那么立刻就会抢占低优先级进程的cpu使用权;分时操作系统为所有的并发进程分发时间片,假设分时系统为每个进程运行时间平均分配100s,那么进程占用cpu达到100s就会被强制剥夺cpu使用权。

进程转化
在这里插入图片描述

总结:
外中断:外部事件
内中断:经典例子地址越界,除数为0,c语言堆栈溢出。

在这里插入图片描述
中断处理程序保存前面 我们画的那个程序内存空间的数据
中断程序执行一个lpsw指令跳回用户模式
在这里插入图片描述在这里插入图片描述

上下文内容(context)
在这里插入图片描述

操作系统管理context,只需要调用每个进程的context内的PCB
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/356888.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图解LeetCode——剑指 Offer 10- II. 青蛙跳台阶问题

一、题目 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e97(1000000007),如计算初始结果为:1000000008,请返回 1。 二、示例 2.1>…

inno setup打包软件学习

目录 一 打包结果 二 示例打包脚本 三 错误解决 3.1 另一个程序正在使用此文件,进程无法访问 3.2 桌面图标无法修改 四 参考资料 一 打包结果 测试程序来自: 泽森科工 (zenustech.com) 二 示例打包脚本 使用打包软件下载地址: in…

[U3D ShaderGraph] 全面学习ShaderGraph节点 | 第四课 | Input/Lighting

📣📣📣本专栏所有内容在完结之前全部为试读模式,专栏完结之后会取消试读模式,如果感觉内容还不错的话请支持一下📣📣📣 ShaderGraph是可视化的着色器编辑工具。您可以使用此工具以可视方式创建着色器。 本专栏可以让你更了解ShaderGraph中每个节点的功能,更自如的…

BUUCTF Reverse xor

题目:BUUCTF Reverse xor 一些犯傻后学到了新东西的记录 查壳,没壳,IDA打开 main函数很好理解,输入一个长度为33的字符串,1-32位与前一位异或后与global相等,则判定flag正确 找global 在strings window直…

【Java】《Java8 实战》 CompletableFuture 学习

文章目录前言1. 并发(Concurrent) 和 并行(Parallel)1.1 并发的来源1.2 并发技术解决了什么问题2. 并行的来源2.1 并行解决了什么问题3. CompletableFuture 简介4. CompletableFuture 简单应用5. CompletableFuture 工厂方法的应用6. CompletableFuture join() 方法7. 使用 Par…

2022黑马Redis跟学笔记.实战篇(七)

2022黑马Redis跟学笔记.实战篇 七4.11.附近的店铺功能4.11.1. GEO数据结构的基本用法1. 附近商户-导入店铺数据到GEO4.11.2. 获取附近的店铺1. 附近商户-实现附近商户功能4.9. 签到功能4.9.1.BitMap原理1. 用户签到-BitMap功能演示4.9.2.实现签到功能4.9.3.实现补签功能4.9.4.统…

.net开发安卓入门-自动升级(配合.net6 webapi 作为服务端)

文章目录思路客户端权限清单(AndroidManifest.xml)权限列表(完整内容看 权限清单(AndroidManifest.xml))打开外部应用的权限(完整内容看 权限清单(AndroidManifest.xml))添加文件如下…

网络数据包接收流程

1. 网络数据包接收流程简述 典型的以太网卡网络包接收流程如下: 1.网络包通过物理介质传到接收端的phy芯片; 2.phy芯片通过RGMII协议传到MAC芯片rx queue fifo中; 3.MAC芯片通过专用DMA将网络包搬运到网卡驱动程序预先分配好的rx ringbuffer中…

【多线程与高并发】- synchronized锁的认知

synchronized锁的认知 😄生命不息,写作不止 🔥 继续踏上学习之路,学之分享笔记 👊 总有一天我也能像各位大佬一样 🏆 一个有梦有戏的人 怒放吧德德 🌝分享学习心得,欢迎指正&#xf…

言简意赅+图解 函数传参问题(传值、传地址 500字解决战斗)

1、传值 2、传地址 不论是传值,还是传地址,形参都是对于实参的一份拷贝 下图为按值传递进行交换: 形参left拷贝一块新空间,形参right拷贝一块新空间 下图为按指针传递进行交换 形参left拷贝一块新的空间,形参right…

研究生薪资管理系统-课后程序(JAVA基础案例教程-黑马程序员编著-第四章-课后作业)

【案例4-5】研究生薪资管理系统 【案例介绍】 案例描述 在学校中,学生每个月需要交相应的生活费,老师每个月有相应的工资,而在职研究生既是老师又是学生,所以在职研究生既需要交学费又会有工资。下面要求编写一个程序来统计在职…

最完整的小红书带货笔记——垂直模式

最完整的小红书带货笔记——垂直模式,小红书直播复盘怎么做?#直播带货笔记 第1篇,带你解锁直播复盘5大要点! #小红书店铺#小红书运营 小红书怎么发带货笔记? 做小红书带货的同学注意了,我们带货一定要发笔…

看见统计——第三章 概率分布

看见统计——第三章 概率分布 参考 https://github.com/seeingtheory/Seeing-Theory中心极限定理 概率分布描述了随机变量取值的规律。 随机变量Random Variables 🔥 定义:将样本空间中的结果映射到实数的函数 XXX 称为随机变量(random variable)&a…

【算法基础】链表

一、单链表例题:实现一个单链表,链表初始为空,支持三种操作:向链表头插入一个数;删除第 k个插入的数后面的数;在第 k� 个插入的数后插入一个数。现在要对该链表进行 M次操作,进行完所…

单片机——显示方式

数码LED 一、静态显示方式 1、连接 所有LED的位选均共同连接到VCC或GND,每个LED的8根段选线分别连接一个8位并行I/O口,从该I/O口送出相应的字型码显示字型。 2、这种连接方式的缺点就是需要的数据线太多:我们可以计算一下:8*4133根…

[oeasy]python0088_字节_Byte_存储单位_KB_MB_GB_TB

编码进化 回忆上次内容 上次 回顾了 字符大战的结果 ibm 曾经的 EBCDIC 由于字符不连续的隐患 导致后续 出现 无数问题无法补救 7-bit 的 ASA X3.4-1963 字母序号连续 比较字符时 效率高判断字符 是否是字母 也很容易 获得了 IBM以外公司的 支持 为什么 ASA X3.4-1963 是 7…

PHP 页面静态化

前言随着网站的内容的增多和用户访问量的增多,网站加载会越来越慢,受限于带宽和服务器同一时间的请求次数的限制,,我们往往需要在此时对我们的网站进行代码优化和服务器配置的优化。一、页面静态化概念静态化定义静态化就是指把原…

VNCTF 2023 - Web 象棋王子|电子木鱼|BabyGo Writeups

象棋王子 签到题,jsfuck解密 丢到console得到flag 电子木鱼 后面两道都是代码审计,这题是rust,题目给出了源码,下载下来看 关键代码: 由于限制,quantity只能为正数 功德也只能是正数(负数的…

如何下载JDK8源码并导入IDEA

目录一、下载JDK8源码二、将源码导入IDEA一、下载JDK8源码 JDK8源码下载地址: https://hg.openjdk.org/ 1.打开下载地址,JDK8的源码都是基于jdk8u之上,所以点击jdk8u 2.进入页面之后可以看到一些小版本,这里我们选择 jdk8u60&am…

Python 之 Pandas Series 数据结构

文章目录一、Series 结构二、数据结构 Series 创建1. 创建1.1 列表/数组作为数据源创建 Series1.2 字典作为数据源创建 Series1.3 通过标量创建2. 参数说明2.1 index 参数2.2 name 参数2.3 copy 参数三、Series 的索引/切片1. 下标索引2. 标签索引3. 切片四、Series 数据结构的…