当前位置: 首页 > news >正文

学校网站在哪里找网络服务类型及其采用的网络协议有哪些

学校网站在哪里找,网络服务类型及其采用的网络协议有哪些,专业关键词排名软件,简单个人网页制作文件系统可以说是嵌入式中的一大块#xff0c;也是绕不过的一部分。之前我对文件系统认知一直停留在在U盘格式的理解上#xff0c;直到接触了嵌入式Linux才发现这里面大有文章#xff0c;以Linux启动挂载根文件系统为例#xff0c;这个文件系统可以是真正的存储设备上的文件…         文件系统可以说是嵌入式中的一大块也是绕不过的一部分。之前我对文件系统认知一直停留在在U盘格式的理解上直到接触了嵌入式Linux才发现这里面大有文章以Linux启动挂载根文件系统为例这个文件系统可以是真正的存储设备上的文件系统也可以是网络文件系统甚至可以开辟一段内存虚拟出来一个文件系统这些在一开始接触嵌入式Linux开发的时候就算讲到了讲的也不会很深我之前跟着某点教程走了一遍之后脑子里树立起来了这个文件系统的概念但是感觉还是模模糊糊后来陆陆续续看了一些文章还有视频才慢慢有了较为清晰的认识。        了解了这些文件系统相关的知识对理解Linux使用也有帮助因为根目录下的许多主要目录都是基于文件系统虚拟出来的。        在这里强烈推荐大家入门接触根文件系统以后看一下麦子学院的有一个专门讲文件系统的教程讲的非常详细(墙裂推荐)教程链接地址我放在文章最后大家需要自取。        下面是我自己的个人笔记相关大家也可以自己去看一遍完整的教程如有错误欢迎指正。嵌入式常用文件系统这是整个文件系统的勾勒图下面将以这个图展开进行介绍查看本机所有文件系统使用df -ahT命令查看当前系统的所有文件系统-h显示大小-T显示文件系统类型-a打印所有文件系统文件系统总体介绍一、内核生成的文件系统sysfs与proc文件系统是内核自动生成的文件系统 。分为两类一类文件系统有大小称为基于存储设备的文件系统。一类文件系统根本无法查看大小称为基于逻辑的虚拟文件系统。二、存储设备文件系统基于存储设备的文件系统可以分为内存文件系统和flash文件系统和扩展SD卡文件系统和网络文件系统。三、内存文件系统内存文件系统包括tmpfs和ramdisk。tmpfs文件系统是一种临时的文件系统是由linux内核来支持的只需要在内存中指定一个区域指定最大的大小就可以直接使用不需要对内存进行格式化。ramdisk是将一部分固定大小的内存 RAM 空间模拟出硬盘分区断电后会丢失。四、flash文件系统flash文件系统包括cramfs和squashfs和jffs/jffs2和yaffs/yaffs2和ubifs。cramfs是只读压缩的文件系统可以将文件系统进行压缩提高存储效率。squashfs是只读压缩的文件系统相比于cramfs可以支持更大的单个文件大小。jffs/jffs2是可以读写压缩的日志闪存文件系统主要是应用于nor flash。yaffs/yaffs2是另一种日志闪存文件系统主要是为nand型flash设计的文件系统为了应对flash容量的快速增长。ubifs是作为jffs2的后继文件系统满足大容量的需求。五、扩展文件系统扩展SD卡文件系统包括FAT32和ext2/ext3。FAT32是微软专为windows开发的文件系统在windows上有很好的兼容性。ext2/ext3是Linux上的日志文件系统可靠性好但在windows上支持不太好。六、网络文件系统网络文件系统包括NFS和Samba。NFS是开发板与宿主机进行挂载的文件系统。Samba是windows与Linux之间的共享机制。七、虚拟文件系统 虚拟文件系统无法查看大小称为基于逻辑的虚拟文件系统。基于逻辑的虚拟文件系统包括进程文件系统和设备文件系统。进程文件系统在Linux上常用的是procfs文件系统Linux启动以后自动挂载在/proc目录下。设备文件系统在Linux上常用的是sysfs文件系统与devfs文件系统sysfs文件系统在Linux启动以后自动挂载在sys目录下。但devfs文件系统在Linux内核2.6以前使用现在基本被废弃。八、存储设备 存储设备可以分为内存和外存和网络外存还可以分为内置和扩展。内存对应三、内存文件系统。外存对应四、flash文件系统。网络对应六、网络文件系统。内置包括四、flash文件系统与三、内存文件系统。扩展对应五、扩展文件系统。九、配置选项要在嵌入式系统上使用这些文件系统内核必须支持这些文件系统 。所以linux内核裁剪的时候进行配置。Linux内核虚拟文件系统目的是为了使用与文件接口统一的操作来完成系统信息管理。包括procfs 、 devfs 、 sysfs。内核中首先需要配置支持这三种文件系统procfs是Linux内核信息的抽象文件接口大量的内核中的信息以及可调参数都被作为常规文件映射到了一个目录树中/proc。这样我们就可以简单直接的通过echo和cat这样的文件操作命令对系统信息进行查取和调整了。大量的系统工具也通过procfs来获取内核参数例如ps、lspci等。一、procfs文件系统 首先对procfs进行挂载# -t 是指定文件系统类型 第二个参数是挂载设备因为是内核设备所以写none第三个参数是挂载目录 mount -t proc none /proc # 或者在 /etc/fstab条目下添加 none /proc proc defaults 0 0 在fstab下添加会在开机以后自动挂载 一旦proc卸载掉那么df命令就无法使用了。因为df命令实际是去查看/proc/mounts文件来查看信息。很多命令例如ps都是通过proc目录来查看系统信息。再查看一下proc目录下的文件带数字的表示是进程信息 。其他的都是系统信息cmdline文件表示内核启动参数。cpuinfo文件表示cpu信息。meminfo文件表示内存信息。sys目录表示系统运行相关的信息包括内核等但断电后重新上电会再次使用默认设置。二、tmpfs文件系统 是一种虚拟内存文件系统使用内存作为存储分区进行文件的临时性存取掉电会丢失创建时不需要使用mkfs进行格式化 使用如下命令进行挂载。# -o 指定大小 mount -t tmpfs none -o size10M /tmp 所以一般tmp目录都是临时创建的虚拟文件系统。在这个文件夹下创建的文件断电后会丢失。所以通常使用这个目录保存应用程序运行时的信息不用担心丢失。作用是通过内存的读取速度提高程序效率延长flash寿命。三、devfs文件系统 Linux2.6内核以前设备文件的抽象机制提供了一种类似于文件的方法来管理位于/dev目录下的所有设备。特殊设备文件/dev/console以及/dev/tty。/dev目录下的zero以及null是黑洞文件相当于输入给黑洞文件的信息全部都会消失。devfs文件系统后来集成到了sysfs文件系统。devfs缺点:设备映射不同没有主/次设备号不能支持太多设备。四、sysfs文件系统Linux内核2.6以后引入sysfs文件系统挂载于/sys目录下把实际连接到系统上的设备和总线组织成一个分级的文件。用户空间的程序也同样可以使用这些信息实现和内核的交互该文件系统是当前系统上实际设备树的一个直观反映。这些信息比/dev目录下的信息更为详细与丰富,准确。每个设备在sysfs中都有唯一对应的目录。使用如下命令创建挂载点## -t 是指定文件系统类型 第二个参数是挂载设备因为是内核设备所以写none第三个参数是挂载目录 mount -t sysfs none /sys # 或者在 /etc/fstab条目下添加 none /sys sysfs defaults 0 0 # 在fstab下添加会在开机以后自动挂载 udev工具是管理热插拔的工具利用了sysfs提供的信息来实现所有devfs的功能通过检测设备的插入与拔出动态的在/dev目录下创建与删除设备文件。总结一切皆文件的抽象思想使得Linux系统的管理变得简单统一。嵌入式网络文件系统一、Network FileSystem 通过NFS挂载远程主机目录访问该目录就像访问本地目录一样。使用NFS服务能够方便的使各Linux系统之间实现共享。Samba在Linux与windows系统之间共享。基于C/S模式客户端-服务器模式。使用RPC(Remote Procedure Call远程过程调用)。RPC定义了一种与系统无关的方法来实现进程间通信。二、NFS服务安装# 安装nfs sudo apt-get install nfs-kernel-server # 查看使用帮助 sudo server nfs-kernel-server # 查看nfs服务状态 sudo server nfs-kernel-server status # 启动nfs服务 sudo server nfs-kernel-server start # 关闭nfs服务 sudo server nfs-kernel-server stop # 重启nfs服务 sudo server nfs-kernel-server restart # 重新加载配置文件 sudo server nfs-kernel-server reload # 强制重新加载配置文件 sudo server nfs-kernel-server force-reload 三、NFS设置/etc/exports控制着nfs服务器导出的访问目录列表 。示例/home/yuzhou/linux/nfs *(rw,sync,no_root_squash)规则/home/yuzhou/linux/nfs 表示要共享的目录 *表示主机名或者域名或者ip地址* 表示允许所有主机访问 (rw,sync,no_root_squash)表示共享参数 rw表示允许读写 sync表示实时同步 no_suntree_check表示不检测是否为共享目录的子目录 no_root_squash表示root用户拥有所有权限showmount -a显示所有客户端的ip地址showmount -e显示所有导出的目录列表exportfs -r重新加载导出列表三、开发板使用NFS确保宿主机关闭防火墙如果可以连接也可以不关。nfs内核支持 Network FileSystem -- [] NFS Client。查看开发板kernel是否支持NFS,使用cat /proc/filesystem命令检查是否有NFS一行如下图所示。使用如下命令手动挂载nfs目录。# -t指定文件系统类型 目标设备 挂载点 mount -t nfs 192.168.1.10:/home/nfs /tmp initramfs文件系统内核启动的时候需要挂载根文件系统所以要在内核镜像中对存储设备进行初始化但这样会导致内核镜像过大。所以可以使用ramfs文件系统。一、rootfs、ramfs、ramdisk与tmpfs区别rootfs与根文件系统的英文rootfs不同它是指内核启动的初始根文件系统内核自身虚拟了一个文件系统如果这个空间内没有文件系统就回去查找其他文件系统。ramfs是基于内存的文件系统没有内存大小的限制会动态增加容量,直至耗尽系统内存使用的是基于内存的缓存所以io效率高。ramdisk是基于ram的块设备,占据一块固定的内存使用mke2fs格式化工具创建文件系统还需要一个文件系统驱动来读写其中的文件。空间固定导致容量有限想要写入更多内容需要重新格式化。由于Linux块设备缓冲的特点所以ramdisk上的数据会被拷贝到内存上进行备份造成内存浪费。ramfs的缺点是可能不同增长直至耗尽内存所以只有root用户或者被收授权的用户可以允许使用ramfs,但是tmpfs增加了容量的限制允许用户把数据写入交换分区允许普通用户使用。二、initrd与initramfsinitrd是intramfs之前的设计 。作用都是为了在挂载真正的根文件系统之前将设备驱动工具以及一些初始化流程先加载到内存中运行。initrd基于ramdisk技术initrd的初始化程序是/linuxrc文件负责 最终完成真正根文件系统的挂载。我们的Ubuntu上都会有一个boot目录内核从boot分区找到initrd镜像然后由initrd镜像完成真正跟文件系统的挂载。在PC上initrd用的比较少initramfs在嵌入式用的多。initramfs的实现设计比initrd更简单灵活一点。是基于ramfs文件系统。不是在内核启动完成以后再从磁盘加载到内存再进行挂载而是构建到内核镜像中所以内核启动完成以后直接被拷贝到了rootfs空间作为初始根文件系统完成挂载真正的根文件系统。三、initramfs使用使用如下命令打包initramfs镜像# 使用cpio命令进行打包 # -o指输出 -H newc 指定打包格式为newc这是initramfs必须指定的打包格式 # gzip是将它进行压缩此处可以压缩也可以不压缩 find .|cpio -o -H newc | gzip ~/myinitramfs.cpio.gz 使用如下命令进行解压查看# -i 表示指定文件输入进来 -d表示进行解压 # --no-absolute-filenames表示不解压到宿主机根目录下 zcat hello.cpio.gz | cpio -i -d -H newc --no-absolute-filenames 需要在内核配置中进行设置 General setup --镜像复制路径以内核源码根目录为根目录总结Linux内核 -- initrd/initramfs(包含根文件系统的设备驱动) -- Real Root Filesystem详细的官方描述文档内核源码目录下 Documentation/filesysytems/ramfs-rootfs-initramfs.txt嵌入式flash上的文件系统cramfs与squashfs嵌入式系统上面为了提高安全性与降低文件系统的空间占用。文件系统一般设置具有如下两个特点只读 压缩。squashfs是cramfs的替代品。cramfs全称compressed ROM filesyatem,主要用于嵌入式Linux系,简单与空间高效。cramfs最大支持的256MB基本可以满足嵌入式Linux要求允许的最大文件系统大小为25616272MB,必须设置内核的页大小也为4KB才可以正确读取cramfs文件系统。cramfs因为是对页进行压缩的所以查看数据的时候先要知道数据在哪一页才能进行解压缩这一点要求cramfs不能对元数据进行压缩否则无法查看元数据不能进行判断。ACL是指访问控制列表可以对文件进行权限管理在嵌入式系统中基本不需要。cramfs的超级块与目录结构不进行压缩所谓布局与管理相对来说比较简单。这里说的压缩是指数据一直处于被压缩状态只有真正使用的时候才会对数据进行解压缩。cramfs在2013年被linus标记为过时的文件系统推荐使用aquashfs替代cramfs。这两个文件系统都是只读文件系统。嵌入式文件系统jffs/jffs2与yaffs/yaffs2是专门针对闪存的特性进行设计。flash闪存的类型是一种非易失性存储器以块为单元进行擦除和再编程 任何flash的器件的写入操作只能在空或者已经擦除的单元内进行在进行写入操作之前必须执行擦除。分为硬件特性存取特性以及两种特性决定的结论对比。XIP是指片内执行功能代码可以直接存储在flash上面不需要拷贝到内存。针对flash设计的两种文件系统对比。共性是都是为flash设计的都是日志文件系统。yaffs是针对大容量设计的文件系统所以仅仅支持nand flash。掉电保护损耗平衡垃圾回收都是为了保证数据可靠提高使用寿命以及提高存取效率。挂载时间与内存消耗是重点关注的两个方面。挂载时间决定了嵌入式系统的启动时间jaffs2会对整个文件系统进行全部盘扫描将日志节点扫描出来在内存中创建文件系统的目录结构。所以挂载时间慢内存消耗多。举例说明jaffs2挂载16M文件系统需要消耗半分钟而yaffs2是立即挂载jaffs2在128M页大小为512K的文件系统上大约会消耗4M内存而yaffs只需要512K字节。Direct使用考虑到文件系统的移植性yaffs2支持在没有操作系统没有VFS没有MTD驱动的情况下直接使用yaffs2因为yaffs自带nand flash 驱动,所以移植性模块性扩展性更好已经被移植到UCOSII上。ramdisk根文件系统文件系统与操作系统通过某种形式连接起来(内存flash网络)。将内核的指针指向文件系统读出文件内核就可以启动成功。ramdisk称为内存磁盘。# 设置相关参数 # root表示启动的根文件系统在哪个设备 # 设备信息 ram nfs flash # init进程是什么,内核启动后的第一个可执行文件 init # 内核启动时使用那个设备作为控制台 consoleroot /dev/ram initrdstart_addr,size init/linuxrc consolettymxc0 内核可以自解压.gz类型的压缩包。根文件系统类型了解完以上知识以后我们知道Linux的根文件系统可以设置为flash相关的文件系统或内存相关的文件系统或者网络文件系统。这在uboot中通过指定以下环境变量来指定。tootfstype jffs2 , yaffs2, squashfs , ubifs 等 。根文件系统指定在flash上的话需要指定分区。mtdparts环境变量 指定flash分区表。内核中必须有mtd驱动才可以支持识别分区表。推荐教程上面提到的文件系统教程链接链接https://pan.baidu.com/s/1izJq1YETQO2UClwmUZC99Q 提取码1quy  回复「 篮球的大肚子」进入技术群聊回复「1024」获取1000G学习资料
http://www.pierceye.com/news/39113/

相关文章:

  • 如何做网站的教程河南省城市建设网站
  • 网站开发与网站制作贵安新区网站建设推广
  • jsp编写网站网站建设网站制作需要多少钱
  • 做我的奴隶 good网站最好的wordpress
  • 张家界商城网站建设网站类网站建设
  • 湘潭网站建设 搜搜磐石网络.net个人网站开发视频
  • 崔各庄地区网站建设临沂国际外贸网站建设
  • 做公司网站麻烦吗做电影网站需要什么软件
  • 自己做的网站怎么发布做百度推广得用网站是吗
  • 网站5g空间python 网站开发 普及
  • 优秀材料写作网站东莞寮步网站设计
  • 制作网页类型一般分为什么沈阳做网站seo
  • 备案个人网站做淘宝客招聘模板图片
  • 网站服务器买了后怎么做的wordpress同步头条
  • 凡科建站登录入口在线制作网站源码
  • 红安建设局网站免费h5制作软件
  • 滁州市建设工程质量检测协会网站使用element做的网站
  • 东营做网站优化的公司汕头百度关键词优化
  • 岱山建设局网站办公室装修图
  • 最新网站开发需求文档织梦免费企业网站
  • 杭州做企业网站公司建设企业网站源码
  • 吉林北京网站建设wordpress镜像教程
  • 水墨背景风格企业网站模板网站建设的论文的参考文献
  • 地方网站运营方案网站设计收费
  • 平台型网站建设方案网站建设 方案下载
  • 潍坊高端网站建设微信公众平台一定要找网站做吗
  • 单页网站优化大兴网站开发公司
  • 建网站的地址猎头公司前十名
  • 青海网站推广策划方案淄博seo培训
  • 连云港做网站的公司游戏开发需要学多久