备忘(持续更新...)

gcc 编译选项  ---------------------------------------------------------------------------
 支持宏展开 -gdwarf-2 -g3
 产生map文件gcc -o test test.c -Wl,-Map,test.map

配置cvs  ---------------------------------------------------------------------------
首先让cvs跑起来
 chkconfig --list
 chkconfig cvs on
 server xinetd restart
 netstat -l | grep pserver
然后添加用户
 groupadd cvs
 useradd -g cvs -G cvs cvsroot
 修改/etc/xinetd.d/cvs
 cvs -d /home/cvsroot init
 useradd yz
 passwd yz
 cp /etc/shadow /home/cvsroot/passwd
 vi passwd
 userdel yz
 setenforce 0
 CVSROOT=:pserver:yz@192.168.20.86:/home/cvsroot
 cvs login
 cvs import -m "test" test V_0_0 start

安装apache  ---------------------------------------------------------------------------
 用system-config-package选择万维网服务器即可
 然后service httpd start启动apache(可chkconfig httpd on默认启动)
 然后访问127.0.0.1即可得到测试页,然后按照测试页指导添加内容.

使apache能执行cgi程序  -----------------------------------------------------------------
 只需要注意cgi程序的输出要包括http部分头信息
 需要注意给cgi程序以执行权限
 以python 为例:
 print "Content-Type: binary"
 print                               # end of header
 print "hello"
 若要在别的目录下(cgi-bin外)执行cgi,需要修改httpd.conf文件
  给/var/www/html/文件夹增加ExecCGI Options
  去掉AddHandler cgi-script .cgi的注释
 
关于中断和异常 (20071024)----------------------------------------------------------------------
  实际上中断和异常都是由硬件提供支持的!能够产生中断和异常的种类随硬件的不同而不同!硬件检测到中断(异常可示为一类中断)后,由硬件决定如何处理,通常像MIPS这种RISC这种架构的CPU,处理办法就是直接跳转到一个特定的入口地址,然后由该出口地址跳转到特定的中断处理程序(isr).此部分的代码一般由汇编完成.譬如说,cpu需要跳转到0xa0000200,则在文件vectors.S中定义一个函数__default_interrupt_vsr,然后将这个函数的地址放到0xa0000200,而在这个函数中进行一些必要的硬件设置与保护,然后跳转到特定的ISR,这里的ISR可以是系统默认的,也可以是用户自己注册的,通常的实现可以是定义一个中断向量表,譬如hal_interrupt_handlers,hal_interrupt_handlers是一个数组,数组的数目就是系统支持的中断源的数目,用户注册中断实际上就是在这个数组特定的位置填入特定的中断服务程序(isr),由__default_interrupt_vsr在特定的时候进行调用.这样下来,系统在检测到中断后就会跳转到0xa0000200执行__default_interrupt_vsr,进行必要的硬件设置和检测后就能判断出中断源,然后根据中断源决定接下来该调用的中断处理程序,这样整个过程就连接起来了.
  异常的大致过程与上相似,只是细节上的不同.
  linux平台下的信号机制(signal)非常适合用来模拟硬件中断机制,这对自己在linux上模拟一个操作系统或者需要用到中断的普通应用程序特别有用!譬如最常见的时钟中断,在linux平台下可以通过setitimer在系统中注册一个定时器,时间到后linux系统会向应用程序发送SIGALRM信号,这样只要应用程序中注册有相应的SIGALRM处理函数,那么此函数就会被调用(不是应用程序通常的函数调用),这就相当于硬件环境中中断服务程序(isr)被调用一样(也不是通常的函数调用)
  异常也是中断的一种,所以也可由此法模拟,只不过捕捉的信号是SIGILL,SIGSEGV等异常信号.
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值