随笔分类 - LINUX-C系统编程
摘要:From: https://blog.csdn.net/haoel/article/details/1602108 警惕UNIX下的LD_PRELOAD环境变量 前言 也许这个话题并不新鲜,因为LD_PRELOAD所产生的问题由来已久。不过,在这里,我还是想讨论一下这个环境变量。因为这个环境变量所带
阅读全文
摘要:```
[root@iZwz9i55e7v33yn8ksnh8nZ ~]# mkdir /tmp/dir1
[root@iZwz9i55e7v33yn8ksnh8nZ ~]# mkdir /tmp/dir2
``` ```
[root@iZwz9i55e7v33yn8ksnh8nZ ~]# touch /tmp/dir1/file1
[root@iZwz9i55e7v33yn8ksnh8nZ ~...
阅读全文
摘要:概述 想必在linux上写过程序的同学都有分析进程占用多少内存的经历,或者被问到这样的问题——你的程序在运行时占用了多少内存(物理内存)?通常我们可以通过top命令查看进程占用了多少内存。这里我们可以看到VIRT、RES和SHR三个重要的指标,他们分别代表什么意思呢?这是本文需要跟大家一起探讨的问题
阅读全文
摘要:``` cat syslog_test.c include include include int main() { int i; openlog("jiangyi tag",LOG_CONS,LOG_AUTH); for ( i = 0; i
阅读全文
摘要:这里使用了msleep(50); printk 开启其实挺大的,当我使用msleep(10);机器直接卡死了; 另外ISERR不能判断结构体的,只能判断 空指针 make编译 make make C /lib/modules/3.10.0 327.ali2000.alios7.x86_64/buil
阅读全文
摘要:[root@localhost /home/ahao.mah/main] make make C /lib/modules/3.10.0 327.ali2000.alios7.x86_64/build M=/home/ahao.mah/main modules make[1]: Entering d
阅读全文
摘要:本文主要介绍在Linux下的时间实现以及系统如何进行时钟中断处理。 一. Linux的硬件时间 PC机中的时间有三种硬件时钟实现,这三种都是基于晶振产生的方波信号输入。这三种时钟为: 1. 实时时钟RTC ( Real Time Clock) 2. 可编程间隔器PIT(Programmable In
阅读全文
摘要:sockaddr sockaddr 是通用的socket地址,具体到Internet socket,用下面的结构,二者可以进行类型转换 sa_family是地址家族,一般都是“AF_xxx”的形式。通常大多用的是都是AF_INET,代表TCP/IP协议族 sa_data是14字节协议地址。 此数据结
阅读全文
摘要:ref "https://access.redhat.com/solutions/18627" 在el5中 如何查看系统现在使用的clock source是什么? 答: 方式1:需要说明的是不能保证这个两个文件中的准确性! 方式2:比较推荐这个方式 clock source可以使用哪些内核参数? 答
阅读全文
摘要:疑问 CPU获得硬中断后,执行中断处理程序,这个“中断处理程序”就是“驱动程序”,对于一个设备发来的中断,不应该由这个设备的“中断处理程序”(驱动)处理吗?“中断处理程序”其实是在内核中的一段代码 中断的概念 中断,在系统的不同设计者眼中完全不是一个东西,这是为什么大家对它有那么多误解,因为不少人把
阅读全文
摘要:Linux内存点滴 用户进程内存空间 经常使用top命令了解进程信息,其中包括内存方面的信息。命令top帮助文档是这么解释各个字段的。 VIRT, Virtual Image (kb) RES, Resident size (kb) 实际使用 SHR, Shared Mem size (kb) %M
阅读全文
摘要:在Linux中,我们知道可以通过nice、renice命令改变进程的执行优先级,优先级高的进程优先执行,从而一定程度上保证重要任务的运行。 除了nice、renice外,可以通过CPU affinity指定进程在哪些处理器上运行。CPU affinity表示进程要在某个给定的 CPU 上尽量长时间地
阅读全文
摘要:为了说明这个流程,还是用图来描述一下比较直观。 中间过程请参考 《IO之内核buffer "buffer cache"》 《IO之标准C库buffer》 《IO队列和IO调度》
阅读全文
摘要:举例 一般情况下,Read,write系统调用并不直接访问磁盘。这两个系统调用仅仅是在用户空间和内核空间的buffer之间传递目标数据。 举个例子,下面的write系统调用仅仅是把3个字节从用户空间拷贝到内核空间的buffer之后就直接返回了 write(fd,”abc”,3); 在以后的某个时间点
阅读全文