皮皮网
皮皮网

【源码的寿命】【云码素材源码】【ffmpeg源码的用法】fastdfs 源码解析

来源:SSL申请平台源码 发表时间:2024-11-30 12:44:17

1.java培训主要学什么?
2.Nginx源码分析 - Event事件篇 - Nginx的码解Event事件模块概览
3.你真的理解粘包与半包吗?3分钟搞懂它
4.求Java自学视频 从基础教程到进阶实例,万分感谢啊 。码解
5.Nginx源码分析 - HTTP模块篇 - HTTP模块的码解初始化
6.Linux进程管理:深入task_ struct字段

fastdfs 源码解析

java培训主要学什么?

       åƒè¿™æ ·çš„问题,我已经回答了很多次,现在很多新手,特别是刚刚入行想学java的同学,不知道该从哪里入手,我是在成都课工场学java入的行,现在已变成老司机,我整理了一些java的知识点,一共分为六个阶段,个技能点,第一阶段、第二阶段、第三阶段、第四阶段是必须要掌握的,很多机构忽悠人,就只学到第四阶段,第五阶段和第六阶段就是高薪、高职的保障,就说说想高薪必须得把后面两个阶段的给掌握了,老铁,觉得合适采纳下啊。

       ç¬¬ä¸€é˜¶æ®µï¼šjava基本功修炼

       1. è®¤è¯†è®¡ç®—机硬件

       2. è®¡ç®—机组成原理

       3. è®¡ç®—机软件知识

       4. è®¡ç®—机网络知识

       5. å¸¸ç”¨ç½‘络应用操作

       6. è®¤è¯†è®¡ç®—机病毒

       7. é€»è¾‘训练

       8. åˆè¯†Java

       9. å˜é‡å’Œæ•°æ®ç±»åž‹

       . é€‰æ‹©ç»“æž„

       . å¾ªçŽ¯ç»“æž„for

       . å¾ªçŽ¯ç»“æž„do-while

       . å¾ªçŽ¯ç»“æž„while

       . å¤šé‡å¾ªçŽ¯åŠç¨‹åºè°ƒè¯•

       . å¾ªçŽ¯è¿›é˜¶

       . ä¸€ç»´æ•°ç»„及经典应用

       . äºŒç»´æ•°ç»„

       . è®¤è¯†ç±»ä¸Žå¯¹è±¡

       . æ–¹æ³•åŠæ–¹æ³•é‡è½½

       . å°è£…与继承

       . æ–¹æ³•é‡å†™ä¸Žå¤šæ€

       . é¡¹ç›®å®žæˆ˜-汽车租赁系统

       . æŠ½è±¡ç±»å’ŒæŽ¥å£

       . å¼‚常

       . é¡¹ç›®å®žæˆ˜-QuickHit

       . Java ä¸­çš„集合类型

       . List é›†åˆ

       . Set é›†åˆ

       . HashMap é›†åˆ

       . Iterator

       . Collections ç®—法类及常用方法

       . enum

       . åŒ…装类及装箱拆箱

       . String、StringBuffer ç±»å¸¸ç”¨æ–¹æ³•æ“ä½œå­—符串

       . Date、Calendar

       . Math ç±»å¸¸ç”¨æ–¹æ³•

       . IO/NIO

       . å­—节输入流(InputStream、FileInputStream、BufferedInputStream)

       . å­—节输出流(OutputStream、FileOutputStream、BufferedOutputStream)

       . å­—符输入流(Reader、InputStreamReader、FileReader BufferedReader)

       . å­—节输出流(Writer、OutputStreamWriter、FileWriter、BufferedWriter)

       . æ–‡ä»¶å¤åˆ¶

       . Serialize、Deserialize

       . èŒåœºæ™‹å‡åŠ›ï¼šå››è±¡é™æ—¶é—´ç®¡ç†ä¸Žç²¾åŠ›ç®¡ç†

       . å¤šçº¿ç¨‹(Thread、Runnable)

       . Thread LifeCycle

       . çº¿ç¨‹çš„调度

       . çº¿ç¨‹çš„同步和死锁

       . Thread Pool

       . èŒåœºæ™‹å‡åŠ›ï¼šå›¢é˜Ÿåˆä½œ

       . Socket(TCP、UDP)

       . XML æ¦‚念、优势、规范

       . XML ä¸­ç‰¹æ®Šå­—符的处理

       . ä½¿ç”¨DOM è¯»å–、添加、删除、解析 XML æ•°æ®

       ç¬¬äºŒé˜¶æ®µï¼šjavaweb开发

       . æ­å»ºå’Œé…ç½®MySQL æ•°æ®åº“

       . æ•°æ®åº“增、删、查、改语句

       . äº‹åŠ¡

       . è§†å›¾

       . æ•°æ®åº“备份与恢复

       . æ•°æ®åº“用户管理

       . æ•°æ®åº“设计

       . é¡¹ç›®å®žæˆ˜-银行ATM å­˜å–款机系统

       . èµ°è¿› HTML å’ŒCSS

       . åˆ—表表格及表单美化

       . CSS 高级操作

       . Bootstrap

       . CSS 组件

       . JavaScript é¢å‘对象

       . JavaScript åˆ¤æ–­ã€å¾ªçŽ¯

       . JavaScript é—­åŒ…

       . JavaScript è¯­æ³•

       . Bootstrap ç»¼åˆæ¡ˆä¾‹

       . HTML5、CSS3

       . jQuery åŸºç¡€

       . jQuery åŸºæœ¬æ“ä½œ

       . jQuery äº‹ä»¶ä¸Žç‰¹æ•ˆ

       . jQuery Ajax

       . jQuery æ’件

       . æ­å»ºWeb 环境初识JSP

       . JSP ä¹å¤§å†…置对象

       . JSP å®žçŽ°æ•°æ®ä¼ é€’和保存

       . JDBC

       . å•ä¾‹æ¨¡å¼ã€å·¥åŽ‚模式

       . MVC、三层模式

       . Commons-fileupload、CKEditor

       . åˆ†é¡µæŸ¥è¯¢

       . EL 与 JSTL

       . Servlet ä¸ŽFilter

       . Listener ä¸ŽMVC

       . Ajax 与 jQuery

       . jQuery çš„Ajax äº¤äº’扩展

       . é¡¹ç›®å®žæˆ˜â€”使用Ajax æŠ€æœ¯æ”¹è¿›æ–°é—»å‘布系统

       . åå°„

       . Linux ç³»ç»Ÿçš„安装

       . åœ¨Linux ä¸­ç®¡ç†ç›®å½•å’Œæ–‡ä»¶

       . åœ¨Linux ä¸­ç®¡ç†ç”¨æˆ·å’Œæƒé™

       . åœ¨Linux æœåŠ¡å™¨çŽ¯å¢ƒä¸‹å®‰è£…软件和部署项目

       . èŒåœºæ™‹å‡åŠ›ï¼šèŒåœºæ²Ÿé€š

       ç¬¬ä¸‰é˜¶æ®µï¼š 企业级框架开发

       . MyBatis 环境搭建

       . SQL 映射文件

       . 动态SQL

       . MyBatis 框架原理

       . Spring IOC

       . æž„造注入、依赖注入、注解

       . Spring 整合MyBatis(SqlSessionTemplate、MapperFactoryBean、事务  

       å¤„理)

       . Spring 数据源(属性文件、JNDI)、Bean 作用域

       . Spring 框架的运行原理

       . SpringMVC 体系概念

       . SpringMVC 之数据绑定、数据效验、

       . SpringMVC 之视图及视图解析

       . SpringMVC 之文件上传、本地化解析

       . SpringMVC 之静态资源处理、请求拦截器、异常处理

       . Oracle æ•°æ®åº“环境搭建、安装

       . Oracle æ•°æ®åº“ SQL、分页、备份、还原

       . Hibernate 概念、依赖

       . HQL æŸ¥è¯¢è¯­è¨€

       . Hibernate 中配置关联映射

       . HQL è¿žæŽ¥æŸ¥è¯¢ä¸Ž Hibernate æ³¨è§£

       . Struts 2 æ¦‚念、依赖

       . Struts 2 é…ç½®

       . OGNL è¡¨è¾¾å¼

       . Struts 2 æ‹¦æˆªå™¨

       . SSH æ¡†æž¶æ•´åˆ

       . ä½¿ç”¨Maven æž„建项目

       . ä½¿ç”¨Struts 2 å®žçŽ°Ajax

       . Jsoup ç½‘络爬虫

       . å¤šçº¿ç¨‹ç½‘络爬虫

       . åçˆ¬åŠååçˆ¬ç­–ç•¥

       . é€šç”¨çˆ¬è™«è®¾è®¡

       . Echart å›¾è¡¨åˆ†æž

       . IKAnalyzer åˆ†è¯

       . ä¼ä¸šæ¡†æž¶é¡¹ç›®å®žæˆ˜-代理商管理系统

       . ä¼ä¸šæ¡†æž¶é¡¹ç›®å®žæˆ˜-SL 会员商城

       . ä¼ä¸šæ¡†æž¶é¡¹ç›®å®žæˆ˜-会员管理系统

       .企业框架项目实战-互联网招聘信息采集分析平台

       ç¬¬å››é˜¶æ®µï¼š 前后端分离开发

       . GitHub

       . Git åŸºç¡€(checkout、pull、commit、push、merge ç­‰)

       . Git è¿›é˜¶(多分支协作)

       . GitLab

       . IDEA çš„使用

       . Maven ä»‹ç»(概念、仓库、构建、命令)

       . ä½¿ç”¨Maven æž„建WEB é¡¹ç›®

       . ä½¿ç”¨Maven æž„建多模块项目

       . ä½¿ç”¨Maven æ­å»ºç§æœä»“库

       . Scrum æ¡†æž¶ä»‹ç»(三个角色、三个工件、四个会议)

       . Scrum Team ç»„建团队

       . äº§å“éœ€æ±‚和用户故事

       . æ¯æ—¥ç«‹ä¼š

       . ä½¿ç”¨æ•æ·-Scrum æ–¹å¼å¼€å‘管理实战

       . å‰åŽç«¯åˆ†ç¦»ã€åˆ†å¸ƒå¼é›†ç¾¤æž¶æž„、垂直架构

       . SSM(SpringMVC+Spring+MyBatis)整合实战

       . Git、Maven ç§æœNexus

       . ç¬¬ä¸‰æ–¹æŽ¥å…¥æŠ€æœ¯ï¼ˆå¾®ä¿¡ã€é˜¿é‡Œï¼‰

       . MySQL ç”µå•†å®žæˆ˜

       . Redis(缓存服务)

       . æœç´¢å¼•æ“Ž-Solr

       . é›†æˆAPI Doc å·¥å…·-Swagger

       . å›¾ç‰‡è‡ªåŠ¨åŒ–处理:Tengine+LUA+GraphicsMagic

       . æ‰‹æœºã€é‚®ç®±æ³¨å†Œ

       . å•ç‚¹ç™»å½• Token

       . OAuth2.0 è®¤è¯

       . Jsoup ç½‘络爬虫(多线程爬虫/代理 IP çˆ¬è™«)

       . ExecutorService çº¿ç¨‹æ± 

       . IK ä¸­æ–‡åˆ†è¯

       . Postman

       . ReactJS

       . webpack

       . èŒåœºæ™‹å‡åŠ›ï¼šç®€åŽ†æ’°å†™

       . ç¨‹åºçŒ¿é¢è¯•å®å…¸ä¹‹é¡¹ç›®é¢è¯•

       .大型互联网旅游电商项目实战-爱旅行

       ç¬¬äº”阶段: 分布式微服架构开发

       . Spring Boot çŽ¯å¢ƒæ­å»º

       . Spring Boot å¸¸ç”¨æŠ€èƒ½

       . Spring Boot æ•´åˆRedis

       . Spring Boot æ•´åˆMybatis

       . å¾®æœåŠ¡æž¶æž„及架构设计

       . æ¶ˆæ¯é˜Ÿåˆ—

       ActiveMQ\RabbitMQ

       . åˆ†å¸ƒå¼äº‹åŠ¡

       . åˆ†å¸ƒå¼é” Redis-setnx

       . Zookeeper æ³¨å†Œä¸­å¿ƒ

       . åŸºäºŽ ActiveMQ å®žçŽ°é«˜å¹¶å‘

       . Docker çŽ¯å¢ƒæ­å»º

       . Docker é•œåƒåŠ é€Ÿ

       . Docker å®¹å™¨ç®¡ç†

       . Docker é•œåƒç®¡ç†

       . Docker å®¹å™¨æ–‡ä»¶å¤‡ä»½

       . Dockerfile

       . Docker ç§æœä»“库

       . çœŸå®žäº’联网高并发电商项目实战-双十一抢购

       . å¯è§†åŒ–监控 Portainer

       . Docker Compose 容器编排

       . Docker Compose æ‰©å®¹ã€ç¼©å®¹

       . Docker Swarm é›†ç¾¤ç¼–排

       . Jenkins å®‰è£…、插件配置

       . Jenkins é…ç½®æ™®é€šä»»åŠ¡

       . Jenkins é…ç½®ç®¡é“任务

       . Jenkins è‡ªåŠ¨å‘布服务

       . Spring Cloud Eureka

       . Spring Cloud Feign

       . Spring Cloud Ribbon

       . Spring Cloud Zuul

       . Spring Cloud Config

       . Spring Cloud Hystrix

       . Spring Cloud Sleuth

       . Spring Boot Admin

       .Eureka æ³¨å†ŒåŽŸç†æŽ¢ç§˜

       . Spring Cloud 大坑解读

       . Zipkin

       . Zipkin æ•´åˆRabbitMQ

       . Zipkin æ•´åˆMySQL

       . ELK æ—¥å¿—收集

       .Kafka

       . Elasticsearch æ˜ å°„管理

       . Elasticsearch æŸ¥è¯¢/复合查询

       . Elasticsearch é›†ç¾¤/集群规划

       . Elasticsearch èšåˆ

       . Elasticsearch é›†ç¾¤ç›‘控

       . Elasticsearch æ’件

       (Head/BigDesk)

       . Mycat è¯»å†™åˆ†ç¦»

       . Mycat ä¸€ä¸»å¤šä»Ž

       . Mycat å¤šä¸»å¤šä»Ž

       . Mycat æ•°æ®åˆ†ç‰‡

       . Redis

       . Redis-Redlock

       . Elasticsearch çŽ¯å¢ƒæ­å»º

       . Elasticsearch å®¢æˆ·ç«¯

       . Elasticsearch ç´¢å¼•ç®¡ç†

       . Elasticsearch æ–‡æ¡£ç®¡ç†

       . Mycat é›†ç¾¤

       . Jmeter 并发测试

       . Jmeter 生成测试报告

       . å¾®ä¿¡ç™»å½•

       . å¾®ä¿¡æ”¯ä»˜

       . æ”¯ä»˜å®æ”¯ä»˜

       . ç™¾åº¦åœ°å›¾

       . Sonar æœ¬åœ°æ£€æµ‹

       . Sonar +Jenkins çº¿ä¸Šæ£€æµ‹

       . CI/CD

       . Spring Boot æ”¹é€ çˆ±æ—…行项目实战

       . å¤§åž‹äº’联网票务类电商项目实战-大觅网

       . ES6 æ¦‚念(les、const)

       . ES6 å¯¹è±¡å’Œæ•°ç»„

       . ES6 å‡½æ•°æ‰©å±•

       . VUE çŽ¯å¢ƒæ­å»º

       . VUE.JS æŒ‡ä»¤

       .VUE 交互

       . VUE 实例生命周期

       . VUE 组件

       . VUE é¡¹ç›®çŽ¯å¢ƒé…ç½®åŠå•æ–‡ä»¶ç»„件

       .VUE 路由

       ç¬¬å…­é˜¶æ®µï¼šcc服务

       . Spring Cloud Gateway

       . Consul

       . Nacos

       . Eureka、Consu、lNacos、Zookeeper 对比分析

       . Prometheus + Grafana

       . ES 分布式存储原理

       . NoSQL 数据库解决方案(Redis、MongoDB)

       . OAuth2.0 认证( authorization code 模式)

       . OAuth2.0 认证( implicit 模式)

       . OAuth2.0 认证( resource owner password credentials 模式)

       . OAuth2.0 è®¤è¯( client credentials æ¨¡å¼)

       . NAS/FastDFS åˆ†å¸ƒå¼æ–‡ä»¶å­˜å‚¨

       . Python åŸºç¡€

       . Python çˆ¬è™«

       . 大数据及 Hadoop 概述

       . 分布式文件系统 HDFS 

       . 分布式计算框架MapReduce

       . 分布式列式数据库 HBase

       . Hadoop 综合应用

       . 面试大局观

       . 职业规划  

       . 项目面试

       . 具体业务场景化解决方案

       . 更多技术专题持续增加中

       æˆ‘估计能把你看晕,有不清楚的可以私信我

Nginx源码分析 - Event事件篇 - Nginx的Event事件模块概览

       深入分析Nginx的Event事件模块,从nginx_event.c文件中开始理解事件分发器ngx_process_events_and_timers的码解机制。在前一章中,码解我们已经触及到事件模块的码解源码的寿命一些基础概念,通过这个函数,码解我们能见到Nginx事件流程的码解启动。

       本章将全面解析Nginx的码解event模块,对不熟悉网络IO模型的码解读者,建议先学习这一领域知识。码解同时,码解对于Linux下的码解epoll模型若感到陌生,请先进行深入学习。码解一切准备工作完成后,码解我们便可以开始深入探究。

       在event模块中,几个常见且至关重要的数据结构包括:

       1. ngx_listening_s:此结构专门用于管理监听连接的socket。

       2. ngx_connection_s:存储与连接相关的数据及读写事件。

       3. ngx_event_s:封装了事件处理的相关信息。

       为了帮助大家更深入地理解Nginx源码,推荐以下视频内容:

       视频一:从9个组件开始,教你如何高效阅读nginx源码。

       视频二:深入理解epoll的原理与使用,以及它相较于select/poll的优越性。

       视频三:探讨红黑树在不同场景中的应用,从Linux内核到Nginx源码的关联。

       推荐免费学习资源:Linux C/C++开发(涵盖后端/音视频/游戏/嵌入式/高性能网络/存储/基础架构/安全等领域),云码素材源码获取方法如下:加入群获取C/C++ Linux服务器架构师学习资料(包括C/C++、Linux、golang技术、Nginx、ZeroMQ、MySQL、Redis、fastdfs、MongoDB、ZK、流媒体、CDN、P2P、K8S、Docker、TCP/IP、协程、DPDK、ffmpeg等资料),免费分享。

你真的理解粘包与半包吗?3分钟搞懂它

       理解粘包与半包的关键在于认识它们在TCP传输中的表现。比如,寄快递时,如果包裹过大,需要拆分成几个包裹邮寄,这种情况下,接收人仅收到部分包裹时,ffmpeg源码的用法包裹内的物品是不完整的,这就对应于网络传输中的“半包”情况。只有当收到全部包裹,包裹内的物品才完整,因此半包无法解析出完整的数据,需要等待收到全部包裹。如何知道已经收到全部包裹呢?我们将在下文中探讨。

       再以过年送礼物为例,将送给每位长辈的手表打包在一个包裹里邮寄,这种将原本应分开传输的数据合成一个包发送的情况,对应于网络传输中的“粘包”现象。看完这个例子,你是否对粘包与半包有了初步感觉?接下来,让我们看看网络中实际的情况。

       粘包与半包只在TCP传输中出现,因为UDP没有这种情况。TCP是面向流的,数据之间没有明确界限,而UDP有明确的界限。TCP包没有报文长度,UDP包有报文长度,这也体现了TCP的流式特性。所以,上面的例子不太恰当,因为现实生活中快递包裹之间是有界限的,而TCP传输就像流水,没有明确的同花顺市净率指标源码界限。

       TCP有发送缓冲区的概念,而UDP实际上没有这个概念。假设TCP一次传输的数据超过发送缓冲区大小,那么完整的报文将被拆分成多个小报文,这可能导致半包情况。当接收端收到不完整数据时,无法成功解析。如果一次传输的数据小于发送缓冲区大小,数据可能会与其他报文合并发送,形成粘包现象,接收端无法正常解析报文,需要将其拆分成多个正确的报文进行解析。

       关于粘包与半包,有提到使用MTU(最大传输单元)的说法,如果发送的数据大于MTU,就会出现拆包,导致半包情况。我个人认为这里的理解有些混淆,因为UDP也需要遵循MTU规则,为什么不会出现半包呢?

       接下来,我们探讨如何解决粘包与半包问题。

       解决粘包与半包问题通常有三种常见方案:固定长度、分隔符和固定长度字段+内容。

       固定长度方法简单,通过规定每个报文长度固定为一定值,不足部分用空字符填充。这样可以避免粘包和半包现象。127源码怎么打在Netty中,实现方式是使用FixedLengthFrameDecoder类。

       分隔符方法也易于理解,通过在每个报文之间插入一个分隔符,将无界限的TCP流切分为多个部分,从而解决粘包与半包问题。在Netty中,实现方式是使用DelimiterBasedFrameDecoder类。

       固定长度字段+内容方法则是先获取字段长度,根据长度获取内容,从而得到完整报文。在Netty中,实现方式是使用LengthFieldBasedFrameDecoder类。

       综上所述,TCP的粘包与半包现象是由于其面向流的特性和使用发送缓冲区导致的。解决方法包括固定长度、分隔符和固定长度字段+内容等,这些方法已在Netty中实现,可直接使用。建议通过实验加深理解。关于粘包与半包的内容就分享到这里,关于源码分析不再深入。

       推荐零声教育C/C++后台开发免费公开课程,内容涵盖Linux、Nginx、ZeroMQ、MySQL、Redis、fastdfs、MongoDB、ZK、流媒体、CDN、P2P、K8S、Docker、TCP/IP、协程、DPDK等技术,立即学习。

       

参考资料:

为什么网络I/O会被阻塞?

求Java自学视频 从基础教程到进阶实例,万分感谢啊 。

       详细,包含知识点多的,你可以看看动力节点java基础视频大全。里面有很多深入且精彩的讲解,比如源码分析分析讲的特别到位,尤其是HashMap的工作原理和源码分析,真正的把jdk源码翻了一遍,要是拿着这个去面试绝对是秒杀级神器。

Nginx源码分析 - HTTP模块篇 - HTTP模块的初始化

       本章开始深入分析Nginx的HTTP模块,重点关注初始化过程。

       HTTP模块初始化主要在src/http/nginx_http.c文件中的ngx_http_block函数完成。

       理解HTTP模块初始化前,先审视nginx.conf中HTTP大模块配置。配置包括四层结构,最外层的http模块是核心模块,类型NGX_CORE_MODULE,属于Nginx的基本组件。

       核心模块启动时,会调用http模块配置解析指令函数:ngx_http_block。通过该函数解析配置文件,实现初始化。

       在阅读本章前,建议回顾Nginx源码分析 - 主流程篇 - 解析配置文件,以便更好地理解配置文件解析过程。

       接下来,将详细解析ngx_http_block函数,重点关注其在初始化过程中的作用。下一章将深入探讨:ngx_http_optimize_servers。

       对于希望深入学习Linux C/C++开发、后端、音视频、游戏、嵌入式、高性能网络、存储、基础架构、安全等领域的读者,推荐免费学习资源:Linux C/C++开发(后端/音视频/游戏/嵌入式/高性能网络/存储/基础架构/安全)。关注群获取学习资料(资料涵盖C/C++、Linux、golang技术、Nginx、ZeroMQ、MySQL、Redis、fastdfs、MongoDB、ZK、流媒体、CDN、P2P、K8S、Docker、TCP/IP、协程、DPDK、ffmpeg等),免费分享。

Linux进程管理:深入task_ struct字段

       深入解析Linux进程管理:task_struct字段探索

       高怡香、徐晗博,西安邮电大学研一在读,操作系统和Linux内核爱好者,热衷于探索操作系统底层工作原理和内核编程。

       通过top命令,可以监视即时的进程状态,便于观察以特定用户身份运行的进程。按u键输入用户名,只显示相关进程信息。按h键获取帮助。

       task_struct结构体是操作系统用于管理进程的重要组成部分,在/include/linux/sched.h中定义。每个进程对应一个task_struct实例。

       Linux内核源码分析之task_struct结构分析

       剖析Linux内核进程管理

       Linux内核,进程调度器的实现,完全公平调度器 CFS

       免费学习地址:Linux C/C++开发(后端/音视频/游戏/嵌入式/高性能网络/存储/基础架构/安全)

       需要C/C++ Linux服务器架构师学习资料加qun 获取(资料包括C/C++,Linux,golang技术,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK,ffmpeg等),免费分享

       通过遍历系统进程链表,访问每个进程的PCB(task_struct),可以打印进程相关属性。

       task_struct成员众多,重点了解:进程ID、状态、优先级、时间切片、调度器等。

       find_get_pid()与pid_task()接口函数用于快速查找指定PID对应的进程结构体。

       打印子进程和兄弟进程,理解parent/children/sibling三者关系,实现代码需考虑进程实际存在。

       设置两个内核模块参数,实现打印特定进程的子进程信息或兄弟进程信息。

       eBPF技术应用于task_struct字段打印,对libbpf-bootstrap示例文件进行学习与实践。

       实验总结,复习链表与模块传参知识,提升编程能力。解决函数版本问题,学习新函数并应用。在进程亲属关系理解上获得指导,成功实现打印。

相关栏目:焦点