实验二实验报告 20135324&&20135330
北京电子科技学院(BESTI) 实 验 报 告
课程: 深入理解计算机系统 班级: 1353
姓名: 杨舒雯 张若嘉
学号: 20135324 20135330
成绩:
指导教师: 娄嘉鹏
实验日期: 11.10
实验时间: 15:30-18:00
实验密级:
预习程度:
仪器组次:
必修/选修: 必修
实验序号: 2
实验名称: 信息安全系统设计基础EXP2固件设计
实验目的与要求:
*了解多线程程序设计的基本原理。
*学习 pthread 库函数的使用。
实验内容:
Linux使用:先打开桌面 vmware,然后打开C:/redhat 9虚拟机原始文件/redhat.vmx
用户名/密码: root:123456
vmware 与Winxp 切换:ctrl + alt
完成 2410经典实验指导20110331.pdf中实验2.3
gcc *.c -l pthread
实验原理:
多线程程序的优缺点
多线程程序作为一种多任务、并发的工作方式,有以下的优点:
- 提高应用程序响应。这对图形界面的程序尤其有意义,当一个操作耗时很长时,整
个系统都会等待这个操作,此时程序不会响应键盘、鼠标、菜单的操作,而使用多线程技
术,将耗时长的操作(time consuming)置于一个新的线程,可以避免这种尴尬的情况。 - 使多CPU 系统更加有效。操作系统会保证当线程数不大于CPU 数目时,不同的线程
运行于不同的CPU 上。 - 改善程序结构。一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半
独立的运行部分,这样的程序会利于理解和修改。
LIBC 中的pthread 库提供了大量的API 函数,为用户编写应用程序提供支持。
实验过程:
配置环境,因实验一和实验二环境相同,所以详情请参见信息安全系统设计基础实验一实验报告(环境配置图片已经补充)
进入02_pthread目录,使用vi编辑器或其他编辑器阅读理解源代码。运行make 产生pthread 可执行文件。
进入/host/exp/basic/02_pthread目录,运行pthread,观察运行结果的正确性。实验结果如下:
实验结果
遇到的问题
始终无法运行,后来发现是因为我们忘记在超级终端中将共享文件夹挂载好,建立开发板与虚拟机之间的通讯。输入命令“mount -t nfs -o nolock 192.168.0.234:/home/bc /host”后问题成功解决。