![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 50
南京大学蒋岩岩操作系统笔记与思考,从状态机视角理解并发。 如有侵权请联系删除。。。
及可不遥
zookeeper2181
展开
-
多处理器编程
两个线程同时支付100元,跟数据库中的原子性类似,会导致并发问题,余额有可能出现2^64-100,计算机内2的补码-100.编译器对内存访问“eventually consistent”的处理导致共享内存作为线程同步工具的失效。并发:有两个人同时做一件事情,不管是并发进程还是并发线程。单处理器多线程下也能并发,那么多处理器的复杂点。并发是一段时间内有多个任务,并行是同一时间点有多个任务。并发会导致每个人做的事情的完成先后顺序啥的不同。(3)可见性(最大的麻烦)理解并发程序的执行。原创 2022-10-26 10:52:37 · 291 阅读 · 0 评论 -
理解并发程序的执行
两方都举旗子,我们俩都贴纸,A手快,B的名字先贴上去,B手慢了,把A贴上去了,把B自己的名字覆盖掉了,啊哈哈,那这时候看,上面写的A的名字,那就A进去啦,实际上这个算法还是自私的,谁手快谁进去。上一个失败的例子就相当于,我想进厕所,我看一下厕所有没有人,我再进去,但是我看完之后,我只能闭着眼睛进去,但是这之间,有个人也进去了,那我们俩都进去了,就产生了并发问题。并发程序麻烦的地方(不可见性):看到以后的状态是一个历史,并不是实时的状态,当你去做事情的时候,那就有可能被改掉了。简单的上锁(其实是锁不住的)原创 2022-10-24 17:07:02 · 561 阅读 · 0 评论 -
应用程序的理解
ELF(Executable Linkable Format)是其中最常用的。操作系统做了什么:加载程序,并初始化运行环境(寄存器,代码,数据,堆栈)2文件/设备管理: open,close,read,write,…4.操作系统提供API打开,读取,改写(都需要相应的权限)可执行的文件(程序的二进制代码和数据) 和其他数据文件。从_start 开始执行(初始的%rip,PC)1进程管理:fork,execve,exit,…运行的程序称为进(正在运行的)程(程序)ELF文件的header(元数据)...原创 2022-08-15 22:30:42 · 297 阅读 · 1 评论