- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统基本实验大纲
《操作系统原理》基本课程实验
——Linux操作系统内核实验
一 实验目的
以开放式源代码操作系统Linux为实验平台,在学习《操作系统原理》课程内容同时,同步完成Linux操作系统内核的代码分析和修改等6组基本课程实验。通过实验,掌握Linux内核的的系统结构,了解Linux进程管理、存储管理、设备管理、文件系统等资源管理功能的实现机理和典型算法。初步掌握运用内核开发环境对内核进行修改完善的能力。
通过本课程实验,使得学生熟悉Linux操作系统相关技术,进一步巩固课堂所学知识,并通过Linux源代码分析和简单编程,培养学生对实际操作系统的一定的系统分析能力。
二 实验内容
第一组。基本实验
实验1.1。虚拟机安装实验。
在配备Windows操作系统Host机上,安装虚拟机软件Virtual PC for Windows或VMware For Windows, 进行BIOS设定, 对硬盘进行分区和格式化,安装Linux操作系统,以便在一台机器上模拟出多种操作系统运行环境。
实验1.2。Shell编程
编制简单的Shell程序,该程序在用户登录时自动执行,显示某些提示信息,如“Welcome to Linux”, 并在命令提示符中包含当前时间、当前目录和当前用户名。
第二组。 Linux内核
实验2.1。观察Linux行为.
学习linux内核、进程、存储和其他资源的一些重要特性。通过使用/proc文件系统接口, 编写一个程序检查反映机器平衡负载、进程资源利用率方面的各种内核值, 学会使用/proc文件系统这种内核状态检查机制。
实验2.2。内核定时器
学习掌握内核定时器的实现原理和方法,建立一种用户空间机制来测量多线程程序的执行时间。
实验2.3。内核模块
模块是Linux系统的的一种特有机制,可用于动态扩展操作系统内核功能。编写实现某些特定功能的模块,将其作为内核的一部分在管态下运行。例如, 通过内核模块编程在/porc文件系统中实现系统时钟的读操作接口。
实验2.4。系统调用。
向现有Linux内核加入一个新的系统调用从而在内核空间中实现对用户空间的读写。例如,设计并实现一个新的内核函数mycall( ),此函数通过一个引用参数的调用返回当前系统时间,功能上基本与gettimeofday( )相同。
第三组。进程管理
实验3.1。 进程行为观察
在Linux下,分别用snice、skill、top 等命令和/proc中的有关目录、文件观察系统中进程运行情况和CPU工作情况。
在Linux下,用ptrace()、gdb跟踪一个进程的运行情况,用strace工具跟踪 fork() 过程,用ltrace工具跟踪 execl() 过程。观察并分析跟踪信息。
实验3.2。 代码分析
阅读分析Linux中的进程建立模块、进程撤销模块、进程调度模块、系统调用总入口模块,了解进程的创建、执行、等待、退出等过程。
实验3.3。 Shell编程
以超级用户身份编程,计算某一时段中所有程序平均运行时间。
通过编写shell程序,了解子进程的创建和父进程与子进程间的协同,获得多进程程序的编程经验。
第四组。存储管理
实验4.1. 观察实验
在Linux下,使用gdb程序观察一个程序文件的内容和结构。启动该程序执行,再用GDB观察其内存映象的内容和结构。
在Linux下,用free 和vmstat命令观察内存使用情况。
在Linux下,查看/proc与内存管理相关的文件,并解释显示结果。
在Linux下,用malloc()函数实现cat或copy命令。
实验4.2。 代码分析
阅读 Linux/Minix中以下模块的调用主线,并写出分析报告。(1)exec系统调用的内部实现模块调用主线。(2)malloc函数的内部实现模块调用主线。(3)缺页中断处理程序。
实验4.3。 虚拟存储器管理
学习Linux虚拟存储实现机制;编写代码,测试虚拟存储系统的缺页错误(缺页中断)发生频率。
第五组。进程通信
实验5.1. 观察实验
在Linux下,用ipcs()命令观察进程通信情况。
实验5.2。 代码分析
阅读 Linux/Minix中以下模块的调用主线,并写出分析报告。(1)kill系统调用内部实现模块调用主线。(2)pipe系统调用内部实现模块调用主线。
分析Linux中用于消息传递的 msgget、msgsnd、msgrcv、msgctl的执行过程。
第六组. I/O设备管理
实验6.1. 观察实验
用stat命令查看机器上硬盘特别文件的I节点内容。
在Linux下,查看/proc与内存管理相关的文件,解释显示结果。
实验6.2。 代码分析
阅读 Linux/Minix中以下模块的调用主线(1)print函数内部实现模块调用主线。(2)
您可能关注的文档
最近下载
- 2025年金融风险管理师银行、证券、保险业情景分析的异同比较专题试卷及解析.pdf VIP
- 民国女性教育数据的自动标注与基于微服务架构的底层通信协议研究.pdf VIP
- 2025年拍卖师拍卖公告发布的经济学原理融入专题试卷及解析.pdf VIP
- 2025年公共营养吸烟与饮酒人群维生素C的额外需求与补充策略专题试卷及解析.pdf VIP
- DB62T25-3094-2015 非贮压式超细干粉灭火装置系统技术规程.pdf VIP
- 高维非平稳时间序列预测中的跨任务元优化策略与系统集成方案.pdf VIP
- 高盛-人形机器人:AI促进剂(英译中).pdf VIP
- 2025年测绘师灰色系统理论在变形预测中的应用专题试卷及解析.pdf VIP
- 动物和动物产品无害化处理场所选址生物安全风险评估技术.pdf VIP
- 2025年房地产经纪人个人住房贷款基本概念与核心要素专题试卷及解析.pdf VIP
原创力文档


文档评论(0)