Linux学习笔记
文章平均质量分 55
鸟恋旧林XD
无限风光在险峰
展开
-
从grub rescue> 问题解决,温习操作系统中文件系统的相关内容
从grub rescue> 问题的解决,温习操作系统中文件系统的相关内容原创 2016-01-25 22:28:59 · 647 阅读 · 0 评论 -
linux下查看目标文件.a中函数符号名称
问:拿到一个.a库,如何查看其中包含哪些函数?答:使用 nm xx.a 命令nm xx.a如果输出较多,可重定向输出至文本文件中nm xx.a > xx.txt几个问题:(1).a到底是个什么?.a其实是把编译生成的.o文件,打包成一个.a文件。a的意思是archive/归档的意思。(2).a中一些字段含义nm xx.a命令后输出符号表。如:000000 T ...原创 2019-01-07 14:09:14 · 6153 阅读 · 0 评论 -
linux和Windows文件不兼容(shell脚本执行错误 $'\r': command not found)
背景将linux通过samba服务映射到windows平台,在win平台下建立一个脚本,然后切换到linux下执行,报错$’\r’: command not found。原因win平台下的换行是:回车符 + 换行符,也就是\r\n。unix下是换行符\n。linux下不识别\r为回车符,所以导致每行的配置都多了个\r,因此是脚本编码的问题。解决(1)在linux上执行$ dos2unix...原创 2018-12-10 22:07:45 · 1732 阅读 · 0 评论 -
linux系统中进程被killed内存不足
进程被系统killed,一个常见原因是内存不足。如果查看对应日志?答:dmesg | egrep -i -B100 ‘killed process’原创 2018-11-28 10:33:31 · 3937 阅读 · 0 评论 -
linux链接.a库时error adding symbols: file format not recognized
问题:编译ARM端程序需要链接一个.a库,报错: error adding symbols file: format not recognized.解决:用readelf工具查看目标端ARM端需要32位程序,因此用的编译链是32位,而该库编译出来是64位,说明用的编译链是64位的,因此不认。重新编译后OK。...原创 2018-11-30 10:07:43 · 29499 阅读 · 5 评论 -
神经网络的利用率和
1. 神经网络的利用率当一个CNN网络做forward时,对于硬件资源的利用情况,称之为利用率。如何计算利用率?计算网络的计算量,通常是乘累加的次数测量网络运行耗时乘累加次数除以耗时, 计算该网络的GFLOPS用计算的网络GFLOPS除以硬件资源的理论GFLOPS,即利用率2. GFLOPS全称:float operations per second,每秒可做浮点操作的数量。用...原创 2018-11-14 20:36:16 · 2822 阅读 · 0 评论 -
Win7_X64 + VS2013 + CUDA + Caffe 配置记录
目录1. 背景2. CUDA3. Caffe1. 背景2. CUDA3. Caffe原创 2018-10-08 10:22:51 · 361 阅读 · 0 评论 -
OpenCV 2.4.X + vs 2015 配置及使用
背景本科毕设和研究生毕设都用到了OpenCV,库确实很好用,功能很强大。研究生项目是CRF算法中需要提取ROI,提取纹理特征,计算直方图等,接口调用很方便。潜意识以为OpenCV库是在linux平台上做。目前项目中需要将图片转化为单通道图像(灰度图),这个通过imread函数读取时设置模式就行。看了下ubuntu平台,装了库,但使用时报错,网上查找编译命令对着敲进去还是不行。Ubuntu里...原创 2018-08-20 14:02:09 · 1122 阅读 · 0 评论 -
Putty客户端配色方案
Putty默认的配色方案看起来有点扎眼,所以打算换一下配色。使用的是修改注册表的方法。1.打开注册表:运行—> regedit2.找到对应的注册表文件,并导出:注册表地址 HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\保存为一个文件*.reg。可以看到putty的配置信息其实是存在注册表中,一个Setting转载 2018-01-29 11:46:41 · 1642 阅读 · 0 评论 -
linux如何实现signal?
Linux中如何实现Signal?答:内核调度并运行进程之前,先检查该进程之上是否有未处理的信号,有则出发一个软中断,中断处理函数中执行对应的信号处理函数。 因为是通过软中断执行,所以信号处理在自己的所有的栈上,不影响原线程的栈。 不同Signal对应不同中断处理函数。原创 2017-08-04 11:09:41 · 349 阅读 · 0 评论 -
BAT经典面试题:操作系统题目
1. 同样可以实现互斥,互斥锁和信号量有什么区别?答:信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在semtake的时候,就阻塞在哪里)。而互斥锁是用在多线程多任务互斥的,一个线程占用了某一个资源,那么别的线程就无法访问,直到这个线程unlock,其他的线程才开始可以利用这 个资源。比如对全局变量的访问,有时要加锁,操作完了,在解锁。原创 2017-08-03 22:04:53 · 1253 阅读 · 0 评论 -
三个线程,依次打印
编程实现三个线程ABC,并让它们顺次打印ABC来源:牛客网的BAT经典面试题思路:设置三个信号量:S1, S2, S3,S2由S1 post,S3由S2 post, S1由S3 post,由A线程先开始打印,其他线程必然在等待信号量,所以三个线程一定会按照信号量的顺序来打印。注意vs 2015中多线程使用要调用windows下的API。一般在Linux下用操作系统中讲到的POSIX那一套。代码实现原创 2017-08-03 21:34:24 · 1048 阅读 · 0 评论 -
Linux多线程,锁的相关问题
1.用普通的互斥锁编程实现一个读写锁1.1 自旋锁为实现保护共享资源而提出一种锁机制。其实,自旋锁与互斥锁比较类似,它们都是为了解决对某项资源的互斥使用。无论是互斥锁,还是自旋锁,在任何时刻最多只能有一个保持者,即任何时刻最多只能有一个执行单元获得锁。但是两者在调度机制上略有不同。对于互斥锁,如果资源已经被占用,资源申请者只能进入睡眠状态。但是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保原创 2017-08-03 22:46:09 · 306 阅读 · 0 评论 -
加载内核模块,实现新的系统调用:遍历系统当前所有进程的任务描述符,并将pid组织成树状结构显示
在Linux内核中增加一个系统调用,并编写对应的linux应用程序。利用该系统调用能够遍历系统当前所有进程的任务描述符,并按进程父子关系将这些描述符所对应的进程id(PID)组织成树形结构显示。原创 2016-02-25 23:19:27 · 14763 阅读 · 32 评论 -
python中 no module named xxx 问题
记录下,命令老忘。这个问题分两类:压根没有这个module,需要安装;有这个module但路径不对。解决:sys.path.append(‘python的site-packages路径’)原创 2019-01-19 17:42:38 · 2382 阅读 · 0 评论