从汇编 认识锁的概念

来源:互联网 发布:金蝶软件数据库名称 编辑:程序博客网 时间:2024/06/05 22:59
我们都知道 所有语言 都将转化为 汇编语句才能被 机器所执行,比如
mv ax,bx

我们可以认为这条语句具备 原子性,那这和我们认识的锁又有什么关系呢,

我们都知道 进程间切换都是靠时间片 ,也就是时间中断,当一个时间片 中断过来时,我们 会从我们的进程表 拿出一个 优先级高的(一般这么设计)

执行,并压入堆栈 cs,ip,代码段,指针,在保护模式下,这个cs,ip又有点不同,那我这个保证,这个进程 不访问我的,共享内存地址,以为此时 一个新的

进程启动时,那么他可能 覆盖了内存地址的数据,和刚才那个进程所做事就冲突了,此时,我们可以想到 每一条汇编指令 的原子性


mv ax,1

比如这一条 当 主程序 启动时 我可以 做这么一件事,

当下一个程序启动时,我们可以做这么一种判断

cmp ax,1je [cs:ip]


那我就可以保证 这个 进程放弃他的执行权限,这就是锁的概念,其实就是一个 进程调度算法的实现

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 一个月宝宝吐奶怎么办 2个月里小孩好哭怎么办 两个月宝宝闹觉怎么办 6岁儿童视力0.5怎么办 单一的三系减少怎么办 血小板低到50该怎么办 放化疗后白细胞低怎么办 化疗后白细胞低发烧怎么办 全程c反应蛋白高怎么办 儿童c反应蛋白高怎么办 c反应蛋白高是怎么办 新生儿c反蛋白高怎么办 c反应蛋白高发烧怎么办 血沉高到50了怎么办啊 血沉和超敏偏高怎么办 孕37周血糖偏高怎么办 孕37周血糖7.0多怎么办 孕妇超敏crp偏高怎么办 高敏c反应蛋白高怎么办 孕17周尿蛋白高怎么办 血小板低到20该怎么办 血象高发烧39度怎么办 新生儿血象3万多怎么办 血象高发烧不退怎么办 半岁宝宝血象高怎么办 5-6小孩免疫力差怎么办 快速c反应蛋白高怎么办 15个月宝宝发烧怎么办 小孩发烧到40度怎么办 孩子发烧到39度怎么办 宝宝抵抗力差总生病怎么办 献血前没休息好怎么办 拔了牙齿一直流血怎么办 拔牙后血块掉了怎么办 生血功能不强怎么办 孕妇白球比偏低怎么办 凝血因子Ⅷ很高怎么办 怀孕一个月上火了怎么办 38周了还没入盆怎么办 妊娠33周血压高怎么办 孕34周突然流血怎么办