打印

在x86或arm支持多级运行级别的处理器上,并发是什么。

[复制链接]
977|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
keer_zu|  楼主 | 2015-12-10 11:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在x86或者arm这样CPU支持多级运行级别的处理器上,并发是怎么回事之我的理解。

只要程序并发执行的程序就要考虑竞争,同步等,有些地方需要一次做完,就需要加锁等。
1. 应用程序在执行“系统调用”的时候回切入“内核态”执行内核程序,所以这种情况下也就会被“并发”执行

2.有些内核程序本身就执行核心功能:比如内存管理,任务调度等,他们再每次被触发的时候被调用,比如任务调度,可能被定时中断触发等等。

其实具体某个CPU在给定的时刻只能执行一条指令,轮到执行内核程序的时候,CPU会在比较高的级别运行,拥有权限也较高。执行用户程序的时候,级别就会低下来,当然ARM和x86都支持这种方式,但是低端的单片机没有这个概念。

一定要区分进程/线程和“程序”之间的不同,前者是一个可执行实体,后者是代码。

有内核态的进程/线程, 也有用户态的进程/线程,不管是那种状态的线程/进程。都需要和别的线程/进程通信。用户态之间进程靠管道,socket等通信,用户态和核心态之间通过系统调用等。核心态和核心态之间就可以用你看的书上的内容了。
这只是我的理解。

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:qq群:49734243 Email:zukeqiang@gmail.com

1352

主题

12436

帖子

53

粉丝