- 博客(9)
- 资源 (51)
- 收藏
- 关注
翻译 进程上下文和中断上下文
内核可以处于两种上下文:进程上下文和中断上下文。在系统调用之后,用户应用程序进入内核空间,此后内核空间针对用户空间相应进程的代表就运行于进程上下文。异步发生的中断会引发中断处理程序被调用,中断处理程序就运行于中断上下文。中断上下文和进程上下文不可能同时发生。运行于进程上下文的内核代码是可抢占的,但进程上下文则会一直运行至结束,不会被抢占。因此,内核会限制中断上下文的工作,不允许其执行如下操
2011-12-31 17:05:18 442
翻译 信号量介绍
一.什么资源是临界资源?临界资源是一次仅允许一个进程使用的共享资源二.临界区域是什么意思?什么是临界代码?每个进程中访问临界资源的那段程序称为临界区,或者叫临界代码。三.临界区或者临界代码有什么特点:每次只准许一个进程进入临界区,进入后不允许其他进程进入。四.信号量是解决是什么问题的?解决在任一时刻只有一个执行线程访问的临界区的代码(即临界代码),防止多
2011-12-31 16:52:00 583
翻译 Linux进程状态解析
Linux进程的几种状态Linux是一个多用户,多任务的系统,可以同时运行多个用户的多个程序,就必然会产生很多的进程,而每个进程会有不同的状态。Linux进程状态:R (TASK_RUNNING),可执行状态。只有在该状态的进程才可能在CPU上运行。而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应 CPU的可执行队列中(一
2011-12-31 16:27:35 402
原创 Linux内核中等待队列的几种用法
Linux内核里的等待队列机制在做驱动开发时用的非常多,多用来实现阻塞式访问,下面简单总结了等待队列的四种用法,希望对读者有所帮助。1. 睡眠等待某个条件发生(条件为假时睡眠): 睡眠方式:wait_event, wait_event_interruptible 唤醒方式:wake_up (唤醒时要检测条件是否为真,如果还为假则继续睡眠,唤醒前一定要把条件变
2011-12-31 16:12:42 428
原创 file_operation(文件操作) file(文件) inode(节点)区别
file_operation(文件操作)file(文件)inode(节点)file_operation就是把系统调用和驱动程序关联起来的关键数据结构。这个结构的每一个成员都对应着一个系统调用。读取file_operation中相应的函数指针,接着把控制权转交给函数,从而完成了设备驱动程序的工作。在系统内部,I/O设备的存取操作通过特定的入口点来进行,而这组特定的入口点恰恰是由设备驱动程序提
2011-12-31 11:05:40 809
原创 struct file_operations详解
在写底层驱动程序的时候struct file_operations是一个很重要的结构体,这个结构是字符设备驱动程序的核心,当应用程序操作设备文件时所调用的open、read、write等函数,最终会调用这个结构中指定的对应函数。struct file_operations是一个字符设备把驱动的操作和设备号联系在一起的纽带,是一系列指针的集合,每个被打开的文件都对应于一系列的操作,这就是file
2011-12-31 10:54:26 970
原创 字符驱动编写
11.4.3 一个字符设备驱动程序的实例 下面我们通过一个实例对字符设备以及编写驱动程序的方法进行说明,通过下面的分析我们可以了解一个设备驱动程序的编写过程以及注意事项。虽然这个驱动程序没有什么实用价值,但是我们也可以通过它对一个驱动程序的编写特别是字符设备驱动程序有一定的认识。一个设备驱动程序在结构上是非常相似的,在 Linux 中, 驱动程序一般用C语言编写,有时也支持一些汇编和C
2011-12-29 10:24:19 541
原创 Linux字符设备驱动程序的编写框架
一、Linux device driver 的概念 系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以象操作普通文件一样对硬件设备进行操作。设备驱动程序是内核的一部分,它完成以下的功能: 1、对设备初始化和释放; 2、把数据从内核传送到硬
2011-12-29 10:02:55 694
原创 字符设备驱动程序
一、主设备号和此设备号主设备号表示设备对应的驱动程序;次设备号由内核使用,用于正确确定设备文件所指的设备。内核用dev_t类型()来保存设备编号,dev_t是一个32位的数,12位表示主设备号,20为表示次设备号。在实际使用中,是通过中定义的宏来转换格式。(dev_t)-->主设备号、次设备号MAJOR(dev_t dev)MINOR(d
2011-12-29 09:25:32 484
实验四 排序、查询和多表关联
2011-11-17
数据库表的添加、删除、修改等操作
2011-11-17
MATLAB入门(含实验报告参考模板
2011-11-17
模拟实现进程调度算法
2011-11-14
ffmpeg-0.4.9-p20051120.tar.bz2 安装opencv的必备工具
2011-11-11
自定义界面
2016-01-22
QT间进程通信之共享内存
2013-12-09
win32diskimager工具
2013-10-10
window xp更新UI的补丁
2013-07-01
window xp的更新UI的补丁
2013-07-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人