diff --git a/Linux_Lifecycle/doc/Linux schedule.md b/Linux_Lifecycle/doc/Linux schedule.md
index a181f5ec13ccb201aacbba0a54e26f02ba94c80a..85a2258fdfd6490b030c2b8978cff49cda040a56 100644
--- a/Linux_Lifecycle/doc/Linux schedule.md	
+++ b/Linux_Lifecycle/doc/Linux schedule.md	
@@ -221,7 +221,7 @@ Linux操作系统的调度器是其核心组件之一,负责管理和分配CPU
 
 ### 5.5. BPF程序处理流程
 
-综上,我们可以得到进程状态转换的建模图,能够十分清楚的得到进程在调度过程中的行为状态。
+综上,重新设计进程调度执行过程,得到进程状态转换的建模图,能够十分清楚地得到进程在调度过程中的行为状态。
 
 <center class ='img'> <img title="进程状态转换周期" src="./pictures/进程状态转换周期.drawio.png" width="70%"> </center> 
 
@@ -235,4 +235,12 @@ Linux操作系统的调度器是其核心组件之一,负责管理和分配CPU
 
 BPF程序处理逻辑如下所示:
 
-<center class ='img'> <img title="schedule-BPF程序执行流程" src="./pictures/schedule-BPF程序执行流程.drawio.png" width="80%"> </center> 
\ No newline at end of file
+<center class ='img'> <img title="schedule-BPF程序执行流程" src="./pictures/schedule-BPF程序执行流程.drawio.png" width="80%"> </center> 
+
+## 6. 创新点
+### 6.1. 在复杂的调度器中优化挂载点选择
+在Linux schedule模块中,难点在于挂载哪些函数和tracepoint
+由于Linux中调度器十分复杂,而且很多关键内核函数作为调度器的重要操作,所以无法进行挂载,需要更加详细的分析调度逻辑选择最佳、最恰当的挂载点获取信息。所以在编写BPF前对Linux调度器源码进行详细阅读,选择了相应的内核函数和tracepoint,达到了挂载较少获得最多最有效信息的目的。
+### 6.2. 解决进程状态重叠导致的时间统计错误
+在5.5小节BPF程序处理流程中提到了进程状态会有重叠的情况,如果按照内核逻辑进行时间统计,一定会出现时间统计错误的情况,会导致后续的时间后处理操作输出错误的结果。
+我们改进不仅确保了时间统计的准确性,还使得整个分析流程的逻辑自洽,避免了因重叠状态导致的计算错误,从而保证了最终输出数据的高可靠性。
\ No newline at end of file
diff --git a/Linux_Lifecycle/doc/post_process.md b/Linux_Lifecycle/doc/post_process.md
index 1cc620ed9b2af34fca26ae84760dac87d8177c86..82eecdb8642f6c85e255bde19dc2d40e42abecc6 100644
--- a/Linux_Lifecycle/doc/post_process.md
+++ b/Linux_Lifecycle/doc/post_process.md
@@ -77,3 +77,10 @@ for (int i = 0; i < STACK_DEPTH && u_ip[i]; i++) {
 }
 ```
 
+## 3. 创新点
+### 3.1. 共享内存
+**将共享内存当作循环队列读写数据可以实现无锁操作,数据消费者和生产者分别只修改头尾指针,不会出现临界资源的访问冲突问题,能够减少进程等待事件,提高数据传输速率,进而提高eBPF程序效率,降低overhead。**
+
+### 3.2. 数据后处理
+sort_script.py 脚本在 BPF 数据收集的基础上,将原始事件数据进行加工和可视化。通过该脚本,BPF 捕获的原始事件数据被精确地解析、排序和汇总,形成易于理解的可视化输出。脚本通过对目标进程生命周期中关键事件的耗时、频率以及发生的顺序进行处理,生成了图表或表格等形式的直观数据,帮助使用者快速识别目标进程在运行中的性能瓶颈、资源消耗热点以及异常行为。
+此外,该脚本的创新之处在于其对事件数据的动态处理和灵活的可视化方式。使用者不仅可以查看各个事件的分布和耗时,还能获得针对具体事件的详细统计数据,如系统调用的调用频率、上下文切换的次数、进程等待的时间等。这种可视化输出有助于深入分析进程行为,从而为性能优化和故障诊断提供精准的支持。
\ No newline at end of file
diff --git a/README.md b/README.md
index fba964dd3d271aeb10d7303a18ec6984730370dc..2bf4c9214b7df014198c75dae7bb92cc80b7a889 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,9 @@
-# The-Lifecycle-of-Linux-Process
+# The-Lifecycle-of-Linux-Process —— 比赛方向:OS应用开发赛道/OS系统工具开发
 
 ## 0. 基本信息
 
 - **参赛学校**:复旦大学
+
 - **比赛方向**:OS系统工具开发
 
 - **队伍编号** :T202410246994723
@@ -37,15 +38,48 @@
 
 - Ubuntu 22.04
 - Linux Kernel 6.8.0-49-generic
-
-### 3.1. 项目结构
+### 3.1. 工具所在位置
+仓库根目录下的`Linux_Lifecycle`文件夹是工具所在文件。根目录下其他文件夹为`libbpf-bootstrap`的执行环境。
+### 3.2. 项目结构
 
 <center class ='img'> <img title="调度方式汇总" src="./Linux_Lifecycle/doc/pictures/arch.png" width="100%"> </center> 
 
-### 3.2. 功能集合
+### 3.3. 功能集合
 
 <center class ='img'> <img title="调度方式汇总" src="./Linux_Lifecycle/doc/pictures/功能集合.drawio.png" width="60%"> </center> 
 
+### 3.4. 工具安装
+克隆仓库,进入工具文件夹
+```shell
+git clone https://gitlab.eduxiji.net/T202410246994723/project2608128-276412.git
+cd ./project2608128-276412/Linux_Lifecycle
+```
+安装环境依赖
+```shell
+sudo apt update
+sudo apt install libbpf-dev clang llvm libelf-dev libpcap-dev gcc-multilib build-essential
+git submodule update --init --recursive
+make
+```
+编译并执行BPF程序lifecycle
+```shell
+./command.sh
+```
+另起一terminal启动数据后处理程序完成online数据处理
+```shell
+./post_process
+```
+另起一terminal启动控制程序追踪目标进程
+```shell
+./controller -s -i -a -p {pid}
+```
+追踪完成后结束进程查看结果信息
+```shell
+./controller -f
+```
+可视化数据结果在terminal中显示
+原始数据结果在`./res_out`中
+
 ## 4. 仓库目录结构
 
 ```
@@ -154,7 +188,9 @@
 [post_process模块实现文档](./Linux_Lifecycle/doc/Linux%20Page%20Fault%20Handler.md)
 
 ## 7. 视频演示
-
+### 7.1. 微信小程序分享
+https://easylink.cc/ivi46l
+### 7.2. 百度网盘分享
 通过网盘分享的文件:Lifecycle of Linux Process工具演示视频.mp4
 链接: https://pan.baidu.com/s/1ZrEjXFDcWQLfkAaqraKrpg?pwd=1234 提取码: 1234