Linux 内核编程实验报告7.docVIP

  • 15
  • 0
  • 约1.09万字
  • 约 11页
  • 2017-08-17 发布于重庆
  • 举报
Linux 内核编程实验报告7

Linux内核分析实验报告 ? 实验题目: 字符设备驱动程序实验 实验目的:学习设备驱动程序的组织,为一个虚拟设备FIFO队列(编写自己的设备驱动程序)。 硬件环境:内存1G以上 软件环境:Linux(Ubuntu) 2-6 实验步骤: 一:实验原理: 启动一个进程,向设备的缓冲区中写入数据。其中设置了两种锁,互斥锁与同步锁。设备的结构体声明如下: struct scull_dev { char data[SCULL_DATA_SIZE]; /*缓冲区队列 struct semaphore sem; 互斥锁 struct semaphore sem_read; 读同步锁 struct semaphore sem_write; 写同步锁 struct cdev cdev; /* 字符设备结构 */ loff_t ptr_write; 读进程的指针 loff_t ptr_read; 写进程的指针 }; 如果读进程进入字符队列读,则挂在读同步锁上等待,知道有写进程的执行完毕唤醒这些进程,同样,如果过多的进程进入队列中写,则缓冲区写完后,剩下的写进程会在写等待队列上等待,直到有读进程唤醒写进程。以上实现了同步于互斥。FIFO机制的实现,主要依赖于loff_

文档评论(0)

1亿VIP精品文档

相关文档