上机实践报告Project2

操作系统实践报告

课程名称:操作系统实践 指导教师:全红艳

上机实践名称:Pintos Project2 上机实践编号:No.4 一、目的

1) 了解Pintos的现有用户程序处理的功能 2) 了解Pintos提供的用户程序处理源代码 3) 完善Pintos的用户程序处理的功能 二、内容与设计思想

1、掌握Pintos的磁盘申请、复制等功能

2、明确Pintos的用户程序处理中存在的问题 3、具体完成以下功能

(a)进程终止时输出信息

(b) 参数功能 (c) 系统调用功能

( d) 禁止对可执行文件的写入功能 4、撰写实验报告及项目说明 三、使用环境

Ubuntu 12,Pinos,Geany,C语言

年级: 12 姓名:修阳 学号:10122510325 组号:

上机实践成绩:

上机实践日期: 上机实践时间:

四、实验过程与分析、调试过程

1、创建虚拟磁盘

在命令行输入pintos/src/userprog,进行make—>build,然后输入创建磁盘及对其进行分区的指令, 初始化磁盘后复制,将可执行文件elf装入disk pintos-mkdisk filesys.dsk 2 pintos -f –q

pintos -p ../../examples/echo -a echo -- -q pintos -q run 'echo x'

2.Pintos的用户程序处理中存在的问题

当系统需要执行一个文件时,就必须先对执行过程的需要的参数进行传递。比如用哪种模式运行,需要用到的文件名称与路径是什么。用一个数组来进行存储,并且把名字和参数分开处理。传递参数时,把堆栈里的参数地址存放在一个新的数组里,以备后用。然后执行字对齐,分别把参数地址、参数的个数、返回地址压栈。

系统调用是由系统提供的一组完成底层操作的函数集合,由用户程序通过中断调用,系统根据中断向量表和中断服务号确定函数调用,调用相应的函数完成相应的服务。 此外还有没有内部同步,并行的访问会互相影响,需要用到同步来保证同一时间只有一个进程能访问文件系统代码。一个文件系统被用了多次后会产生大量外部碎片。当操作系统

准备运行某一个程序,而这个程序在磁盘上保存的程序代码被修改,则操作系统在运行是,可能会出现异常结果等问题

五、实验总结

对于这么大而复杂的工程,着实无从下手,难度太大,需要修改的文档和函数非常多基本都是借鉴参考,还是有大量问题没有解决,自己的代码编写能力必须加强,通过不断学习改进提高动手能力,争取以后自己完成项目

项目

2文档

10122510325

修阳

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4