北大操作系统课件0-2013-春季-Nachos概述

北大操作系统课件0-2013-春季-Nachos概述

ID:37870694

大小:772.26 KB

页数:23页

时间:2019-06-01

北大操作系统课件0-2013-春季-Nachos概述_第1页
北大操作系统课件0-2013-春季-Nachos概述_第2页
北大操作系统课件0-2013-春季-Nachos概述_第3页
北大操作系统课件0-2013-春季-Nachos概述_第4页
北大操作系统课件0-2013-春季-Nachos概述_第5页
资源描述:

《北大操作系统课件0-2013-春季-Nachos概述》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、操作系统高级课程OperatingSystemsAdvancedClass北京大学软件与微电子学院2013春季陈向群Nachos操作系统介绍美国UCBerkeley教学用操作系统大纲Nachos是什么?Nachos操作系统实习内容环境搭建搭建操作系统环境实习要求实践操作系统原理课学到的知识把握操作系统全局设计掌握操作系统各个重要模块(关键知识点)的设计与实现线程管理、同步与通信机制、文件系统、内存管理、系统调用、通信机制与死锁等在NachOS框架中进行实现,加深对这些知识点的理解掌握Nachos开发过程中需要使

2、用的环境和工具Linux环境、交叉编译工具、调试工具(GDB)、版本控制工具(Git、SVN、CVS)、开发工具(vim+ctags/eclipse)、源代码阅读工具(Linux平台上的kcopse/Windows平台上的sourceinsight)Nachos是什么?Nachos(NotAnotherCompletelyHeuristicOperatingSystem)一个教学用操作系统提供了操作系统框架线程中断虚拟内存……模拟了一个MIPS模拟器,运行用户程序可扩展功能(本学期实习内容)可移植到其他架构上

3、(x86的pintos)Nachos的历史诞生于1992年在Berkeley,使用C++ThomasE.Anderson,WayneA.Christopher,StevenJ.Procter稳定版本3.4(本学期采用),最新4.12000年,DanielHettena使用java改写,5.0j2004年,StanfordUniversity开发Pintos按照nachos思路,使用C语言可运行在x86真机上挑战:谁可以创造另一个?线程切换c++(1)线程切换的关键在于保存与恢复线程的上下文环境寄存器信息高级语

4、言实现很难实现这样的功能操作系统实现线程切换时会使用黑魔法,汇编语言/*voidSWITCH(thread*t1,thread*t2)****onentry,stacklookslikethis:**8(esp)->thread*t2**4(esp)->thread*t1**(esp)->returnaddress****wepushthecurrenteaxonthestacksothatwecanuseitas**apointertot1,thisdecrementsespby4,sowhenweuseit**torefer

5、encestuffonthestack,weadd4totheoffset.*/线程切换c++(2).comm_eax_save,4.globlSWITCHSWITCH:movl%eax,_eax_save#savethevalueofeaxmovl4(%esp),%eax#movepointertot1intoeaxmovl%ebx,_EBX(%eax)#saveregistersmovl%ecx,_ECX(%eax)movl%edx,_EDX(%eax)movl%esi,_ESI(%eax)movl%edi,_EDI(%eax

6、)movl%ebp,_EBP(%eax)movl%esp,_ESP(%eax)#savestackpointermovl_eax_save,%ebx#getthesavedvalueofeaxmovl%ebx,_EAX(%eax)#storeitmovl0(%esp),%ebx#getreturnaddressfromstackintoebxmovl%ebx,_PC(%eax)#saveitintothepcstorage线程切换c++(3)movl8(%esp),%eax#movepointertot2intoeaxmovl_E

7、AX(%eax),%ebx#getnewvalueforeaxintoebxmovl%ebx,_eax_save#saveitmovl_EBX(%eax),%ebx#retoreoldregistersmovl_ECX(%eax),%ecxmovl_EDX(%eax),%edxmovl_ESI(%eax),%esimovl_EDI(%eax),%edimovl_EBP(%eax),%ebpmovl_ESP(%eax),%esp#restorestackpointermovl_PC(%eax),%eax#restorereturna

8、ddressintoeaxmovl%eax,4(%esp)#copyovertheretaddressonthestackmovl_eax_save,%eaxretNachos体系结构Nachos(作为host操作系统上的应用程序)Nachos本

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。