习题10.1

20145235 《信息安全系统设计基础》第09周学习总结 _2
    





            
20145235 《信息安全系统设计基础》第09周学习总结 _1

首先遇到的问题就是usr/include里面没有csapp.h和csapp.c从晚上下载了一个压缩包,并进行了解压tar -xf code.tar

 20145235 《信息安全系统设计基础》第09周学习总结 _2
    





            
20145235 《信息安全系统设计基础》第09周学习总结 _1

再将里面的csapp.h和csapp.c放到usr/include里面。

20145235 《信息安全系统设计基础》第09周学习总结 _2
    





            
20145235 《信息安全系统设计基础》第09周学习总结 _1

然后编译运行c101.c。描述符返回值为3。

20145235 《信息安全系统设计基础》第09周学习总结 _2
    





            
20145235 《信息安全系统设计基础》第09周学习总结 _1

 

20145235 《信息安全系统设计基础》第09周学习总结 _2
    





            
20145235 《信息安全系统设计基础》第09周学习总结 _1

代码托管

20145235 《信息安全系统设计基础》第09周学习总结 _2
    





            
20145235 《信息安全系统设计基础》第09周学习总结 _1

 

 感想与问题

我看了大家写的博客,认为这个习题最重要的是让我们理解描述符,在打开foo.txt的时候描述符池中的 0、1、2已被用了,然后打开foo.txt,这时候内核返回的描述符为1,当关闭foo.txt被关闭后描述符3又进入了描述符池里,当打开baz.txt之后,内核返回的描述符又是3,所以程序结果为3.

那么如果修改下代码,不要关闭foo.txt,也把foo.txt的描述打印出来,结果会是怎么样呢?结果如下:

20145235 《信息安全系统设计基础》第09周学习总结 _2
    





            
20145235 《信息安全系统设计基础》第09周学习总结 _1

很明显,描述符就是4。虽然书上没有讲解详细,通过这个习题是彻底明白了描述符是什么。

 

 

相关文章:

  • 2021-08-30
  • 2022-02-08
  • 2021-11-22
  • 2021-09-07
  • 2021-09-21
猜你喜欢
  • 2021-10-16
  • 2022-01-29
  • 2021-05-25
  • 2022-03-09
  • 2021-12-19
  • 2021-11-07
  • 2021-12-08
相关资源
相似解决方案