Linux下互斥机制及其分析-计算机应用研究.PDF

Linux下互斥机制及其分析-计算机应用研究.PDF

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux下互斥机制及其分析-计算机应用研究.PDF

·72 · 计算机应用研究 2005 年 Linux 下互斥机制及其分析 李 晋, 葛敬国 ( 中国科学院 计算机网络信息中心, 北京 100080) 摘 要: 详细介绍了在 Linux 环境下, 特别是内核态下可能遇到的各种互斥场景, 依据代码执行路径对其进行 了分类。在此基础上, 比较了各种互斥问题的解决方案的使用环境、优缺点以及使用时要注意的问题。 关键词: 中断屏蔽; 原子操作; 互斥; 自旋锁; 信号量 中图法分类号: TP316. 8 文献标识码: A 文章编号 : 1001- 3695( 2005) 08- 0072- 03 Analyses of Mutual Exclusion Mechanism in Linux LI Jin, GE Jing-guo ( Computer Network Information Center, Chinese Academy of Sciences, Beijing 100080, China) Abstract: This article describes the mutex situation under the Linux environment, especially in kernel space, and classifies them by code-executing path. It also shows the usage, weakness and strength of each solution. Key words: Mask Interrupt; Atomic Operation; Mutex; Spinlock; Semaphore 从出现操作系统以来, 互斥就是一个重要且必须解决的问 的互斥机制, 在 SMP( Symmetrical Multi-Processing, 对称多处 题。硬件、操作系统和高级语言为解决这个问题提供了一系列 理) 系统同样起作用, 所以用户空间的互斥问题是很简单的 的支持, 高级语言通常只提供进程级的互斥机制, 但是要对硬 ( 关于信号量将在第 2 章介绍) 。本文重点说明内核态下的互 件进行编程或做操作系统级别的底层工作时, 单一的互斥机制 斥, 下文出现的互斥如果不特别说明均指内核互斥。 是不够的。因为程序中存在大量非进程级的互斥场景, 加大了 如图 1 所示, 代码执行路径分为: 问题的复杂度。操作系统提供很多互斥机制, 然而对不同的互 ( 1) 进程通过系统调用进入内核的代码路径, 我们称它为 斥场景选择合适的互斥机制是至关重要的。互斥方法的作用 进程代码路径。本文所说的进程代码路径指的仅仅是在内核 范围太小, 达不到上锁目标, 太大会影响系统效率。本文的目 中执行的代码路径。每一个尚未完成系统调用的进程都对应 的就是分析互斥场景、互斥机制的功能与效果及其对系统性能 着一条内核代码路径; 每一个内核线程也相当于一条进程代码 的影响, 并介绍如何选择最佳的互斥机制。 路径。这种路径中有进程上下文。 ( 2) 异常处理代码, 它是由于当前进程的执行而引起的。 1 互斥场景 对于正在内核中运行的进程来说, 它们唯一会引起的异常是 “缺页”处理程序。它没有进程上下文。 1. 1 代码执行路径和临界区

文档评论(0)

wendang_12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档