linux系统编程
linux应用编程也叫linux系统编程,应用程序可以通过系统调用直接调用内核或者通过标准库来调用内核,前者在arm系统中通过软中断来实现。
linux系统编程的内容如下:

一、文件IO
文件IO与标准IO有如下图的区别,linux系统编程相关的文件io是用户层通过系统调用直接访问内核

文件IO有如下五种形式:

二、多进程
多进程有三种状态:就绪(进程被创建)-阻塞(等待资源)-运行(获得资源)

另外,还涉及到进程之间的通信:管道(匿名管道和命名管道)、信号、信号量、消息队列、共享内存、套接字。
三、多线程
每个进程内可以有多个线程,线程是操作系统时间片调度的最小单位。
同一进程下的每个线程共享进程中的全局变量。
线程通过函数pthread_create()生成
发生多个线程调用同一个资源的情况叫线程同步,通过如下方式解决线程同步问题:
互斥锁
条件变量
读写锁
信号量
四、socket网络编程

linux系统编程框架总结:

浙公网安备 33010602011771号