![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux系统编程
hhhhhyyyyy8
好记性不如烂笔头
展开
-
系统调用-随便Mark一下-后面整理
系统调用号对应的系统调用在不同Linux平台上,都是相同的。这是一种规范。硬中断:CPU外围引脚接收到了电信号。 寄存器传递参数快;使用地址传参的时候,会进行地址空间的检查,看传递的这个地址是否属于这个进程的空间,就影响效率,比较慢。...原创 2020-05-21 22:08:32 · 177 阅读 · 2 评论 -
Linux网络编程
Socket一个文件描述符指向一个套接字(套接字内部由内核借助两个缓冲区实现)网络字节序:小端法(PC):高位存高地址,地位存地址大端法(网络):高位存低地址,地位存高地址TCP/IP协议规定,网络数据流采用大端字节序;而主机当中使用的是小端法,需要做网络字节序和主机字节序的转换。4字节整数a的存储示意如图所示:写个小程序,把a的最低位输出来,看看是多少。...原创 2019-09-07 19:35:22 · 328 阅读 · 0 评论 -
Linux进程间通信-共享内存
https://www.cnblogs.com/52php/p/5861372.html (一系列)https://blog.csdn.net/ljianhui/article/details/10253345https://blog.csdn.net/adorable_/article/details/80465790https://blog.csdn.net/qq_31073871...转载 2019-11-13 22:20:19 · 189 阅读 · 0 评论 -
Linux线程同步
目录线程同步互斥量(互斥锁)mutex死锁读写锁条件变量信号量线程同步多个线程访问同一个数据时,得按照一定顺序访问,避免同时访问,不然会造成意想不到的后果。互斥量(互斥锁)mutex线程都按照加锁,访问共享资源,解锁的模式工作。 互斥锁实质上是操作系统提供的一把“建议锁”(又称“协同锁”),建议程序中有多线程访问共享资源的时候使用该机制,并...原创 2019-09-28 17:46:45 · 104 阅读 · 0 评论 -
Linux线程基础知识
进程:独立地址空间,拥有PCB。进程可以蜕变成线程,进程创建线程后就蜕变成了线程。线程:轻量级进程(light-weight process,LWP)有独立的PCB,但没有独立的地址空间(共享)区别:是否共享地址空间Linux下:线程:最小的执行单位。A进程创建了3个线程,这3个线程和其他B、C进程共同竞争CPU。 进程:最小资源分配单位,可看成是只有...原创 2019-09-13 22:23:28 · 330 阅读 · 0 评论 -
Linux系统编程中小函数
随机数函数srand():产生伪随机数种子,如果没有指定伪随机数种子,rand使用伪随机数为1的种子。rand():产生[0 RAND_MAX]之间的随机数//#include <stdlib.h>#define RAND_MAX 2147483647void srand(unsigned int seed);int rand(void);1. 如何产生不可预...原创 2019-10-01 19:33:10 · 142 阅读 · 0 评论 -
Linux进程基础知识
程序:死的,只占用磁盘空间进程:活的,运行起来的程序,占用系统资源(CPU,内存等)单道程序设计:所有进程一个一个执行,A执行完了才能执行B多道程序设计:进程相互穿插执行,并行执行虚拟内存与物理内存映射MMU:内存管理单元,完成虚拟地址到物理地址映射不同进程用户空间内存映射到不同物理内存区域,而内核空间内存映射到同一块物理内存区域,因为操作系统就一个,在这个物理...原创 2019-10-01 23:19:53 · 297 阅读 · 0 评论 -
GCC编译步骤及静态库动态库制作
GCCGCC编译的4个步骤-D:编译的之后添加宏定义//测试gcc -D选项,编译的时候指定宏定义.#include<stdio.h>int main(int argc, char const *argv[]){#ifdef DEBUG printf("hello\n");#else printf("world\n");#endif#ifdef ...原创 2019-08-20 22:27:08 · 2730 阅读 · 0 评论 -
Linux进程间通信
进程间通信linux环境下,进程地址空间相互独立,每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另外一个进程中都看不到,所以进程和进程之间不能相互访问,要交互数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷贝到内核缓冲区,进程2再从内核缓冲区中把数据读走,内核提供的这种机制称为进程间通信(IPC,InterProcess Communication)。在进程间...原创 2019-10-02 21:01:47 · 151 阅读 · 0 评论