首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    debian10更新内核_debian升级内核

    我的内核升级是从2.6.32.5到2.6.38.2。 开始这几部分是跟着下面这个文章做的: http://blog.csdn.net/ctbinzi/article/details/6006931 先安装好所需软件,以及下载最新内核: #apt-get #cd linux-2.6.36 为了节省时间,请执行以下命令从现有内核中获得配置 #make oldconfig 执行完此条命令后,会根据新老内核的差异情况,询问你一些问题,如果不确定的话请都是用默认 以上步骤完成后,执行内核配置程序 #make menuconfig(这里会出现问题就是不知道menuconfig的操作。但是一般的就不用管。 debian卸载旧内核: debian卸载旧内核要先看看有哪些旧的内核,用命令: dpkg –get-selections |grep linux 如果你的内核是以

    3.3K30编辑于 2022-11-02
  • 来自专栏安全的矛与盾

    windows10内核态提权方法汇总

    前言 近期由于某些项目的原因,突然激发了我对windows内核提权原理的兴趣。 于是就想研究一下,在拿到一个内核态任意代码执行漏洞后,到底有多少种方法常用的方法还能在windows 10上成功提权,针对这些不同的提权方法到底有没有一个比较通用的拦截方案? ,学习三种还能够在windows 10 上成功提权的方法,并写出相对应的shellcode。 环境的准备 为了进行内核态的shellcode测试,那首先就需要先有一个内核态的任意代码执行漏洞。最简单的思路就是写一个驱动,它能够从用户态读取shellcode过来,然后在内核中当作代码执行。 因为token指针只是内核内存中的数据,对于在内核模式中执行的代码来说,将其更改为指向不同的token以赋予该进程一个不同的权限集,这是非常容易的事情。

    2.1K30编辑于 2023-02-27
  • 来自专栏全栈程序员必看

    10_linux内核定时器实验

    一、linux时间管理和内核定时器简介 1、内核时间管理简介 1)宏HZ ​ 硬件定时器产生的周期性中断,中断频率就是系统频率(拍率)。 系统拍率可以设置,单位是HZ,可在编译内核时通过图形化界面设置,设置路径如下:Kernel Features -> Timer frequency([=y]) ​ 配置完以后,可在内核源码根目录下的 . 1)timer_list 结构体 ​ 使用内核定时器,不需要设置寄存器,内核提供了定时器结构体和 API 函数。 3、linux 内核短延时函数 ​ Linux内核提供了毫秒、微秒和纳秒延时函数,这三个函数如表: 函数 描述 void ndelay(unsigned long nsecs) 纳秒延时函数 void imx6ul-evk 中添加 pinctrl 节点: gpioled: ledgrp { fsl,pins = < MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0x10b0

    2.6K30编辑于 2022-09-13
  • 来自专栏芋道源码1024

    基于 Nginx 实现 10万+ 并发,Linux 内核优化

    来源:http://t.cn/EyQTMwG 由于默认的Linux内核参数考虑的是最通用场景,这明显不符合用于支持高并发访问的Web服务器的定义,所以需要修改Linux内核参数,是的Nginx可以拥有更高的性能 ; 在优化内核时,可以做的事情很多,不过,我们通常会根据业务特点来进行调整,当Nginx作为静态web内容服务器、反向代理或者提供压缩服务器的服务器时,期内核参数的调整都是不同的,这里针对最通用的、使Nginx 支持更多并发请求的TCP网络参数做简单的配置; 首先,你需要修改/etc/sysctl.conf来更改内核参数。 TIME_WAIT状态的链接存在; ner.ipv4.tcp_keepalive_time = 600 #当keepalive启动时,TCP发送keepalive消息的频度;默认是2小时,将其设置为10 net.core.rmem_max = 12582912 #表示内核套接字接受缓存区较大大小。 net.core.wmem_max = 12582912 #表示内核套接字发送缓存区较大大小。

    3.3K30发布于 2018-12-25
  • 驱动开发:Win10内核枚举SSDT表基址

    三年前面朝黄土背朝天的我,写了一篇如何在Windows 7系统下枚举内核SSDT表的文章《驱动开发:内核读取SSDT表基址》三年过去了我还是个单身狗,开个玩笑,微软的Windows 10系统已经覆盖了大多数个人 看一款闭源ARK工具的枚举效果:图片直接步入正题,首先SSDT表中文为系统服务描述符表,SSDT表的作用是把应用层与内核层联系起来起到桥梁的作用,枚举SSDT表也是反内核工具最基本的功能,通常在64位系统中要想找到 图片那么如果将这个过程通过代码的方式来实现,我们还需要使用《驱动开发:内核枚举IoTimer定时器》中所使用的特征码定位技术,如下我们查找这段特征。 ,qword ptr ds:[rdi+r10] | 4D:631C82 | movsxd r11,dword ptr ds:[r10+rax*4] ,qword ptr ds:[rdi+r10] |4D:631C82 | movsxd r11,dword ptr ds:[r10+rax*4]

    89620编辑于 2022-11-18
  • 来自专栏软件技术交流

    安卓10如何循环保存上层及内核日志

    1,安卓10使用logcat不会默认保存内核日志,需要配置属性ro.logd.kernel=true 2,在init.rc中创建启动抓取日志的服务,如下: #add for get aplogs on

    1.2K30编辑于 2023-05-16
  • 来自专栏FreeBuf

    内核漏洞利用:通过WARBIRD在Windows 10上提升权限

    该漏洞还被Microsoft标记为“Wont-Fix”,意思就是32位的Windows 10 Creator版本仍然存在漏洞。 漏洞概览 根据披露出的消息,我们可以了解到这个漏洞影响了32位Windows 10 Creators版本的更新。 这个漏洞的存在是由于一个新的信息类“WARBIRD”被添加到NtQuerySystemInformation中,但是这个类在32位Windows 10上被错误处理了。 搭建实验环境 为了能搭建实验环境,我们需要一些虚拟机: Windows 10 Creators Update x86 - 这是靶机 带有WinDBG的Windows系统 - 这个供调试使用 在靶机上,我们需要使用以下命令启用 重新启动靶机后,在WinDBG中会打开内核调试会话,并且会在利用过程中更容易地探索内核状态: ?

    2K80发布于 2018-02-26
  • 来自专栏嵌入式ARM和Linux

    Linux内核10-list_head和hlist_head的理解

    内核为什么设计这么2个双向链表呢?使用它们有什么好处?它们的使用场景分别是什么呢? 让我们一一阐述: 设计目的 内核中大量使用数据表,为了更好的管理这些表,必须满足: 所有操作都是原子的,不能受到并发的影响。 访问时间尽可能短,提高内核查找匹配速度。 适用场景 list_head结构组成的列表适用于对遍历时间要求比较严格的地方,比如进程的管理。 hlist_head和hlist_node主要用于散列表中,因为内核中存在大量的hash表,使用这种方式实现的散列表因为少一个指针,可以节省一半的空间。 static struct net_device *devices; static int hlist_module_init(void) { const int dev_num = 10

    3.3K21编辑于 2022-08-10
  • 来自专栏韩曙亮的移动开发专栏

    【Linux 内核】编译 Linux 内核 ⑦ ( 安装内核模块 | 安装内核 | 重启系统 | 查看当前内核版本 )

    文章目录 一、安装内核模块 二、安装内核 三、重启系统 四、查看当前内核版本 一、安装内核模块 ---- 确保 Linux 内核编译完成 , 没有任何报错之后 ; 参考 【Linux 内核】编译 Linux 内核 ⑥ ( 安装 OpenSSL | 安装其它依赖库 | 内核编译完成 ) 博客 ; 进入 Linux 内核源码的根目录 , 执行 sudo make modules_install 命令 , 安装编译好的内核模块 x86/crypto/chacha-x86_64.ko INSTALL arch/x86/crypto/crc32-pclmul.ko INSTALL arch/x86/crypto/crct10dif-pclmul.ko ---- 内核模块安装完成后 , 执行 sudo make install 命令 , 安装内核 ; 下面的内核安装过程会持续很长时间 ; 内核安装过程 : root@ubuntu:~# cd ---- 重启之后 , 在命令行终端执行 uname -a 命令 , 查看当前的内核版本 , 发现当前内核版本已经

    19.8K50编辑于 2023-03-30
  • 来自专栏运维小路

    Linux内核-什么是内核

    让我们了解和熟悉基本的Linux内核相关的信息,Linux内核我们主要从以下几个方面来讲解: Linux内核-什么是内核(本章节) Linux内核-内核参数 Linux内核-proc文件系统 Linux 内核-sys文件系统 Linux内核-tmpfs文件系统 我们都知道安卓手机,但是安卓手机有很多厂商。 什么是Linux内核 Linux 内核是Linux操作系统的核心部分,它是一个自由和开放源代码的类Unix操作系统内核。 升级内核 在智能手机早期,有一个概念叫刷机就是给手机更换操作系统,实际上和升级内核差不多。 Linux内核的官方网址就是https://www.kernel.org/ 本地内核文件 我们在Linux基础-linux目录介绍过/boot目录就是内核相关的的目录,这个是未升级内核之前的目录结构,可以和上面的内核版本进行对应

    4.2K10编辑于 2024-11-01
  • 【Linux内核内核编程】Linux内核的组成

    作为全球应用最广泛的开源操作系统内核,Linux内核不仅支撑着Android系统、云计算平台和超级计算机,更是理解现代操作系统原理的最佳实践样本。 一、源代码目录:打开内核世界的地图​ 典型内核源码目录结构(以Linux 5.15为例): linux-5.15/ ├── arch/ # 硬件架构代码(x86, arm, riscv 完全公平调度(CFS,针对普通进程):​ 给每个进程一个 "虚拟运行时间",优先运行时间短的进程​ 例子:同时开 10 个网页,CFS 让每个网页标签轮流获得 CPU 时间,避免某个标签卡死整个浏览器​ 3)​ 3.2 内存空间划分(以 32 位系统为例)  +------------------+ 4GB(虚拟地址空间) | 内核空间(3-4GB) | 所有进程共享,存放内核代码/数据 +----- 类比:​ 用户空间像普通居民区,内核空间像保护区。

    55610编辑于 2026-01-21
  • 来自专栏HeaiKun

    内核和微内核

    内核 所有的内核代码都编译成一个二进制文件,所有的内核代码都运行在一个大内核地址空间里,内核代码可以直接调用和访问,效率高且性能好。 微内核 把操作系统分成多个独立的功能模块,每个功能模块之间访问需要通过消息来完成,因此效率没那么高。 宏内核和微内核的架构图如下: ? 宏内核和微内核的架构图 现代的操作系统中 windows 采用的就是微内核的方式,内核保留操作系统最基本的功能,进程调度,内存管理,通信等模块,其他功能放到用户态来实现。 Linus当初在设计Linux操作系统时采用的是宏内核架构。但是Linux在20年来的发展中,不断融入微内核的一些精华设计,如模块化设计,抢占式内核,动态加载内核模块等。 和微内核实现的模块化不一样,它和静态编译的内核函数一样,运行在内核中。

    2.6K20发布于 2020-07-07
  • UCOSIII内核 VS FreeRTOS内核

    UCOSIII内核 VS FreeRTOS内核 UCOS-III和FreeRTOS都是优秀的实时操作系统内核,但它们在设计哲学、性能和适用场景上有显著区别。 就像交警可以为卡车分配10分钟,为轿车分配1分钟,更加公平合理。 特点:调度策略更丰富,在处理多个同等重要但执行时间不同的任务时,控制更精细。 (A的时间片较长,为10ms) 任务B |**|__________________|... (B的时间片较短,为2ms) 任务C |______|******|_______|... 结果:可以裁剪到非常小(ROM ~6-10KB),非常适合资源极其受限的MCU。 UCOS-III: “完整套装” 哲学:功能完整。内核提供了丰富的功能,开箱即用。 内核架构 微内核,模块化 宏内核,集成化 FreeRTOS更灵活,UCOS-III更完整。 任务调度 固定时间片轮转 可定制时间片轮转 UCOS-III在调度上更精细。

    26210编辑于 2026-02-02
  • 来自专栏程序IT圈

    Linux 内核 vs Windows 内核

    操作系统核心的东西就是内核,这次我们就来看看,Linux 内核和 Windows 内核有什么区别? ---- 内核 什么是内核呢? 所以,这个中间人就由内核来负责,让内核作为应用连接硬件设备的桥梁,应用程序只需关心与内核交互,不用关心硬件的细节。 ? 内核 内核有哪些能力呢? 还有一种内核叫混合类型内核,它的架构有点像微内核内核里面会有一个最小版本的内核,然后其他模块会在这个基础上搭建,然后实现的时候会跟宏内核类似,也就是把整个内核做成一个完整的程序,大部分服务都在内核中, ---- Windows 设计 当今 Windows 7、Windows 10 使用的内核叫 Windows NT,NT 全称叫 New Technology。 ,内核中抽象出了微内核的概念,也就是内核中会有一个小型的内核,其他模块就在这个基础上搭建,整个内核是个完整的程序; Linux 的内核设计是采用了宏内核,Windows 的内核设计则是采用了混合内核

    19.7K30发布于 2021-03-07
  • 来自专栏韩曙亮的移动开发专栏

    【Linux 内核】宏内核与微内核架构 ( 操作系统需要满足的要素 | 宏内核 | 微内核 | Linux 内核动态加载机制 )

    文章目录 一、操作系统需要满足的要素 二、宏内核 三、微内核 四、Linux 内核动态加载机制 一、操作系统需要满足的要素 ---- 电脑上运行的 操作系统 , 是一个 软件 ; 设备管理 : 操作系统需要 ---- 宏内核 : 内核代码 编译成 二进制文件 , 内核 运行在 一个 大内核 地址空间 中 , 可以 直接 访问 , 调用 内核代码 , 这种内核优点是 效率高 , 性能强 ; 下图中 , 最上层是 " 系统调用 " , 中间是 " 宏内核 " , 最下方是 硬件层 ; 宏内核优点 : 设计简单 , 性能高 ; 三、微内核 ---- 微内核 : 将 操作系统 拆分成 多个 独立功能模块 , 这些 进行通信 , 微内核优点 : 稳定性好 , 实时性好 ; 微内核缺点 : 高度模块化 , 模块之间只能通过消息传递信息 , 效率低 ; 四、Linux 内核动态加载机制 ---- Linux 内核模块动态加载 , 必须 遵守规定的接口 , 来访问内核 , 这样 开发内核模块 , 变得 更加容易 , 方便 ; 与平台无关 : 内核模块 可以 设计成 与 平台无关的 模块 , 如 : 文件系统 ;

    5.4K30编辑于 2023-03-30
  • 来自专栏用户画像

    1.4.1 大内核和微内核

    有关这个 问题的回答,形成了两种主要的体系结构:大内核与微内核。 大内核系统将操作系统的主要内容模块都作为一个紧密联系的整体运行在核心态,从而为应用提供高性能的系统服务。 将 操作系统内核分为基本进程管理、 虚存、I/O与设备管理、IPC、文件系统等几个层次,继而定义层次之间的服务结构,提高操作系统内核设计上的模块化。 为解决操作系统的内核代码难以维护的问题,于是提高了微内核的体系结构。它将内核中最基本的功能(如进程管理)保留在内核,而将那些不需要再核心态执行的功能移到用户态执行,从而降低了内核的设计复杂性。 而那些移 除内核的操作系统代码根据分层的原则被划分为若干服务程序,他们的执行相互独立,交互则都借助于微内核进行通信。 微内核有效地分离了内核与服务、服务与服务,使它们之间的接口更加清晰,维护的代价大大降低,各部分可以独立地优化和演进,从而保证了操作系统的可靠性。

    1.8K40发布于 2018-08-24
  • 来自专栏全栈程序员必看

    Linux内核分析及内核编程

    、原理及组成框架,主要分析了Linux最新版本(2.6.11)的内核源代码,帮助读者深入理解Linux 内核,精通Linux内核编程。 第10章“设备驱动程序”介绍了字符设备及块设备驱动程序的工作原理,分析了通用硬盘及块层的机制,还说明了如何编写字符设备与块设备驱动程序。 第18章“内核配置与编译”说明了内核的配置、配置语言的语法,还分析了makefile是如何进行内核编译的。 第10章“设备驱动程序”介绍了字符设备及块设备驱动程序的工作原理,分析了通用硬盘及块层的机制,还说明了如何编写字符设备与块设备驱动程序。 第18章“内核配置与编译”说明了内核的配置、配置语言的语法,还分析了makefile是如何进行内核编译的。

    13.4K20编辑于 2022-11-08
  • 来自专栏运维小路

    Linux内核-内核模块&参数

    让我们了解和熟悉基本的Linux内核相关的信息,Linux内核我们主要从以下几个方面来讲解: Linux内核-什么是内核 Linux内核-内核模块&参数(本章节) Linux内核-proc文件系统 Linux 内核-sys文件系统 Linux内核-tmpfs文件系统 Linux内核升级,在运维生涯中,其实并不常见。 内核模块 内核模块是一种可以在运行时动态加载到操作系统内核中的软件组件。 二、常用命令 1.查看内核模块 #查看当前系统加载的内核模块 lsmod #这个目录下就是Linux服务器有的内核模块 /lib/modules/内核版本/kernel 2.添加新的内核模块 [root 内核参数 我们刚刚介绍的内核模块,主要是为了从系统层面支持某个功能,而内核参数,则可以理解为在实现某个具体功能的参数,只是这个参数是内核层面的。

    1.6K10编辑于 2024-11-01
  • 来自专栏全栈程序员必看

    【Linux 内核】Linux 内核源码结构 ( 下载 Linux 内核源码 | 使用 VSCode 阅读 Linux 内核源码 )

    文章目录 一、下载 Linux 内核源码 二、使用 VSCode 阅读 Linux 内核源码 一、下载 Linux 内核源码 ---- 参考 【Linux 内核】编译 Linux 内核 ① ( 下载指定版本的 Linux 内核源码 | Linux 内核版本号含义 | 主版本号 | 次版本号 | 小版本号 | 稳定版本 ) 博客 , 下载 Linux 5.6.18 版本的内核源码 ; 5.x 内核源码下载地址 .x/linux-5.6.18.tar.gz 下载完 Linux 源码后 , 如果在 Windows 系统中解压 , 需要使用管理员权限在 命令行终端 中解压 , 参考 【错误记录】解压 Linux 内核报错 ( Can not create symbolic link : 客户端没有所需的特权 | Windows 中配置 7z 命令行执行解压操作 ) 博客 ; 不同版本的 Linux 内核 区别 : 系统调用 : 其系统调用是相同的 , 新的版本可能会增加新的系统调用 ; 设备文件 : 各内核版本的设备文件都是相同的 , 但是 内部接口 可能不同 ; 二、使用 VSCode 阅读 Linux 内核源码 --

    29.9K32编辑于 2022-09-15
  • 来自专栏全栈程序员必看

    windows内核编程_linux内核编程

    什么是Windows内核编程? 上述文字由《天书夜读:从汇编语言到Windows内核编程》作者 谭文 提供 Linux的内核编程大家都是比较熟悉的。 而Windows内核编程则不大为一般读者所熟悉。常常有这样的问题: “你又没有Windows的代码,你如何搞内核编程?” “除了微软的人,难道还有人做Windows内核吗?” “Windows内核编程有用吗?” 其实Windows内核编程不但有用,而且常用。 在和《天书夜读:从汇编语言到Windows内核编程》一书同一系列的《寒江独钓——Windows内核编程与信息安全》(预计明年出版)中,对键盘过滤、硬盘过滤、文件过滤、网络过滤等安全相关的内核编程,都有详尽的讲解和例子 Windows内核确实没有公开源代码。但是MS提供Windows内核程序的开发包:WDK。WDK实际上主要用于开发驱动程序。而驱动程序基本上都是内核程序。

    9.5K20编辑于 2022-11-08
领券