随笔分类 -  LINUX-C系统编程

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