linux内核管理不包含的子系统是什么

linux内核管理不包含的子系统是“硬件管理系统”。计算机的硬件主要包括内存、中央处理器(CPU)、输入/输出(I/O)设备和硬盘等多个部分;在linux中,硬件要根据不同的种类分属于不同的子系统管理,例如CPU属于CPU管理系统的范围,内存属于内存管理系统,显卡属于设备管理系统。

linux内核管理不包含的子系统是什么

本教程操作环境:linux7.3系统、Dell G3电脑。

Linxu内核主要管理的子系统分为:

(1) CPU管理系统:有时也称为进程管理系统,主要功能在于合理控制CPU的运行时间。Linux采用分时方式保证所有进程都能被执行到,也可以设置程序执行的顺序和优先级,并可在规定的时间和条件下执行指定的任务。

(2) 内存管理系统:有时也称为存储管理系统、主要管理内存的使用。Linux采用虚拟存储技术,可利用硬盘空间扩充内存。当程序刚被执行时,只为其分配虚拟内存空间,只有当执行到必须用到的程序段和数据时,才调入物理内存。

(3) 文件管理系统:主要管理文件存储的方式、位置和空间大小等。Linux采用虚拟文件系统技术、可使用多种文件系统。

(4) 设备管理系统:主要管理外部设备。Linux按照数据交换的特点,将所有设备分为三类:字符设备、块设备和网络设备。

linux内核管理不包含的子系统是“硬件管理系统”。

计算机的硬件主要包括内存(RAM)、中央处理器(CPU)、输入/输出(I/O)设备和硬盘(Hard Disk),全部是由linux内核(Kernel)来进行管理。

因此硬件要根据不同的种类分属于不同的子系统管理,例如CPU属于CPU管理系统的范围,内存属于内存管理系统,显卡属于设备管理系统。

操作系统能让计算机硬件准确无误的工作,可以这样认为,操作系统就是内核与其提供的接口工具,它们之间的关系下图所示。

1.gif

Linux 硬件资源管理

查看系统 PCI 设备

lspci 用于列出所有的 PCI 设备,比如主板、声卡、显卡和网卡等,也会把 USB 接口设备显示出来,语法格式:lspci [参数]

基本显示模式:

参数 作用

-mm生成机器可读输出(单个 -m 表示过时的格式)-t显示总线树

显示选项:

AGECMS商业会云管理_电子名片 AGECMS商业会云管理_电子名片

AGECMS商业会云管理电子名片是一款专为商务人士设计的全方位互动电子名片软件。它结合了现代商务交流的便捷性与高效性,通过数字化的方式,帮助用户快速分享和推广自己的专业形象。此系统集成了多项功能,包括个人信息展示、多媒体互动、客户管理以及社交网络连接等,是商务沟通和品牌推广的得力工具。 核心功能:个人及企业信息展示:用户可以自定义电子名片中的信息内容,包括姓名、职位、企业Logo、联系信息(电话、

AGECMS商业会云管理_电子名片 0 查看详情 AGECMS商业会云管理_电子名片

参数 作用

-v冗余(-vv 或 -vvv 用于更高的冗余度)-k显示处理每个设备的内核驱动程序-x显示配置空间标准部分的十六进制转储-xxx显示整个配置空间的十六进制转储(危险;仅限 root)-xxxx显示 4096 字节扩展配置空间的十六进制转储(仅限 root)-b总线中心视图(总线看到的地址和 IRQ)-D始终显示域名-P除显示总线和设备编号外,还显示网桥路径-PP除显示总线和设备编号外,还显示总线路径

将设备 ID 解析为名称:

参数 作用

-n显示数字 ID-nn显示文本和数字 ID(名称和数字)-q通过 DNS 查询 PCI ID 数据库中的未知 ID-qq同上,但重新查询本地缓存的条目-Q通过 DNS 查询 PCI ID 数据库中的所有 ID

设备选择:

参数 作用

-s[[[[]:]]:][][.[]]仅显示选定插槽中的设备-d[]:[][:]仅显示具有指定 ID 的设备

其他选项:

参数 作用

-i使用指定的 ID 数据库,而不是 /usr/share/hwdata/pci.ids-p在给定文件中查找内核模块,而不是默认 mode.pcimap-M启用 “总线映射” 模式(危险;仅限 root)

PCI 访问选项:

参数 作用

-A使用指定的 PCI 访问方法(有关列表,请参见 “-A help”)-O=设置 PCI 访问参数(有关列表,请参见 “-O help”)-G启用 PCI 访问调试-H>使用直接硬件访问(=1 或 2)-F从给定文件读取 PCI 配置转储

example:

lspci00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 01)    # 集成主板设备的类型00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01)00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 08)00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)00:07.7 System peripheral: VMware Virtual Machine Communication Interface (rev 10)00:0f.0 VGA compatible controller: VMware SVGA II Adapter    # VGA 显卡设备00:1b.0 Class 0403: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)    # Intel 声卡设备。00:10.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI (rev 01)00:11.0 PCI bridge: VMware PCI bridge (rev 02)00:15.0 PCI bridge: VMware PCI Express Root Port (rev 01)00:15.1 PCI bridge: VMware PCI Express Root Port (rev 01)......省略部分内容02:00.0 USB controller: VMware USB1.1 UHCI Controller    # USB 接口设备02:01.0 USB controller: VMware USB2 EHCI Controller02:02.0 SATA controller: VMware SATA AHCI controller    # SATA 控制器,表明系统是 SATA 系列硬盘03:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01)    # 百兆网卡设备

查看 CPU 信息

在 siblings 和 cpu cores 值之间有个对应关系,如果 siblings 是 cpu cores 的两倍,则说明系统支持超线程,并且超线程已打开;如果 siblings 和 cpu cores 一致,则说明系统不支持超线程,或者超线程未打开

cat /proc/cpuinfoprocessor       : 0    # 逻辑处理器的唯一标识符vendor_id       : GenuineIntel    # 处理器类型cpu family      : 6model           : 85model name      : Intel(R) Xeon(R) Silver 4214R CPU @ 2.40GHz    # cpu 的名称,型号,主频stepping        : 7    # 位于相同物理封装中的逻辑处理器的数量microcode       : 0x5003302cpu MHz         : 2394.374cache size      : 16896 KBphysical id     : 0    # 物理封装的唯一标识符siblings        : 2    # 单 cpu 的逻辑核数core id         : 0    # 每个内核的唯一标识符cpu cores       : 2    # 位于相同物理封装中的内核数量apicid          : 0initial apicid  : 0fpu             : yesfpu_exception   : yescpuid level     : 22wp              : yesflags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves arat pku ospke avx512_vnni md_clear flush_l1d arch_capabilitiesbugs            : spectre_v1 spectre_v2 spec_store_bypassbogomips        : 4788.74clflush size    : 64cache_alignment : 64address sizes   : 45 bits physical, 48 bits virtualpower management:

查看物理 CPU 的个数

cat /proc/cpuinfo | grep "physical id" | uniq | wc -l

查看每个物理 CPU 中内核的个数

cat /proc/cpuinfo | grep "cpu cores" | uniq

查看系统所有逻辑 CPU 个数(所有物理 CPU 中内核的个数加上超线程个数),可通过如下命令查看。

cat /proc/cpuinfo | grep "processor" | wc -l

查看系统内存信息

cat /proc/meminfoMemTotal:       24656144 kB    # 系统的物理内存MemFree:        20415000 kB    # 物理内存MemAvailable:   23038032 kBBuffers:          194668 kB    # 缓冲区Cached:          2575064 kB    # 缓存SwapCached:            0 kBActive:          1785688 kBInactive:        1789328 kBActive(anon):     795436 kBInactive(anon):    18024 kBActive(file):     990252 kBInactive(file):  1771304 kB......省略部分内容

查看磁盘分区信息

fdisk -lDisk /dev/nvme0n1: 100 GiB, 107374182400 bytes, 209715200 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisklabel type: dosDisk identifier: 0xfa430a69Device         Boot   Start       End   Sectors Size Id Type/dev/nvme0n1p1 *       2048   2099199   2097152   1G 83 Linux/dev/nvme0n1p2      2099200 209715199 207616000  99G 8e Linux LVMDisk /dev/mapper/cs-root: 65.2 GiB, 69960990720 bytes, 136642560 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/mapper/cs-swap: 2 GiB, 2176843776 bytes, 4251648 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk /dev/mapper/cs-home: 31.8 GiB, 34158411776 bytes, 66715648 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytes

相关推荐:《Linux视频教程》

以上就是linux内核管理不包含的子系统是什么的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/838808.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月27日 11:33:22
下一篇 2025年11月27日 11:42:12

相关推荐

  • Go语言中url.QueryEscape的深入理解与应用实践

    url.queryescape是go语言net/url包中的一个关键函数,用于对url查询字符串中的特殊字符进行url编码。它通过将不安全的字符转换为百分比编码格式(%hh),确保数据在作为url参数传递时不会损坏或改变url结构,从而保障web应用能够正确解析和处理传递的参数。 URL查询字符串与…

    2025年12月16日
    000
  • Go项目依赖管理与Vendoring实践:使用Godep构建稳定服务

    本教程探讨go服务项目中管理vendored依赖的挑战,特别是为满足法律合规和高可用性要求而固定依赖版本时。文章将介绍如何利用`godep`工具优雅地解决`gopath`冲突,实现依赖的精确版本控制,从而避免复杂的环境脚本,确保项目结构清晰和构建过程稳定。 引言:Go项目依赖Vendoring的必要…

    2025年12月16日
    000
  • 深入理解Go语言的url.QueryEscape:URL查询参数编码指南

    本文深入探讨go语言标准库中`net/url`包下的`url.queryescape`函数。它主要用于对url查询字符串中的特殊字符进行编码,确保数据在url中安全传输和正确解析。通过具体示例,我们将理解其工作原理及在构建http请求时如何避免因未编码字符导致的错误。 在Web开发中,URL(统一资…

    2025年12月16日
    000
  • 使用 Godep 管理 Go 项目中的 Vendor 依赖

    本文旨在介绍如何使用 Godep 工具来管理 Go 项目中的 Vendor 依赖,确保项目依赖的确定性和可重复构建。通过 Godep,您可以将项目依赖的特定版本锁定在 `Godeps` 目录中,从而避免因依赖包更新导致的项目构建问题,特别适用于需要保证稳定性和安全性的服务项目。 在 Go 项目开发中…

    2025年12月16日
    000
  • 如何用 Golang 实现文件传输加密_Golang 文件加密与网络传输实践

    答案:本文介绍使用Golang通过AES-256-CBC加密文件并经TCP安全传输的方法,包括生成密钥和IV、分块加密、发送加密数据及接收解密的完整流程,强调密钥管理与传输安全。 在现代网络通信中,文件传输的安全性至关重要。使用 Golang 实现文件加密与安全传输,既能保证性能,又能兼顾安全性。本…

    2025年12月16日
    000
  • Go语言:通过字符串名称动态实例化结构体的可行性与反射实践

    本文探讨了在go语言中通过字符串名称动态实例化结构体的挑战与限制。go语言不提供直接的字符串到类型转换机制,这与java等语言的反射机制有所不同。文章将深入分析如何利用`reflect`包结合预注册类型的方法,实现一个通用的json反序列化器,并强调了这种方式的局限性、性能考量以及go语言的惯用编程…

    2025年12月16日
    000
  • Golang如何实现TCP客户端与服务器_Golang TCP客户端服务器实践详解

    答案:Go语言通过net包实现TCP通信,服务器用net.Listen监听并Accept接收连接,每个连接由goroutine处理;客户端通过net.Dial建立连接,利用bufio按行读写数据;需解决TCP粘包问题,常用换行符分隔消息;结合defer关闭连接、设置超时及合理错误处理可构建稳定并发的…

    2025年12月16日
    000
  • Go语言归并排序教程:避免递归栈溢出与正确实现

    本教程深入探讨了在go语言中实现归并排序时常见的递归栈溢出问题,其根源在于递归函数中错误的中间索引计算。文章将详细分析错误原因,并提供两种解决方案:一是通过精确计算子数组的中间索引来修正递归逻辑;二是通过切片操作来简化递归调用。同时,教程还包含了完整的go语言归并排序实现代码,并讨论了相关的性能考量…

    2025年12月16日
    000
  • Golang中何时使用panic更合适_Golang异常处理策略与设计建议

    panic仅用于程序无法继续的致命错误,如初始化失败或严重编程错误;可预期错误应通过返回error处理,避免在库中随意使用panic,必要时可通过defer+recover控制影响范围。 在 Go 语言中,panic 并不等同于其他语言中的异常(如 Java 的 Exception),它是一种用于表…

    2025年12月16日
    000
  • Go pprof 工具图形化分析性能数据教程

    本文旨在提供go语言性能分析工具`pprof`的图形化可视化教程。针对go 1.2及更高版本在windows等环境下可能遇到的符号解析问题,文章将指导如何结合使用`go tool pprof`命令与程序二进制文件及性能分析文件,解决函数名显示异常。核心内容是利用`pprof`交互式界面的`web`命…

    2025年12月16日
    000
  • 构建安全的加密密钥代理:IPC与持久化最佳实践

    本文深入探讨了如何设计并实现一个安全的加密密钥代理服务,旨在解决命令行工具中重复输入密码的问题。借鉴`ssh-agent`模式,核心原则是密钥永不离开代理进程,而是由代理执行加密/解密操作。文章详细介绍了Unix域套接字作为进程间通信(IPC)机制的安全性,并重点讲解了如何利用`SO_PEERCRE…

    2025年12月16日
    000
  • 在IntelliJ IDEA中使用Go插件运行整个Go项目:配置与实践指南

    本文详细介绍了如何在intellij idea中利用go插件正确配置和运行整个go项目,而非仅仅单个go文件。我们将探讨“go application”和“go command”两种运行配置类型,提供设置步骤、示例代码,并强调项目路径、环境变量及插件版本的重要性,帮助开发者高效管理和执行go应用。 …

    2025年12月16日
    000
  • 如何用Golang实现多环境配置管理_Golang 云原生多环境实践

    使用 viper 库管理多环境配置,支持 YAML 等格式并结合环境变量切换;2. 通过 APP_ENV 指定环境,加载对应 config.{env}.yaml 文件;3. 支持环境变量覆盖配置项,如 DATABASE_DSN;4. 将配置映射到结构体实现类型安全。 在云原生开发中,Golang项目…

    2025年12月16日
    000
  • 如何用Golang实现表单多字段解析_Golang Web表单多字段处理实践

    使用 net/http 解析表单需调用 ParseForm() 获取字段并手动处理类型转换与校验;2. 字段较多时可定义结构体并通过手动绑定提升代码可维护性;3. 复杂场景推荐 Gin 等框架实现自动绑定与验证;4. 文件上传需用 ParseMultipartForm() 处理混合数据,注意内存限制…

    2025年12月16日
    000
  • Golang 如何做一个文件压缩解压工具_Golang zip 包操作项目实践

    使用Golang的archive/zip包可轻松实现文件压缩解压。首先通过os.Create创建目标ZIP文件,再用zip.NewWriter生成写入器,遍历源文件并调用FileInfoHeader获取文件头,利用filepath.ToSlash确保路径兼容性,普通文件需读取内容写入ZIP,目录则创…

    2025年12月16日
    000
  • Golang中是否支持指针运算_Golang类型安全与内存访问限制解析

    Go语言禁止指针运算以保障内存安全,仅允许通过unsafe.Pointer在必要时进行底层操作,同时推荐使用切片和range循环等安全机制替代。 Go语言不支持传统的指针运算,这是其设计上为了保证类型安全和内存安全的重要决策之一。虽然Go保留了指针的概念,允许通过指针直接访问变量的内存地址,但与C/…

    2025年12月16日
    000
  • Go 语言中判断字符是否为字母或数字

    在 Go 语言中,由于字符串是 Unicode 编码,判断字符是字母还是数字需要采用 Unicode 兼容的方法。本文将详细介绍如何使用 Go 标准库中的 `unicode` 包来安全地进行字符类型判断,包括通用的数字和字母检测,以及如何精确判断 ASCII 数字(0-9),并提供相应的代码示例和注…

    2025年12月16日
    000
  • Go语言的CPU依赖性与跨平台编译指南

    go语言作为一种编译型语言,其程序最终生成的是特定cpu架构的机器码,因此编译后的可执行文件具有cpu依赖性,无法在不同架构间直接运行。然而,go凭借其强大的内置交叉编译能力,允许开发者轻松地为多种操作系统和cpu架构生成目标程序,极大地简化了多平台部署的复杂性。 Go语言的编译模型与CPU依赖性 …

    2025年12月16日
    000
  • Go语言中执行外部命令并捕获标准错误输出的实践指南

    本文探讨了在go语言中使用os/exec包执行外部命令时,如何正确捕获其输出。针对python –version等命令将版本信息输出到标准错误流(stderr)而非标准输出流(stdout)的常见问题,教程详细阐述了cmd.output()与cmd.combinedoutput()的区别…

    2025年12月16日
    000
  • Golang如何使用gRPC实现服务间认证_Golang gRPC服务间认证实践详解

    在gRPC微服务中实现安全通信需结合TLS加密、Per-RPC认证、mTLS和JWT。首先通过TLS保证传输安全,使用自签名证书配置服务端和客户端;其次实现Per-RPC Credentials接口进行Token认证,确保每次调用身份可信;在高安全场景下启用mTLS,双向验证证书;最后可集成JWT携…

    2025年12月16日
    000

发表回复

登录后才能评论
关注微信