作为一个Linux新人,你必须知道的事

随着微服务的盛行、自动化运维技术的发展,我们测试管理测试环境的能力似乎在逐渐降低,而整个IT行业对于“W”型人才的需求确越来越高。作为一个有追求的测试,我们是时候补一补我们的运维知识~

今天这篇将给大家介绍我们测试环境中最最重要的基础设施——Linux操作系统的系统组成,让大家对于我们最最常用的服务器操作系统有个稍微深入一点的了解。后续还会有Linux命令,shell脚本内容等相关文章,请大家持续关注哟(^U^)ノ~YO

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

  • Linux内核

  • Shell

  • 文件系统

  • 应用程序

其中Linux内核、Shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。

接下来我们逐个了解一下:

Linux内核

内核是操作系统的核心,它在操作系统中主要完成以下任务:

  • 从技术层面讲,内核是硬件与软件之间的一个中间层。作用是将应用层序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。

  • 从应用程序的层面讲,应用程序与硬件没有联系,只与内核有联系,内核是应用程序知道的层次中的最底层。在实际工作中内核抽象了相关细节。

  • 内核是一个资源管理程序。负责将可用的共享资源(CPU时间、磁盘空间、网络连接等)分配得到各个系统进程。

  • 内核就像一个库,提供了一组面向系统的命令。系统调用对于应用程序来说,就像调用普通函数一样。

Linux 内核由如下几部分组成:系统调用接口、虚拟文件系统、内存管理、进程管理、网络服务和设备驱动程序。

系统调用接口(System Call Interface,SCI):SCI指的是用户空间应用程序和内核提供的服务之间的接口。由于服务是在内核中提供的,因此无法执行直接调用,所以SCI帮助我们提供了执行从用户空间到内核的函数调用。

虚拟文件系统(Virtual File System, VFS):VFS为文件系统提供了一个通用的接口抽象,它在 SCI 和内核所支持的文件系统之间提供了一个交换层。

在 VFS 上面,是对诸如 open、close、read 和 write 之类的函数的一个通用 API 抽象。

在 VFS 下面是文件系统抽象,它定义了上层函数的实现方式。

文件系统层之下是缓冲区缓存,它为文件系统层提供了一个通用函数集(与具体文件系统无关)。这个缓存层通过将数据保留一段时间(或者随即预先读取数据以便在需要是就可用)优化了对物理设备的访问。

缓冲区缓存之下是设备驱动程序,它实现了特定物理设备的接口。

内存管理:为了让有限的物理内存满足应用程序对内存的大需求量,Linux 采用了“虚拟内存”的内存管理方式,将内存划分为容易处理的“内存页”(对于大部分体系结构来说都是 4KB)。Linux 的内存管理提供了物理和虚拟映射所使用的硬件机制,也支持当内存被消耗光的时候,

使用被称为“交换”的过程把页面从内存交换到硬盘上。

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

Linux系统使用进程调度控制进程对CPU的访问,完成进程管理。内核通过 SCI 提供了一个应用程序编程接口(API)来创建一个新进程,停止进程,并在它们之间进行通信和同步。

网络服务:提供了对各种网络标准的存取和各种网络硬件的支持。网络接口可分为网络协议和网络驱动程序。网络协议部分负责实现每一种可能的网络传输协议。Linux 的网络实现支持 BSD 套接字,支持全部的TCP/IP协议。网络设备驱动程序负责与硬件设备通讯,每一种可能的硬件设备都有相应的设备驱动程序。

设备驱动程序:设备驱动程序运行在高特权级的处理器环境中,从而可以直接对硬件进行操作,设备驱动程序实际控制操作系统和硬件设备之间的交互。设备驱动程序提供一组操作系统可理解的抽象接口完成和操作系统之间的交互,而与硬件相关的具体操作细节由设备驱动程序完成。

Shell

Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。另外,Shell编程语言具有普通编程语言的很多特点,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。

我们最常用的Shell版本是:BASH(GNU的Bourne Again Shell)。

文件系统

文件系统是文件存放在磁盘等存储设备上的组织方法。Linux系统能支持多种目前流行的文件系统,如EXT2、 EXT3、 FAT、 FAT32、 VFAT和ISO9660。

Linux以文件的形式对计算机中的数据和硬件资源进行管理,也就是彻底的一切皆文件,反映在Linux的文件类型上就是:普通文件、目录文件(也就是文件夹)、设备文件、链接文件、管道文件、套接字文件(数据通信的接口)等等。

这些种类繁多的文件被Linux使用目录树进行管理, 所谓的目录树就是以根目录(/)为主,向下呈现分支状的一种文件结构。一切皆文件和文件目录树的资源管理方式一起构成了Linux的文件体系,让Linux操作系统可以方便使用系统资源。

Linux中的常用文件类型

普通文件(-)

·从Linux的角度来说,类似mp4、pdf、html这样应用层面上的文件类型都属于普通文件

·Linux用户可以根据访问权限对普通文件进行查看、更改和删除

目录文件(d,directory file)

·目录文件对于用惯Windows的用户来说不太容易理解,目录也是文件的一种

·目录文件包含了各自目录下的文件名和指向这些文件的指针,打开目录事实上就是打开目录文件,只要有访问权限,你就可以随意访问这些目录下的文件(普通文件的执行权限就是目录文件的访问权限),但是只有内核的进程能够修改它们

·虽然不能修改,但是我们能够通过vim去查看目录文件的内容

符号链接(l,symbolic link)

·这种类型的文件类似Windows中的快捷方式,是指向另一个文件的间接指针,也就是我们常说的软链接

块设备文件(b,block)和字符设备文件(c,char)

·这些文件一般隐藏在/dev目录下,在进行设备读取和外设交互时会被使用到

·比如磁盘光驱就是块设备文件,串口设备则属于字符设备文件

·系统中的所有设备要么是块设备文件,要么是字符设备文件,无一例外

FIFO(p,pipe)

·管道文件主要用于进程间通讯。比如使用mkfifo命令可以创建一个FIFO文件,启用一个进程A从FIFO文件里读数据,启动进程B往FIFO里写数据,先进先出,随写随读。

套接字(s,socket)

·用于进程间的网络通信,也可以用于本机之间的非网络通信

·这些文件一般隐藏在/var/run目录下,证明着相关进程的存在

微信号 : TestOps

知乎:@TestOps云层

(0)

相关推荐

  • 老曹眼中的Linux基础

    Linux 几乎无处不在,不论是服务器构建,还是客户端开发,对操作系统的基本理解和基础技能的掌握对全栈来说都是必备的. 系统的选择 Linux发行版本大体分为两类,一类是商业公司维护的发行版本,一类是 ...

  • Linux系统结构包括什么?

    众所周知,Linux是免费.开源的操作系统,被广泛的应用于服务器领域,全球95%的企业级服务器都是Linux系统,有着不可或缺的作用.而说起Linux系统,很多人都比较好奇Linux系统结构包括什么? ...

  • Linux 操作系统!开篇

    此篇文章主要会带你介绍 Linux 操作系统,包括 Linux 本身.Linux 如何使用.以及系统调用和 Linux 是如何工作的. Linux 简介 UNIX 是一个交互式系统,用于同时处理多进程 ...

  • 想读懂Linux内核,这一份书单足够!

    Linux内核长什么样?这幅漫画是以一个房子的侧方刨面图来绘画的.使用这样的一个房子来代表 Linux 内核.你能给这幅漫画分析一下读图路径吗? 题图来自: http://TurnOff.us 的漫画 ...

  • rootkit

    rootkit Rootkit是指其主要功能为:隐藏其他程序进程的软件,可能是一个或一个以上的软件组合:广义而言,Rootkit也可视为一项技术.在今天,Rootkit一词更多地是指被作为驱动程序,加 ...

  • 二婚女人要知道的事:一个离婚带娃的女人除...

    二婚女人要知道的事: 一个离婚带娃的女人 除了自食其力 别无他路 就算二婚男人有

  • 职场新人必须要知道的10个要点

    职场环境复杂,规矩也多.有时候不经意的一个举动就会得罪某人.往小了说你会受到排挤,往大了说被辞退也不是没有可能会.今天老王来和大家聊聊职场新人必须知道的十个要点. 一,自信而谦虚,有很多职场新人,尤其 ...

  • 所有女孩必须要知道的事:嫁人,就是嫁给一个家庭

    汇 佳 情 感  让 爱 回 家 不止一个女孩问过我这个问题:"老师,嫁人,到底是嫁给爱情,还是嫁给生活?" 我回答:"不全对,嫁人,其实是嫁给一个家庭." 每 ...

  • 一位母亲给女儿的话:和婆婆相处中,你必须要知道的事

    一位母亲给女儿的话:和婆婆相处中,你必须要知道的事

  • 25张“活久见”的图片,感觉自己知道的事,还是太少太少!

    又到了涨姿势的时间!通过下面这组图片,来见识一些我们身处世界的神奇: 火山内部原来是这个样子 来自印度尼西亚的苔藓玛瑙,所谓"苔藓"实际上是铁和石头中的矿物包裹体,看起来像是秘密森 ...

  • 英语听力困难的原因、提高听力必须要知道的事

    英语听力困难的原因、提高听力必须要知道的事

  • 喝茶,很少人会知道的事!

    喝茶,很少人会知道的事! 茶院 茶的学问博大精深,关于喝茶的这些事,你知道多少?? 1.正常人一天宜饮多少茶? 饮茶量的多少决定于饮茶习惯.年龄.健康状况.生活环境.风俗等因素. 一般健康的成年人,平 ...

  • 二婚女人要知道的事

    一个离婚带娃的女人 除了自食其力 别无他路 就算二婚男人有

  • 装修日记|水电前一定要知道的事

    马上就要水电阶段了,今天记录下我在水电开始前做的所有准备工作.每个人都有自己想要家的样子,不同的背景,不同的生活习惯,不同的地理位置,会造就完全不同的装修思路.即使有设计师,可是设计师对生活要求,和每 ...