prince的文章

02、Linux 系统编程 - Linux文件IO操作

Linux文件IO操作 1 系统调用 系统调用:就是操作系统(内核)提供给用户程序调用的一组“特殊”接口(函数接口)。 用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务,比如用户可以通过文件系统相关的调用请求系统打开文件、关闭文...

04、Linux 系统编程 - 信号

Linux进程通信之信号 1 信号的概述 信号的概念信号是Linux进程间通信的最古老的方式。信号是软件中断,它是在软件层次上对中断机制的一种模拟,是一种异步通信的方式。信号可以导致一个正在运行的进程被另一个正在运行的异步进程中断,转而处理...

03、Linux 系统编程 - 进程

Linux多任务编程之进程 1 进程的概述 我们平时写的C语言代码,通过编译器编译,最终它会成为一个可执行程序,当这个可执行程序运行起来后(没有结束之前),它就成为了一个进程。程序是存放在存储介质上的一个可执行文件,而进程是程序执行的过程。...

15、Linux 系统编程 - 信号量

信号量 1 信号量 1.1 信号量的概述 信号量广泛用于进程或线程间的同步和互斥,信号量本质上是一个非负的整数计数器,它被用来控制对公共资源的访问。编程时可根据操作信号量值的结果判断是否对公共资源具有访问的权限,当信号量值大于0时,则可以访...

13、Linux 系统编程 - 条件变量

条件变量 与互斥锁不同,条件变量是用来等待而不是用来上锁的,条件变量本身不是锁!条件变量用来自动阻塞一个线程,直到某特殊情况发生为止。通常条件变量和互斥锁同时使用。 条件变量的两个动作:条件不满,阻塞线程;当条件满足,通知阻塞的线程开始工作...

12、Linux 系统编程 - 互斥锁

线程的同步与互斥 1 同步与互斥的概述 现代操作系统基本都是多任务操作系统,即同时有大量可调度实体在运行。在多任务操作系统中,同时运行的多个任务可能:都需要访问/使用同一种资源多个任务之间有依赖关系,某个任务的运行依赖于另一个任务这两种情形...