码农知识堂 - 1000bd
Python
PHP
JS/TS
JAVA
C/C++
C#
GO
Kotlin
Swift
操作系统学习-2. 进程和多线程
文章目录
1. 认识进程
1.1 什么是程序
1.3 什么是进程
1.3 进程拥有的状态
2. 进程的三状和中断响应过程
2.1 进程的三种状态
2.2 进程的中断
3. 多核和多道程序-CPU利用率
4. 认识线程
4.1 为何需要线程
4.2 线程定义
4.3 线程切换过程
5. 线程的竞争条件和临界区
5.1 临界区和竞争条件
5.1 互斥算法案例
5.3 硬件实现TSL指令互斥
5.4 信号量和互斥量
6. CAS和QAS
6.1 CAS
6.2 AQS
慕课网操作系统教程
1. 认识进程
1.1 什么是程序
1.3 什么是进程
进程是正在运行程序的抽象
也是软件执行在内存中副本
进程是资源分配的最小单位,线程是执行计算最小单位
1.3 进程拥有的状态
扩展
:JVM虚拟机中每个线程私有的程序计数器作用:
进程因为其有状态,其实是一个数据结构,一个表,对操作系统来说,是一种描述,操作系统知道如何跑这个表,通过这个表,知道寄存器指向哪个地址,将地址的指令load到程序指针上去,知道要找哪个内存。。。
fock()
创建线程实例
2. 进程的三状和中断响应过程
2.1 进程的三种状态
答案:均不可
2.2 进程的中断
step1
:保存当前进程状态:
SP栈指针,PC指针
保证进程可恢复
3. 多核和多道程序-CPU利用率
4. 认识线程
4.1 为何需要线程
4.2 线程定义
1是因为进程切换成本很高
2是进程内部又分很多工作要做,因此,在进程中创建一种更加轻量的执行单位-线程
例如Java创建线程跑在JVM虚拟机上,无需操作系统感知
4.3 线程切换过程
5. 线程的竞争条件和临界区
5.1 临界区和竞争条件
5.1 互斥算法案例
5.3 硬件实现TSL指令互斥
5.4 信号量和互斥量
6. CAS和QAS
6.1 CAS
6.2 AQS
相关阅读:
k8s实战案例之部署redis单机和redis cluster
HTML做一个简单漂亮的宠物网页(纯html代码)
牛客前端宝典——刷题 ##Day8
List 模拟实现
java可以跨平台的原因是什么?
RabbitMQ: Routing结构
Blender点操作
java计算机毕业设计家教平台系统源码+mysql数据库+系统+lw文档+部署
C语言-指针初阶(6)
1000 mil = 2.54 cm , 板子导电速度约为 1.5x10^8 m/s
原文地址:https://blog.csdn.net/xingzhes_/article/details/126089262
最新文章
攻防演习之三天拿下官网站群
数据安全治理学习——前期安全规划和安全管理体系建设
企业安全 | 企业内一次钓鱼演练准备过程
内网渗透测试 | Kerberos协议及其部分攻击手法
0day的产生 | 不懂代码的"代码审计"
安装scrcpy-client模块av模块异常,环境问题解决方案
leetcode hot100【LeetCode 279. 完全平方数】java实现
OpenWrt下安装Mosquitto
AnatoMask论文汇总
【AI日记】24.11.01 LangChain、openai api和github copilot
热门文章
十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
奉劝各位学弟学妹们,该打造你的技术影响力了!
五年了,我在 CSDN 的两个一百万。
Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
面试官都震惊,你这网络基础可以啊!
你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
心情不好的时候,用 Python 画棵樱花树送给自己吧
通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
13 万字 C 语言从入门到精通保姆级教程2021 年版
10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系
2656653265@qq.com
京ICP备2022015340号-1
正则表达式工具
cron表达式工具
密码生成工具
京公网安备 11010502049817号