Linux系统编程入门指南
一、系统编程概述
系统编程主要围绕编写系统软件展开,系统软件处于底层,直接与内核和核心系统库交互。像我们日常使用的 shell、文本编辑器、编译器、调试器、核心实用程序以及系统守护进程等都属于系统软件。网络服务器、Web 服务器和数据库同样也是系统软件,它们主要(甚至完全)与内核和 C 库进行交互。
与之相对的是高层的 GUI 应用程序等软件,它们通常处于较高层级,只是偶尔才会深入底层。无论是专职编写系统软件的程序员,还是仅将部分时间用于此任务的程序员,都能从系统编程的理解中受益。系统编程是所有软件编写的核心,无论是作为主要工作内容,还是作为高层概念的基础,都至关重要。
在众多系统中,Linux 是一个现代类 Unix 系统,由 Linus Torvalds 和全球各地的程序员社区从头开始编写。虽然 Linux 与 Unix 有着相同的目标和理念,但它有自己的发展路径,在需要时会有所不同,仅在实际可行时才会与 Unix 趋同。Linux 系统编程的核心与其他 Unix 系统相同,但在基础之上,Linux 支持更多的系统调用,表现出独特的行为,并提供新的功能。
传统上,所有的 Unix 编程都是系统级编程,Unix 系统历史上没有太多高层抽象。即使在 X Window System 等开发环境中编程,也能完全看到核心 Unix 系统 API。因此,我们可以说这涵盖了一般的 Linux 编程,但不包括 Linux 编程环境的内容,例如不会有关于 make 的教程,主要关注的是现代 Linux 机器上暴露的系统编程 API。
系统编程和应用编程在某些重要方面有所不同,但也有相似之处。系统编程的特点是程序员必须对其工作的
超级会员免费看
订阅专栏 解锁全文
3万+

被折叠的 条评论
为什么被折叠?



