开始学习freebsd

  ssh答辩已通过,于是准备学习unix编程的一些具体内容。

  今天看《unix环境高级编程》时,很多地方似懂非懂,最奇怪的是vfork,我竟然完全不能理解它。手册上对它的解释是仅生成进程,但不复制任何内容。我已经忘记生成进程时需要复制哪些内容了。大概是页表和任务控制块吧,怎么可能不复制这个呢?如果复制这个,那么它跟fork又有什么区别呢。其实连fork做哪些我也忘了。即使不忘,那也是linux的代码,与bsd肯定差别不小。因此,我觉得有必要读一下源代码了。

  谁知一开始就受挫!引导代码boot.s竟然是用at&t写的,为了看下去,得先学习at&t语法。在学习过程中继续受挫,将教程中现成的代码拷到机子上居然执行不了!一看,那是给linux写的,便马上怀疑难不成bsd的系统调用号都不一样?几经查找,调用号是没变,但好像传参方式变了?在bsd手册上有演示,但万万不幸的是,演示代码竟然又是intel语法的!而且作者还强调他只熟悉这种语法,晕了,难不成这个手册的作者不是bsd的开发者??不过intel语法是看得懂的,可是在将它照搬成at&t时,又受挫了!虽然能运行,但什么输出都没有,要它打印一个字符串也不行。我开始怀疑自己是不是太急功近利了。还是先把at&t的手册看完吧。

  好了就这么开始吧,先耐心把at&t看完再说。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值