课程名称计算机操作系统实验.doc
《课程名称计算机操作系统实验.doc》由会员分享,可在线阅读,更多相关《课程名称计算机操作系统实验.doc(13页珍藏版)》请在咨信网上搜索。
1、个人收集整理 勿做商业用途一、 课程名称:计算机操作系统实验(一)本课程实验总体介绍1、本课程上机实验的任务:通过该实验真正认识多进程、多线程、微核、死锁、文件系统、缓存等概念及实现原理;在充分理解原理和算法的基础上,发挥学生自我创造力,鼓励并创造机会让学生提出新的算法或实现.2、本课程上机实验简介:分为课程实验和课程设计两大部分.课程实验通过应用层编程调用系统接口加深对进程、内存、文件和设备等功能的理解。具体为实验14。课程设计通过对Linux核心源代码的实例分析和设计掌握系统设计的原理和方法。具体为实验512。3、本课程适用专业:计算机相关专业。4、本课程上机实验涉及核心知识点:核心知识点
2、:微核、系统调用、核心态与用户态、进程、线程、同步、互斥、并发、死锁、伙伴算法、文件及文件目录、I/O缓冲、调度算法、系统初始化、时钟中断等。5、本课程上机实验重点与难点:并发控制,内核代码的分析与设计.6、本课程上机实验运用软件名称: VC+编译环境, Source Insight分析器、gcc编译器, 7、总学时:课程实验:16学时课程设计:共8个课程设计,每个根据难度在820学时。8、教材名称及教材性质(自编、统编、临时):名称:LINUX操作系统分析与设计性质:自编9、参考资料:l 计算机操作系统. 汤子瀛,西安电子科技大学出版社(第3版)l Linux设备驱动程序第二版 Alessa
3、ndro Rubini Jonathan Corbet编著 魏永明 骆刚等译 中国电力出版社 2002年11月 第一版。l Linux操作系统内核分析陈莉君编人民邮电出版社第一版。l Linux操作系统内核实习Gary Nutt 著机械工业出版社.(二)包含实验项目基本信息实验项目11、 实验项目名称:进程调度算法设计实践2、 实验项目的目的和任务:目的:通过该实验,加深对多道系统中调度算法的认识。任务:实现FIFO,RR(q=1),SPN, SRT, HRRN, FB(去2i-1)六种调度算法.并通过输入一组进程序列计算出每种算法的输出进程序列。3、 上机实验内容:(1)实现主程序及六种调度
4、算法。(2)输入一组进程序列,对序列中的每一个进程,定义不同的优先级、总执行时间,用六种调度算法输出调度最终的排序结果。序列例;进程号12345678优先级42213343运行时间2060365971823454、 学时数:4 实验项目21、 实验项目名称:线程间同步与互斥2、 实验项目的目的和任务:目的:通过多线程并发程序设计,掌握同步与互斥的设计方法。任务:实现一个生产者、消费者的两线程同步算法.3、 上机实验内容:(1)申请10个缓冲区。(2)编制生产者线程:首先产生一个随机数,写入到一个缓冲区中。其次将该缓冲区置“满”标志.(3)编制消费者线程:取一个“满”标志的缓冲区中数据,打印输出
5、,然后将该缓冲区置“空”标志。(4)添加相应的同步互斥控制代码。4、 学时数:4 实验项目31、实验项目名称:内存分配与回收设计2、实验项目的目的和任务:目的:学习内存管理的实现原理。任务:实现一个基于伙伴算法的内存分配回收算法,并通过输入一组内存请求与回收序列验证该算法执行情况。3、 上机实验内容:(1)实现主程序及伙伴算法(设内存总量为1M)。(2)用如下请求和释放序列验证该算法执行情况。请求100k请求240k请求64k请求256k释放240k释放100k请求75k释放64k释放75k释放256k试输出每次请求和释放动作产生后的内存状态。4、 学时数:4 实验项目41、 实验项目名称:文
6、件复制2、 实验项目的目的和任务:目的:掌握文件系统的系统调用的使用。任务:产生两个文件A和B,并将这两个文件内容交叉复制到文件C中,并输出文件C的结果。3、 上机实验内容:(1)产生一个1k的文件A,其内容为数字。(2)产生一个1k的文件B,其内容为字母。(3)以100字节为单位,将A、B两文件的内容交替复制到文件C中。最后输出C的结果.4、 学时数:4 实验项目51、实验项目名称:Linux时间系统分析2、 实验项目的目的和任务:通过对LINUX系统与时间有关的系统源代码分析,学习多任务系统中调度的核心事件时钟中断的实现原理,学习LINUX的内核机制以及内核时钟维护机制。3、 上机实验内容
7、:l 编写一个拾取当前时间的应用程序,熟悉系统调用gettimeofday() 的使用。l 分析linuxkerneltime.c中的sys_gettimeofday()过程,说明时间是从何处取得的,并给出分析流图。l 分析linuxkernelitimer.c中的sys_getitimer()和sys_setitimer()过程,给出分析流图。l 分析linuxarchi386kernel中的时钟中断处理过程do_timer_interrupt()和linuxkernel中的timer_bh()过程,给出分析流图,解释时钟中断处理的全过程.4、 学时数:10 实验项目61、 实验项目名称:L
8、inux系统初始化过程分析2、 实验项目的目的和任务:通过对LINUX启动处理代码的分析,学习操作系统初始化与其他模块实现的关系;学习各个模块的初始化顺序,深入理解操作系统的功能划分及相互关系;学习一个大型软件系统中初始化模块的设计方法。3、 上机实验内容:l 分析在linuxinitmain.c中的start_kernel()函数过程,它是整个操作系统初始化最重要的过程。分析要求:由于涉及初始化系统各个模块,内容很广,这里要求了解start_kernel()函数中所调用的各个子过程所属模块,无需对被调用的子模块进一步分析.认识系统各个模块的初始化时机.l 详细分析start_kernel()
9、函数中调用的sched_init和time_init两过程,说明它们的主要功能,给出分析流图。l 详细分析start_kernel()函数中调用的kernel_thread(init,)、分析init函数及其中调用的do_basic_setup()函数;给出分析流图。4、 学时数:4 实验项目71、 实验项目名称:Linux文件系统分析2、 实验项目的目的和任务:通过对Linux系统源代码分析,学习Linux虚拟文件系统VFS的原理及实现框架;学习VFS和逻辑文件系统如何协同实现对磁盘的管理;理解软件层状设计的特点.3、 上机实验内容:l 分析文件linuxincludelinuxfs.h中f
10、ile_operations、inode_operations、super_operations、file_system_type等几个数据结构,了解它们各自的作用.l 分析文件linuxfssuper.c中sys_mount()、sys_umount()、register_filesystem()和unregister_filesystem()的实现过程,并给出分析流图。l 分析文件linuxfsfilesystems.c中函数filesystem_setup(),了解文件系统初始化过程.l 分析vfs的fopen函数的实现过程,即分析文件linuxfsopen。c中的sys_open(),
11、理解文件的各种操作集合的挂接过程,给出分析流图。4、 学时数:12 实验项目81、 实验项目名称:Linux网络通信协议分析2、 实验项目的目的和任务:分析linux通信协议的组织结构;掌握SOCKET接口;掌握协议数据的接收和发送流程;掌握网卡的数据接收和发送机制。3、 上机实验内容:l 分析socket()系统调用过程,包括linuxnetsocket。c中的sys_socketcall()、sys_socket()、sock_create()和linuxnetipv4Af_inet。c中的inet_create等函数。l 分析bind()系统调用,包括linuxnetsocket.c中的
12、sys_bind()和linuxnetipv4Af_inet。c中的inet_bind()函数。l 分析listen()系统调用,包括linuxnetsocket.c中的sys_listen()和linuxnetipv4Af_inet.c中的inet_listen()函数。l 分析connect()系统调用,包括linuxnetsocket。c中的sys_connect()和linuxnetipv4Af_inet。c中的inet_stream_connect()函数。l 分析accept()系统调用,包括linuxnetsocket。c中的sys_accept()和linuxnetipv4Af
13、_inet。c中的inet_accept()函数。l 分析send ()系统调用,包括linuxnetsocket.c中的sys_send()、sys_sendto()、sock_sendmsg()、linuxnetipv4Af_inet。c中的inet_sendmsg()、linuxnetipv4Tcp_ipv4。c中的tcp_v4_sendmsg()、linuxnetipv4Tcp.c中的tcp_do_sendmsg()、linuxnetipv4Tcp_output。c中的tcp_send_skb()、tcp_transmit_skb()、linuxnetipv4Ip_output.c中的
14、ip_queue_xmit()、linuxincludenetIp。h中的ip_output()、ip_finish_output()、linuxnetcoredev。c中的dev_queue_xmit()等函数。l 分析receive ()系统调用,包括linuxnetsocket。c中的sys_recv()、sys_recvfrom()、linuxnetipv4Af_inet.c中的inet_recvmsg()、linuxnetipv4Tcp.c中的tcp_recvmsg()、linuxnetipv4Tcp_input.c中的tcp_rcv_established()、linuxnetip
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程名称 计算机 操作系统 实验
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。