b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

【linux7 查看mac地址】

电脑杂谈  发布时间:2019-11-07 04:03:37  来源:网络整理

查看linux mac地址_linux如何查看mac地址_linux 查看 mac地址

理解Linux内核最好预备的知识点

Linux内核的特点

Linux内核的任务

内核的组成部分

哪些地方用到了内核模式?

Linux进程

Linux创建新进程的模式

Linux线程

内核线程

地址空间与特权级别

虚拟地址与物理地址

特权级别(Linux的两种状况)

系统调用

设备驱动程序、块设施和字符设备

网络

文件系统

模块和热插拔

注:本文为《深入Linux内核架构》 的学习笔记

理解Linux内核最好预备的知识点:

Linux内核的特点:

结合了unix操作系统的一些基础概念

Linux内核的任务:

1.从技术层面讲,内核是硬件与工具之间的一个中间层。作用是将应用层序的请求释放给软件,并充当底层驱动程序,对平台中的各类设施和模块进行寻址。

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

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

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

内核实现策略:

1.微内核。最基本的功能由中央内核(微内核)实现。所有其它的用途都委托给一些独立进程,这些进程通过细化定义的通信接口与中心内核通信。

查看linux mac地址_linux 查看 mac地址_linux如何查看mac地址

2.宏内核。内核的所有代码,包括子系统(如内存管理、文件管理、设备驱动程序)都打包到一个文件中。内核中的每一个函数都可以访问到内核中所有其它部份。目前支持组件的动态装卸(裁剪)。Linux内核就是基于这个思路谋求的。

内核的组成部分:

1.用户空间(在“地址空间与特权级别”小节会具体介绍):

应用程序:

C库

2.内核空间(在“地址空间与特权级别”小节会具体介绍):

核心内核

设备驱动程序

硬件

详细可参考图1

图1 Linux内核组成部分

哪些地方用到了内核模式?

1.进程(在cpu的虚拟内存中分配地址空间,各个进程的地址空间完全独立;同时执行的进程数最多不少于cpu数量)之间进行通 信,需要使用特定的内核模式。

2.进程间切换(同时执行的进程数最多不少于cpu数量),也应该用到内核模式。

进程切换也应该像FreeRTOS任务切换一样保存状况,并将进程放到闲置状态/恢复状况。

3.进程的调度。确认什么进程运行多久的时间。

Linux进程

1.采用层次结构,每个进程都依赖于一个父进程。内核开启init程序成为第一个进程。该进程负责进一步的系统初始化操作。init进程是进程树的根linux如何查看mac地址,所有的进程都直接以及间接起源于该进程。

2.通过pstree命令查询。实际上得平台第一个进程是systemd,而不是init(这只是问题点)

3.系统中每一个进程都有一个唯一标识符(ID),用户(或其它进程)可以使用ID来访问进程。

1.使用fork函数。

功能:创建当前进程的一个副本。父进程和子进程只有PID(进程ID)不同。父进程的内容被复制。(写时复制:可以知道下这个概念)

2.使用exec函数。

功能:将一个新程序读取到当前进程的存储中并执行。旧程序的内存页将刷出,其内容更换为新的数据。然后开始执行新程序。

Linux线程

进程可以看成是一个正在执行的程序,而泛型则是与主程序并行运行的程序变量或实例。

采用clone方法创建泛型。

特点:

1.不与任何特定的用户空间进程相关联。

2.与中断上下文运转的内核相比,内核线程可以开启睡眠状况,也可以像系统中的普通进程一样被调度器跟踪。

用途:

1.从内存和块设备之间的数据同步。

2.帮助调度器在CPU上分配进程。

如何查看内核线程:

命令:ps fax 方括号内的就是内核线程。

地址空间与特权级别

在即将介绍之前先介绍几个单位:

KiB 2^10字节

MiB 2^20

GiB 2^30

虚拟地址与物理地址:

虚拟地址:在计算机的专用名词中是指标识一个虚拟(非物理地址)的实体地址。

物理地址:切切实实存在的地址。在存储器里以字节为单位传输信息,为正确地存放或获得信息,每一个字节单元给以一个唯一的存储器地址,称为物理地址。

映射关系:

用页表为物理地址分配虚拟地址

注意:未必虚拟地址的所有页都映射到某个页帧。

原因:

1.页没有内存可以使用

2.数据尚不需要使用而没有载入内存。

3.页已经换出硬盘,需要时再换回内存。

页帧:物理内存页

页:专指虚拟地址空间中的页。

页表:将虚拟地址空间映射到物理地址空间的数据结构。

多级分页:建立虚拟地址到物理地址映射的一种方法,能有效降低内存用量。

CPU加速存储的访问过程,方法:

1.MMU(Memory Management Unit)内存管理单元

2.TLB(Translation Lookaside Buffer)地址转换后备缓冲器

IA-32位结构的CPU只应该使用二级页表,Linux内核总是使用四级页表,剩余部分由内核通过控页表对缺乏的页表进行仿真。

概念注意:

1.CPU的字长决定了所能管理的地址空间的最大长度。对于32位系统是2^32 B = 4GiB

2.虚拟地址空间:地址空间的最大长度与实际可用的物理内存的总量无关。

虚拟地址空间界定为两个部分:

内核空间

用户空间

如图2所示:

图2 虚拟内存的划分

有个等价名称值得一提:

用户层:指应用程序本身。指不属于内核的东西。

用户空间:不仅可以表示应用程序,还指代应用程序所运行的虚拟地址空间的一部分。与内核空间相对。

注意:每一个进程都有上述独立的虚拟地址空间。对于图2所示,每个进程有4GiB的内存空间。

Linux有两种状况,两种状态代表两种特权级别:

核心态:在虚拟地址的内核空间运行的状况。

用户状态:在虚拟地址的客户空间运行的状况。

注意:在用户状况允许访问内核空间

这两种状况的差异在于:对超过TASK_SIZE的内存区域的访问。

定义:从用户状况到核心态的切换通过平台调用的特定方式完成。

方法:

1.内核代表用户程序执行代码

2.异步硬件中断激活,然后在中断上下文中进行。注意:在中断上下文运行时,内核不能进入睡眠状况。

注意:

CPU大多数在执行用户空间中的代码。当应用程序执行平台读取时,则会切换到核心态,内核将完成其请求。在此期间,内核可以访问虚拟地址空间的客户个别。在平台调用完成以后,CPU切换回用户状况。

硬件中断也使CPU切换到核心态,但这些状况下内核不能访问用户空间。

系统调用有什么:

进程管理

信号

文件

目录和文件系统

保护机制

定时器函数

如:在IA-32处理器上,Linux使用一个专用工具中断执行系统调用。

设备驱动程序、块设施和字符设备

设备驱动程序的任务:是在于支持应用程序经由设施文件与设备通讯。换言之,使得能按正确的方法在设备上抓取/写入数据。

设备驱动程序的定义:用于与平台连接的输入/输出装置通信。如磁盘、软驱、各种插槽、声卡等。

外设分为两类:

1.字符设备。提供连续的数据流,数据可以排序读取,通常不支持随机存取。支持按字节/字符来读写数据。

典型:调制解调器

2.块设备。可以随机访问设备数据,程序可以自行确认读取数据的位置。不支持基于数组寻址,数据读写只能以块的倍数进行。

典型:硬盘。

复杂性:比字符设备复杂,因为设计到缓存模式。

网络

网卡也可以借助设备驱动程序控制。

但在内核中,网卡不能以设备文件访问。因为网络通信之后数据打包到各种协议层,内存处理数据需要对于协议层处理,才能有效将数据对接应用程序。

为了支持用文件接口处理网络联接。Linux提供了套接字抽象linux如何查看mac地址,套接字可以看成是应用程序、文件接口、内核的网络推动之间的代理。

文件系统

文件传输在内存以及其它块设施(如光盘等),采用层次式文件系统。

文件系统使用目录结构主治存储的数据,并将其它原信息(如所有者、访问权限等)关联起来。

Linux支持许多不同的文件系统:

如标准的Ext2和Ext3文件系统、ReiserFS、XFS、VFAT等

注意:软件层(Virtual Filesystem虚拟文件系统)内核需要提供一个额外的硬件层,将各类底层的文件系统的详细特性与应用层防护开。如图3所示。

图3 文件系统的额外硬件层

参考文献:

[1]Wolfgang Mauerer.《深入Linux内核架构》 Wolfgang Mauerer著 郭旭译 人民邮电出版社


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-129119-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 张亚静
        张亚静

        这是赤裸裸地干涉别国内政吧

      热点图片
      拼命载入中...