From 72c94435a357a97f8afa3ab4d3c4cf6a430421bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=9F=E5=AE=89?= Date: Fri, 11 Dec 2015 16:13:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8README=E4=B8=AD=E6=B7=BB=E5=8A=A0v1.10?= =?UTF-8?q?=E7=9A=84=E4=BF=AE=E6=94=B9=E5=86=85=E5=AE=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/README | 11 +++++++++++ src/sys_nicmonitor/README | 28 ++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/src/README b/src/README index aa33bcc..0ec4cfa 100644 --- a/src/README +++ b/src/README @@ -1,3 +1,14 @@ +--V1.10 -- +2015-12-11 +修改IPC信号量的相关操作 + +1)通过对代码的分析发现:在使用信号量时存在错误。在使用进行PV原语操作时,进行了相反的操作,其中加锁操作应减少信号量的计数,而去锁应增加信号量的计数,但库中进行了相反的操作,对其进行了修改。即将get_sem中对信号量的操作改为-1,而在release_sem函数中对信号量的操作变为1(即+1)。同时在init_sem函数中将该信号量的值初始化为1。 + +2)信号量应由网卡监控程序sys_nicmonitor创建,而不应由用户程序创建,对其进行了相应的修改(在创建信号量时在flag中添加IPC_EXCL,并将用户程序引用信号量时的flag中去除IPC_CREATE)。 + +3)在对获取网卡信息函数get_nic_info中添加获取时间的操作后得知,其中对getpwdnam的调用会减慢函数的工作(该函数并非每次都减慢函数很多,多数在30~40ms左右,但在测试中曾达到2s左右)。对其修改为在sys_nicmonitor程序启动时,调用getpwdnam函数,并将得到的用户主目录名写入到一块共享内存中。当用户程序要获得该目录名时,则从该值从共享内存中读取出来,而不需要每次都通过getpwdnam来获取,故可以提高该函数的速度。 + + =-======update 2015-11-17 编译前,进入dep目录运行sh run.sh,安装编译依赖文件. diff --git a/src/sys_nicmonitor/README b/src/sys_nicmonitor/README index 726685a..0ec4cfa 100644 --- a/src/sys_nicmonitor/README +++ b/src/sys_nicmonitor/README @@ -1,3 +1,31 @@ +--V1.10 -- +2015-12-11 +修改IPC信号量的相关操作 + +1)通过对代码的分析发现:在使用信号量时存在错误。在使用进行PV原语操作时,进行了相反的操作,其中加锁操作应减少信号量的计数,而去锁应增加信号量的计数,但库中进行了相反的操作,对其进行了修改。即将get_sem中对信号量的操作改为-1,而在release_sem函数中对信号量的操作变为1(即+1)。同时在init_sem函数中将该信号量的值初始化为1。 + +2)信号量应由网卡监控程序sys_nicmonitor创建,而不应由用户程序创建,对其进行了相应的修改(在创建信号量时在flag中添加IPC_EXCL,并将用户程序引用信号量时的flag中去除IPC_CREATE)。 + +3)在对获取网卡信息函数get_nic_info中添加获取时间的操作后得知,其中对getpwdnam的调用会减慢函数的工作(该函数并非每次都减慢函数很多,多数在30~40ms左右,但在测试中曾达到2s左右)。对其修改为在sys_nicmonitor程序启动时,调用getpwdnam函数,并将得到的用户主目录名写入到一块共享内存中。当用户程序要获得该目录名时,则从该值从共享内存中读取出来,而不需要每次都通过getpwdnam来获取,故可以提高该函数的速度。 + + +=-======update 2015-11-17 +编译前,进入dep目录运行sh run.sh,安装编译依赖文件. + +然后sh build.sh编译1.9版本的sys_nicmonitor#1.9-x86_64-Linx-Rocky4.2.pkg.tar.gz + +调试模式下: +cd sys_nicmonitor-1.9 +make clean +make +make test +make runtest + +版本号变更方法,更新sys_nicmonitor/version.h文件,需要同时修改//后面的和define中的,前者用于pkg包,后者用于sys_nicmonitor程序. +制作pkg包方法: sh build.sh + + + ========= 编译前准备: 编译前先安装dotconf软件包。