Linux内核初探2

poky linux初探 -- 添加自己的内核食谱 poky是一个distribution,采用 openembedded 构建,包含一个基于GNOME的embedded linux software stack。poky封装了openembedded,选择了openembedded的核心,外加更多的脚本,作为开发者,如果想学习 openembedded这一强大的工具,建议从poky开始。即便如此,poky的学习曲线仍然是陡峭的(虽然很好用)。 阅读详情

Linux内核初探(2)

进程管理:

Linux系统中的进程一般具备以下4中条件:

1.    有一段程序供其执行。

2.    有进程专用的系统堆栈空间

3.    在内核中有“进程控制模块”.有了这个数据结构,进程才能成为内核调度的一个基本单位来接受内核的调度。同时记录着进程所占的各项资源。

4.    有独立的存储空间,意味着拥有专有的用户空间,进一步,还意味着除了上述系统空间堆栈外还有专用的用户空间堆栈。系统空间是不能独立的,任何进程都不可能直接改变系统空间的内容。

这四条都是必要条件,缺少其中的任何一条都不能称其为“进程”,如果只具备了前面3条则称之为线程。特别的,如果完全没有用户空间,就称之为“内核线程”。而如果共享用户空间,则称之为“用户线程”,在不致引起混淆的情况下都往往称之为线程。

进程具备三个重要的特性:

1.    独立性:进程是系统中独立存在的实体,他可以拥有自己的独立的资源,在未经过进程本身的允许的情况下,其他进程不能访问这些资源。这一点与线程有很大不同。线程是共享资源的实体,创建一个进程要比线程花费多很多。

2.    动态性:进程与程序的区别在于,程序只是一个静态的指令集合,而进程是一个很多动态指令的集合。在进程中还加入了时间的概念进程具有独自的生命周期和各种不同的状态。

3.    并发性:若干个进程可以在单处理器状态上并发执行。注意并发性和多处理器并行是两个不同的概念。并行是同一时刻内,有多条指令在多个处理器上同时执行;而并发指的是在同一时刻内可能只有一条指令执行,但多个进程的指令被快速轮换执行,使得宏观上具有多个进程同时执行的效果。

WSL2 编译安装Linux内核模块 阅读详情

相关推荐

linux内核随机数初探

根据测试在系统时钟是200M的机器上samples_per_bit的值是1,也就是每次都会调用credit_init_bits.在系统时钟频率是25M的机器上samples_per_bit是2,也即每两次entropy_timer调用,调用一次credit_init_bits.系统时钟频率越高此值越大。根据测试,采样的用数量大约在250次左右,不同机器差异不大,如此,影响随机数初始化时间的因素包括硬件:系统时钟的频率;本机上大部分的调用都是entropy_timer, 即大部分的熵的来源是时钟中断。

wujianyongw4的博客 2868

Linux内核驱动初探(2)

当进程调用open函数打开一个文件或设备时,内核会在文件描述符表中添加一个新的条目,并返回一个文件描述符。创建管道时,内核会在两个进程的文件描述符表中各添加一个新的条目,一个用于读取管道,一个用于写入管道。这样,一个进程可以写入管道,另一个进程可以从管道中读取数据,从而实现进程间的通信。当创建新的子进程时,子进程会复制父进程的文件描述符表,从而继承父进程打开的所有文件和设备的文件描述符。但需要注意的是,这些文件描述符在子进程中是独立的,也就是说,子进程对文件描述符的操作不会影响父进程。

qq_53090814的博客 107

基于线性光耦HCNR200的高压直流采样电路设计与精度优化

本文详细介绍了基于线性光耦HCNR200的高压直流采样电路设计与精度优化方法。针对直流高电压测量中的安全与干扰问题,提出采用HCNR200光耦隔离方案,实现高精度线性传输。文章深入解析电路设计关键细节,包括电阻网络、运放选型、滤波电容配置等,并提供精度优化实战技巧与常见问题排查指南,助力新能源电动汽车和高压储能系统的高压直流采样应用。

weixin_42713608的博客 580

linux内核网络子系统初探2---socket层

接着上文,从这章开始,将按照五层网络模型的顺序逐层分析内核代码。socket部分主要看net/inet/sock.c、net/inet/protocol.c、net/socket.c这几个文件。我个人的理解,在严格意义上,应用层指的应该是各类网络通信模块(例如ftp、http等),socket应该是介于应用层与内核间的接口层,本质不属于应用层。但按功能来讲它是属于应用层的核内接口部分。

krokodil98的博客 1331

别再花钱买商业软件了!这4款免费DIC工具,从散斑生成到应变分析全搞定

本文介绍了4款免费开源的DIC(数字图像相关技术)工具,涵盖从散斑生成到应变分析的全流程,帮助用户零成本构建专业级DIC工作流。这些工具在精度、算法透明度和生态整合方面具有优势,适用于材料力学和实验力学研究,可替代昂贵的商业软件。

weixin_42525369的博客 169

手把手教你用TJA1145A实现CAN节点智能唤醒(含数据帧过滤技巧)

本文详细介绍了如何使用TJA1145A收发器实现CAN节点的智能唤醒功能,包括数据帧过滤技巧和超低功耗设计。通过硬件级帧过滤和双条件唤醒机制,TJA1145A在保持微安级休眠电流的同时,能对特定报文做出毫秒级响应,显著提升电池供电设备的续航能力。

weixin_28721917的博客 251

基于ARM9+linux2.6内核的键盘驱动初探

[摘要]本文在mini2440开发板的基础上,实现了一种基于轮训方式的按键驱动,并通过应用程序来验证了该驱动.mini2440是一款基于三星公司ARM9芯片s3c2440与linux操作系统2.6.14内核的开发板,故而该驱动稍加修改就可以应用于其它平台.大多数简易按键驱动都是通过中断方式来实现的,但是由于我还没有找到通过中断方式来实现加速键的方法,所以采用轮训方式.关键字:arm9 ,lin

lihancheng的专栏 1310

[Windows] 发票识别工具。支持xml、pdf、ofd文件。

发票识别是财务自动化中的关键环节,支持多种格式(XML、PDF、OFD)的识别工具能显著提升工作效率。以下介绍基于Windows平台开发此类工具的技术方案。发票识别是财务自动化中的关键环节,支持多种格式(XML、PDF、OFD)的识别工具能显著提升工作效率。以下介绍基于Windows平台开发此类工具的技术方案。

pZC_dqux的博客 668

初探Linux 2.6 内核--第一个内核模块

转自:http://hi.baidu.com/colwater/blog/item/94abb1d93f5ecfed39012fdf.html介绍在本部分,我们将编写并引导一个简单的内核模块。编写自己的模块让您能够编写一些独立的内核代码,学习如何使用模块,并发现内核如何连接到一起的一些规则。 注意:这些说明是为 2.6.x 内核缩写的,可能不适用于另外的内核版本。您的内核是否支

cnctloveyu的专栏 994

SAP BSP网页开发入门:从SE80创建到MVC实战(附成品展示)

本文详细介绍了SAP BSP网页开发的入门与实战,从SE80环境搭建到MVC架构实现的全流程。通过具体案例和代码示例,帮助开发者掌握业务服务器页面(BSP)技术,提升SAP Web化转型中的开发效率,适用于需要扩展SAP功能的企业场景。

x1y2z的博客 1万+

Figma入门-自动布局

Figma原型图制作内置组件友好,自动布局类似CSS flex,通过布局网格控制对齐、分布、换行等,前端熟悉的同学易上手,参数设置基本一致。

我码玄黄的博客 2175

初探Linux内核

经常使用计算机的人来说 ,时常会感到操作系统是一个神奇、神秘而又几乎无所不 能的“上帝”。 打开计算机,首先看到的是操作系统,所有软件的运行都离不开它。 Linux 带着一股清新的风翩翩而来,它并不成熟,也不完美,甚至自身有很多缺点,可 Internet 的龙卷风把它吹遍世界,世界各地的计算机爱好者狂热地喜欢上 Linux。Linux 不再是一个孤单的个体,而成为软件发展史上的“自由女神”,很多的计算机高手和计算机爱 好者为之倾其了极大的热情。

程序员乌拉的博客! 876

《点云进阶》专栏文章目录

点云进阶》专栏文章目录

点云侠的博客 4905

Linux内核初探之一:内核简介

Linux内核初探之一:内核空间,系统调用,中断机制,单内核与微内核,Linux和Unix之间的比较,Linux的开发论坛。

kongbaifeng的博客 219

深入大模型-13-大模型Skills应用之标准目录结构和开发一个Skill的步骤

首先对比Prompt工程,上下文工程,Skills工程,MCP工具的概念与区别,然后介绍Skill的标准目录结构,同时描述了开发一个Skill的步骤和最佳实践。

qq_20466211的博客 748

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Linux内核初探

Linux内核初探 内核的组成部分 kernel:内核核心文件,一般为bzp_w_picpath,经过压缩处理的镜像文件;通常内核核心文件保存在/boot/目录下,名称为vmlinuz-version-release kernel object(ko):内核对象,内核额外功能模块,一般该类文件放置于/lib/modules/[version-release] 内核管理的相关命令 uname 功能:打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)。 常用选项 -n:显

weixin_44966641的博客 629

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

在 Linux 新版内核中的 Rust 初探,原来是这样的!

整理 | 苏宓出品 | 优快云(ID:优快云news)近来,Rust 爆火。不久之前,53 岁的 Linus Torvalds 在出席 Linux 基金会主办的 2022 开源峰会时表示,下一个版本的 Linux 内核主线,可能就会合并 Rust 语言提交的 PR 分支。然而,在五天前有开发者询问 Linus 是否在Linux 6.1 进行补丁合并时错过了一个 Git Pull 请求时,对方...

优快云资讯 3947

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Linux 内核裁剪框架初探

大约是在2000年的时候,老码农还很年轻,当时希望将Linux 作为手机的操作系统,于是才有了进行内核裁剪的想法并辅助实践,效果尚好,已经能在PDA上执行手机的功能了。一晃20多年过去了,Linux 已经有了太大的变化,内核裁剪的技术和方式也有了较大的不同。Linux 的内核裁剪是为了减少目标应用中不需要的内核代码,在安全性和高性能(快速启动时间和减少内存占用)方面有着...

我相信...... 2091

Linux内核网络(一)——初探内核网络

本文将从宏观上介绍Linux内核网络协议栈和网络设备驱动程序,介绍了两个很重要的结构(net_device和sk_buff),更深入更详细的内容将在以后的文章中介绍。 首先,我们需要了解网络分层模型。OSI 模型中将网络划分为七层,从下到上依次为:物理层(Physical)、数据链路层(Date Link)、网络层(Network)、传输层(Transport)、会话层(Session)、表示层(...

金荣的个人技术博客 4104

Linux内核移植初探

内核移植的梯度: 初级:根据芯片公司的参考配置,编译开发板内核并了解执行过程 中极:添加内核驱动的方式方法 高级:修改或添加BSP包 linux内核特性: 可移植性强、支持的硬件平台广泛;超强的网络功能;多任务多用户系统;模块化的设计 五大子系统: 进程管理;内存管理;文件系统;网络协议;设备管理 内核获取路径:芯片厂商、内核源码官方 linux内核的目录结构层次结...

a619861986的博客 383

Linux内核配置编译初探

文章目录内核配置问题怎么配置内核具体实现三种image关系 内核配置问题 在进行 linux 内核配置时,我们需要思考几个问题: (1)配置哪些目录需要编译 (2)配置哪些文件需要编译 (3)编译时,到底文件时哪个目录 比如 <mach/hardware.h> 解决方法: Makefile make 主目录 Makefile arch下的Makefile相关联 通过 in...

qq_41782149的博客 457

【Linux内核及内核编程】Linux2.6 后的内核特点

2003 年发布的 Linux 2.6 内核是一个里程碑,它标志着 Linux 从 “极客玩具” 向全场景操作系统的蜕变。如果说 2.4 内核是 Linux 进入企业级市场的起点,那么 2.6 及后续版本则是一场从内到外的 “现代化革命”,不仅让 Linux 在服务器、桌面、嵌入式领域全面开花,更奠定了移动互联网和云计算时代的技术基石。

byte轻骑兵的技术小窝 1022

linux 2.4内核编译,linux 2.4内核编译详解

2.4内核编译详解内核简介内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。Linux的一个重要的特点就是其源代码的公开性,所有的内核源程序都可以在/usr/src/linux下找到,大部分应用软件也都是遵循GPL而设计的,你都可以获取相应的源程序代码。全世界任何一个软件工程师都可以将自己认为优秀的代码加入到其中,由此引发的一个明显的好...

weixin_42356073的博客 1079

WSL2 Linux内核开发环境搭建

今天尝试在 WSL2 上安装 Linux 开发环境。

Bin_Watson的博客 1809

初探内核之《Linux内核设计与实现》笔记下

定时器和时间管理 系统中有很多与时间相关的程序(比如定期执行的任务,某一时间执行的任务,推迟一段时间执行的任务),因此,时间的管理对于linux来说非常重要。 主要内容: 系统时间 定时器 定时器相关概念 定时器执行流程 实现程序延迟的方法 定时器和延迟的例子 1. 系统时间 系统中管理的时间有2种:实际时间和定时器。 1.1 实际时间 实际时间就...

weixin_30736301的博客 1459
上一篇: Linux内核初探1
下一篇: 关于malloc类函数的小结
zmrlinux
博客等级 码龄12年 409粉丝 327原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值