
Linux
文章平均质量分 50
Shaderstar
永远年轻,永远热泪盈眶!
展开
-
Linux kernel 用户态和内核态
Linux操作系统架构分为了用户态和内核态,也称为用户空间和内核空间。作为系统的用户,我们所处的状态为用户态,但用户在用户态所运行的应用程序确并非是完全通过用户态即可完成程序的执行。用户态的应用程序几乎都需要与内核态进行交互,来完成执行。Linux内核在操作系统中也可以理解为一个软件,该软件具备扩展系统的硬件资源以及为上层应用程序提供执行环境的能力。通过系统调用、库函数、shell脚本等方式,用户态应用程序可以对内核态资源进行访问。用户态应用程序对底层硬件资源的访问如下图...原创 2022-04-13 15:29:45 · 3727 阅读 · 0 评论 -
虚拟机增加磁盘空间(VMware虚拟机)
1.写在前面对于VMware虚拟机,经常有最初分配的磁盘空间大小最后不够用的情况,因此需要我们增加磁盘空间。网上看了一些博客资料,大多不能完全照着做完,参照了几个才实现,2.操作步骤2.1添加磁盘首先将虚拟机关机,然后在编辑虚拟机设置中,选择硬盘,并添加,之后安装流程选择自己需要添加的大小即可。新硬盘添加成功。2.2启动虚拟机并进行配置2.2.1查看信息查看添加之后的磁盘分区。如下,/dev/sdb为刚刚新添加的磁盘。可以看到有sdb分区但..原创 2022-03-23 17:04:27 · 29051 阅读 · 10 评论 -
make: *** /lib/modules/3.10.0-1127.el7.x86_64/build: No such file or directory. Stop.搭建内核开发包环境
1.问题描述编译内核模块时,出现错误显示找不到/lib/modules/3.10.0-1127.el7.x86_64/build。ls查看果然没有该目录,然后网上查资料说是需要安装对应的内核开发软件包。原因:/lib/modules/3.10.0-1127.el7.x86_64/build没有指向正确的kernel sourceyum install kernel-devel-$(uname -r)对应版本的内核开发包不存在……直接安装一个开发包 yum insta.原创 2022-03-16 16:39:07 · 4287 阅读 · 0 评论 -
动态替换Linux核心函数的原理和实现
在调试Linux核心模块时,有时需要能够实时获取内部某个路径上的某些函数的执行状态,例如查看传入的变量是否是期望的值,以便判断整个执行流程是否依然正常。由于系统运行时的动态性,使得在执行之前无法预先知道在执行路径的什么地方可能出现问题,因此只能在整个路径上增加许多不必要的信息查询点,造成有用的状态信息被淹没,而且这种增加信息输出的方式(一般是在核心中通过printk语句打印)需要重新编译内核,重新引导,造成了时间上浪费。此时就需要有一种能够方便地实时截取执行路径上怀疑点的方法,本文描述了一种动态替换linu转载 2022-03-15 16:00:43 · 765 阅读 · 0 评论 -
VScode远程连接服务器出错([15:00:15.300] “install“ terminal command done[15:00:15.301] Install terminal quit )
之前使用VScode远程连接服务器好好的,感觉也没有在服务器上进行什么配置,就可以使用了。但是最近重装服务器后,VScode就无法连接上了,具体的报了下面的错误:[15:00:15.300] "install" terminal command done[15:00:15.301] Install terminal quit with output: 过程试图写入的管道不存在。[15:00:15.301] Received install output: 过程试图写入的管道不存在。[15:00:原创 2022-06-20 15:45:06 · 3805 阅读 · 6 评论 -
Oh no! Something has gone wrong.A problem has occurred and the system can‘t
远程连接服务器的桌面时,出现了如下错误。点击log out就直接黑屏了,重启也不行,在网上好了几种方式不太行。最后通过下面的方法解决了# yum history package-list gjsID | Action(s) | Package -------------------------------------------------------------------------原创 2021-04-24 17:03:39 · 3354 阅读 · 5 评论 -
Dell IDRAC服务器重装系统详解(远程连接)
主要的操作步骤文末附上的那篇博客写的比较详细了,不足的地方是有一些小问题没有说明白,导致新手可能不太清楚操作,而无法“复现”安装过程。TIPS:1.远程连接登录的时候,用户名root,密码calvin不一定可行,如果不行的话,看一下服务器机子上的标签,有安全登录密码(一串字符)2.原博客第五步,按F10进life controller需要注意,务必在重启该服务器的时候按F10才有用,之后按照原博客来即可。博客链接:DEll服务器的IDRAC远程安装centos7操作系统...原创 2021-03-26 16:22:03 · 4175 阅读 · 2 评论 -
[替换操作系统内核]——Linux替换内核版本、设置默认内核及删除特定版本内核
一、Linux内核下载地址为了方便大家找到各个版本的Linux内核,将地址附上:https://mirrors.edge.kernel.org/pub/linux/kernel/二、Centos操作系统替换内核版本当前系统内核版本为3.10.0.1127.el7,替换成4.12.3版本。主要有编译内核和设置默认启动的内核两步。# tar -xvf linux-4.12.3.tar.gz# cd linux-4.12.3/# make menuconfg //这里可以进界面选择需要查看原创 2021-03-10 16:54:29 · 6893 阅读 · 0 评论 -
Linux下开源项目复现过程的问题记录
Background:待复现的开源项目复现过程大致有以下几步When building from git the `bootstrap` script must be run as the first step.If you need to override the autoconf / aclocal environment (`ACLOCAL_PATH`etc) you will need to do so before running `bootstrap`:> ./bootstrap原创 2021-03-09 09:53:12 · 430 阅读 · 0 评论 -
Linux内核设计与实现 总结笔记(第六章)内核数据结构
文章转载自:https://www.cnblogs.com/ch122633/p/9994950.html内核数据结构Linux内核实现了这些通用数据结构,而且提倡大家在开发时重用。内核开发者应该尽可能地使用这些数据结构,而不要自作主张的山寨方法。通用的数据结构有以下几种:链表、队列、映射和二叉树一、链表1.1 单向链表和双向链表链表是Linux中最简单、最普通的数据结...转载 2020-03-13 23:07:19 · 532 阅读 · 0 评论