10----内核同步的方法

原子操作有什么作用?

原子操作可以保证指令以原子的方式执行——执行过程不被打断

有哪些原子整型操作函数?

10----内核同步的方法_第1张图片

原子性和顺序性各有什么作用?

  • 原子性确保指令执行期间不被打断,要么全部执行完,要么根本不执行
  • 顺序性确保即使两条或多条指令出现在独立的执行线程中,甚至独立的处理器上,它们本该的执行顺序要保持。

有哪些原子位操作函数?

10----内核同步的方法_第2张图片

自旋锁有哪些特点?

  • 最多只能被一个可执行线程持有
  • 在任意时间都可以防止多于一个的执行线程同时进入临界区
  • 同一个锁可以用在多个位置
  • 加锁时间不长,不允许睡眠
  • 如果自旋锁被争用,请求自旋锁的线程会以忙循环旋转的方式等待锁可用(占用处理器)
  • 如果自旋锁未被争用,请求自旋锁的线程会立即得到锁

自旋锁有哪些使用方法?

10----内核同步的方法_第3张图片

信号量有什么特点?

  • 最多只能被一个可执行线程持有
  • 在任意时间都可以防止多于一个的执行线程同时进入临界区
  • 加锁时间长,允许睡眠
  • 如果信号量被争用,请求信号量的任务会进入一个等待队列并睡眠(释放处理器)
  • 如果信号量未被争用,等待队列中的任务会被唤醒,并获得该信号量

信号量有哪些使用方法?

10----内核同步的方法_第4张图片

你可能感兴趣的:(Linux内核设计与实现)