基本介绍 块设备驱动程序通过主传动固定大小数据的随机访问设备 Linux核心Visual块设备作为基本设备和不同的字符设备类型 Linux块设备驱动程序接口,使块设备最大限度地发挥其效用.一个问题 一个数据块指的是固定大小的数据,而大小的值由内核确定 数据块的大小一般是4096个字节.可是能够依据体系结构和所使用的文件系统进行改变 与数据块相应的是扇区,它是由底层硬件决定大小的一个块,内核所处理的设备扇区大小是512字节 假设要使用不同的硬件扇区大小.用户必须对内核的扇区数做相应的改动 注冊 注…
第十六章.程序管理与 SE Linux 初探 在 Linux 系统当中:"触发任何一个事件时,系统都会将他定义成为一个程序,并且给予这个程序一个 ID ,称为 PID,同时依据启发这个程序的使用者与相关属性关系,给予这个 PID 一组有效的权限设置." 从此以后,这个 PID 能够在系统上面进行的动作,就与这个 PID 的权限有关了! 1.1).进程与程序 l 程序 (program):通常为 binary program ,放置在储存媒体中 (如硬盘.光盘.软盘.磁带等), 为实体文…
块设备驱动程序 块设备驱动程序负责实现对块设备数据的读写功能.内核代码统一使用缓冲块间接和块设备(如磁盘)交换数据,缓冲区数据通过块设备驱动程序和块设备交换数据. 块设备的管理 块设备表 内核通过一张块设备表blk_dev[]管理各种块设备,每个表项对应一个块设备,并为每一个块设备维护一个请求队列. current_request:指向设备请求队列第一个节点,请求队列通过链表实现. request_fn:函数指针,用于处理请求队列里面的读写请求. 设备请求队列 内核为每个块设备维护一个请求队列,…
基本介绍 第三类是标准的网络接口Linux设备,本章介绍的内核,其余的交互网络接口描述 网络接口,必须使用特定的内核数据结构本身注册,与外部分组交换数据线打电话时准备 经常使用的文件上的网络接口操作是没有意义的,因此在它们身上无法体现Unix的"一切都是文件"的思想 网络驱动程序异步自外部世界的数据包 网络设备向内核请求把外部获得的数据包发送给内核 Linux内核中的网络子系统被设计成全然与协议无关 在网络世界中使用术语"octet"指一组8个的数据位.它是能为网络…
基本介绍 因为Linux多平台特性,不管是哪一个重要驱动力应该是便携 与内核代码相关的核心问题应该是访问的同时是数据项的已知长度.能力和利用不同的处理器 内核使用的数据类型主要分为三类 类似int这种标准C语言类型 类似u32这种有确定大小的类型 像pid_t这种用于特定内核对象的类型 本章将讨论在什么情况下使用这三种类型以及怎样使用 使用标准C语言类型 当我们须要"两个字节的填充符"或者"用四个字节字符串表示的某个东西"时.我们不能使用标准类型,由于在不同的体系架…
视频链接:http://www.bilibili.com/video/av10565321/ 1. 什么是 Shell Script       (shell写的脚本)1.1 干嘛学习 shell scripts? ()1.2 第一支 script 的撰写与执行1.3 撰写 shell script 的良好习惯建立 2. 简单的 shell script 练习: (read -p  date)3. 善用判断式:3.1 利用 test 指令的测试功能3.2 利用判断符号 [ ] 3.3 Shell…
本文代码参考<LINUX设备驱动程序>第十六章 块设备驱动程序 本文中的“块设备”是一段大小为PAGE_SIZE的内存空间(两个扇区,每个扇区512字节) 功能:向块设备中输入内容,从块设备中读出内容 注:ldd自带块设备驱动源码在2.6.32内核的发行版上编译时会提示很多API未定义,原因是kernel 2.6中block layer API已经变更了很多,本文的程序参考了http://hi.baidu.com/casualfish/item/7931bbb58925fb951846977d…
第十六章:创建函数 基本的脚本函数 创建函数 1.用function关键字,后面跟函数名 function name { commands } 2.函数名后面跟空圆括号,标明正在定义一个函数 name() { commands } 如果两个函数的名称相同,那么后面的将会覆盖前面的,而且不会有提示. 使用函数 使用函数名称即可.必须先定义,再使用. #!/bin/bash f1() { echo "this is f1." } f1 function f1 { echo "th…
本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://github.com/msdx/gradledoc/tree/1.12. 直接浏览双语版的文档请访问: http://gradledoc.qiniudn.com/1.12/userguide/userguide.html. 另外,Android 手机用户可通过我写的一个…
文件内容查询 直接查询文件内容 查阅一个文件的内容可以使用指令cat/tac/nl. # [cat|tac|nl] 文件 区别: 1.cat是直接把文件内容输出到屏幕上,并且从第一行开始输出到末行 2.tal和cat相同,只不过tal是从末行反过来开始输出到第一行 3.nl则是可以添加行号打印,第一行可以显示1/01/001... 可翻页查询 more 空格键 :翻下一页 enter : 翻下一行 /字符串 :向下查找该字符串 :f :显示出文件名和目前显示行数 q :离开 b : 往回翻页 l…