欢迎来到天天文库
浏览记录
ID:928439
大小:103.51 KB
页数:8页
时间:2017-09-25
《操作系统课程设计文档,linux编程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、操作系统课程设计设计报告姓名:学号:班级:2012年5月15日设计名称Linux系统下虚拟驱动模块的程序开发完成时间2012.5.15验收时间本设计的实验环境、实验内容和目标一实验环境RedHat(Linux2.4),GCC。二实验内容编写驱动程序nodevfs.c文件和相应的Makefile文件,通过编译生成驱动程序模块。然后将驱动程序模块装入内核,建立设备结点,最后运行测试程序,检查结果是否正确。三实验目标1.了解Linux操作系统下驱动程序开发的一般流程;2.熟练使用Makefile编译工具;3.了解字符
2、设备驱动工作原理;4.能够编写基本的虚拟驱动程序。本设计的开发和操作流程(手写)本设计中的关键模块流程图及程序实现说明(手写)本设计主要测试结果与性能分析(手写)课程设计总结(包括设计的总结和还需改进的内容)对于程序,一定要多加练习,才能懂得其真正的用处在哪里,没有编写程序前,对于程序只是一知半解,真正操作后才知道真的很难,代码比较繁琐。通过编写该设备驱动程序,我知道了当我们实在不会写代码时,可以先试着把网上的或者同学的代码修改之后敲一遍,而不应该是直接拷贝,在敲代码的同时,要努力理解清楚别人的思想,使其成为自
3、己的东西。通过本次课程设计,我对Linux的驱动机制有了初步认识,同时加深了我对Linux模块机制的了解。当然,在编程的过程中遇到了好多困难,不过通过查阅相关资料和网站,并通过自己的思考,终于取得了最终的结果。虽然本次实验的过程中增加了一些对Linux驱动和模块的理解,但是有关一些细节还有待于研究!教师评语签名:网上资料查询 Linux内核操作系统是一个用来和硬件打交道并为用户程序提供一个有限服务集的低级支撑软件。一个计算机系统是一个硬件和软件的共生体,它们互相依赖。计算机的硬件,含有外围设备、处理器、内存、
4、硬盘和其他的电子设备组成计算机的发动机。但是没有软件来操作和控制它,自身不能工作。完成这个控制工作的软件就称为操作系统,在Linux的术语中被称为“内核”。Linux内核的主要模块分以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动,以及系统的初始化、系统调用等。体系结构属性 在讨论大型而复杂的系统的体系结构时,可以从很多角度来审视系统。体系结构分析的一个目标是提供一种方法更好地理解源代码。 Linux内核实现了很多重要的体系结构属性。在或高或低的层次上,内核被划分为多个子系统。Linux也
5、可以看作是一个整体,因为它会将所有这些基本服务都集成到内核中。这与微内核的体系结构不同,后者会提供一些基本的服务,例如通信、I/O、内存和进程管理,更具体的服务都是插入到微内核层中的。 随着时间的流逝,Linux内核在内存和CPU使用方面具有较高的效率,并且非常稳定。但是对于Linux来说,最为有趣的是在这种大小和复杂性的前提下,依然具有良好的可移植性。Linux编译后可在大量处理器和具有不同体系结构约束和需求的平台上运行。一个例子是Linux可以在一个具有内存管理单元(MMU)的处理器上运行,也可以在那些不
6、提供MMU的处理器上运行。Linux内核的uClinux移植提供了对非MMU的支持。Linux内核的一些有用特性 作为一个生产操作系统和开源软件,Linux是测试新协议及其增强的良好平台。Linux支持大量网络协议,包括典型的TCP/IP,以及高速网络的扩展(大于1GigabitEthernet[GbE]和10GbE)。Linux也可以支持诸如流控制传输协议(SCTP)之类的协议,它提供了很多比TCP更高级的特性(是传输层协议的接替者)。 Linux还是一个动态内核,支持动态添加或删除软件组件。被称为动态可
7、加载内核模块,它们可以在引导时根据需要或在任何时候由用户插入。 Linux最新的一个增强是可以用作其他操作系统的操作系统(称为系统管理程序)。最近,对内核进行了修改,称为基于内核的虚拟机(KVM)。这个修改为用户空间启用了一个新的接口,它可以允许其他操作系统在启用了KVM的内核之上运行。除了运行Linux的其他实例之外,Microsoft®Windows®也可以进行虚拟化。惟一的限制是底层处理器必须支持新的虚拟化指令[1]。 驱动程序驱动程序(DeviceDriver)全称为“设备驱动程序”
8、,是一种可以使计算机和设备通信的特殊程序,可以说相当于硬件的接口,操作系统只能通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。正因为这个原因,驱动程序在系统中的所占的地位十分重要,一般当操作系统安装完毕后,首要的便是安装硬件设备的驱动程序。不过,大多数情况下,我们并不需要安装所有硬件设备的驱动程序,例如硬盘、显示器、光驱、键盘、鼠标等就不需要安装
此文档下载收益归作者所有