【教学课件】第4课嵌入式Linux开发基础.ppt

上传人:小飞机 文档编号:5658913 上传时间:2023-08-06 格式:PPT 页数:60 大小:537KB
返回 下载 相关 举报
【教学课件】第4课嵌入式Linux开发基础.ppt_第1页
第1页 / 共60页
【教学课件】第4课嵌入式Linux开发基础.ppt_第2页
第2页 / 共60页
【教学课件】第4课嵌入式Linux开发基础.ppt_第3页
第3页 / 共60页
【教学课件】第4课嵌入式Linux开发基础.ppt_第4页
第4页 / 共60页
【教学课件】第4课嵌入式Linux开发基础.ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《【教学课件】第4课嵌入式Linux开发基础.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第4课嵌入式Linux开发基础.ppt(60页珍藏版)》请在三一办公上搜索。

1、1,嵌入式系统An Introduction to Embedded System浙江大学计算机学院2012年4月,第4课 嵌入式Linux开发基础,Linux准备知识,Linux的文件系统常用的Linux命令及使用Linux 下的 ShellLinux 下的编译器 GCC认识 Makefile,嵌入式 Linux 简介,许多 Linux 改良品种迎合了嵌入式市场,它们包括:,虽然大多数 Linux 系统运行在 PC 平台上,但 Linux 也可以作为嵌入式系统的操作系统。嵌入式 Linux 标准吸引了“Linux 标准库”以及 UNIX 组织中有益的元素在嵌入式系统上运行Linux的一个缺点

2、是Linux 体系提供实时性能需要添加实时软件模块,Linux,嵌入式开发领域,稳步发展,RTLinux,uCLinux,Montavista Linux,ARM-Linux,其他Linux系统,常用的Linux发行版,发行版,发行版,发行版,Linux 是一个操作系统中的内核。一个完整的操作系统不仅仅是内核而已。所以,许多个人、组织和企业,开发了基于 GNU/Linux 的 Linux 发行版。,Linux下的文件类型,普通文件目录文件连接文件设备文件,普通文件,系统文件.conf:配置文件,也用.cfg.lock:锁文件,用来判定程序或设备是否正在被使用.rpm:RedHat用来安装软件的

3、软件包管理器文件编程和脚本文件.c.cpp.h.o.pl(Perl脚本).py(Python 脚本).so(库文件).sh(shell脚本).tcl(TCL脚本),普通文件,文件格式.au(音频文件).gif.html/.htm.jpg.pdf.png(PNG(Portable Network Graphic,可移植网络图形)文件).ps(PostScript文件).txt.wav.xpm(图像文件)压缩以及归档文件.bz2(使用bzip2压缩的文件).gz(使用gzip压缩的文件).tar(使用tar归档的文件).tbz(使用tar和bzip压缩的文件).tgz(使用tar和gzip压缩的文

4、件).zip(使用ZIP压缩的文件)察看一个没有扩展名的文件的类型,可以使用file命令,file filename,目录文件(directory)目录中包含文件以及下级子目录,但目录也是文件。这个文件中记录了包含在它中的文件和子目录的名称与它所处的地址。一个文件本身的记录不包含文件名,对文件名进行的更改,实际是修改它上一层的目录文件中的一条文件记录连接文件(link)连接是Linux中比较特殊而非常有用的一种文件,类似于Windows中的快捷方式,它本身不包含任何内容,它指向别的文件或目录,设备文件Linux下所有的设备都是通过文件来表示的,所有的设备文件都存放在/dev目录下,设备文件的文

5、件名就是设备名$cd/dev$ls 设备文件的种类块设备文件:/dev/hda1,这些设备以块为最小单位。块的大小随设备不同而不同,一般将一块定义为1kB字符设备:/dev/ttyS0,字符设备按顺序一个一个传递字符网络接口:/dev/eth0,由内核中的网络系统驱动,负责发送和接收数据包文件名通常是尾部带有设备编号数字的缩写名称。,-rw-r-r-1 root root 15228 2003-01-25 a2ps.cfg-rw-r-r-1 root root 2562 2003-01-25 a2ps-site.cfg-rw-r-r-1 root root 47 12月 26 23:39 ad

6、jtimedrwxr-xr-x 2 root root 4096 2005-05-16 aep-rw-r-r-1 root root 688 2003-02-04 aep.conf,文件类型,文件权限,链接个数,文件属主名,用户分组名,文件长度,文件上次被修改的时间和日期,文件名,Linux下的文件详细信息,Linux下的目录结构,linux采用的是树型结构。最上层是根目录,其他的所有目录都是从根目录出发而生成的。微软的DOS和windows也是采用树型结构,但是在DOS和windows中这样的树型结构的根是磁盘分区的盘符,有几个分区就有几个树型结构,他们之间的关系是并列的。,Linux下的目

7、录结构,/bin 二进制可执行命令/dev 设备文件/etc 系统管理和配置文件/etc/rc.d 启动的配置文件和脚本/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用user表示/lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件/sbin 系统管理命令,这里存放的是系统管理员使用的管理程序/tmp 公用的临时文件存储点/root 系统管理员的主目录/mnt 让用户临时挂载(mount)其他的文件系统。/lost+found 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下的.chk)放在这里/

8、proc 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。/var 某些大文件的溢出区,比方说各种服务的日志文件,Linux下的目录结构,/usr 是最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含:/usr/X11R6 存放X window的目录/usr/bin 众多的应用程序/usr/sbin 超级用户的一些管理程序/usr/doc linux文档/usr/include linux下开发和编译应用程序所需要的头文件/usr/lib 常用的动态链接库和软件包的配置文件/usr/man 帮助文档/usr/src 源代码,linux内核的源代码就放在/usr/sr

9、c/linux里/usr/local/bin 本地增加的命令/usr/local/lib 本地增加的库,Linux 源代码的目录内容,/Documentation,/arch,/drivers,/fs,/include,/init,/ipc,/kernel,/lib,/mm,/net,/scripts,它包含了用来配置内核的脚本,包含了 Linux 应用的网络协议代码,包含了体系结构无关的内存管理代码,这个目录包含两部分的内容,包含了实现平台独立的基本功能,这个目录下的文件实现了进程间通讯,这个目录下面只有两个文件,包含了 Linux 源程序树中大部分的.h 文件,文件系统在该目录下面都有对应

10、的子目录,包括显卡、网卡、SCSI 适配器等,所有子目录中都是体系结构相关的代码,这个目录下面只有内核文档,Shell 简介,Shell 是一种具备特殊功能的程序,它是介于使用者和 UNIX/Linux 操作系 统核心程序(kernel)之间的一个接口。在系统起动的时候,核心程序会被加载内存,负责管理系统的工作,直到系 统关闭为止。它建立并控制着处理程序,管理内存、档案系统、通讯等等。而其它的程序,包括 shell 程序,都存放在磁盘中。核心程序将它们加载 内存,执行它们,并且在它们中止后清理系统。一个 shell 命令档很像是 DOS 下的批次档(如 Autoexec.bat):它把一 连串

11、的 UNIX 命令存入一个文档,然后执行该文档。,使用者,Shell,UNIX/Linux操作系统,Shell 的发展历史,C shell 是柏克莱大学所开发的,且 加入了一些新特性:命令列历程别名内建算术档名完成工作控制C shell 提示符号的默认值是%,Bourne shell 是标准的 UNIX shell以前常被用来做为管理系统之用大部份的系统管理命令文件,rc start、stop 与 shutdown 都是 Bourne shell 的命令档在单一使用者模式下以 root 签入 时它常被系统管理者使用,Korn shell 是 Bourne shell 的超集,由 AT&T 的

12、David Korn 所开发。它增加了一些特色,比 C shell 更为先进。Korn shell 的特色包括了可编辑的历程、别名、函式、正规表达式、万用 字符、内建算术、工作控制、共作处理和特殊的除错功能。,Shell 的使用,Shell,主要功用,解译指令,主要功用,提供环境,Shell 语法分析命令行,把它分解成 以空白区分开的符号,在此空白包括:Tab 键空白换行Shell也能当解译性的程序语言,Shell 程序,通常叫做 命令文件,它由列在档案内的命令所构成Shell 的另一个重要功用是提供个人化的使用者环境,这通常在 shell 的初始化档案中完成,Shell 的功能,为了确保任何

13、提示符号下输入的命令都能够适当地执 行。shell 担任的工作包括有:,读取输入和语法分析命令列;对特殊字符求值;设立管线、转向、和幕后处理;处理讯号;设立程序来执行。,包括,Shell,常用的Linux命令及使用,ls,chown,passwd,pwd,chmod,touch,mv,mkdir,cp,clear,cal,write,cat,cd,tar,shutdown,echo,rm,mesg,查看系统,Linux 的系统管理主要在控制终端下进行,通过使用 命令行的方式进行管理。,Linux 的文件命令可以完成各种复杂的工作:对目录进行复制目录移动目录链接搜索和查找文件搜索和查找目录阅读文

14、件内容显示文件内容打印文件内容,帮助,如何获取帮助信息使用man命令查看手册权限:所有用户使用方法:man 查找内容说明:打印出需要查找帮助内容的手册页信息使用“-help”或“-help”参数权限:所有用户使用方法:命令-help 说明:打印出需要查找帮助命令的帮助信息,根据命令不同可能采用不同的参数“-help”或“-help”,基本命令,date权限:所有用户使用方法:date说明:显示系统时间应用示例:$date exit权限:所有用户使用方法:exit说明:图形模式下exit为关闭一个终端窗口应用示例:$exit,基本命令(二),who权限:所有用户使用方法:who说明:确定系统上的

15、用户应用示例:$who ps(process)权限:所有用户使用方法:ps说明:列出所有的进程应用示例:$ps,基本命令(三),passwd权限:当前用户使用方法:passwd说明:更改密码应用示例:$passwdfile权限:所有用户使用方法:file 文件名说明:判断文件类型应用示例:$file xx.c,基本命令(四),reboot权限:所有用户使用方法:reboot说明:重启系统应用示例:$reboot halt权限:所有用户使用方法:halt说明:关闭系统应用示例:$halt,基本命令(五),su(super-user)权限:所有用户使用方法:su 用户 说明:以替代用户身份执行命令

16、应用示例:$su bc startx(start X Window)权限:所有用户使用方法:startx 说明:文本方式下启动图形界面应用示例:$startx,基本命令(六),which权限:所有用户使用方法:which 程序名说明:寻找实用程序所在位置应用示例:$which who echo权限:所有用户使用方法:echo 显示内容说明:将一行字显示到标准输出应用示例:$echo this is a echo test,浏览目录常用命令,pwd 命令(print working directory)权限:所有用户使用方法:pwd说明:显示用户当前工作子目录的完整路径应用示例:$pwd,浏览目

17、录常用命令,ls 命令(list)权限:所有用户使用方法:ls 选项.文件.说明:列出当前工作子目录(默认)中的文件及子目录清单 常用参数:-a 显示所有文件及目录(包括隐藏文件)(all)-l 显示文件的详细信息(long)-h 以容易理解的方式打印文件大小(1k 32M 2G)-t 将文件按建立的先后次序列出(time)-F 在列出的文件名称后加一个符号(可执行文件“*”,目录“/”)应用示例:$ls-lh,浏览目录常用命令,cd 命令(change directory)权限:所有用户使用方法:cd 目标路径说明:变换工作目录到目标路径,其中目标路径可以是绝对路径也可以是相对路径。目标路径

18、名可以缺省,若缺省则变换至使用者的home directory(用户登录子目录)。常用参数:home directory.:当前目录.:当前目录的上一层目录-:返回切换目录后的前一个目录应用示例:$cd/home/bc/$cd././,阅读常用命令,cat 命令(concatenate)权限:所有用户使用方法:cat 参数 文件名说明:把文件串连接后输出到基本输出(或另一个文件)常用参数:-n或-number:由1开始对所有输出行数编号-b或-number-nonblank:与-n类似,只是不对空白行编号应用示例:$cat n textfile1 textfile2(将textfile1的内容

19、加上行数编号,写入textfile2中。如果textfile2已存在,则覆盖原有内容。$cat text1 text2 text3(将text1与text2的内容串行放在一起,再附在text3文件的最后(不覆盖text3的原有内容。),阅读常用命令,more 命令权限:所有用户使用方法:more 参数 文件名说明:类似cat,但它可以分页显示,适合显示长文件清单或文本内容,最基本的指令就是按空格换页,按回车下一行,按b键返回上一页。常用参数:-num:一次显示的行数-d:在屏幕最下方显示提示信息+num:从第num行开始显示应用示例应用示例:$more textfile,目录操作常用命令,mk

20、dir 命令(make directory)权限:所有用户使用方法:mkdir 子目录或子目录完整路径说明:建立一个新的子目录,使用子目录的路径作为参数应用示例:$mkdir/home/bc/temp rmdir 命令(remove directory)权限:当前目录有适当权限的所有者使用方法:rmdir 参数 子目录或子目录完整路径说明:删除空的目录(当目录非空时,返回错误)应用示例:$rmdir/home/bc/temp,文件操作常用命令,wc命令(word count)权限:当前文件有适当权限的所有者使用方法:wc 参数 文件名说明:统计文件中的单词数常用参数:-c:显示文件内的字符数(

21、character)-w:显示文件内以空格符分隔的字数(word)-l:显示文件内的行数(line)应用示例:$wc cl users(显示当前目录下的文件users的字符数和行数),文件操作常用命令,rm 命令(remove)权限:当前文件有适当权限的所有者使用方法:rm 参数 文件名或目录说明:删除文件以及 目录常用参数:-i:删除前逐一询问确定(inform)-f:即时原文件为只读也强制删除,并不询问确定(force)-r:同时删除该目录层下的所有目录和文件(recursive)应用示例:$rm textfile(删除当前目录下的textfile文件)$rm rf/home/bc/tem

22、p(删除/home/bc/temp目录以及其下的所有目录和文件),文件操作常用命令,mv 命令(move)权限:当前文件有适当权限的所有者使用方法:mv 参数 原文件或目录 目标文件或目录说明:将一个文件移至另一个文件,或将多个文件移动至另一个目录,也可以将一个目录移动至另一个目录常用参数:-i:若目的位置已有同名文件,则询问是否覆盖旧文件应用示例:$mv text1 text2(将当前目录下的文件text1的内容复制到text2中并删除text1。如果text2已存在,则覆盖其中的原有内容)$mv i*.c/home/bc/temp(将当前目录下的所有以.c为后缀的文件移至/home/bc/

23、temp目录下),文件操作常用命令,cp 命令(copy)权限:所有用户使用方法:cp 参数 原文件或目录 目标文件或目录说明:将一个文件复制到另一个文件,或将数个文件复制到另一个目录中,也可以将一个目录复制到另一个目录常用参数:-a:尽可能将文件的状态、权限等信息全部复制(all)-f:若目的地址有同名文件,则将已有的文件删除再进行复制(force)-r:若原目录中包含子目录,则原目录中的文件及子目录也依次复制到目的地址中(recursive)应用示例:$cp text1 text2(将文件text1的内容复制到text2中。如果text2已存在,则覆盖其中的原有内容)$cp arf up-

24、tech/temp(将当前目录下的up-tech/目录中的所有内容复制到/temp目录下),文件操作常用命令,sort 命令权限:所有用户使用方法:sort 参数 文件名说明:将文本文件数据排序常用参数:-u:输出结果中去掉重复的行(unique)-r:以相反顺序排序(reverse)-o:将排序后的结果写入文件()(output)-n:把行中的第一个字段当作数值,数据按算术方法排序(numeric)应用示例:$sort rn data(将data文件每行以相反算术顺序排序,并显示在当前的用户终端上(不改动原文件),文件操作常用命令,chmod 命令(change mode)权限:所有用户使用

25、方法:chmod+|-模式 文件说明:改变文件模式常用参数:+-r:修改读模式(增加(+)或去除(-)可读(read)权限)+-w:修改写模式(增加(+)或去除(-)可写(write)权限)+-x:修改执行模式(增加(+)或去除(-)可执行(execute)权限)应用示例:$chmod+x users(将users文件或目录增加可执行权限),文件操作常用命令,chown 命令(change owner)权限:根用户使用方法:chown 参数所有者:组 文件或目录说明:改变文件的所有者常用参数:-R:以递归方式处理目录下所有文件(recursive)应用示例:$chown jessie:user

26、s file1.txt(将档案 file1.txt 的拥有者设为 users组的用户 jessie),压缩及解压缩命令,tar 命令权限:所有用户使用方法:tar 参数 归档文件名 原文件或目录说明:将文件及目录复制到归档文件中,常用参数:-c:创建文档(create)-f:表示存档到文件而非磁盘(file)-v:显示每个复制文件的名称(verbose)-x:解压缩-z:使用gzip或ungzip-j:使用bz2应用示例:$tar cvjf temp.tar.bz2 temp/(将当前目录下的temp/目录包含的所有内容归档并用bz2压缩到文件中)$tar xvjf temp.tar.bz2(

27、将当前目录下的文件解压缩),挂载文件系统命令,mount 命令权限:所有用户使用方法:mount 参数 设备 挂载目录(挂载点)说明:在命令行中使用mount命令挂载文件系统常用参数:-t:指定挂载文件系统类型应用示例:,adfs,affs,autofs,coda,coherent,cramfs,devpts,efs,ext,ext2,ext3,hfs,hpfs,iso9660,jfs,minix,msdos,ncpfs,nfs,ntfs,proc,qnx4,ramfs,reiserfs,romfs,smbfs,sysv,tmpfs,udf,ufs,umsdos,vfat,xenix,xfs,

28、xiafs.,#mount-t nfs 192.168.0.43:/home/wj/mnt/nfs/(将IP地址为的计算机上的/home/wj目录以NFS的文件系统类型挂载为/mnt/nfs/,卸载mounted文件系统命令,umount 命令权限:所有用户使用方法:umount 参数 设备 挂载目录(挂载点)说明:将指定的文件系统从系统文件结构中卸载常用参数:-V:显示umount程序版本信息(Version)-v:输出详细信息(verbose)-t vfstype:指定文件系统类型,只卸载该指定文件系统类型的文件系统应用示例:#umount mnt/nfs(卸载/mnt/nfs/。该命令执

29、行后,mnt/nfs不再是一个有效路径),网络常用命令,ifconfig 命令权限:所有用户使用方法:ifconfig 接口接口是可选项,如果不加此项,则显示系统中所有网卡的信息。如果添加此选项则显示所指定的网卡信息说明:用来配置网络接口应用示例:,#ifconfig eth0 192.168.0.102(配置网卡eth0的IP地址)#ifconfig eth0 down(将网卡eth0禁用)#ifconfig eth0 up(将网卡eth0启用),NFS服务,NFS(Network File System)是由Sun公司开发的一套协议通过RPC(Remote Procedure Call)技

30、术,使我们可以达到文件的共享,能够在多台计算机上透明的访问彼此间的目录。它们使用分布式文件系统方案来实现,在UNIX工作站和Linux系统下比较常见。NFS使用mount命令来将远程的文件系统挂载到本机上的文件系统上,用户在使用时不会感觉到两者有任何差异。,Linux 下的编辑器 vi,插入模式,vi,vi,命令模式,退出命令,行号与文件,字符串搜索,正文替换,删除正文,恢复文件,选项设置,shell 切换,vim 和 gvim 的高级特色,Linux 下的编译器 GCC,在使用 GCC 编译程序时,编译过程可以被细分为四个阶段:预处理(Pre-Processing);编译(Compiling

31、);汇编(Assembling);链接(Linking)。,Linux 程序员可以根据自己的需要让 GCC 在编译的任何阶段结束,以便检 查或使用编译器在该阶段的输出信息GCC 提供了 30 多条警告信息和三个警告级别,使用它们有助于增强程序 的稳定性和可移植性。,预处理,编译,汇编,链接,认识 Makefile-Makefile概述,make 命令对于构建具有多个源文件的程序有很大的帮助只有 make 命令还是不够的,还必须用 makefile 告诉它要做什么以及 怎么做才行make 命令和 Makefile 配合使用,能给我们的项目管理带来极大的便 利一个 makefile 由依赖关系和规

32、则两部分内容组成,依赖关系由一个目标和一组该目标所依赖的源文件组成,规则用来说明怎样使用所依赖的文件来建立目标文件,依赖关系,规则,Makefile,+,=,认识 Makefile-makefile 中的依赖关系,make 程序自动生成和维护通常是可执行模块或应用程序的目标,目标的状态 取决于它所依赖的那些模块的状态。Make 的思想是为每一块模块都设置一个时间标记,然后根据时间标记和依赖 关系来决定哪一些文件需要更新。一旦依赖模块的状态改变了,make 就会 根据时间标记的新旧执行预先定义的一组命令来生成新的目标。,依赖关系规定了最终得 到的应用程序跟生成它 的各个源文件之间的关 系,认识

33、Makefile-makefile 中的规则,makefile 规定相应的规则来描述如何生成目标,或者说使用哪些命令来根 据依赖模块产生目标。makefile 是以相关行为基本单位的,相关行用来描述目标、模块及规则三 者之间的关系。一个相关行格式通常为:冒号左边是目标名;冒号右边是 目标所依赖的模块名;紧跟着的规则是由依赖模块产生目标所使用的命令。相关行的格式为:,习惯上写成多行形式,目标:依赖模块;命令,目标:依赖模块 命令 命令,嵌入式 Linux 开发,嵌入式 Linux 开发模型嵌入式 Linux 简介嵌入式 Linux 开发流程 Bootloader、内核、文件系统Linux 驱动开

34、发Linux 的设备驱动程序概述设备驱动的结构Linux 设备驱动程序的分类,嵌入式 Linux 开发流程,建立开发环境,配置开发主机,建立引导装载程序 bootloader,建立根文件系统,建立应用程序的 Flash 磁盘分区,开发应用程序,烧写内核根文件系统应用程序,发布产品,下载Linux操作系统,Bootloader、内核、文件系统,Bootloader,内核,文件系统,Bootloader 就是在引导操作系统内核或用户应用程序之前运行的一段程序,其主要功能是完成处理器和周边电路正常运行所需要的初始化工作,建立内存空间 的映射,内核是 Linux 的心脏,它是在引导时装入的程序,用来提

35、供用户层程序和硬件之间的接口,执行发生在多任务系统中的实际任务转换,处理读写磁盘的需求,处理网络接口等功能,文件系统是Linux操作系统的重要组成部分,Linux文件具有强大的功功能文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,Linux 操作系统的引导程序,为了满足 Bootloader 的专有性和灵活性需要,大多数 Bootloader 的代码 都由 stage1 和 stage2两部分组成。,Bootloader 有两种操作模式,启动加载模式,下载模式,嵌入式 Linux 的 Flash分区,Linux 内核,Linux 内核,对文件系统的读写进行管

36、理管理程序的运行管理存储器管理输入输出管理网络,任务,内核组成,虚拟文件系统,进程调度,内存管理,进程间通信,网络接口,Linux 内核主要由 5 个子系 统组成:进程调度(SCHED)内存管理(MM)虚拟文件系统(VFs)网络接口(NET)进程间通信(IPC),Linux 内核各部分的工作机制,进程调度,虚拟文件系统,内存管理,一个进程就是处于执行期的程序通常进程还要包括其它资源执行线程简称线程,是进程中活动的对象,内存管理子系统是操作系统的重要部分为了满足大于系统中物理能力的内存需要开发了虚拟内存这种策略通过在竞争进程之间共享内存的方式使系统 显得拥有比实际更多的内存,VFS 是 Linu

37、x 内核中的一个软件层用于给用户空间的程序提供文件系统接口,Linux 的设备驱动程序概述,Linux 通过设备驱动程序为应用程序提供了统一抽象的接口,从而隐藏 了大量不同设备之间的区别和细节。,设备驱动,设备驱动可以理解为操作系统的一部分,对于一个特定的硬件设备来说,其对应的 设备驱动程序是不同的。,在 Linux 操作系统中,驱动程序是操作系统内 核与硬件设备的直接接 口,它屏蔽了硬件的细 节,是内核的一部分,完成以下功能:,对设备初始化和释放;对设备进行管理,包括实时参数设置以及 提供对设备的操作接口;负责应用程序和设备文件间的数据传输;检测处理设备出现的错误。,设备驱动的结构,设备驱动

38、,设备驱动程序的组成,file_operations 结构,每个设备文件都有其文件属性,表 示是字符设备还是块设备。另外每个文件都有两个设备号第一个是主设备号第二个是从设备号,设备文件和设备号,自动配置和初始化子程序服务与 I/O 的子程序中断服务程序,inode 和 file 数据结构,在系统内部,I/O 设备的存取通过一组固定的入口点来进行,这组入口点是由每个设备的驱动程序提供的。,inode 数据结构中存放磁盘上的一个文件或目录信息;file 数据结构主要被与文件系统对应的设备驱动程序使用,它提供有关被打开的文件的信息。,Linux 设备驱动程序的分类,字符设备,网络设备接口,块设备,字符设备以字节为单位进行数据处理大多数字符设备仅仅是数据通道只能按顺序读/写,不支持随机读写,块设备数据可以按可寻址的块为单位进行处理块设备也支持像文件一样被访问每一个块设备驱动程序都必须提供普通的文件 操作接口,网络接口用于网络通信为了屏蔽网络环境中物理网络设备的多样性,Linux 对所有的物理设备进行抽象并定义了一 个统一的概念,称之为接口,Thanks!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号