linux系统编程
文章平均质量分 90
Capr1corn
命数如织,当为磐石
展开
-
Linux系统编程手册 学习笔记(一)
第三章 系统编程概念1、系统调用的概念: 用户通过系统调用来进入到linux内核中,可以利用应用程序编程接口(API)的形式来访问系统提供的服务。其中包括创建新的进程、执行I/O、为进程间通信创建管道等。2、用户态进行系统调用情况: 用户通过调用glibc库中的外壳函数来发起系统调用。 外壳函数会将系统调用所需参数传入到特定的寄存器內;系统调用进入内核的方式都是一样的。 ...原创 2018-08-28 00:02:24 · 3560 阅读 · 0 评论 -
Linux系统编程手册 学习笔记(二)
第四章:文件I/O:通用的I/O模型在该章节中讨论的文件描述符的概念。其中包括:打开文件,关闭文件,从文件中读取数据和向文件中写数据。概述 所有执行I/O操作的系统调用都以文件描述符(一个非负整数(通常是比较小的整数))来指代打开的文件。文件描述符用以表示所有类型的已打开文件,包括管道(pipe)、FIFO、socket、终端、设备和普通文件。 下面介绍执行I/O操作的4个主要系统调...原创 2018-09-07 21:10:25 · 1475 阅读 · 0 评论 -
进程间的通信简介
通信工具通信工具允许进程间相互交换数据,也可以用来不同线程之间交换数据,不过很少使用,一般线程之间通过共享全局变量来交换信息。通信工具可以分为两类:数据传输工具:区分这些工具的关键因素是写入和读取的概念。为了进行通信,一个进程将数据写入IPC工具中,另一个进程从中读取数据。这些工具要求在用户内存和内核内存之间进行两次数据传输:一次传输是在写入的时候从用户内存到内核内存,另一次传输是在读取的...原创 2019-03-15 20:17:32 · 443 阅读 · 0 评论 -
转载:__builtin_expect 说明
这个指令是gcc引入的,作用是允许程序员将最有可能执行的分支告诉编译器。这个指令的写法为:__builtin_expect(EXP, N)。意思是:EXP==N的概率很大。一般的使用方法是将__builtin_expect指令封装为likely和unlikely宏。这两个宏的写法如下.#define likely(x) __builtin_expect(!!(x), 1) //x很可能为真...转载 2019-03-16 16:04:54 · 143 阅读 · 0 评论 -
linux网络编程的若干问题
在linux下每一个进程都一个进程id,类型pid_t,可以由getpid()获取。POSIX线程也有线程id,类型pthread_t,可以由pthread_self()获取,线程id由线程库维护。 但是各个进程独立,所以会有不同进程中线程号相同节的情况。那么这样就会存在一个问题,我的进程p1中的线程pt1要与进程p2中的线程pt2通信怎么办,进程id不可以,线程id又可能重复,所以这里会...原创 2019-03-16 16:32:29 · 161 阅读 · 0 评论 -
转:Linux内核学习之系统调用
文章参考Linux内核修炼之道。1. 系统调用概念大家都知道操作系统的作用是管理计算机的软硬件资源,但是操作系统要向用户提供各种各样的服务,而用户应用程序访问这些服务的方式就是通过系统调用。但是一般来说,我们都是通过操作系统封装好的API(应用编程接口)来间接使用系统调用的。比如在Windows编程中,你可以调用WinAPI,他以C库的形式给出。比如在Linux当中,我们调用的read函数:...转载 2019-03-22 18:15:20 · 147 阅读 · 0 评论 -
Linux系统编程手册-源码的使用
Linux系统编程手册-源码的使用 转自:http://www.cnblogs.com/pluse/p/6296992.html 第三章后续部分重点介绍了后面章节所要使用的头文件及其实现,主要如下:ename.c.incerror_functions.hget_num.htlpi_hdr.h其中ename.c.inc文件定义了一个字符串...转载 2019-05-25 15:26:22 · 696 阅读 · 0 评论