当前位置:嗨网首页>书籍在线阅读

02-系统编程

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

1.1 系统编程

从传统角度而言,所有的UNIX编程都属于系统级编程的范畴。这是由于UNIX系统并没有提供很多高级抽象,甚至是在如X Windows这样的系统上开发应用,也会涉及大量的UNIX的核心API。因此,可以说本书是通用的Linux编程指南。然而,本书并不涉及Linux编程环境——比如,书中没有任何关于如何使用make的说明。本书涵盖的是现代Linux机器上所使用的系统编程API。

系统编程和应用编程存在一些区别,但也有很多共性。系统编程最突出的特点在于要求系统程序员必须对其工作的硬件和操作系统有深入全面的了解。系统程序主要是与内核和系统库打交道,而应用程序还需要与更高层次的库进行交互,这些库把硬件和操作系统的细节抽象封装起来。这种抽象有以下几种目的:一是增强系统的可移植性,二是便于实现不同系统版本间的兼容,三是可以构建更易于使用、功能更强大或二者兼而有之的高级工具箱。对于一个应用,使用多少系统库和高级库取决于应用的运行层次。即使是开发那些基本不用系统库的应用,也能够通过了解系统编程而受益匪浅。对底层系统的深入理解和良好实践,对任何形式的编程都大有裨益。