并发控制原理(一)

本文探讨了并发控制原理,包括同步原语如原子操作和自旋锁。介绍了内核态下的并发问题,如阻塞操作、中断处理,并指出内核通过加锁和屏蔽中断来解决这些问题。自旋锁作为轻量级同步原语,在多处理器系统中确保数据操作的原子性,但可能导致死锁。
摘要由CSDN通过智能技术生成

并发控制原理(一)

多任务的操作系统在单一CPU上运行时,通过快速切换造成并发的假象。
早期多任务操作系统只在用户态可以抢占,即进程运行在内核态时不可能被切换到别的进程。
(大迷惑,只是不会被抢占,为什么不会被切换到别的进程?有没有懂哥告诉我?)
(可能的解答:内核线程运行到一半是不会被优先级更高的其他线程取代的)
(迷惑之二,到底什么是进程的内核态?是内核的进程,还是用户进程调用系统调用?)

但是,操作系统仍然需要关心:

  1. 阻塞操作
  2. 中断
  • 阻塞操作
    进程在等待某些资源的时候,会进入阻塞状态。这个时候,或许需要给某些资源加锁,避免其他进程对其造成破坏。

  • 中断
    虽然内核态不可被抢占,但是,它仍然会被外部设备的中断打断。
    若内核此时正在操作某一个数据结构,而中断也要操作某一个数据结构,则会导致数据状态不一致。
    内核解决这个问题的方法时,在处理这些数据结构的时候屏蔽中断
    注意,中断屏蔽时间不可过长,否则会降低用户体验。
    且,中断被屏蔽时,进程不会主动放弃CPU进入阻塞状态。

即操作系统解决这两个问题,一个方法是加锁,另一个方法是屏蔽中断。

很多多任务操作系统可以在内核态被抢占。优点是更快的反应速度,缺点是同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值