• 信息安全系统设计基础实验四—20135215黄伟业20135222胡御风


     北京电子科技学院(BESTI)

                                  实     验    报     告

    课程:信息安全系统设计基础                         班级: 1352

    姓名:黄伟业        胡御风                     学号:20135215 20135222

    成绩:              指导教师:娄佳鹏          实验日期:2015.11.17

    实验密级:          预习程度:                 实验时间:15:30-18:00

    仪器组次:          必修/选修:必修                实验序号:4

    实验名称: 内核驱动设计入门-模块方式驱动实验                                                            

    实验目的与要求:  

    (1)学习在 LINUX 下进行驱动设计的原理

    (2)掌握使用模块方式进行驱动开发调试的过程            

          

    实验仪器:

    名称

    型号

    数量

    arm

    UP-TECH 

    1

    PC机

    XP

    1

    虚拟机

    REDHAT

    1

    实验内容、步骤与体会:

    1、实验过程的理解,实验指导书中知识点的理解。

    (1)什么是驱动程序设计,它有何作用?

    驱动程序的作用是应用程序与硬件之间的一个中间软件层,驱动程序应该为应用程序展现硬件的所有功能,不应该强加其他的约束,对于硬件使用的权限和限制应该由应用程序层控制。但有时驱动程序的设计是跟所开发的项目相关的,这时就可能在驱动层加入一些与应用相关的的设计考虑,主要是因为在驱动层的效率比应用层高,同事为了项目的需要可能只强化或优化硬件的某个功能,而弱化或关闭其他一些功能;到底需要展现硬件的哪些功能全都由开发者根据需要而定。驱动程序有时会被多个进程同时使用,这时我们要考虑如何处理并发地问题,就需要调用一些内核的函数使用互斥量和锁等机制。

    (2)驱动程序设计要考虑哪些方面?

    主要需要考虑以下三个方面:

    • 提供尽量多的选项给用户
    • 提高驱动程序的速度和效率
    • 尽量使驱动程序简单,便于维护

    (3)Linux驱动调试的方法?

    一种是直接编译到内核,再运行新的内核来测试;二是编译为模块的形式,单独加载运行调试。第一种方法效率较低,但在某些场合下是唯一的方法。第二种方法效率很高,它使用insmod工具将编译的模块直接插入内核,如果出现故障,可以使用rmmod从内核中卸载模块。不需要重新启动内核,这使驱动调试效率大大提高。实验时使用的即是第二种方法。

    2.实验过程中遇到的问题以及解决方案。

    问题:makefile无法使用

    解决方法:修改makefile中的部分环境变量或者直接用命令行编译代码。

    问题:修改后makefile仍然编译失败

    解决方法:原因在于没有在/usr/src下建立linux连接,可用下列命令建立连接:

    cd /usr/src

    ln -sf linux-2.4.20-8 linux

    ln指令:

    ln指令的用法是连接,使用格式是ln [options] source dist。

    -f:链接时先将与dist同档名的档案删除

    -s:进行软链接。(软链接,又称符号链接,这个文件包含了另一个文件的路径名,特点是可以链接不同文件系统的文件,甚至可以链接不存在的文件。)

  • 相关阅读:
    尝试MVP模式
    ERP框架开发中的License许可验证机制设计与实现 (包含源代码下载)
    25个增强iOS应用程序性能的提示和技巧
    BarCode条形码基于C# GDI+ 的实现
    Visual Studio ALM + Team Foundation Server Blog
    通过分析内存来优化.NET程序
    Zachman框架
    常用的微软软件和下载地址
    Windows Live Writer for cnblogs
    TDD:MS自带的单元测试 之 线程模型和执行顺序
  • 原文地址:https://www.cnblogs.com/huyufeng/p/5004797.html
Copyright © 2020-2023  润新知