zl程序教程

内核

  • C++windows内核编程笔记day03_day04_day05

    C++windows内核编程笔记day03_day04_day05

    //窗口类缓冲区大小,基于一个窗口类创建出来的所有窗口共享的缓冲区 wce.cbClsExtra=0;//数据是4的整数倍,一般200 //写入数据: DWORD SetClassLong(  HWND hWnd,       // handle to window   int nIndex,      // 字节索引   LONG dwNewLong   // new value  

    日期 2023-10-26 10:14:03     
  • windbg-.process切换进程(内核)

    windbg-.process切换进程(内核)

    .process .process 命令指定要用作进程上下文的进程(Set Process Context) .process显示当前进程的EPROCESS,这里显示当前进程为test.exe [cpp] view plain copy print? kd> .process   Implicit process is

    日期 2023-10-26 10:14:03     
  • RK3288 制作内核开机logo

    RK3288 制作内核开机logo

    安装工具 sudo apt-get install netpbm   1、制作图片 (1)、图片为bmp格式 $ convert logo.bmp logo.png $ pngtopnm logo.png > logo.pnm $ pnmquant 224 logo.pnm > logo224.pnm $ pnmtoplainpnm logo224.pnm >

    日期 2023-10-26 10:14:03     
  • Linux内核RCE漏洞CVE-2016-10229 Linux kernel 4.5以下版本可能被攻击者利用进行DoS攻击

    Linux内核RCE漏洞CVE-2016-10229 Linux kernel 4.5以下版本可能被攻击者利用进行DoS攻击

    在早些年,总有人说Linux很安全,但近几个月Linux内核的漏洞屡次出现,在2016年中的时候还爆出 linux内核入侵者被抓获 事实证明linux早就被黑客盯上了 。这次漏洞由于涉及面也不小,绿盟科技发布安全威胁通告。 近日,Linux内核爆出一则高危漏洞(CVE-2016-10229,CNNVD-201703-210),在Linux 4.5之前的系统内核中,当recv以MSG_PEEK标志

    日期 2023-10-26 10:14:03     
  • 111.网络安全渗透测试—[权限提升篇9]—[Windows 2008 R2内核溢出提权]

    111.网络安全渗透测试—[权限提升篇9]—[Windows 2008 R2内核溢出提权]

    我认为,无论是学习安全还是从事安全的人,多多少少都有些许的情怀和使命感!!! 文章目录 一、Windows内核溢出提权[2008]1、内核溢

    日期 2023-10-26 10:14:03     
  • LLVM每日谈之二十三   LLVM/Clang编译Linux内核资料

    LLVM每日谈之二十三 LLVM/Clang编译Linux内核资料

    作者:史宁宁(snsn1984) 之前有朋友问到这个问题,是否有使用LLVM/Clang编译Linux内核的,随手找了一些相关资料,在这里贴出来,与大家共享。 网址:http://llvm. 作者:史宁宁(snsn1984) 之前有朋友问到这个问题,是否有使用LLVM/Clang编译Linux内核的,随手找了一些相关资料,在这里贴出来,与大家共享。 网址:http://llvm.

    日期 2023-10-26 10:14:03     
  • Linux网络编程(六)-高并发服务器03-I/O多路复用01:select(Win、Linux)【由内核监听多个“文件描述符”的读写缓冲区变化】【受限于宏FD_SETSIZE大小(1024)】

    Linux网络编程(六)-高并发服务器03-I/O多路复用01:select(Win、Linux)【由内核监听多个“文件描述符”的读写缓冲区变化】【受限于宏FD_SETSIZE大小(1024)】

    多路IO转接服务器也叫做多任务IO服务器。该类服务器实现的主旨思想是,不再由应用程序自己监视客户端连接,取而代之由内核替应用程序监视文件。 如果某个文件描述符的读缓冲区变化了,这个时候就是可以读了,将这个事件告知应用层。  主要使用的方法有三种: selectpollepoll

    日期 2023-10-26 10:14:03     
  • linux内核升级图文攻略

    linux内核升级图文攻略

    Linux内核概览 Linux是一个一体化内核(monolithic kernel)系统。 设备驱动程序可以完全访问硬件。 Linux内的设备驱动程序可以方便地以模块化(modularize)的形式设置,并在系统运行期间可直接装载或卸载。 1. linux内核 linux操作系统是一个用来和硬件打交道并为用户程序提供一个有限服务集的低级支撑软件。 一个计算机系统是一个硬件和软件的共生体,它们互

    日期 2023-10-26 10:14:03     
  • 内核线程的进程描述符task_struct中的mm和active_mm

    内核线程的进程描述符task_struct中的mm和active_mm

    task_struct进程描述符中包含两个跟进程地址空间相关的字段mm, active_mm, struct task_struct { // ... struct mm_struct *mm; struct mm_struct *avtive_mm; //... }; 大多数计算机上系统的全部虚拟地址空间分为两个部分: 供用户态程序访问的虚拟地址空间和供内核访

    日期 2023-10-26 10:14:03     
  • 【内核】linux2.6版本内核编译配置选项(一)

    【内核】linux2.6版本内核编译配置选项(一)

      Linux 2.6.19.x 内核编译配置选项简介 作者:金步国 版权声明 本文作者是一位自由软件爱好者,所以本文虽然不是软件,但是本着 GPL 的精神发布。任何人都可以自由使用、转载、复制和再分发,但必须保留作者署名,亦不得对声明中的任何条款作任何形式的修改,也不得附加任何其它条件。您可以自由链接、下载、传播此文档,但前提是必须保证全文完整转载,包括完整的版权信息和作译者声明。

    日期 2023-10-26 10:14:03     
  • linux 大并发下 内核优化

    linux 大并发下 内核优化

     To support over 500k users, you *need* - A 64 bits hardware/kernel (AMD64, Opterons) - At least 8GB of&

    日期 2023-10-26 10:14:03     
  • 廖威雄: 思维导图:利用__attribute__((section()))构建初始化函数表与Linux内核init的实现

    廖威雄: 思维导图:利用__attribute__((section()))构建初始化函数表与Linux内核init的实现

    版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/juS3Ve/article/details/79049404

    日期 2023-10-26 10:14:03     
  • C++windows内核编程笔记day13 进程、线程与信号量

    C++windows内核编程笔记day13 进程、线程与信号量

    进程是一个容器,包含程序执行需要的代码、数据、资源等信息, windows进程的特点:每个进程都有自己的ID号每个进程都有自己的地址空间,进程之间无法访问对方的地址空间。每个进程都有自己的安全属性每个进程至少包含一个线程。 获取和释放环境信息 GetEnvironmentStrings FreeEnvironmentStrings 获取或设置 本程序的环境变量 GetEnvironme

    日期 2023-10-26 10:14:03     
  • 【Binder 机制】进程通信 | 用户空间与内核空间 | MMU 与虚拟内存地址

    【Binder 机制】进程通信 | 用户空间与内核空间 | MMU 与虚拟内存地址

    文章目录 一、进程通信二、用户空间与内核空间三、MMU 与虚拟内存地址 一、进程通信 进程隔离概念 : 系统中的进程存在 " 进程隔离 " , 出于对进程运行

    日期 2023-10-26 10:14:03     
  • 64位内核开发第六讲,IRQL中断级别了解

    64位内核开发第六讲,IRQL中断级别了解

    目录中断级别IROL了解一丶IRQL1.了解什么是中断2.IROL中断级别.3.遵守IROL编程规范的方式 中断级别IROL了解 一丶IRQL 1.了解什么是中断 中断就是产生的一个电信号.比如键盘.当按下就会产生电信号发送给CPU 而CPU就会停止当前处理.去执行电信号.他是根据IRQL中断级别来进行处理的. 如下图: 中断说白了就是个电信号.打断CPU执行的代码. 去调用中断处理函数. 此

    日期 2023-10-26 10:14:03     
  • ARM内核全解析(转)

    ARM内核全解析(转)

    ARM内核全解析

    日期 2023-10-26 10:14:03     
  • CentOS7离线升级内核

    CentOS7离线升级内核

    升级前内核版本: [root@vrgv252 ~]# uname -a Linux vrgv252.com 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:

    日期 2023-10-26 10:14:03     
  • 【Linux 内核】Linux 内核体系架构 ( 进程调度 | 内存管理 | 中断管理 | 设备管理 | 文件系统 )

    【Linux 内核】Linux 内核体系架构 ( 进程调度 | 内存管理 | 中断管理 | 设备管理 | 文件系统 )

    文章目录 一、进程调度二、内存管理三、中断管理四、设备管理五、文件系统 一、进程调度 进程调度 : 进程 是 系统中 进行 资源分配 的 基本单位 ; 每个进程 在 运行

    日期 2023-10-26 10:14:03     
  • Apache Hudi内核之文件标记机制深入解析

    Apache Hudi内核之文件标记机制深入解析

    1. 摘要 Hudi 支持在写入时自动清理未成功提交的数据。Apache Hudi 在写入时引入标记机制来有效跟踪写入存储的数据文件。 在本博客中,我们将深入探讨现有直接标记文件机制的设计,并解释了其在云存储(如 AWS S3、Aliyun OSS)上针对非常大批量写入的性能问题。 并且演示如何通过引入基于时间轴服务器的标记来提高写入性能。 2. 为何引入Markers机制 Hudi中的mark

    日期 2023-10-26 10:14:03     
  • Windows内核之线程的调度,优先级,亲缘性

    Windows内核之线程的调度,优先级,亲缘性

    1 调度          Windows不是实时操作系统,它是抢占式多线程操作系统。在如果全部优先级同样的情况下,CPU对线程的调度原则是每隔20m就会切换到下一个线程,依据Context中的IP和SP来接着运行上次的东西。Windows永远不会让1个线程去独占一段时间。 2 可调度性   

    日期 2023-10-26 10:14:03     
  • linux内核对块设备的使用

    linux内核对块设备的使用

    1 partition table 这里的分析以经典的MBR为例。 在MBR里面有partition table,每一项对应一个逻辑的块设备,partion table中的每一项是16个字节。 第一个字节:标志该分区是不是active、是不是bootable。 第二到第四个字节:该partition的第一个扇区在物理块设备里面的绝对地址,即chs地址。 第五个字节:该分区的类型,比如是不是lin

    日期 2023-10-26 10:14:03     
  • 谈谈Linux内核驱动的编码风格

    谈谈Linux内核驱动的编码风格

    最近在向Linux内核提交一些驱动程序,在提交的过程中,发现自己的代码离Linux内核的coding style要求还是差很多。当初自己对内核文档里的CodingStyle一文只是粗略的浏览,真正写代码的时候在很多细节上会照顾不周。不过, 在不遵守规则的程序员队 伍里,我并不是孤独的。如果去看drivers/staging下的代码,就会发现很多驱动程序都没有严格遵守内核的coding style,

    日期 2023-10-26 10:14:03     
  • 深入理解Linux内核之脏页跟踪

    深入理解Linux内核之脏页跟踪

    1.开场白 环境: 处理器架构:arm64 内核源码:linux-5.10.50 ubuntu版本:20.04.1 代码阅读工具:vim+ctags+cscope Linux内核由于存在page cache, 一般修改的文件数据并不会马上同步到磁盘,会缓存在内存的page cache中,我们把这种和磁盘数据不一致的页称为脏页,脏页会在合适的时机同步到磁盘。为了回写page cache中的脏页,需

    日期 2023-10-26 10:14:03     
  • 【Linux 内核】Linux 内核源码几个重要的入口源文件及函数介绍 ( 系统初始化 | 内存管理 | 虚拟文件系统 | 网络管理 )

    【Linux 内核】Linux 内核源码几个重要的入口源文件及函数介绍 ( 系统初始化 | 内存管理 | 虚拟文件系统 | 网络管理 )

    文章目录 一、系统初始化二、内存管理三、虚拟文件系统四、网络管理 一、系统初始化 系统初始化 的入口源码是 " linux-5.6.18\init\ " 目录

    日期 2023-10-26 10:14:03     
  • 《Linux内核设计与实现》的地址空间读书笔记的过程

    《Linux内核设计与实现》的地址空间读书笔记的过程

    1.核心区域进程包括各种内存对象             种内存对象,比方: 1.可运行文件代码能够包括各种内存映射,称为代码段(text section)。 2.可运行文件的已初始化全局变量的内存映射,称为数据段(data section)。 3.包括未初始化全局变量,也就是bss段的零页(页面中的信息所有为0值,所以能够用于映射

    日期 2023-10-26 10:14:03     
  • uboot环境变量(设置bootargs向linux内核传递正确的参数)

    uboot环境变量(设置bootargs向linux内核传递正确的参数)

    这是我uboot的环境变量设置,在该设置下可以运行initram内核(从内存下载到nandflash再运行),但是运行nfs根文件系统的时候一直出错,各种错误。查看了很多资料后猜想应该是uboot传递给linux内核的参数有问题,也就是bootargs的设置有问题。 #printenv bootargs=noinitrd root=/dev/mtdblock3 init=/linuxrc co

    日期 2023-10-26 10:14:03     
  • oracle orion hugepages_settings.sh(支持OEL 7,4.1内核)

    oracle orion hugepages_settings.sh(支持OEL 7,4.1内核)

    orion需要首先配置hugepage,否则会出现下列错误。 [root@yyxxdb01 ~]# /opt/app/11.2.0/grid_home/bin/orion -run oltp -testname mytest ORION: ORacle IO Numbers -- Version 11.2.0.4.0 ************************ Large Pages I

    日期 2023-10-26 10:14:03     
  • F5内核参数的简要学习

    F5内核参数的简要学习

    前言 最近学习了很长时间的Linux内核参数 但是大部分是纸上谈兵. 也没有一个好的系统用于学习和参照 晚上搜索F5资料时发现F5有一些iso和ova文件 就想着下载学习一下. 看看F5系统默认的参数是多少. 反向代理-负载均衡的技术总结 反向代理-负载均衡其实种类挺多的, 也是现在互联网一个比较基础的功能. 种类也比较多种多样. 最常见的主要有 1. 基于LVS的负载均衡,反向代理

    日期 2023-10-26 10:14:03     
  • 掌握鸿蒙轻内核静态内存的使用,从源码分析开始

    掌握鸿蒙轻内核静态内存的使用,从源码分析开始

    摘要:静态内存实质上是一个静态数组,静态内存池内的块大小在初始化时设定,初始化后块大小不可变更。静态内存池由一个控制块和若干相同大小的内存块构成。控制块位于内存池头部,用于内存块管理。内存块的申请和释放以块大小为粒度。 本文分享自华为云社区《鸿蒙轻内核M核源码分析系列八 静态内存Static Memory》,原文作者:zhushy。 内存管理模块管理系统的内存资源,它是操作系统的核心模块之一,主

    日期 2023-10-26 10:14:03     
  • 极客日报:李想称十年后要成为汽车界苹果;雅虎邮箱停服;Linux内核欲采用现代C语言标准 | 极客头条

    极客日报:李想称十年后要成为汽车界苹果;雅虎邮箱停服;Linux内核欲采用现代C语言标准 | 极客头条

    「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点!

    日期 2023-10-26 10:14:03     
  • 由 synchronized锁优化联想到用户态与内核态区别

    由 synchronized锁优化联想到用户态与内核态区别

    我们知道synchronized的锁优化过程,从无状态-偏向锁-轻量级锁-重量级锁。优化点就是在多线程锁竞争时候避免线程过早地由用户态到内核态的转换,避免线程间频繁低在用户态和内核态间的切换,减少因CPU切换而中断耗费的时间。那为什么重量级锁竞争线程需要从用户态到内核态转变呢。这就需要知道用户态和内核态区别。

    日期 2023-10-26 10:14:03     
  • netfilter分析1-钩子函数在内核的初始化

    netfilter分析1-钩子函数在内核的初始化

    Linux内核中网络防火墙是通过NF_HOOK宏调用钩子函数进行报文处理,本文基于内核版本4.4对钩子函数的初始化流程进行描述。 以过滤本地报文的钩子函数为例。本地报文过滤钩子函数调用宏: NF_HOOK(NFPROTO_IPV4, NF_INET_LOCAL_IN,        net, NULL, skb, skb-&

    日期 2023-10-26 10:14:03     
  • 2017年新春报喜!热烈祝贺王家林老师大数据经典著作《SPARK内核机制解析及性能调优》 畅销书籍 出版上市!

    2017年新春报喜!热烈祝贺王家林老师大数据经典著作《SPARK内核机制解析及性能调优》 畅销书籍 出版上市!

    2017年新春报喜!热烈祝贺王家林老师大数据经典著作《SPARK内核机制解析及性能调优》 畅销书籍 出版上市!                    本书致力于Spark内核的深入解析,带领读者掌握Spark内核的各个关键知识点。具体内容由详细讲述RDD提供的功能以及内部实现的机制开始,

    日期 2023-10-26 10:14:03     
  • PHP内核之旅-4.可变长度的字符串

    PHP内核之旅-4.可变长度的字符串

    PHP 内核之旅系列 PHP内核之旅-1.生命周期 PHP内核之旅-2.SAPI中的Cli PHP内核之旅-3.变量 PHP内核之旅-4.字符串 PHP内核之旅-5.强大的数组 PHP内核之旅-6.垃圾回收机制 一、字符串源码  zend_string 1 typedef struct _zend_string zend_string; //定义 zend_string变

    日期 2023-10-26 10:14:03     
  • CentOS查看内核版本,位数,版本号

    CentOS查看内核版本,位数,版本号

    1)[root@localhost ~]# cat /proc/versionLinux version 2.6.18-194.el5 (mockbuild@builder10.CentOS.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Fri Apr 2 14:58:14 EDT 20102)[root@localhos

    日期 2023-10-26 10:14:03     
  • PHP成为首个在内核中嵌入加密库的编程语言

    PHP成为首个在内核中嵌入加密库的编程语言

    PHP团队最近投票一致通过了“将Libsodium库集成到PHP内核中”的决议,使得PHP成为首个使用公认现代加密库的编程语言。 Libsodium是个便捷,可交叉编译,现代化,易于使用的软件库;可用于加密,解密,签名,密码哈希等。和PHP源代码一样,Libsodium是用C编写的。如今,很多公司,如Keybase,数字海洋,Riseup,Yandex,Wire和Zcash,已经他们的服务中

    日期 2023-10-26 10:14:03     
  • 24小时学通Linux内核之内存管理方式

    24小时学通Linux内核之内存管理方式

        24小时学通Linux内核之内存管理方式   昨天分析的进程的代码让自己还在头昏目眩,脑子中这几天都是关于Linux内核的,对于自己出现的一些问题我会继续改正,希望和大家好好分享,共同进步。今天将会讲诉Linux如何追踪和管理用户空间进程的可用内存和内核的可用内存,还会讲到内核对内存分类的方式以及如何决定分配和释放内存,内存管理是应用程序通过软硬件协助来访问内存的

    日期 2023-10-26 10:14:03     
  • 【图解Linux内核】Page Cache

    【图解Linux内核】Page Cache

    在资深开发的日常,经常能遇见和Page Cache相关场景: 服务器的load飙高服务器的I/O吞吐飙高业务响应时延出现大的毛刺业务平均访问时延明显增加。 这些问题,很可能是由于

    日期 2023-10-26 10:14:03     
  • 鸿蒙轻内核源码分析:异常钩子模块系统中断异常,如何转储异常信息

    鸿蒙轻内核源码分析:异常钩子模块系统中断异常,如何转储异常信息

    摘要:本篇介绍下鸿蒙轻内核中异常钩子模块发生系统中断异常时如何转储异常信息。 本文分享自华为云社区《鸿蒙轻内核M核源码分析系列十七(3) 异常信息ExcInfo》,作者: zhushy。 ExcHook异常钩子模块是OpenHarmony LiteOS-M内核的一个可选组件,提供注册钩子函数LOS_RegExcHook、解除注册钩子函数LOS_UnRegExcHook等操作接口。发生系统时,支持

    日期 2023-10-26 10:14:03     
  • Linux 2.4.x内核软中断机制

    Linux 2.4.x内核软中断机制

    http://www.ibm.com/developerworks/cn/linux/kernel/interrupt/   软中断概况 软中断是利用硬件中断的概念,用软件方式进行模拟,实现宏观上的异步执行效果。很多情况下,软中断和" 信号"有些类似,同时,软中断又是和硬中断相对应的,"硬中断是外部设备对CPU的中断","软中断通常是硬中断服务程序对内核的中断","信号则是由内 核(或

    日期 2023-10-26 10:14:03     
  • 内核定时机制API之ns_to_timespec64 和 ns_to_timeval

    内核定时机制API之ns_to_timespec64 和 ns_to_timeval

    struct timespec64 ns_to_timespec64(const s64 nsec)用于将纳秒转成timespec64格式返回给用户 其源码分析如下: struct timespec64 ns_to_timespec64(const s64 nsec) { struct timespec64 ts; s32 rem; #如果形参nsec为null,则让timespec64的

    日期 2023-10-26 10:14:03     
  • 内核及内核模块

    内核及内核模块

    linux内核源代码一般在/usr/src/下面 由linux概念之进程分析这篇文章最后部分,才进而分析内核源码   http://www.it165.net/os/html/201402/7185.html    内核参数优化   cd /usr/src/yum install wgetwget https://www.kernel.org/p

    日期 2023-10-26 10:14:03     
  • 24小时学通Linux内核之有关Linux文件系统实现的问题

    24小时学通Linux内核之有关Linux文件系统实现的问题

        24小时学通Linux内核之有关Linux文件系统实现的问题   有时间睡懒觉了,却还是五点多醒了,不过一直躺倒九点多才算起来,昨晚一直在弄飞凌的嵌入式开发板,有些问题没解决,自己电脑系统的问题,虽然Win10发布了,,但我还是好喜欢XP呀,好想回家用用家里的XP来玩玩这块板子,不知不觉也第五天了,感觉代码都有些模糊,连自己都不是很清楚了,担心现在分享起来比较困惑

    日期 2023-10-26 10:14:03     
  • Linux内核--异常和中断的区别

    Linux内核--异常和中断的区别

          相信大家都知道非常著名的两个名词:异常和中断,不过,你真的理解这两个名词在说什么吗?它们之间有什么区别呢?       1.中断       大家都知道,当我们在敲击键盘的同时就会产生中断,当硬盘读写完数据之后也会产生中断,所以,我们需要知道,中断是由硬件设备产生的,而它们从物理上说就是电信号,

    日期 2023-10-26 10:14:03     
  • 非IE内核浏览器支持activex插件

    非IE内核浏览器支持activex插件

    之前在一个B/S项目中遇到一个需求,就是客户需要在页面上对报表的布局以及显示内容,进行自定义。最后决定使用activex技术来实现。众所周知,activex是微软搞得,因此只有ie内核的浏览器才能支持。像firefox(火狐)、Chrome、Apple Safari等非ie内核浏览器都不支持activex控件,这样就大大加大了系统使用的局限性。因此考虑是不是可以让非ie内核浏览器也能支持acti

    日期 2023-10-26 10:14:03     
  • 解决树莓派新内核无法使用18B20和没有声音的问题

    解决树莓派新内核无法使用18B20和没有声音的问题

    现在新版的树莓派内核由于为了兼容树莓派2和树莓派B+等以前的版本,采用了和原来不同的内核运行方式,使用了设备树的方式,更加灵活。但是由于可能不习惯这样的方式以及没太多相关这方面的介绍,导致很多用户更新了内核后出现比如接18B20无法读取设备信息,以及树莓派没有声音输出的问题。 在这里细心的用户就会发现在新内核boot分区下多了个overlays文件夹,里面有很多dtb文件,这些其实就是树莓派

    日期 2023-10-26 10:14:03     
  • Nacos 1.3.0 来了,基于全新内核构建!

    Nacos 1.3.0 来了,基于全新内核构建!

    本文系投稿,作者:廖春涛(春少) https://www.yuque.com/docs/share/17664885-e0d8-40fd-a208-f1b58794d544 经过一年多发展,1.2.0版本已经从安全上解决上生产的最后疑虑,解决用户主要诉求。 经过社区讨论,从1.3.0版本开始修炼内功,聚焦“简单”、“性能”、“高可用”这核心的三个点进一步提升Nacos核心竞争力。今天很高兴能

    日期 2023-10-26 10:14:03     
  • Linux内核线程kernel thread详解--Linux进程的管理与调度(十)

    Linux内核线程kernel thread详解--Linux进程的管理与调度(十)

    内核线程 为什么需要内核线程 Linux内核可以看作一个服务进程(管理软硬件资源,响应用户进程的种种合理以及不合理的请求)。 内核需要多个执行流并行,为了防止可能的阻塞,支持多线程是必要的。 内核线程就是内核的分身,一个分身可以处理一件特定事情。内核线程的调度由内核负责,一个内核线程处于阻塞状态时不影响其他的内核线程,因为其是调度的基本单位。 这与用户线程是不一样的。因为内核线程只运行在内核态

    日期 2023-10-26 10:14:03     
  • 【蜂鸟E203内核解析】Chap.3 自定义指令与协处理器设计

    【蜂鸟E203内核解析】Chap.3 自定义指令与协处理器设计

    【蜂鸟E203内核解析】Chap.3 自定义指令与协处理器设计 1. 概念2. NICE处理器怎么独立于“主核进程”进行调用?3. 怎么自定义一条RISC-V指令4. NICE指令设计5. NIC

    日期 2023-10-26 10:14:03     
  • 【解答】关于内核中没开MMU之前的虚拟地址物理地址转换问题

    【解答】关于内核中没开MMU之前的虚拟地址物理地址转换问题

    1. 内核没开MMU之前有虚拟地址吗?没有MMU哪来的虚拟地址? 答:有,由于载入时地址和执行时地址不同导致的没打开MMU之前也会有虚实地址问题。 2. 载入时地址和执行时地址什么差别。为什么有这样的差别? 答:载入时地址:把可运行文件放到物理内存的内存地址,比如把镜像放到0x80000000地址处,则载入时地址=0x80000000 执行时地址:镜像生成后的虚拟地址,由编译器和连接脚本决定

    日期 2023-10-26 10:14:03