网站大量收购闲置独家精品文档,联系QQ:2885784924

Linux操作系统-基本实验大纲-11Linux操作系统-基本实验大纲-11.doc

Linux操作系统-基本实验大纲-11Linux操作系统-基本实验大纲-11.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux操作系统-基本实验大纲-11Linux操作系统-基本实验大纲-11

《操作系统原理》基本课程实验 ——Linux操作系统内核实验 一 实验目的 以开放式源代码操作系统Linux为实验平台,在学习《操作系统原理》课程内容同时,同步完成Linux操作系统内核的代码分析和修改等6组基本课程实验。通过实验,掌握Linux内核的的系统结构,了解Linux进程管理、存储管理、设备管理、文件系统等资源管理功能的实现机理和典型算法。初步掌握运用内核开发环境对内核进行修改完善的能力。 通过本课程实验,使得学生熟悉Linux操作系统相关技术,进一步巩固课堂所学知识,并通过Linux源代码分析和简单编程,培养学生对实际操作系统的一定的系统分析能力。 二 实验内容 第一组。基本实验 实验1.1。虚拟机安装实验。 在配备Windows操作系统Host机上,安装虚拟机软件Virtual PC for Windows或VMware For Windows, 进行设定硬盘进行分区格式化,安装操作系统”, 并在命令提示符中包含当前时间、当前目录和当前用户名。 第二组。 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) scan函数内部实现模块调用主线。写出分析报告。 实验6.3 编写一个daemon进程,该进程定时执行 ps命令,然后将该命令的输出写至文件F1尾部。 实验6.4 设备驱动程序。

文档评论(0)

cduutang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档