嵌入式linux应用程序开发标准教程pdf,嵌入式LINUX应用程序开发标准教程-华清远见.PDF...

嵌入式LINUX应用程序开发标准教程-华清远见

《嵌入式LINUX应用程序开发标准教程》

作者:华清远见

第6 章 文件I/O 编程

掌握Linux 中系统调用的基本概念

掌握Linux 中用户编程接口(API )及系统命令的相互关系

掌握文件描述符的概念

掌握Linux 下文件相关的不带缓存I/O 函数的使用

掌握Linux 下设备文件读写方法

掌握Linux 中对串口的操作

熟悉Linux 中标准文件I/O 函数的使用

专业始于专注 卓识源于远见

6.1 Linux 系统调用及用户编程接口(API )

由于本章是讲解Linux 编程开发的第1 章,因此希望读者更加明确Linux 系统调用和用户编程接口(API )的概

念。在了解了这些之后,会对Linux 以及Linux 的应用编程有更深入的理解。

6.1.1 系统调用

所谓系统调用是指操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组“特殊”接

口来获得操作系统内核提供的服务。例如用户可以通过进程控制相关的系统调用来创建进程、实现进程调

度、进程管理等。

在这里,为什么用户程序不能直接访问系统内核提供的服务呢?这是由于在Linux 中,为了更好地保护内

核空间,将程序的运行空间分为内核空间和用户空间(也就是常称的内核态和用户态),它们分别运行在

不同的级别上,在逻辑上是相互隔离的。因此,用户进程在通常情况下不允许访问内核数据,也无法使用

内核函数,它们只能在用户空间操作用户数据,调用用户空间的函数。

但是,在有些情况下,用户空间的进程需要获得一定的系统服务(调用内核空间程序),这时操作系统就必须

利用系统提供给用户的“特殊接口”——系统调用规定用户进程进入内核空间的具体位置。进行系统调用时,

程序运行空间需要从用户空间进入内核空间,处理完后再返回用户空间。

Linux 系统调用部分是非常精简的系统调用(只有250 个左右),它继承了UNIX 系统调用中最基本和最有

用的部分。这些系统调用按照功能逻辑大致可分为进程控制、进程间通信、文件系统控制、系统控制、存

储管理、网络管理、s

你可能感兴趣的:(嵌入式linux应用程序开发标准教程pdf,嵌入式LINUX应用程序开发标准教程-华清远见.PDF...)