实验一 体验Nachos下的并发程序设计 陈毅东 2006年春.

Slides:



Advertisements
Similar presentations
2.5 函数的微分 一、问题的提出 二、微分的定义 三、可微的条件 四、微分的几何意义 五、微分的求法 六、小结.
Advertisements

Linux 系统. 操作系统发展需求 1 没有操作系统 2 简单批处理操作系统 3 多道程序设计的批处理 4 多道程序设计的分时操作系统 5 多处理机并行系统 6 网络操作系统 7 分布式操作系统.
毛峰教授 北京师范大学教授,博士生导师 国家社科基金项目专家 北京华文教育顾问
实用操作系统概念 张惠娟 副教授 1.
老師的啟示.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
学习前的准备工作 讲师:burning.
陈香兰 助教:陈博、李春华 Spring 2009 嵌入式操作系统 陈香兰 助教:陈博、李春华 Spring 2009.
大学计算机基础 典型案例之一 构建FPT服务器.
走进编程 程序的顺序结构(二).
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
Zhao4zhong1 (赵中) C语言指针与汇编语言地址.
PostgreSQL 8.3 安装要点 四川大学计算机学院 段 磊
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第五讲 四则运算计算器(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
S 数控机床故障诊断与维修.
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
本节内容 模拟线程切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009
YMSM D-PACK 安装手册 作成者:D-PACK维护组(YMSLx) 作成日:
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
三:基于Eclipse的集成开发环境搭建与使用
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
程序设计工具实习 Software Program Tool
SOA – Experiment 2: Query Classification Web Service
第十一章 控制方法.
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
Web安全基础教程
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
Platform Builder使用介绍 WINCE系统应用开发流程说明 ACTION RDC 杨 涛 2005.Dec.3th
姚金宇 MIT SCHEME 使用说明 姚金宇
Aspect Oriented Programming
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月13日.
实验七 安全FTP服务器实验 2019/4/28.
Lab17 程序设计B班
3Glasses SDK for Unreal Engine Plugin
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
信号量(Semaphore).
核探测与核电子学国家重点实验室 中国科学技术大学近代物理系 王照琪
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
iSIGHT 基本培训 使用 Excel的栅栏问题
2019/5/11 实验三 线性相位FIR滤波器的特性 05:31:30.
第七、八次实验要求.
2019/5/21 实验一 离散傅立叶变换的性质及应用 实验报告上传到“作业提交”。 11:21:44.
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Python 环境搭建 基于Anaconda和VSCode.
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
实验二 基尔霍夫定律 510实验室 韩春玲.
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第四章 利率的結構與資訊內涵 授課老師:_____.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第四章 UNIX文件系统.
实验六静态路由.
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
任课教师:戴开宇 TA:时均帅、谭肖、王安华 程序设计B班 :20-16:50(90分钟)
本节内容 SEMAPHORE 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
國立勤益科技大學 冷凍空調與能源系 實務專題成果展
实验六、COM类型病毒分析实验 实验开发教师: 刘乃琦 谌黔燕.
《NIOS II那些事儿》视频教程 --软件安装(一)
Develop and Build Drives by Visual C++ IDE
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
软件工程课程设计 分组信息说明
Presentation transcript:

实验一 体验Nachos下的并发程序设计 陈毅东 2006年春

提纲 结束 实验内容 注意事项 建议的实验步骤 提交要求

实验内容 本次实验的目的在于对nachos进行熟悉,并初步体验nachos下的并发程序设计。 具体实验内容: 安装nachos; 返回 本次实验的目的在于对nachos进行熟悉,并初步体验nachos下的并发程序设计。 具体实验内容: 安装nachos; 用C++实现双向有序链表; 在nachos系统中使用你所写的链表程序并演示一些并发错误

注意事项(1) 仔细阅读nachos-labs.pdf中的如下部分 2.1 Installing and Building Nachos 2.2 Tracing and Debugging Nachos Programs 2.3 Controlling the Order of Execution in Nachos 3.1 Lab 1: The Trouble with Concurrent Programming

注意事项(2) 返回 注意:把nachos看成一个操作系统(加上一个虚拟硬件平台),本实验的第三个内容实质上是在修改操作系统代码,而不是编写用户程序!

建议的实验步骤(1) 阅读nachos-3.4/code/Makefile   nachos-3.4/code/Makefile.dep   nachos-3.4/code/Makefile.common   nachos-3.4/code/threads/Makefile 初步了解各Makefile的构成和相互关系。 阅读nachos-3.4/code/threads/main.cc了解nachos如何开始。 阅读nachos-3.4/code/threads/system.cc的Initialize函数中与debug相关的部分及nachos-3.4/code/threads/utility.cc了解DEBUG的实现与使用,以此进一步熟悉nachos系统。 阅读nachos-3.4/code/threads/threadtest.cc,了解nachos中线程的概念及其运作方式。

建议的实验步骤(2) 返回 将必要的链表文件拷贝到nachos-3.4/code/threads/中,修改nachos-3.4/code/Makefile.common中的THREAD_H、THREAD_C、THREAD_O,在nachos-3.4/code/threads/目录中依次执行make depend和make 修改nachos-3.4/code/threads/threadtest.cc和nachos-3.4/code/threads/main.cc实现两个线程调用链表功能,重新编译threads子系统 修改nachos-3.4/code/threads/threadtest.cc,在适当位置插入currentThread->Yield()调用以强制线程切换(注意相应文件中应该包含对外部变量currentThread的声明并include thread.h),重新编译threads子系统

提交要求 本实验应提交的内容和应出现的位置(~表示各组长的主目录): 其中,nachos01.doc为实验报告。 返回 本实验应提交的内容和应出现的位置(~表示各组长的主目录): ~/nachos/nachos-3.4/code/Makefile.common ~/nachos/nachos-3.4/code/threads/main.cc ~/nachos/nachos-3.4/code/threads/threadtest.cc ~/nachos/nachos-3.4/code/threads/dllist.h ~/nachos/nachos-3.4/code/threads/dllist.cc ~/nachos/nachos-3.4/code/threads/dllist-driver.cc ~/nachos/nachos01.doc  其中,nachos01.doc为实验报告。 本实验的提交截止时间:2006年04月01日12:00。