随笔分类 - Linux
摘要:学习中因为对Linux文件系统的不甚了解,导致很多问题理解的很模糊。
阅读全文
摘要:参考自:http://blog.csdn.net/wenlifu71022/article/details/4069929简单来说就是,bash是shell的一种。
阅读全文
摘要:环境变量的名字一般都是大写显示所有的环境变量$ env显示环境变量HOME的值$ echo $HOME设置一个新的环境变量WELCOME$ export WELCOME="Hello!"$ export $WELCOMEHello!envenv是一个外部命令,程序文件/bin/env,用于列出所有环...
阅读全文
摘要:重定向Linux重定向是指修改原来默认的一些东西,对原来系统命令的默认执行方式进行改变,比如说不想在显示器显示输出,而是希望输出到一个文件中就可以通过重定向来进行这项工作;Linux默认输入的是键盘,输出的是显示器。你可以用重定向来改变这些设置。> result.txt挂载参考自:http://fo...
阅读全文
摘要:中断处理中的save_all、restore_all和iretA.指令iret指令iret(interrupt return)中断返回,其作用是从中断中恢复中断前的状态,具体作用有如下三点:1.恢复IP(instruction pointer)2.恢复CS(code segment)3.恢复中断前的PSW(program status word),即恢复中断前的标志寄存器的状态。以上操作按顺进行。B.保存现场的宏SAVE_ALL 在中断发生前夕,要把所有相关寄存器的内容都保存在堆栈中,这是通过SAVE_ALL宏完成的: #define SAVE_ALL \ cld; \...
阅读全文
摘要:SA*****160 *丰 实验内容:1.操作系统工作的基础:存储程序计算机、堆栈(函数调用堆栈)机制和中断机制;2.在操作系统工作的基础之上,请您简述操作系统(内核)是如何工作,宏观概述结合关键点的 微观(CS:EIP、EBP/ESP等的变化)分析。3.完成500字左右的一段总结文字(务必是自己写的),附上学习研究笔记,另外请大家养成尊 重知识产权的习惯引用或参考别人的资料注明出处URL。4.实验报告以博客URL方式提交5.请于本周四实验课前提交,最迟提交日期6月30日24:00.实验过程:1.存储程序计算机、堆栈(函数调用堆栈)机制和中断机制1.1存储程序计算机存储程序计算机最早是由著名数
阅读全文
摘要:SA*****160 吴*实验要求:1.按照Build & Run Linux System Based on VMware&Ubuntu10.04熟练掌握Linux系统调试环境 1.1制作磁盘镜像的详细过程 1.2阅读内核源代码 KernelInitMain (init/main.c)中的start_kernel,并添加printk输出信息,重新Build & Run Linux System, 检查printk输出信息是否正常输出 1.3阅读分析内核源代码init/main.c结合 Linux2.6 内核的 Initrd 机制解析理解Linux启动过程的最后阶段2.
阅读全文
摘要:系统调用不是不需要头文件,而是有时候可以省略;使用系统调用的程序可以直接使用gcc编译。
阅读全文
摘要:1.查看CPU信息more/proc/cpuinfo2.查看Ubuntu信息uname -ar一般64位的系统会带有X86_64,而32位的都不带,一般是i386或者i686
阅读全文
摘要:SA*****160 *丰 实验内容:1.下载新版内核源码3.9.x编译,然后用它给您的Linux系统进行内核升级。参考http://blog.csdn.net/instruction_number21/article/details/79227832.添加新的系统调用,要求在系统调用内核处理函数中输出(如用printk)您的学号。 http://blog.techveda.org/index.php/adding-system-calls-linux-kernel-3-5-x/实验检查方式:实验课现场检查Demo + Q&A,Demo方式:1.显示当前系统内核版本(如用uname);
阅读全文
摘要:Linux下vi命令大全基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:1) 命令行模式command mode)制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。2) 插入模式(Insert mode)只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。3) 底行模式(last line mode)将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
阅读全文
摘要:SA*****160*丰实验环境:1.操作系统:VMware+Ubuntu 12.04 LTS(32-bit)2.硬件平台:32位X86实验要求:1.编程实现fork(创建一个进程实体) -> exec(将ELF可执行文件内容加载到进程实体) -> running program代码如下:#include #include #include #include void main(){ char s[5]; int i; for(i=0; i<5; i++) { s[i]='\0'; } scanf("%s",s); char arr[12.
阅读全文
摘要:内核在创建进程的时候,在创建task_struct的同时,会为进程创建相应的堆栈。每个进程会有两个栈,一个用户栈,存在于用户空间,一个内核栈,存在于内核空间。当进程在用户空间运行时,cpu堆栈指针寄存器里面的内容是用户堆栈地址,使用用户栈;当进程在内核空间时,cpu堆栈指针寄存器里面的内容是内核栈空间地址,使用内核栈。
阅读全文
摘要:中断、异常和系统调用的关系1.中断的概念中断是CPU的一个功能,就是CPU停下当前的工作,保留现场后自动地转去执行相应的处理程序,CPU控制权发生改变,、处理完该事件后再返回断点继续执行被刚才被打断的程序。2.中断的分类2.1分为软中断和硬中断软中断:a.编程异常通常叫做软中断b.软中断是通讯进程之间用来模拟硬中断的 一种信号通讯方式。c.中断源发中断请求或软中断信号后,CPU或接收进程在适当的时机自动进行中断处理或完成软中断信号对应的功能d.软中断是软件实现的中断,也就是程序运行时其他程序对它的中断;而硬中断是硬件实现的中断,是程序运行时设备对它的中断。硬中断:a.硬中断是由外部事件引起的因
阅读全文
摘要:常用shell命令cd 跳转pscd .. 返回上一级mkdir 创建文件夹lsdir 显示文件夹rmdir 删除文件夹pwd 显示当前路径cp 拷贝ping ifconfiguseradd+用户名 添加用户(root权限才能)password+用户名 不写此句即不设密码;不写用户名即为当前用户设密码userdel+用户名 删除用户userdel -r 用户名 删除用户以及用户主目录rm -rf 删除所有内容,包括目录和文件 r表示递归,f表示强制find -name 文件名 查找文件在当前文件夹下
阅读全文
摘要:段寄存器:CS:代码段DS:数据段SS:堆栈段用作内存指针的特殊寄存器:ebp:栈基址指针,指向栈底esp:栈顶指针指令指针寄存器:eip:指向下一条要执行的指令的地址,同CS一同指向即将执行的那条指令的地址,如CS:EIP特别的指令:call 指令:执行call 指令时:会把当前eip的值压栈保存,并使得eip等于被调用函数的起始地址。leave指令:等价于下面两条指令:movl %ebp, %esppopl %ebpret指令:等价于 popl %eip
阅读全文
摘要:首先介绍一下反汇编命令:objdump -d bomb>a.s 意思是将可执行文件bomb进行反汇编,反汇编的代码存储在a.s文件中gdb常用命令(注:bomb是elf格式的可执行文件):gdb bomb 进入调试quit 退出调试r 运行/重新运行disas phase_1 显示函数phase_1的汇编代码si单步执行c 继续执行x/s 0x**** 以字符串形式查看内容;以s形式显示,s就是字符串的意思p $eax 打印ax的值b phase_1 给函数phase_1设置断点b *0x**** 给此地址设置断点d 2删除第2个断点i r查看所有寄存器值info b查断点
阅读全文
摘要:SA*****160 吴*实验要求:1.使用Example的C代码分别生成.cpp,.s,.o和ELF可执行文件,并加载运行,分析.s汇编代码在CPU上的执行过程2.通过实验解释单任务计算机是怎样工作的,并在此基础上讨论分析多任务计算机是怎样工作的实验环境:1.操作系统:VMware+Ubuntu 12.04 LTS(32-bit)2.硬件平台:32位X86Example的C代码如下:#include int g(int x){ return x + 3;}int f(int x){ return g(x);}int main(void){ return f(8) + 1;}...
阅读全文

浙公网安备 33010602011771号