05 2012 档案
系统调用
摘要:由前2篇文章做基础,现在可以理解系统调用了。用户空间栈&系统空间栈中断&异常系统调用定义 系统调用是内核提供的一系列强大的函数。它们在内核中实现,然后通过一定的方式(X86是软中断,也即门陷入)呈现给用户,是用户程序与内核交互的接口。 注意,我们在程序中用调用read、write函数时,这些不是系统调用函数,而是glibc库包装后,进行一些处理,然后再调用系统调用。如果想在程序中直接调用的话,需要调用_syscall()函数。上下文(context) 上下文简单说来就是一个环境,相对于进程而言,就是进程执行时的环境。具体来说就是各个变量和数据,包括所有的寄存器变量、进程打开的文 阅读全文
posted @ 2012-05-26 16:34 Seiyagoo 阅读(1611) 评论(0) 推荐(0)
中断&异常
摘要:中断分类 类别原因返回行为例子广义中断异步中断(狭义中断)中断(interrupt)可屏蔽中断来自I/O设备的信号总是返回到下一条指令所有的IRQ中断不可屏蔽中断电源掉电和物理存储器奇偶校验同步中断(也称异常)陷阱(trap)有意的异常总是返回到下一条指令系统调用、信号机制(通过软中断实现)故障(fault)潜在可恢复的错误返回到当前指令缺页异常、除0错误、段错误终止(abort)不可恢复的错误不会返回硬件错误 注:80386有两根引脚INTR和NMI接受外部中断请求信号,INTR接受可屏蔽中断请求。在80386中,标志寄存器EFLAGS中的IF标志决定是否屏蔽可屏蔽中断请求。中断的定... 阅读全文
posted @ 2012-05-26 12:58 Seiyagoo 阅读(2087) 评论(1) 推荐(0)
用户空间栈&系统空间栈
摘要:用户空间栈 & 系统空间栈以下简称用户栈、内核栈1、用户栈和内核栈的区别 内核在创建进程的时候,在创建task_struct的同时,会为进程创建相应的堆栈。每个进程会有两个栈,一个用户栈,存在于用户空间,一个内核栈,存在于内核空间。记住,进程对应的用户栈和内核栈都是进程私有的。当进程在用户空间运行时,cpu堆栈指针寄存器里面的内容是用户堆栈地址,使用用户栈;当进程在内核空间时,cpu堆栈指针寄存器里面的内容是内核栈空间地址,使用内核栈。 注:有些系统中专门为全局中断处理提供了中断栈,但是x86中并没有中断栈,中断在当前进程的内核栈中处理。2、linux中有多少个内核栈 在/inclu. 阅读全文
posted @ 2012-05-26 01:48 Seiyagoo 阅读(7076) 评论(1) 推荐(1)
NAT转Bridge方式
摘要:NAT换为Bridge方式环境说明:win7+VMware 7.1.3+ubuntu 10.040、首先确认一下3个网络相关的配置文件(不包含start和end行): 其中managed=true很关键;另外,下面网卡配置后需要重启sudo /etc/init.d/networking restart1)、/etc/network/interfaces:-----------start-----------auto loiface lo inet loopbackiface ppp0 inet pppprovider ppp0auto ppp0auto dsl-providerifa... 阅读全文
posted @ 2012-05-17 22:13 Seiyagoo 阅读(992) 评论(0) 推荐(0)
drupal重置管理员密码
摘要:标注(*)的为解决方案1、进入phpmyadmin管理页面,选择drupal网站对应的数据库,然后是选择users表=>编辑说明:用户的ID是在用户注册时或者管理员创建用户时所分配的一个整数。这个ID是users表中的主键。匿名用户的uid是0,安装时创建的管理员的uid是1,uid为1的用户是不受Drupal权限管制的,具有最高权限。(*)这里主要关注pass栏(登陆密码);其他栏目具体含义可以参考http://www.weakweb.com/articles/tag/drupal7-%E7%94%A8%E6%88%B72、drupal不同版本对于口令(密码)加密采用的是不同算法:dr 阅读全文
posted @ 2012-05-15 01:43 Seiyagoo 阅读(2014) 评论(2) 推荐(0)