嵌入式应用程序设计EmbeddedApplicationProgramDesign授课教师.ppt

嵌入式应用程序设计EmbeddedApplicationProgramDesign授课教师.ppt

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式应用程序设计 School of Computer Science, SWPU 嵌入式应用程序设计 School of Computer Science, SWPU 嵌入式应用程序设计 School of Computer Science, SWPU 嵌入式应用程序设计 School of Computer Science, SWPU 嵌入式应用程序设计 School of Computer Science, SWPU 嵌入式应用程序设计 School of Computer Science, SWPU 嵌入式应用程序设计 School of Computer Science, SWPU 嵌入式应用程序设计 School of Computer Science, SWPU 嵌入式应用程序设计 School of Computer Science, SWPU 嵌入式应用程序设计 School of Computer Science, SWPU 嵌入式应用程序设计 School of Computer Science, SWPU 嵌入式应用程序设计 Embedded Application Program Design 授课教师 郑 津 第12讲1 系统调用与API 系统调用 系统调用是指操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组“特殊”接口获得操作系统内核提供的服务。例如用户可以通过进程控制相关的系统调用来创建进程、实现进程之间的通信等。 在Linux中,为了更好地保护内核空间,将程序的运行空间分为内核空间和用户空间(也就是常称的内核态和用户态),它们分别运行在不同的级别上,逻辑上是相互隔离的。 因此,用户进程在通常情况下不允许访问内核数据,也无法使用内核函数,它们只能在用户空间操作用户数据,调用用户空间的函数。 但是,在有些情况下,用户空间的进程需要获得一定的系统服务(调用内核空间程序),这时操作系统就必须利用系统提供给用户的“特殊接口”——系统调用规定用户进程进入内核空间的具体位置。进行系统调用时,程序运行空间需要从用户空间进入内核空间,处理完后再返回到用户空间。 * 用户编程接口 在Linux中,用户编程接口(API)遵循了在Unix中最流行的应用编程界面标准——POSIX标准。POSIX标准是由IEEE和ISO/IEC共同开发的标准系统。该标准基于当时现有的Unix实践和经验,描述了操作系统的系统调用编程接口(实际上就是API),用于保证应用程序可以在源代码一级上在多种操作系统上移植运行。这些系统调用编程接口主要是通过C库(libc)实现的。 * 讨论:API与系统调用区别 系统调用不与程序员直接交互,仅通过软中断机制向内核提交请求以获取内核服务的接口。 API可供程序员直接调用。 API函数与系统调用的关系可以是一对一、一对多,甚至一对零。(注意:反向关系不成立) * 系统命令 系统命令相对API更高了一层,它实际上一个可执行程序,它的内部引用了用户编程接口(API)来实现相应的功能 ,它们之间的关系如图: * 嵌入式应用程序设计 School of Computer Science, SWPU 嵌入式应用程序设计 School of Computer Science, SWPU 嵌入式应用程序设计

文档评论(0)

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

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

1亿VIP精品文档

相关文档