• cat userlist


    cat userlist

    1.Linux文件系统的三层抽象是什么?

    一:什么是嵌入式系统:

    一般指非PC系统,有计算机功能但又不称之为计算机的设备和器材。它是以应用为中心,软硬件可裁剪的,适用应用系统对功能,可靠性,成本,体积,功耗等综合性严格要求的专用计算机系统。

    定义:嵌入到对象系统中的专用计算机系统。对象系统是指所嵌入的宿主系统;

          嵌入性,专用性和计算机系统是计算机系统的三个基本要素;
    
          它们分别指:(1)嵌入性:是指嵌入到对象系统中,满足对象系统的环境要求,如物理环境(小型),电气环境(可靠),成本低廉等要求;   (2)专用性:嵌入式系统的软硬件可裁剪,可满足对象系统要去的最小软、硬件配置;  (3)计算机系统:嵌入式系统必须满足对象系统控制要求的计算机系统,这样的计算机系统必须配置有与对象系统相适应的接口电路。
    

    二:嵌入式Linux系统结构

    由图可知:嵌入式Linux系统分三层:应用层,内核层,硬件层。

    1:应用层是一些应用程序和库,是面向用户的,如命令,QQ等应用程序;

    2:内核层的主要功能是设备驱动,进程管理,内存管理,文件系统和网络通信;

    其中,内核与应用程序之间是系统调用接口(函数),它为用户提供内核的功能,同时也保护了内核。but,问题来了,为什么内核要向用户提供这些接口(函数)呢?

    其主要原因有:(1):内核要为应用程序服务,应用程序如果没有内核服务,则功能非常单一;

    (2) 内核是一个稳定的代码,同时也要为多个用户空间的程序服务,为了防止用户空间的某些程序使内核代码崩溃或产生其它问题,而不能为其他用户服务,所以内核向用户空间提供接口(函数),并在这些接口函数中加上了一些保护,这样将向符合接口函数的应用程序提供服务,同时也保护了内核。(在学习函数接口时,我们主要关注接口的功能、参数、返回值)。

    内核层与硬件层之间的接口是驱动程序,驱动程序负责硬件操作,内核提供了驱动程序的添加机制,便于开发人员将驱动代码添加到内核中。

    3:硬件层是以信号为对象,完成各种信号之间的相互转换,通常信号变换前后其承载的信息保持不变,因此,无论如何变换,信号之间总是存在某种函数关系。

    嵌入式系统硬件电路是由微处理器,存储器,输入输出设备,通信与扩展接口构成。

    微处理器:处理器将所有可操作的硬件资源全部以地址空间的形式组织在一起,上层系统(软件)只看到统一的地址空间。可见处理器的第一任务就是将所有的硬件资源组织在一起,供软件操作,这项工作即寻址。

    处理器的另一项任务就是对数据进行转移,各种算术逻辑运算,决定这些操作的就是程序,或称指令。

    存储器:用于保护系统的程序指令和运行过程中所需的寄存空间。

    输入输出设备/通信与扩展接口:实现系统与外界环境之间的信息交换。

    2.写出Cat userlist的过程,要详述目录文件,i-node.数据块,要画图示意

    *cat命令:Linux下的一个文本输出命令,通常用于观看某个文件的内容

    man cat
    

    (1)一次显示整个文件
    cat filename

    (2)从键盘创建一个文件,只能创建新文件,不能编辑已有文件
    cat fliename

    (3)将几个文件合并为一个
    文件
    cat file1 file2 > file

    • cat具体命令格式为:cat [-AbeEnstTuv] [--help] [--version] fileName
      *参数:
      -n 或 –number 由 1 开始对所有输出的行数编号
      -b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号
      -s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
      -v 或 –show-nonprinting

    • 以root身份登录Linux后,执行“ls -al”(ls:list,显示文件的文件名与相关属性;-al:表示列出所有的文件详细的权限与属性(包含隐藏文件))

      • 第一列:文件的类型与权限
        第一个字母代表文件类型:d目录
        -文件
        l链接文件
        b设备文件里的可供存储的接口设备
        c表示设备文件里的串行端口设备,如键盘鼠标等一次性读取设备·
        接下来三个一组,第一组为文件所有者(User)权限,第二组为同用户组(group)的权限,第三组为其他非本用户组(Others)的权限

      • 第二列:有多少文件名连接到此节点(i-node)
        每个文件都会将它的权限与属性记录到文件系统的i-node中,不过我们使用的目录树却是使用文件名来记录,因此每个文件名就会连接到一个i-node,这个属性记录的就是有多少不同的文件名连接到相同的一个i-node号码

      • 第三列:所有者账号

      • 第四列:文件所属用户组

      • 第五列:容量大小,默认单位B

      • 第六列:创建或最近修改日期

           查看完整时间 ls -l --full-time
          (乱码可以使用"LANG = en_US"来修改语言)
          (修改系统配置文件“/etc/sysconfig/i 18n”,利用nano来修改该文件内容, 
          “LANG = en_US”使系统默认语言为英文)
        
      • 第七列:文件名

  • 相关阅读:
    mysql热备脚本
    linux系统编程-进程
    15-模块
    14-面向对象3
    13-面向对象2
    12-面向对象1
    02-对比两个文件的差异
    11-面向对象基础
    08-不定长函数
    07-缺省参数
  • 原文地址:https://www.cnblogs.com/marryj/p/16809801.html
Copyright © 2020-2023  润新知