操作系统原理
文章平均质量分 69
Quartz010
不予置评
展开
-
Linux学习笔记 文件读写小细节
open 函数的flagint open(const *pathname, int falg, int parm) O_RDONLY //文件只读 O_WRONLY //文件只写 O_CREAT //不存在时创建文件(存在就直接清空后覆写) O_RDWR //文件读写 O_EXCL原创 2016-10-19 20:24:17 · 333 阅读 · 0 评论 -
source命令与 .命令
source 命令是 bash shell 的内置命令,从 C Shell 而来。 source 命令的另一种写法是点符号,用法和 source 相同,从 Bourne Shell而来。 source 命令可以强行让一个脚本去立即影响当前的环境。 source 命令会强制执行脚本中的全部命令,而忽略文件的权限。 source 命令通常用于重新执行刚修改的初始原创 2017-01-27 18:05:58 · 494 阅读 · 0 评论 -
可重入代码
转自:http://hi.baidu.com/benzus/blog/item/6bfe300aca4e9036b0351d7a.html若一个程序或子程序可以安全的被并行执行,则称其为可重入(reentrant或re-entrant)的;即,当该子程序正在运行时,可以再次进入并执行它。若一个函数是可重入的,则该函数:不能含有静态(全局)非常量数据。不能返回静态转载 2017-01-28 16:30:57 · 997 阅读 · 0 评论 -
Linux下的进程相关编程
fork()系统调用 fork的作用是根据一个现有的进程复制出一个新 进程,原来的进程称为父进程(Parent Process) ,新进程称为子进程(Child Process)。系统中 同时运行着很多进程,这些进程都是从最初只有一个进程开始一个一个复制出来的。在Shell下输入 命令可以运行一个程序,是因为Shell进程在读取用户输入的命令之后会调用fork复制出一个新 的Shell进程,然原创 2017-01-29 00:41:02 · 323 阅读 · 0 评论 -
运维请注意:”非常危险“的Linux命令大全
转载自:freebufLinux命令是一种很有趣且有用的东西,但在你不知道会带来什么后果的时候,它又会显得非常危险。所以,在输入某些命令前,请多多检查再敲回车。 rm –rfrm –rf是删除文件夹和里面附带内容的一种最快捷的方法,但是细微的错误或者语法认知不到位,就可能对系统造成不可恢复的破坏,下面给出一些案例:rm 删除linux下的文件rm -r 递归删除文件夹,包括空文件夹rm -f 强翻译 2017-03-05 12:07:49 · 410 阅读 · 0 评论 -
linux下的二进制文件的编辑和查看
一、在Linux下查看二进制文件的软件:xxd (2进制)hexdump (16进制)二、编辑:1、biew2、hexedit3、vimVim 来编辑二进制文件。Vim 本非为此而设计的,因而有若干局限。但你能读 取一个文件,改动一个字符,然后把它存盘。结果是你的文件就只有那一个字符给改了, 其它的就跟原来那个一模一样。 要保证 Vim 别把它那些聪明的窍门用错地方,启动 Vim 时加转载 2017-04-03 01:11:41 · 8140 阅读 · 0 评论 -
Linux /dev目录详解和Linux系统各个目录的作用
很好的 一篇讲解DEV的博文,清楚了不少东西转载自:http://blog.csdn.net/maopig/article/details/7195048Linux /dev目录详解 在Linux下,/dev目录是很重要的,各种设备都在下面。下面简单总结一下: dev是设备(device)的英文缩写。/dev这个目录对所有的用户都十分重要。因为在这个目录中包含了所有转载 2017-08-23 21:16:41 · 2080 阅读 · 0 评论 -
PV操作实例分析
//PV两个字母是荷兰文 Passeren(通过),Vrijgeven(释放)的简称。 刚开始学习操作系统的时候,就听说PV操作,简单说说PV操作。● P(S): S=S-1 如果S≥0,则该进程继续执行; S<0,进程暂停执行,放入信号量的等待队列 ● V(S): S=S+1转载 2017-09-17 01:54:49 · 1235 阅读 · 0 评论 -
i386和X86各是什么意思
IA32 : 32 bits Intel Architecture (32位带宽Intel构架)IA64 : 64 bits Intel Architecture (64位带宽Intel构架)amd64i386 : Intel 386 ( 老的386机器,也泛指IA32体系的CPU)i486 : Intel 486i586 : Intel 586 ( Pentium ,K6 级别CPU )转载 2017-10-20 02:03:15 · 1845 阅读 · 0 评论 -
程序的不同段的区别和作用
本文转载自 : 链接一.在学习之前我们先看看ELF文件。ELF分为三种类型:.o 可重定位文件(relocalble file),可执行文件以及共享库(shared library),三种格式基本上从结构上是一样的,只是具体到每一个结构不同。下面我们就从整体上看看这3种格式从文件内容上存储的方式,spec上有张图是比较经典的:如上图: 其实从文件存储的格式来说,上面转载 2017-10-20 02:25:10 · 2535 阅读 · 0 评论 -
经典的 Fork 炸弹解析
转载自: http://blog.saymagic.cn/2015/03/25/fork-bomb.html本文地址:https://linux.cn/article-5685-1.html Jaromil在2002年设计了最为精简的一个Linux Fork炸弹,整个代码只有13个字符,在shell中运行后几秒后系统就会宕机::(){:|:&};:这样看起来不是很转载 2017-01-27 18:01:20 · 4221 阅读 · 0 评论 -
一个不错的shell 脚本入门教程
建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行)。 如同其他语言一样,通过我们使用任意一种文字编辑器,比如nedit转载 2017-01-26 00:05:24 · 2568 阅读 · 0 评论 -
Linux 下的tar常用命令及操作
tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。首先要弄清两个概念:打包和压缩。打包是指将一大转载 2016-12-21 11:05:12 · 349 阅读 · 0 评论 -
Linux下串口编程基础
串口知识 串行接口 (SerialInterface) 是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。 1. 波特率 表示每秒传输的比特数,串口通信的双方必须保持一致才能通信数据位,若波特率为115200,它表示什么呢? 对于发送断,即每秒钟发送1转载 2016-12-19 12:25:12 · 644 阅读 · 0 评论 -
linux下产生core文件以及不产生core文件的条件
原文:http://team.eyou.com/?p=27Linux下,产生core文件,和不产生core文件的条件:当我们的程序崩溃时,内核有可能把该程序当前内存映射到core文件里,方便程序员找到程序出现问题的地方。最常出现的,几乎所有C程序员都出现过的错误就是“段错误”了。也是最难查出问题原因的一个错误。下面我们就针对“段错误”来分析core文件的产生、以及我们如转载 2017-02-04 23:13:52 · 26336 阅读 · 1 评论 -
addr2line探秘(没有core怎么办)
转自:http://www.cnblogs.com/li-hao/archive/2013/04/03/2997807.html在Linux下写C/C++程序的程序员,时常与Core Dump相见。在内存越界访问,收到不能处理的信号,除零等错误出现时,我们精心或不精心写就的程序就直接一命呜呼了,Core Dump是Linux仁慈地留下的程序的尸体,帮助程序员们解决了一个又一个问题。转载 2017-02-04 23:27:34 · 355 阅读 · 0 评论 -
linux下core文件调试方法
在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。1.core文件的生成开关和大小限制 (1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。 (2)使用ulimit -c filesize命令,可以限转载 2017-02-04 23:29:19 · 247 阅读 · 0 评论 -
学会用core dump调试程序错误
最来在项目中遇到大型程序出现SIGSEGV ,一直不知道用core dump工具来调试程序,花了近一周的时间,才定位问题,老大很生气,后果很严重,呵呵,事后仔细学习了这块的知识,了解一点core dump的知识。 在使用半导体作为内存的材料前,人类是利用线圈当作内存的材料(发明者为王安),线圈就叫作core ,用线圈做的内存就叫作“corememory”。(线圈的单词应该是coil,转载 2017-02-04 23:43:22 · 260 阅读 · 0 评论 -
将 Win32 程序移植到 Linux
对于这个问题,网上已经有很多资料给予了介绍,但是相比于这些信息,本文立足于个人的实践,将内容具体到开发环境和源代码,我觉得还是有很多值得总结和借鉴的。 首先声明开发环境。Win32程序的开发环境是VS.NET 2008,编程语言是C;Linux使用的RHEL 5.4,GCC的版本是4.1.2,编程语言也是C。然后依次说明移植的对象:数据类型/字符串处理/系统调转载 2017-02-08 23:44:37 · 404 阅读 · 0 评论 -
linux 查看可执行文件动态链接库相关信息(转)
转自 http://blog.sina.com.cn/s/blog_67eb1f2f0100mgd8.html ldd 查看可执行文件链接了哪些 系统动态链接库nm 查看可执行文件里面有哪些符号strip 去除符号表可以给可执行文件瘦身如果我们想从可执行程序里面提取出来一点什么文本信息的话,还可以用strings命令strings转载 2017-01-25 00:05:31 · 971 阅读 · 0 评论 -
执行应用程序出现: No such file or directory
在学习过程中遇到的各种情况,在这里整理一下 很多时候发现自己编译的程序明明是存在的,可是运行时候却会报 No such file or directory 的问题,这个已经遇到好几次了,原因不一,特地整理一下编译器的架构有差 这是发生在一次新的开发板的交叉编译中产生的,同样的程序用同样的工具链编译后,一个开发板正常,二另一个报No such file or directory,文件明明存在原创 2017-01-25 00:00:59 · 9460 阅读 · 4 评论 -
<漏洞战争软件漏洞分析精要> 学习笔记
(拖延症越来越严重)对常见软件漏洞的分类和简介常见漏洞列表栈溢出漏洞堆溢出漏洞整数溢出漏洞格式化字符串漏洞双重释放漏洞双重引用漏洞数组越界访问漏洞OtherS漏洞基本原理解析栈溢出漏洞原理先看代码原理int main(int argc, char const *argv[]){ char *junk= "AAAAAAAAAAAAAAAA" //这里定义填充 fun原创 2017-11-13 20:10:22 · 2097 阅读 · 0 评论