精华内容
下载资源
问答
  • linux结构化命令:if-then

    千次阅读 2017-11-27 19:58:28
    最基本的if-then结构: if commond then commonds fi 一、在java中,if条件是使用TURE或者FALSE来做判断,在shell中,则是根据命令的退出状态来的。 如果如果成功执行命令,状态为0,则执行then后面的...

    最基本的if-then结构:

    if  commond

    then  

    commonds

    fi


    一、在java中,if条件是使用TURE或者FALSE来做判断,在shell中,则是根据命令的退出状态来的。

    如果如果成功执行命令,状态为0,则执行then后面的命令,如果没有成功执行命令,状态为0

    以外的其他值,则then后面的命令则不会执行。bash shell 会移动到脚本的下一条命令。


    如下是一个脚本:test1.sh



    执行结果如下:



    可以看到,在第一个if条件中,"dafadfa"肯定是执行不了的,所以报错"command not found”

    在 “elif” 中,"date"执行成功,返回0,所以执行了then后面的打印


    二、利用test命令做条件判断

    在上面的脚本中,if判断的依据都是根据if条件中的命令是否能够执行来作为依据,然而在很多情况下,我们需要比较大小,比较是否

    相等。。。我们可以利用test命令,来达到我们的目的。


    test命令提供一种检测if-then语句中不同条件的方法。如果test命令中列出的条件评估值为true,test命令则以0的状态码。这是if-then与

    其他编程语言中的if-then一样的方法运行。如果test命令中列出的评估值为false,则if-then语句失败

    test使用如下:

    if  test condition

    then

    commonds

    fi


    还有另外一种方式:

    if  [ condition]

    then 

    commdonds

    fi


    test命令能够评估一下三类条件:

    1、数值比较

    2、字符串比较

    3、文件比较


    a、数值比较


    测试脚本test2.sh:



    执行test2.sh,结果如下:



    b、字符串比较



    c、文件比较



    展开全文
  • 下面操作会删除挂载点所有文件,注意备份。df -T 查看出错的挂载点对应的文件系统和文件系统类型然后umount这个文件系统 umount /dev/sda1 然后文件系统类型不同操作不同when ext4: fsck.ext4 /dev/sda1when xfs: ...
    下面操作会删除挂载点所有文件,注意备份。

     

    df -T 查看出错的挂载点对应的文件系统和文件系统类型
     
    然后umount这个文件系统
    umount /dev/sda1
    然后文件系统类型不同操作不同 
    when ext4:
    fsck.ext4 /dev/sda1
    when xfs:
    xfs_repair /dev/sda1 
    最后reboot 

    转载于:https://www.cnblogs.com/pauljoyce/p/10382877.html

    展开全文
  • Linux 目录结构

    千次阅读 2016-09-12 11:35:24
    简述对于每一个学习 Linux 的人来说,了解 Linux 文件系统的目录结构至关重要。想要熟练使用 Linux,让 Linux 听命于自己,就必须掌握这些目录。简述 目录结构 目录说明目录结构Linux 和 Windows 的最大不同之处在于...

    简述

    对于每一个学习 Linux 的人来说,了解 Linux 文件系统的目录结构至关重要。想要熟练使用 Linux,让 Linux 听命于自己,就必须掌握这些目录。

    | 版权声明:一去、二三里,未经博主允许不得转载。

    目录结构

    Linux 和 Windows 的最大不同之处在于目录结构的设计。进入 Windows 系统,打开 C 盘,你会发现一些常见的文件夹;而进入 Linux 后,执行 ls -l / 会发现在“/”(根目录)下包含很多的目录,比如 etc、usr、var、bin 等目录,进入其中一个目录后,看到的还是很多的文件和目录。

    这里写图片描述

    Linux 的目录结构类似于树形结构,如下所示:

    这里写图片描述

    要认识 Linux 的目录结构,首先要认识目录结构最顶层的“/”,任何目录、文件和设备等都在此目录下。Linux 的文路径与 Windows 不同,Linux 的文件路径类似于“/home/wang”,Linux 没有 Windows中“盘符”的概念。

    目录说明

    常见的主要目录:

    目录 说明
    / 根目录。文件的最顶端,/etc、/bin、/dev、/lib、/sbin 应该和根目录放置在一个分区中,而类似/usr/local 可以单独位于另一个分区
    /bin 存放系统所需要的重要命令,比如文件或目录操作的命令 ls、cp、mkdir 等。另外 /usr/bin 下也存放了一些系统命令,这些命令对应的文件都是可执行的,普通用户可以使用大部分命令
    /boot 存放 Linux 启动时内核及引导系统程序所需要的核心文件,内核文件和 grub 系统引导管理器都位于此目录
    /dev 存放 Linux 系统下的设备文件,如光驱、磁盘等。访问该目录下某个文件相当于访问某个硬件设备,常用的是挂载光驱
    /etc 一般存放系统的配置文件,作为一些软件启动时默认配置文件读取的目录,如 /etc/fstab 存放系统分区信息
    /home 系统默认的用户主目录。如果添加用户时不指定用户的主目录,默认在 /home 下创建与用户名同名的文件夹。代码中可以用 HOME 环境变量表示当前用户的主目录
    /lib 64 位系统有 /lib64 文件夹,主要存放动态链接库。类似的目录有 /usr/lib、/usr/local/lib 等
    /lost+found 存放一些系统意外崩溃或及其意外关机时产生的文件碎片
    /mnt 用于存放挂在储存设备的挂载目录,如光驱等
    /proc 存放操作系统运行时的信息,如进程信息、内核信息、网络信息等。此目录的内容存在于内存中,实际不占用磁盘空间,如 /proc/cpuinfo 存放 CPU 的相关信息
    /root Linux 超级权限用户 root 的主目录
    /sbin 存放一些系统管理的命令,一般只能由超级权限用户 root 执行。大多数命令普通用户一般无权执行,类似 /sbin/ifconfig,普通用户使用绝对路径也可执行,用于查看当前系统的网络配置。类似的目录有 /usr/sbin、/usr/local/sbin
    /tmp 临时文件目录,任何人都可以访问。系统软件或用户运行程序(如 MySQL)时产生的临时文件存放到这里。此目录数据需要定时清除。重要数据不可放置在此目录下,此目录空间不宜过小
    /usr 应用程序存放目录,如命令、帮助文件等。安装 Linux 软件包时默认安装到 /usr/local 目录下。比如 /usr/share/fonts 存放系统字体,/usr/share/bin 存放帮助文档,/usr/include 存放软件的头文件等。/usr/local 目录建议单独分区并设置较大的磁盘空间
    /var 此目录的内容经常是变动的,如 /var/log 用于存放系统日志、/var/lib 用于存放系统库文件等
    /sys 目录与 /proc 类似,是一个虚拟的文件系统,主要记录与系统核心相关的信息,如当前系统已经载入的模块信息等。此目录实际不占硬盘容量
    /media Linux 系统会自动识别一些设备,如 U 盘、光驱等,当识别后,Linux 会把识别的设备挂载到这个目录下
    /srv 该目录存放一些服务启动之后需要提取的数据

    注意:各个发行版由不同的公司开发,所以各个发行版之间的目录可能会有所不同。Linux 各个发行版本之间目录的差距比较小,不同的地方主要是提供的图形界面及操作习惯等。

    展开全文
  • Linux系统结构详解

    万次阅读 多人点赞 2011-01-07 14:14:00
    Linux系统一般有4个主要部分: 内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。部分层次结构如图1-1所示。 1. ...

    Linux系统一般有4个主要部分:

    内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。部分层次结构如图1-1所示。

     

     

     

     1. linux内核


            Linux内核是世界上最大的开源项目之一,内核是与计算机硬件接口的易替换软件的最低级别。它负责将所有以“用户模式”运行的应用程序连接到物理硬件,并允许称为服务器的进程使用进程间通信(IPC)彼此获取信息。

           内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。

           Linux 内核由如下几部分组成:内存管理、进程管理、设备驱动程序、文件系统和网络管理等。如图:

                 

                             图1

        系统调用接口:SCI 层提供了某些机制执行从用户空间到内核的函数调用。这个接口依赖于体系结构,甚至在相同的处理器家族内也是如此。SCI 实际上是一个非常有用的函数调用多路复用和多路分解服务。在 ./linux/kernel 中您可以找到 SCI 的实现,并在 ./linux/arch 中找到依赖于体系结构的部分。

       1. 内存管理 

            对任何一台计算机而言,其内存以及其它资源都是有限的。为了让有限的物理内存满足应用程序对内存的大需求量,Linux  采用了称为“虚拟内存”的内存管理方式。Linux  将内存划分为容易处理的“内存页”(对于大部分体系结构来说都是 4KB)。Linux 包括了管理可用内存的方式,以及物理和虚拟映射所使用的硬件机制。

         不过内存管理要管理的可不止 4KB 缓冲区。Linux 提供了对 4KB 缓冲区的抽象,例如 slab 分配器。这种内存管理模式使用 4KB 缓冲区为基数,然后从中分配结构,并跟踪内存页使用情况,比如哪些内存页是满的,哪些页面没有完全使用,哪些页面为空。这样就允许该模式根据系统需要来动态调整内存使用。
       为了支持多个用户使用内存,有时会出现可用内存被消耗光的情况。由于这个原因,页面可以移出内存并放入磁盘中。这个过程称为交换,因为页面会被从内存交换到硬盘上。内存管理的源代码可以在 ./linux/mm 中找到。

     

        2 .进程管理

           进程实际是某特定应用程序的一个运行实体。在 Linux  系统中,能够同时运行多个进程,Linux  通过在短的时间间隔内轮流运行这些进程而实现“多任务”。这一短的时间间隔称为“时间片”,让进程轮流运行的方法称为“进程调度” ,完成调度的程序称为调度程序。

     

           进程调度控制进程对CPU的访问。当需要选择下一个进程运行时,由调度程序选择最值得运行的进程。可运行进程实际上是仅等待CPU资源的进程,如果某个进程在等待其它资源,则该进程是不可运行进程。Linux使用了比较简单的基于优先级的进程调度算法选择新的进程。 

            通过多任务机制,每个进程可认为只有自己独占计算机,从而简化程序的编写。每个进程有自己单独的地址空间,并且只能由这一进程访问,这样,操作系统避免了进程之间的互相干扰以及“坏”程序对系统可能造成的危害。 为了完成某特定任务,有时需要综合两个程序的功能,例如一个程序输出文本,而另一个程序对文本进行排序。为此,操作系统还提供进程间的通讯机制来帮助完成这样的任务。Linux 中常见的进程间通讯机制有信号、管道、共享内存、信号量和套接字等。 

           内核通过 SCI 提供了一个应用程序编程接口(API)来创建一个新进程(fork、exec 或 Portable Operating System Interface [POSⅨ] 函数),停止进程(kill、exit),并在它们之间进行通信和同步(signal 或者 POSⅨ 机制)。

     

        3. 文件系统 

     

           和 DOS 等操作系统不同,Linux 操作系统中单独的文件系统并不是由驱动器号或驱动器名称(如 A:  或 C:  等)来标识的。相反,和 UNIX  操作系统一样,Linux 操作系统将独立的文件系统组合成了一个层次化的树形结构,并且由一个单独的实体代表这一文件系统。Linux  将新的文件系统通过一个称为“挂装”或“挂上”的操作将其挂装到某个目录上,从而让不同的文件系统结合成为一个整体。Linux  操作系统的一个重要特点是它支持许多不同类型的文件系统。Linux 中最普遍使用的文件系统是 Ext2,它也是 Linux  土生土长的文件系统。但 Linux  也能够支持 FAT、VFAT、FAT32、MINIX 等不同类型的文件系统,从而可以方便地和其它操作系统交换数据。由于 Linux  支持许多不同的文件系统,并且将它们组织成了一个统一的虚拟文件系统.

     

           虚拟文件系统(VirtualFileSystem,VFS):隐藏了各种硬件的具体细节,把文件系统操作和不同文件系统的具体实现细节分离了开来,为所有的设备提供了统一的接口,VFS提供了多达数十种不同的文件系统。虚拟文件系统可以分为逻辑文件系统和设备驱动程序。逻辑文件系统指Linux所支持的文件系统,如ext2,fat等,设备驱动程序指为每一种硬件控制器所编写的设备驱动程序模块。 

     

           虚拟文件系统(VFS)是 Linux 内核中非常有用的一个方面,因为它为文件系统提供了一个通用的接口抽象。VFS 在 SCI 和内核所支持的文件系统之间提供了一个交换层。即VFS 在用户和文件系统之间提供了一个交换层。

    VFS         在用户和文件系统之间提供了一个交换层:

           
      在 VFS 上面,是对诸如 open、close、read 和 write 之类的函数的一个通用 API 抽象。在 VFS 下面是文件系统抽象,它定义了上层函数的实现方式。它们是给定文件系统(超过 50 个)的插件。文件系统的源代码可以在 ./linux/fs 中找到。
      文件系统层之下是缓冲区缓存,它为文件系统层提供了一个通用函数集(与具体文件系统无关)。这个缓存层通过将数据保留一段时间(或者随即预先读取数据以便在需要是就可用)优化了对物理设备的访问。缓冲区缓存之下是设备驱动程序,它实现了特定物理设备的接口。
          因此,用户和进程不需要知道文件所在的文件系统类型,而只需要象使用 Ext2  文件系统中的文件一样使用它们。

     

         4. 设备驱动程序 

          设备驱动程序是 Linux  内核的主要部分。和操作系统的其它部分类似,设备驱动程序运行在高特权级的处理器环境中,从而可以直接对硬件进行操作,但正因为如此,任何一个设备驱动程序的错误都可能导致操作系统的崩溃。设备驱动程序实际控制操作系统和硬件设备之间的交互。设备驱动程序提供一组操作系统可理解的抽象接口完成和操作系统之间的交互,而与硬件相关的具体操作细节由设备驱动程序完成。一般而言,设备驱动程序和设备
    的控制芯片有关,例如,如果计算机硬盘是 SCSI  硬盘,则需要使用 SCSI  驱动程序,而不是 IDE 驱动程序。 

     

        5.网络接口(NET)   

           提供了对各种网络标准的存取和各种网络硬件的支持。网络接口可分为网络协议和网络驱动程序。网络协议部分负责实现每一种可能的网络传输协议。众所周知,TCP/IP  协议是 Internet  的标准协议,同时也是事实上的工业标准。Linux  的网络实现支持 BSD 套接字,支持全部的TCP/IP协议。Linux内核的网络部分由BSD套接字、网络协议层和网络设备驱动程序组成。 
        网络设备驱动程序负责与硬件设备通讯,每一种可能的硬件设备都有相应的设备驱动程序。

     

     2 . linux shell


    shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。另外,shell编程语言具有普通编程语言的很多特点,用这种编程语言编写的shell程序与其他应用程序具有同样的效果。
    目前主要有下列版本的shell。
    1.Bourne Shell:是贝尔实验室开发的。  
    2.BASH:是GNU的Bourne Again Shell,是GNU操作系统上默认的shell,大部分linux的发行套件使用的都是这种shell。
    3.Korn Shell:是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。    

    4.C Shell:是SUN公司Shell的BSD版本。


     3 . linux 文件系统


    各操作系统使用的文件系统并不相同,例如,Windows 98 以前的微软操作系统使用 FAT(FAT16)文件系统,Windows 2000 以后的版本使用 NTFS 文件系统,而 Linux 的正统文件系统是 Ext2。

    在 CentOS 6.3 系统中,默认的文件系统是 Ext4,它是 Ext3(Ext2) 文件系统的升级版,在性能、伸缩性和可靠性方面进行了大量改进,变化可以说是翻天覆地的,比如:

    • 向下兼容 Ext3;
    • 最大 1EB 文件系统和 16TB 文件;
    • 无限数量子目录;
    • Extents 连续数据块概念;
    • 多块分配、延迟分配、持久预分配;
    • 快速 FSCK、日志校验、无日志模式、在线碎片整理、inode 增强、默认启用 barrier 等;

    Linux支持的常见文件系统

    Linux 系统能够支持的文件系统非常多,除 Linux 默认文件系统 Ext2、Ext3 和 Ext4 之外,还能支持 fat16、fat32、NTFS(需要重新编译内核)等 Windows 文件系统。也就是说,Linux 可以通过挂载的方式使用 Windows 文件系统中的数据。Linux 所能够支持的文件系统在 "/usr/src/kemels/当前系统版本/fs" 目录中(需要在安装时选择),该目录中的每个子目录都是一个可以识别的文件系统。我们介绍较为常见的 Linux 支持的文件系统,如表 1 所示。
     

    文件系统 描 述
    Ext Linux 中最早的文件系统,由于在性能和兼容性上具有很多缺陷,现在已经很少使用
    Ext2 是 Ext 文件系统的升级版本,Red Hat Linux 7.2 版本以前的系统默认都是 Ext2 文件系统。于 1993 年发布,支持最大 16TB 的分区和最大 2TB 的文件(1TB=1024GB=1024x1024KB)
    Ext3 是 Ext2 文件系统的升级版本,最大的区别就是带日志功能,以便在系统突然停止时提高文件系统的可靠性。支持最大 16TB 的分区和最大 2TB 的文件
    Ext4 是 Ext3 文件系统的升级版。Ext4 在性能、伸缩性和可靠性方面进行了大量改进。Ext4 的变化可以说是翻天覆地的,比如向下兼容 Ext3、最大 1EB 文件系统和 16TB 文件、无限数量子目录、Extents 连续数据块 概念、多块分配、延迟分配、持久预分配、快速 FSCK、日志校验、无日志模式、在线碎片整理、inode 增强、默认启用 barrier 等。它是 CentOS 6.3 的默认文件系统
    swap swap 是 Linux 中用于交换分区的文件系统(类似于 Windows 中的虚拟内存),当内存不够用时,使用交换分区暂时替代内存。一般大小为内存的 2 倍,但是不要超过 2GB。它是 Linux 的必需分区
    NFS NFS 是网络文件系统(Network File System)的缩写,是用来实现不同主机之间文件共享的一种网络服务,本地主机可以通过挂载的方式使用远程共享的资源
    iso9660 光盘的标准文件系统。Linux 要想使用光盘,必须支持 iso9660 文件系统
    fat 就是 Windows 下的 fatl6 文件系统,在 Linux 中识别为 fat
    vfat 就是 Windows 下的 fat32 文件系统,在 Linux 中识别为 vfat。支持最大 32GB 的分区和最大 4GB 的文件
    NTFS 就是 Windows 下的 NTFS 文件系统,不过 Linux 默认是不能识别 NTFS 文件系统的,如果需要识别,则需要重新编译内核才能支持。它比 fat32 文件系统更加安全,速度更快,支持最大 2TB 的分区和最大 64GB 的文件
    ufs Sun 公司的操作系统 Solaris 和 SunOS 所采用的文件系统
    proc Linux 中基于内存的虚拟文件系统,用来管理内存存储目录 /proc
    sysfs 和 proc —样,也是基于内存的虚拟文件系统,用来管理内存存储目录 /sysfs
    tmpfs 也是一种基于内存的虚拟文件系统,不过也可以使用 swap 交换分区

    文件系统详解https://blog.csdn.net/hguisu/article/details/7401963

     

    4 . 用户态和内核态


    应用程序是无法直接访问硬件资源的,需要通过通过内核SCI 层提供的接口来访问硬件资源。

           Linux系统将自身划分为两部分,一部分为核心软件,即是kernel,也称作内核空间,另一部分为普通应用程序,这部分称为用户空间。

           区分用户空间和内核空间的目的是为确保系统安全。在CPU的所有指令中,有一些指令是非常危险的,如果错用,将导致整个系统崩溃。比如:清内存、设置时钟等。因为如果应用程序和内核在同一个保护级别,那么应用程序就有可能有意或者不小心进入了内核空间,破坏了内核空间的代码和数据,系统崩溃就不足为奇。所以CPU将指令分为特权指令和非特权指令,对于那些危险的指令,只允许操作系统及其相关模块使用,普通的应用程序只能使用那些不会造成灾难的指令。Intel的CPU将特权级别分为4个级别:RING0,RING1,RING2,RING3, 内核空间级别为“RING0”, 用户空间级别为RING3。

          linux的内核是一个有机的整体。每一个用户进程运行时都好像有一份内核的拷贝,每当用户进程使用系统调用时,都自动地将运行模式从用户级转为内核级,此时进程在内核的地址空间中运行。

           当应用程序进程执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态(或简称为内核态)。此时处理器处于特权级最高的(RING0级)内核代码中执行。当进程处于内核态时,执行的内核代码会使用当前进程的内核栈。每个进程都有自己的内核栈。当进程在执行用户自己的代码时,则称其处于用户运行态(用户态)。即此时处理器在特权级最低的(RING3级)用户代码中运行。当正在执行用户程序而突然被中断程序中断时,此时用户程序也可以象征性地称为处于进程的内核态。因为中断处理程序将使用当前进程的内核栈。这与处于内核态的进程的状态有些类似。

           内核态与用户态是操作系统的两种运行级别,跟intel cpu没有必然的联系, 如上所提到的intel cpu提供Ring0-Ring3四种级别的运行模式,Ring0级别最高,Ring3最低。Linux使用了Ring3级别运行用户态,Ring0作为 内核态,没有使用Ring1和Ring2。    

     

    内核空间和用户空间

    x86 CPU采用了段页式地址映射模型。进程代码中的地址为逻辑地址,经过段页式地址映射后,才真正访问物理内存。

    通常32位Linux内核地址空间划分0~3G为用户空间,3~4G为内核空间。64位内核地址空间划分是不同的。

    32位与64位具体地址分布如下图:

    64位地址时将0x0000,0000,0000,0000 – 0x0000,7fff,ffff,f000这128T地址用于用户空间。参见定义:

    #define TASK_SIZE_MAX   ((1UL << 47) - PAGE_SIZE),注意这里还减去了一个页面的大小做为保护。

    而0xffff,8000,0000,0000以上为系统空间地址。注意:该地址前4个都是f,这是因为目前实际上只用了64位地址中的48位(高16位是没有用的),而从地址0x0000,7fff,ffff,ffff到0xffff,8000,0000,0000中间是一个巨大的空洞,是为以后的扩展预留的。

    而真正的系统空间的起始地址,是从0xffff,8800,0000,0000开始的,参见:

    #define __PAGE_OFFSET     _AC(0xffff,8800,0000,0000, UL)

    而32位地址时系统空间的起始地址为0xC000,0000。

    另外0xffff,8800,0000,0000 – 0xffff,c7ff,ffff,ffff这64T直接和物理内存进行映射,0xffff,c900,0000,0000 – 0xffff,e8ff,ffff,ffff这32T用于vmalloc/ioremap的地址空间。

    而32位地址空间时,当物理内存大于896M时(Linux2.4内核是896M,3.x内核是884M,是个经验值),由于地址空间的限制,内核只会将0~896M的地址进行映射,而896M以上的空间用做一些固定映射和vmalloc/ioremap。而64位地址时是将所有物理内存都进行映射。

    内核态与用户态

           用户态Ring3状态不能访问内核态Ring0的地址空间,包括代码和数据。(例如32位Linux进程的4GB地址空间,3G-4G部 分大家是共享的,是内核态的地址空间,这里存放在整个内核的代码和所有的内核模块,以及内核所维护的数据)。用户运行一个程序,该程序所创建的进程开始是运行在用户态的,如果要执行文件操作,网络数据发送等操作,必须通过write,send等系统调用,这些系统调用会调用内核中的代码来完成操作,这时,必 须切换到Ring0,然后进入内核地址空间去执行这些代码完成操作,完成后,切换回Ring3,回到用户态。这样,用户态的程序就不能 随意操作内核地址空间,具有一定的安全保护作用。

    处理器总处于以下状态中的一种:

    1、内核态,运行于进程上下文,内核代表进程运行于内核空间;

    2、内核态,运行于中断上下文,内核代表硬件运行于内核空间;

    3、用户态,运行于用户空间。

    从用户空间到内核空间有两种触发手段:

    1.系统调用:

    用户空间的应用程序,通过系统调用,进入内核空间。这个时候用户空间的进程要传递很多变量、参数的值给内核,内核态运行的时候也要保存用户进程的一些寄存器值、变量等。所谓的“进程上下文”,可以看作是用户进程传递给内核的这些参数以及内核要保存的那一整套的变量和寄存器值和当时的环境等。

    2.中断:  

    硬件通过触发信号,导致内核调用中断处理程序,进入内核空间。例如网卡发送一个数据包或硬盘驱动器提供一次 IO 请求等。这个过程中,硬件的一些变量和参数也要传递给内核,内核通过这些参数进行中断处理。所谓的“中断上下文”,其实也可以看作就是硬件传递过来的这些参数和内核需要保存的一些其他环境(主要是当前被打断执行的进程环境)。

     

    展开全文
  • linux目录结构

    万次阅读 2018-01-18 21:35:43
    一、在linux系统中没有分区之说,也没有磁盘。斜杠“/”为“根”,任何一个文件的开始以根开始,二、/bin/bin/ 是普通用户使用的命令,二进制可执行命令。三、/sbin/sbin/ 超级管理命令,这里存放的是系统管理员...
  • Linux体系结构

    千次阅读 2018-10-18 22:13:14
    为便于更好的了解Linux系统的体系结构,先介绍常用的windows系统的体系结构。  Windows系列操作系统采用微内核体系结构,模块化设计,将对象分为用户模式层和内和模式层。用户模式层由一组组价(子系统)构成,将...
  • Linux目录结构

    万次阅读 2019-01-11 09:47:18
    引用:尚硅谷韩老师的《尚硅谷-Linux-经典升级》日常总结 安装位置总结: 1、软件安装目录 系统级目录:/usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32。 用户级程序目录:/usr...
  • Linux 系统结构详解

    万次阅读 2017-04-05 10:49:24
    Linux系统一般有4个主要部分: 内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。部分层次结构如图1-1所示。 1. linux...
  • linux系统结构详解

    千次阅读 2021-01-14 19:32:23
    Linux系统结构 经过学习了系统结构之后,我将自己所见到的知识点都整理起来,查缺补漏, 以下是我整理总结出的目录结构知识点: 以下是我找到得目录结构及作用 **/selinux:**这个⽬录是RedHat/CentOS特有的⽬录,...
  • linux系统目录结构

    万次阅读 2020-09-08 09:54:03
    linux系统目录结构 /:根目录,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。 /bin:bin 就是二进制(binary)英文缩写。在一般的系统当中,都可以在这个目录下找到linux常用...
  • Linux 的体系结构

    千次阅读 2019-09-13 17:13:32
    Linux 的体系结构主要分为用户态(用户上层活动)和内核态,在 Linux 启动的时候,首先会启动内核,内核从本质上看是一段管理计算机硬件设备的程序。 内核为上层应用程序提供了访问的接口,即系统调用,是一种不能...
  • Linux源码目录结构Linux文件系统目录结构

    万次阅读 多人点赞 2018-03-14 18:03:34
    学习Linux也有一段时间了,具体来整理一下Linux源码的目录结构和文件系统的目录结构,以便加深记忆。一、Linux源码的目录结构首先上一张截图,如下所示:再看各个文件的介绍,借用一下其他资源。arch:这个为目录是...
  • Linux 系统的目录结构

    千次阅读 2019-03-03 19:30:01
    文章目录Linux 系统的目录结构1、显示目录2、目录结构样图3、目录结构用途4、注意点 Linux 系统的目录结构 1、显示目录 登录到Linux 系统后,执行如下命令即可显示目录 ls / 2、目录结构样图 3、目录结构用途 /...
  • Linux文件系统结构

    千次阅读 2015-07-02 22:20:56
    写在前面linux区别于windows的其中一个很大的特点是linux采用的文件系统结构。即linux只有一个单独的顶级目录结构。所有一切都从 ‘root’ 开始,用 ‘/’ 代表, 并且延伸到子目录。一句话:一切皆文件!当有新的...
  • Linux源码的目录结构Linux文件系统的目录结构 我是一个小白,最近找工作找到是一份驱动方面的工作,刚从学校毕业出来啥也不懂。个人觉得首先了解的就是一个工程的目录下的文件分别表示什么,所以看了别人的文章,...
  • Linux 系统目录结构

    千次阅读 2016-08-23 21:58:44
    登录系统后,在当前命令窗口下输入命令: ls / 树状目录结构: /bin: bin是Binary的缩写, 这个目录存放着最经常使用的命令。 /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件...
  • linux体系结构与内核结构图解

    千次阅读 2018-04-22 12:39:37
    1.当被问到Linux体系结构(就是Linux系统是怎么构成的)时,我们可以参照下图这么回答:从大的方面讲,Linux体系结构可以分为两块:(1)用户空间:用户空间中又包含了,用户的应用程序,C库(2)内核空间:内核...
  • Linux文件系统目录结构详解

    万次阅读 2017-10-08 13:09:34
    了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面我们就开始了解一下linux目录结构的相关知识。...
  • Linux的目录结构

    千次阅读 2018-08-22 22:32:18
      版权声明:本文为博主原创文章,未经博主允许不得转载!...Linux的目录结构,最顶层的目录是/ ,称之为根目录。 /bin: (binaries) 存放系统命令的目录,所有用户都可以执行。 /sbin : (...
  • linux内核源码结构

    万次阅读 2019-03-08 21:40:08
    linux内核源码结构 一、概述  Linux内核庞大,但是这些文件的结构还是有章可循的,分别位于不同的目录下,各个目录功能相对独立。 二、源码结构表 目录名 描述 arch 体系结构相关的代码,对于每个架构...
  • linux 如何以树形结构显示文件目录结构

    万次阅读 多人点赞 2016-12-22 17:05:14
    linux 如何以树形结构显示文件目录结构
  • Linux系统结构

    千次阅读 2018-11-13 11:52:13
    进入根目录: cd / 进入家目录(home):cd (直接回车) 返回上一级目录:cd … 进入特定目录:cd 路径
  • LinuxLinux的虚拟内存详解(MMU、页表结构

    万次阅读 多人点赞 2018-07-16 20:16:28
    Linux作为一个以通用为目的的现代大型操作系统,当然也毫不例外的采用了优点甚多的虚拟内存技术。   虚拟内存 为了运行比实际物理内存容量还要大的程序,包括Linux在内的所有现代操作系统几乎毫无例外的都采用了...
  • Linux系统目录结构

    千次阅读 2018-01-31 11:24:04
    Linux 系统目录结构 登录系统后,在当前命令窗口下输入命令:  ls /  你会看到如下图所示: 树状目录结构: 以下是对这些目录的解释: /bin: bin是Binary的缩写, 这个目录存放着最...
  • linux内核结构

    千次阅读 2012-04-30 21:07:40
    为了能更好的学习驱动开发,最近开始学习linux内核结构的内容,找了很久看到一个感觉很有意思的结构框图,收下!
  • Linux系统结构 详解

    万次阅读 多人点赞 2017-03-23 21:52:29
    Linux系统一般有4个主要部分: 内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。部分层次结构如图1-1所示。 1...
  • 了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面我们就开始了解一下linux目录结构的相关知识。...
  • Linux 可执行文件结构与进程结构

    千次阅读 多人点赞 2015-04-19 10:15:38
    Linux可执行文件结构Linux 下,程序是一个普通的可执行文件,以下列出一个二进制可执行文件的基本情况: 可以看出,此可执行文件在存储时(没有调入到内容)分为代码区(text)、数据区(data)和未初始化数据...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 822,120
精华内容 328,848
关键字:

linux结构

linux 订阅