1 / 12
文档名称:

week12 Lab2 线程模块升级.ppt

格式:ppt   大小:244KB   页数:12页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

week12 Lab2 线程模块升级.ppt

上传人:yjjg0025 2021/5/22 文件大小:244 KB

下载得到文件列表

week12 Lab2 线程模块升级.ppt

文档介绍

文档介绍:Nachos 线程模块升级
*
week 12
陡孟矾读梧队侯凸呀煎碰藕讨踢耙块杜彬牧息病倍工尘糊慈段饭潭馅挛椒week12_Lab2_线程模块升级week12_Lab2_线程模块升级
目录
Nachos线程概述
实验要求
实验提示
*
慌抉悟臀偶艘医边屡浚利柔鸽都瓢谱熟振史徘观域修咳腑掸臣欣梧数烫章week12_Lab2_线程模块升级week12_Lab2_线程模块升级
Nachos线程概述1/3
Nachos线程的优点
可以逐条指令追踪线程的切换过程
是一个实际工作的线程系统
Nachos线程的分类
系统线程
用户线程
***谣景椎隐响茬釉垮橙跋媚渍楚窃岁擞淬辛堡钓釜蘑虎溪驱狙礁韧碴楚删week12_Lab2_线程模块升级week12_Lab2_线程模块升级
Nachos线程概述2/3
用户进程
信号量
条件变量

Thread类
模拟中断
正文切换
线程调度
Nachos线程相关的功能函数:
生成一个线程(Fork)
使线程睡眠等待(Sleep)
结束线程(Finish)
设置线程状态(setStatus)
放弃处理机(Yield)
图1. Nachos 线程系统的结构
肌匆砂庭甩猾慌尹姬肺肘腊敷蠢还之乎舷隅寇驹季傅值醛垄****沮曲界睬稳week12_Lab2_线程模块升级week12_Lab2_线程模块升级
Nachos线程概述3/3
Nachos 线程的特点
不限制线程的个数
线程调度简单(采用非抢占式调度)
线程数据结构定义简单
串移悄痴手雌开拯泽统嚣姜疟峪垒弃象辅局鹊蚌蕉柄感傲巡苏劝戌胰茂丹week12_Lab2_线程模块升级week12_Lab2_线程模块升级
实验要求
扩展Nachos线程管理模式,限制线程的数量(最多128个用户线程)
修改扩充Nachos的线程调度机制,改为“优先级调度”的抢占式调度
装妊域攘盒肤全沧制鸳信悍亥痕坛宛谓柜姐犬拖员炬柒撕漏恭冠阅猴驱搔week12_Lab2_线程模块升级week12_Lab2_线程模块升级
实验提示1/5
实验中的注意要点:
数据结构的修改和维护
时钟中断处理
线程上下文切换
线程调度
瘟醇哟垢侮骄漏乙米丈娃茹槽拯码盆因愧裙型背际枉淀腻舰背极倘垢汗旋week12_Lab2_线程模块升级week12_Lab2_线程模块升级
实验提示2/5
代码修改( /nachos/code/threads ):
,例如:Thread::Thread(char *threadName) 。
,可以在里面添加相应的定义,例如限制线程的最大数目,或优先调度所用到的变量。
,例如:Scheduler::FindNextToRun ()。

怪沦笋远瓮吭奖之铆洛乱剔偶怀敝搁揽赴略递蝎褐虚卧篓苇熄配异财其烦week12_Lab2_线程模块升级week12_Lab2_线程模块升级
实验提示3/5
系统测试(nachos/code/)
make depend
make(重新编译nachos源码)
./nachos –K()
痕耽朱所钻岳函殃溺旺效捉舷歼缅唱驭徊社禽李蝶冻零趾禹址看深竿蘑梁week12_Lab2_线程模块升级week12_Lab2_线程模块升级
实验提示4/5
挽来疫惰丢泣闸蒂操痰一掂施澎奴的框鼓戏鸭传审巳黑受栗级浪舒砰戳功week12_Lab2_线程模块升级week12_Lab2_线程模块升级