Linux系统编程
Linux系统编程的概念
系统编程的任务,可以定义为使用系统提供的功能解决我们面对的实际问题,而系统调用,则是系统开放给应用执行特定功能的接口。
系统调用
系统调用是操作系统内核提供给应用程序的基础接口,需要运行在操作系统的核心模式下,以确保有权限执行某些 CPU 特权指令。
Linux 系统提供了功能非常丰富的系统调用,涵盖了文件操作、进程控制、内存管理、网络管理、套接字操作、用户管理、进程间通信等各个方面。
执行如下命令,可列出系统中所有的系统调用名称。
man syscalls
IBM 文档库里有一份质量非常高的《中文版系统调用列表》-- 呃呃,点进链接找了一下没找到。。
系统调用的两种方式
系统编号
每一个接口都有对应的编号 编号太多太复杂,不好记忆。
利用 glibc 提供的包装函数将这些系统调用包装成名字自解释的函数。
系统调用的执行方式
中断
中断过程中需要执行相当多的操作。
比如说找到xxx(不记得了)
特点:
采用软中断,所有系统调用都共用128号中断。 有名的0x80。
使用Linux2.6版本之后的一条语句
这条语句的好处在于
他可以不用再像中断那样执行前面一段必需、但却繁琐的操作
总结:讲解了系统编程的概念,着重介绍了系统调用和系统调用的方式以及系统调用的执行方式
个人总结:
我感觉这部分的概念有点超前,就好像知道了但是并没有什么实质性的知识吸收
可能在了解linux系统编程的基础之后,会有不同的想法。但最起码知道了什么是Linux系统编程。