• qq管理专家6.6下载 > 华清远见嵌入式培训专家
  • 华清远见嵌入式培训专家

    免费下载 下载该文档 文档格式:PDF   更新时间:2008-06-02   下载次数:0   点击次数:1
    文档基本属性
    文档语言:
    文档格式:pdf
    文档作者:1
    关键词:
    主题:
    备注:
    点击这里显示更多文档属性
    华清远见——嵌入式培训专家
    http://www.farsight.com.cn
    QQ:313638714 http://shop.embedu.cn
    "黑色经典"系列之《嵌入式 Linux 应用程序开发详解》
    第6章
    文件 I/O 编程
    本章目标
    在搭建起嵌入式开发环境之后,从本章开始,读者将真正开始学习嵌入式 Linux 的应用 开发. 由于嵌入式 Linux 是经 Linux 裁减而来的, 它的系统调用及用户编程接口 API 与 Linux 基本是一致的,因此,在以后的章节中,笔者将首先介绍 Linux 中相关内容的基本编程开发, 主要讲解与嵌入式 Linux 中一致的部分,然后再将程序移植到嵌入式的开发板上运行.因此, 没有开发板的读者也可以先在 Linux 上开发相关应用程序,这对以后进入嵌入式 Linux 的实 际开发是十分有帮助的.本章主要讲解文件 I/O 相关开发,经过本章的学习,读者将会掌握 以下内容. 掌握 Linux 中系统调用的基本概念 掌握 Linux 中用户编程接口(API)及系统命令的相互关系 掌握文件描述符的概念 掌握 Linux 下文件相关的不带缓存 I/O 函数的使用 掌握 Linux 下设备文件读写方法 掌握 Linux 中对串口的操作 熟悉 Linux 中标准文件 I/O 函数的使用
    华清远见培训教材
    华清远见——嵌入式培训专家
    http://www.farsight.com.cn
    QQ:313638714 http://shop.embedu.cn
    6.1
    Linux 系统调用及用户编程接口(API)
    由于本章是讲解 Linux 编程开发的第 1 章, 因此希望读者更加明确 Linux 系统调用和用户编程 接口(API)的概念.在了解了这些之后,会对 Linux 以及 Linux 的应用编程有更深入地理解.
    6.1.1
    系统调用
    所谓系统调用是指操作系统提供给用户程序调用的一组"特殊"接口,用户程序可以通 过这组"特殊"接口来获得操作系统内核提供的服务.例如用户可以通过进程控制相关的系 统调用来创建进程,实现进程调度,进程管理等. 在这里,为什么用户程序不能直接访问系统内核提供的服务呢 这是由于在 Linux 中,为了更 好地保护内核空间,将程序的运行空间分为内核空间和用户空间(也就是常称的内核态和用户态) , 它们分别运行在不同的级别上,在逻辑上是相互隔离的.因此,用户进程在通常情况下不允许访问 内核数据,也无法使用内核函数,它们只能在用户空间操作用户数据,调用用户空间的函数. 但是,在有些情况下,用户空间的进程需要获得一定的系统服务(调用内核空间程序) , 这时操作系统就必须利用系统提供给用户的"特殊接口"——系统调用规定用户进程进入内 核空间的具体位置.进行系统调用时,程序运行空间需要从用户空间进入内核空间,处理完 后再返回到用户空间. Linux 系统调用部分是非常精简的系统调用(只有 250 个左右) ,它继承了 UNIX 系统调 用中最基本和最有用的部分. 这些系统调用按照功能逻辑大致可分为进程控制, 进程间通信, 文件系统控制,系统控制,存储管理,网络管理,socket 控制,用户管理等几类.
    6.1.2
    用户编程接口(API)
    前面讲到的系统调用并不是直接与程序员进行交互的,它仅仅是一个通过软中断机制向内 核提交请求, 以获取内核服务的接口. 在实际使用中程序员调用的通常是用户编程接口——API, 也就是本书后面要讲到的 API 函数.但并不是所有的函数都一一对应一个系统调用,有时,一 个 API 函数会需要几个系统调用来共同完成函数的功能,甚至还有一些 API 函数不需要调用相 应的系统调用(因此它所完成的不是内核提供的服务) . 在 Linux 中,用户编程接口(API)遵循了在 UNIX 中最流行的应用编程界面标准——POSIX 标准. POSIX 标准是由 IEEE 和 ISO/IEC 共同开发的标准系统. 该标准基于当时现有的 UNIX 实践 和经验,描述了操作系统的系统调用编程接口(实际上就是 API) ,用于保证应用程序可以在源代 码一级上在多种操作系统上移植运行.这些系统调用编程接口主要是通过 C 库(libc)实现的.
    6.1.3
    系统命令
    以上讲解了系统调用,用户编程接口(API)的概念,分析了它们之间的相互关系,那 么,读者在第 2 章中学到的那么多的 Shell 系统命令与它们之间又是怎样的关系呢 系统命令相对 API 更高了一层,它实际上一个可执行程序,它的内部引用了用户编程接 口(API)来实现相应的功能.它们之间的关系如下图 6.1 所示.

    下一页

  • 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
  • 免费下载 PDF格式下载
  • 您可能感兴趣的
  • qq电脑管理专家下载  qq管理专家下载  qq管理专家免费下载  qq软件管理专家下载  最新qq管理专家下载  qq管理专家官方下载  qq安全管理专家下载  qq管理专家下载安装  qq管理专家