作者:lanterwhile_557 | 来源:互联网 | 2022-12-30 21:40
linux中什么是块设备和字符设备|字符设备字符设备是能够像字节流一样被访问的设备,当对字符设备发出读写请求,相应的IO操作立即发生。Linux系统中很多设备都是字符设备,如字符终
linux中什么是块设备和字符设备
| 字符设备
字符设备是能够像字节流一样被访问的设备,当对字符设备发出读写请求,相应的IO操作立即发生。Linux系统中很多设备都是字符设备,如字符终端、串口、键盘、鼠标等。
在嵌入式Linux开发中,接触最多的就是字符设备以及驱动。
| 块设备
块设备是Linux系统中进行TO操作时必须以块为单位进行访问的设备,块设备能够安装文件系统。块设备驱动会利用一块系统内存作为缓冲区,因此对块设备发出读写访问,并不一定立即产生硬件I/O操作。Linux系统中常见的块设备有如硬盘、软驱等等。
| 网络设备
网络设备既可以是网卡这样的硬件设备,也可以是一个纯软件设备如回环设备。
网络设备由Linux的网络子系统驱动,负责数据包的发送和接收,而不是面向流设备,因此在Linux系统文件系统中网络设备没有节点。对网络设备的访问是通过socket调用产生,而不是普通的文件操作如 open/closc和 read/write等。
linux中什么是块设备和字符设备?
块设备是I/O设备中的一类,是将信息存储在固定大小的块中,每个块都有自己的地址,还可以在设备的任意位置读取一定长度的数据。数据块的大小通常在512字节到32768字节之间。
块设备的基本特征是每个块都能独立于其它块而读写。
字符设备是在I/O传输过程中以字符为单位进行传输的设备。在linux系统中,字符设备以特别文件方式在文件目录树中占据位置并拥有相应的结点。结点中的文件类型指明该文件是字符设备文件。可以使用与普通文件相同的文件操作命令对字符设备文件进行操作。
扩展资料:
在大多数的linux操作系统中,块设备只支持以块为单位的访问方式,如磁盘等。KYLIN支持以字符方式来访问块设备,即支持以字符为单位来读写磁盘等块设备。所以在/dev目录中的块设备,如磁盘等,均以字符设备的外观出现。
当一台字符型设备在硬件上与主机相连之后,必须为这台设备创建字符特别文件。linux操作系统的mknod命令被用来建立设备特别文件。
linux的设备驱动一般分为几类?各有什么特点?
大致分为三类,字符驱动,块设备驱动,网络设备驱动。字符设备可以看成是用字节流存取的文件块设备则可以看成是可以任意存取字节数的字符设备,在应用上只是内核管理数据方式不同网络设备可以是一个硬件设备,或者是软件设备,他没有相应的read write,它是面向流的一种特殊设备。
linux系统有哪些分类
所说的分类,应该是Linux发行版本吧,常见的Linux发行版本:1、Redhat企业版本:就是我们常说的RHEL,具有极强的系统稳定性,红帽公司也是全球最大的开源系统厂商,拥有完善的系统支持。2、社区企业操作系统:也就是我们国内用的比较多的CentOS,该系统把RHEL重新编辑免费提供给用户进行使用。
3、Fedora:该系统主要由红帽公司发行的桌面版本系统套件,开发人员可以在这里体验最新的技术和工具,了解最新的系统特性。
4、Debian:此版本在国外具有很高的认知度,安全性和稳定性非常强,并且提供免费的基础支持,系统还提供近十万中开源软件,可以良好的支持各种硬件。5、Ubuntu:该系统和Fedora都是非常出色的桌面系统,对新款的设备具有非常好的兼容性。6、openSUSE:是德国非常出名的一款Linux发行套件,拥有非常不错的市场占有率。7、Gentoo:该系统操作是非常复杂的,自定制性非常的好,适合有经验的Linux人员使用。
Linux系统中有哪几种文件类型?
第一种:普通文件。就是一般存取的文件,由ls-al显示出来的属性中,第一个属性为 [-];另外,依照文件的内容,又大致分为:1、纯文本文件:这是Unix系统中最多的一种文件类型,之所以称为纯文本文件,是因为内容可以直接读到数据,比如数字、字母等。
设置文件几乎都属于这种文件类型。
2、二进制文件:系统其实仅认识且可以执行二进制文件。Linux中的可执行文件就是这种格式的。3、数据格式的文件:有些程序在运行过程中,会读取某些特定格式的文件,那些特定格式的文件也可以称为数据文件。第二种:目录文件。
就是目录,第一个属性为[d]。第三种:连接文件。类似Windows下的快捷方式,第一个属性为[l]。
第四种:设备文件。与系统外设及存储等相关的一些文件,通常都集中在/dev目录,又分为两种。1、块设备文件:就是存储数据以供系统存取的接口设备,简单而言就是硬盘,第一个属性为 [b]。
2、字符设备文件:即串行端口的接口设备,比如键盘、鼠标等,第一个属性为 [c]。第五种:套接字文件:这类文件通常用在网络数据连接,可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为[s],常在 /var/run目录中看到这种文件类型。
第六种:管道文件:FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误,FIFO是first-in-first-out的缩写,第一个属性是[p]。
谁能介绍一下linux?
Linux是开源的操作系统,是目前世界上非常流行的一个操作系统。
是有全世界各个行业的人在不断更新的操作系统; 是不需要支付昂贵购买费用的操作系统 是相对windows等系统要稳定得多的系统 是目前众多大型企业中小企业首选的服务器系统 是目前病毒攻击最少的系统 是任何一个想成为计算机高手和已经成为计算机高手的必须要掌握的系统 是一个让你最能知道计算机底层操作方式和运作原理的系统1、国际青少年信息学奥林匹克竞赛委员会决定:IOI2001将采用Linux操作系统和相对应的编程环境。
2、中国计算机学会也决定在NOI2001采用新的操作系统和编程环境。3、Linux开始于芬兰赫尔辛基大学的Linus Torvalds的业余爱好。4、Linux是一 个与UNIX兼容的操作系统。但Linux并没有包括Unix源码。
5、Linux属于一个完全基于自由软件的软件体系(GNU)。所有的GNU程序遵循一种“Copyleft”原则,即可以拷贝,可以修改,可以出售,只是有一条:源代码所有的改进和修改必须向每个用户公开,所有用户都可以获得改动后的源码。它保证了自由软件传播的延续性。
Linux是自由软件,任何机构和个人都可以在遵守GNU公用许可证的前题下随意打包组合Linux软件和工具,以免费或收费的方式发行。即是说:Linux是目前唯一可以从网上或其他途径自由获得的可为PC及网络提供多用户、多任务、多进程功能的免费操作系统软件。6、Linux的标志(吉祥物)是企鹅。
7、Linux的分内核版本和发行版本。我们以内核版本来看,一般具有2.2.16这样的形式。其中第一部分是主版本号,第二部分是次版本号,二者构成当前的内核版本号,第三部分是对当前内核版本的修正次数。
根据约定,次版本号为偶数时,表示该内核是稳定的发行版本,次版本号为奇数时,则表示该内核是不稳定的开发版本。8、像Unix一样,Linux一般被分成四个主要部分:内核、Shell、文件系统和实用工具。9、Linux需同时使用多个分区,每个分区称之为一个文件系统。最少需要二个分区:一个交换分区,一个根文件系统分区。
10、Linux采用的文件系统类型是ext2而不是FAT32(FAT32是WINDOWS采用的文件系统)。11、“root”即根用户,是Linux系统中的最高权限用户,这个帐号对系统的一切文件都有完全的访问权限。12、Linux的关机和MSDOS会有所不同,不能随意关机,因为Linux会将内存作为暂存区,那样可能会造成系统的瘫痪。使用正常的关机可将内存信息写回硬盘。
关机使用的指令是“shutdown”。组合键“Ctrl + Alt + Del”可重启动Linux。13、Vi 是 UNIX 世界里最通用的全屏编辑器,所有的UNIX机器都提供本编辑器。Linux里提供的是vi的加强版—vim,是同vi完全兼容的。
14、X Window System 是 UNIX 系统上强大的图形化作业环境。提供了类似于Windows的图形环境。15、在Linux系统中,软盘/光盘属独立的文件系统,使用前必须挂装,用完需卸载。
挂装使用命令:Mount –t 文件系统类型 设备名 挂装点。16、Linux对字母的大小写是敏感的,在命令和参数中a和A并不等价。17、Linux中包含5种文件系统。
比较关键的是根文件系统和/usr文件系统。-----------------------------------------------------------------Linux的良好特性 1 开放性 是指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。凡遵循国际标准所开发的硬件和软件,都能彼此兼容,可方便地实现互连。 2 多用户 是指系统资源可以被不同用户使用,每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响。
Linux和Unix都具有多用户的特性 3 多任务 是现代计算机的最主要的一个特点。它是指计算机同时执行多个程序,而且各个程序的运行互相独立。Linux系统调度每一个进程平等地访问微处理器。
由于 CPU的处理速度非常快,其结果是,启动的应用程序看起来好像在并行运行。事实上,从处理器执行一个应用程序中的一组指令到Linux调度微处理器再次运行这个程序之间只有很短的时间延迟,用户是感觉不出来的。 4 良好的用户界面 Linux向用户提供了两种界面:用户界面和系统调用。Linux的传统用户界面是基于文本的命令行界面,即shell,它既可以联机使用,又可存在文件上脱机使用。
shell有很强的程序设计能力,用户可方便地用它编制程序,从而为用户扩充系统功能提供了更高级的手段。可编程Shell是指将多条命令组合在一起,形成一个Shell程序,这个程序可以单独运行,也可以与其他程序同时运行。系统调用给用户提供编程时使用的界面。
用户可以在编程时直接使用系统提供的系统调用命令。系统通过这个界面为用户程序提供低级、高效率的服。