![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 79
记录UNIX/Linux系统学习点滴
农夫私房菜
这个作者很懒,什么都没留下…
展开
-
Linux修改调度策略和优先级
1. 在Linux系统中,线程和进程之于Linux系统内核调度器来说是一样的,线程会当做进程一样来参与调度,也可以说线程是内核调度的最小单元。2.子进程或子线程会继承父进程/线程的调度策略。原创 2023-10-27 18:26:47 · 958 阅读 · 0 评论 -
Linux BSP开发学习之百宝箱
Linux内核学习资料总结原创 2023-05-03 22:41:20 · 321 阅读 · 0 评论 -
Linux在堆上分配内存相关知识以及内存泄漏分析方法
Linux内存泄漏等问题分析工具原创 2023-04-05 20:03:15 · 1125 阅读 · 0 评论 -
shell脚本实现可执行程序自动打包和部署的一种方式
shell脚本实现可执行程序自动打包和部署的一种方式原创 2023-02-05 12:48:51 · 2533 阅读 · 0 评论 -
TCP和UDP关于有无内核缓冲区的一点差异说明
tcp和udp通信关于内核有无缓冲区的一点说明原创 2022-12-18 14:24:22 · 453 阅读 · 0 评论 -
Linux共享库相关知识
Linux静态库和动态库相关的基本知识原创 2022-08-06 22:58:36 · 308 阅读 · 0 评论 -
Linux一种快速定位文件描述符泄漏的方法
1.关于文件描述符泄漏的说明 文件描述符泄漏和内存泄漏道理相同,内存泄漏是这块malloc的内存,没有及时free。文件描述符泄漏则是指文件和设备等没有及时close。比如多次打开文件(open, popen, fopen),但是却没有释放(close, pclose, fclose),或者开得多关的少,这种常常是因为异常,return的时候没有close。例如如下伪代码: 当系统中已经分配的fd过多时,超过系统允许每个进程打开的文件描述符的数量后,再次open等操作,...原创 2022-05-02 19:49:59 · 1625 阅读 · 0 评论 -
Linux C/C++开发知识点随笔
1. 对于非单个字节的整数值,不同的硬件结构对于其各个字节的存储顺序可能不同,这便有了大小端的说法。先存储(低内存地址)最高位的字节为大端,先存储最低位的字节为小端。2.有了大小端的差异,数据在本地和网络上传输便有了本地字节序和网络字节序。为了数据能够在网络主机之间传递并被对方正确理解,因此双方需规定一个数据传输的同一字节序,我们称之为网络字节序,它是大端的。主机字节序可能为大端也可能为小端。3.当我们调用htons()、ntohs()、htonl()、ntohl()时,其底层实现会判断我们的主机字原创 2022-04-15 17:00:56 · 382 阅读 · 0 评论 -
Linux GDB调试死锁问题
1.死锁介绍1.1 锁的简介由于多线程的模式下,各个线程并发运行(注意“并发和“并行”的区别),为了保证各个线程对公共资源的访问时出现数据不一致性的问题,出现了锁的机制。Linux系统编程中最常见的锁机制是通过互斥量(mutex)来实现的。任一时刻只有一个线程可以对互斥量mutex上锁(或说成持有该互斥量),在被持有期间,其它线程就无法对它进行上锁(这也是互斥量名字中“互斥”的由来),其它尝试加锁的线程都会休眠(注意休眠和挂起的区别)释放cpu资源,并被记录到此互斥量的等待队列中。持有的线程释.原创 2022-02-28 14:44:22 · 2922 阅读 · 0 评论 -
C语言结构体中char data[0]的用法
1. char data[0]的存在形式char data[0]的存在形式一般如下图中的伪代码所示,多数情况都是放在结构体的最后,其不占用结构的空间(sizeof(struct AAA)的结果不包含char xxx_data[0]),xxx_data[0]的存在只是一个指针的占位符,当结构体分配的指针分配的内存多于结构体本身应占有的内存时,多于的内存将会由这个 "xxx_data"的指针所指向,并且可以通过结构体去使用这块内存。这就类似相当于结构体“包含”了一段可变长的空间,从而克服了C语言结构体类原创 2022-02-23 19:37:34 · 2601 阅读 · 0 评论 -
系统编程手册学习笔记
1. 库函数设计库函数是为了提供比底层系统调用更为方便的调用接口;调用库函数,有的不会执行任何系统调用(比如字符串操作函数),有的则是构建于系统调用层之上的(比如fopen()是利用系统调用open()来执行打开文件的实际操作);C语言的函数库有多个版本,GNU C是其中一个版本,简称glibc,是Linux上最常用的实现;只要执行了系统调用或者库函数,检查调用的状态用于确认调用是...原创 2020-03-27 23:40:51 · 120 阅读 · 0 评论