电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

电子发烧友网>存储技术>Linux kernel内存管理模块结构分析

Linux kernel内存管理模块结构分析

收藏

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论

查看更多

相关推荐

深度分析Linux内存使用方法

一提到内存管理,我们头脑中闪出的两个概念,就是虚拟内存,与物理内存。这两个概念主要来自于linux内核的支持。
2018-08-20 09:00:177046

Linux内存管理是什么,Linux内存管理详解

Linux内存管理 Linux内存管理是一个非常复杂的过程,主要分成两个大的部分:内核的内存管理和进程虚拟内存。内核的内存管理Linux内存管理的核心,所以我们先对内核的内存管理进行简介
2022-05-11 17:54:175183

深度解析Linux内存管理体系

Linux内存管理的整体模式是虚拟内存管理(分页内存管理),并在此基础上建立了一个庞大的内存管理体系。我们先来看一下总体结构图。
2022-08-06 16:55:591369

linux内存相关知识科普

linux 内存组织结构和页面布局,内存碎片产生原因和优化算法。
2022-08-08 10:57:01298

走进Linux内存系统探寻内存管理的机制和奥秘

Linux 内存是后台开发人员,需要深入了解的计算机资源。合理的使用内存,有助于提升机器的性能和稳定性。本文主要介绍Linux 内存组织结构和页面布局,内存碎片产生原因和优化算法,Linux 内核几种内存管理的方法,内存使用场景以及内存使用的那些坑。
2023-01-05 09:47:431338

关于Linux内存管理的详细介绍

Linux内存管理是指对系统内存的分配、释放、映射、管理、交换、压缩等一系列操作的管理。在Linux中,内存被划分为多个区域,每个区域有不同的作用,包括内核空间、用户空间、缓存、交换分区等。Linux内存管理的目标是最大限度地利用可用内存,同时保证系统的稳定和可靠性。
2023-03-06 09:28:45845

Linux内存相关知识科普

Linux 内核几种内存管理的方法,内存使用场景以及内存使用的那些坑。**从内存的原理和结构,到内存的算法优化,再到使用场景,去探寻内存管理的机制和奥秘。
2023-07-25 14:43:45490

Linux内核的物理内存组织结构详解

Linux内存管理子系统使用 节点(node)、区域(zone)和页(page) 三级结构描述物理内存
2023-08-21 15:35:24222

Linux内核的内存管理详解

内存管理的主要工作就是对物理内存进行组织,然后对物理内存的分配和回收。但是Linux引入了虚拟地址的概念。
2023-08-31 14:46:51379

Linux内核内存管理架构解析

内存管理子系统可能是linux内核中最为复杂的一个子系统,其支持的功能需求众多,如页面映射、页面分配、页面回收、页面交换、冷热页面、紧急页面、页面碎片管理、页面缓存、页面统计等,而且对性能也有很高
2024-01-04 09:24:37280

Linux内核内存管理之内核非连续物理内存分配

的主要优点是避免了外部碎片,而缺点是需要修改内核页表。显然,非连续内存区域的大小必须是4096的倍数。Linux使用非连续物理内存区的场景有几种:(1)为swap区分配数据结构;(2)为模块分配空间
2024-02-23 09:44:02330

Linux Kernel 4.5最终版发布

两个多月的不懈更新,在3月6日发布最后一个候选版本之后,Linux Kernel 4.5终于在今天获得了最终版本。Linux Kernel 4.5的突出特性包括部署了AMD的PowerPlay电池管理
2016-03-15 11:06:51

Linux Kernel Panic的产生的原因?

内存互相换下位置或重新插拔下可以解决问题。 6. 一个kernel panic的解决之法 相信使用linux kernel开发过驱动的兄弟都知道,kernel panic对系统带来的危害要比
2023-06-15 06:24:52

Linux Kernel数据结构:链表

Linux Kernel数据结构:链表原创 2016年10月20日 22:58:25标签:LINUX/kernel/链表 数据结构数据结构中链表是 节点中包含数据 , kernel中的链表是链表包含在数据结构
2018-09-25 16:41:11

Linux 内存管理知识学习经验总结

现在的服务器大部分都是运行在Linux上面的,所以,作为一个程序员有必要简单地了解一下系统是如何运行的。对于内存部分需要知道:地址映射内存管理的方式缺页异常先来看一些基本的知识,在进程看来,内存分为
2016-02-25 17:08:44

Linux内存系统: Linux 内存分配算法

和 ioremap_nocache 将预留的内存映射到模块中。需要修改内核启动参数, 无需重新编译内核. 但这种方法不支持 x86 架构, 只支持 ARM, PowerPC 等非 x86 架构· 在 start_kernel
2020-08-24 07:44:49

Linux上对进程进行内存分析内存泄漏定位

Linux产品开发过程中,通常需要注意系统内存使用量,和评估单一进程的内存使用情况,便于我们选取合适的机器配置,来部署我们的产品。Linux本身提供了一些工具方便我们达成这些需求,查看进程实时资源
2019-07-09 08:15:30

LinuxKernel的运行原理概述

接触过Linux的都知道Kernel的含义,在我看来就是操作系统的核心或者最重要的部分。众所周知的是,几乎整个互联网都运行在 Linux上,从网络协议,到服务器,到你平常访问的绝大多数网站,都能
2019-07-24 07:45:21

Linux内核结构详解

时,内核开始启动。关于这一部分请看,arch/i386/kernel/head.S,head.S进行特定结构的设置,然后跳转到init/main.c的main()例程。内存管理内存管理的代码主要
2019-07-11 16:59:35

Linux内核新增的异构内存管理会带来什么不一样?

Linux 内核新增的异构内存管理(HMM)会带来什么不一样?
2021-02-24 07:20:22

Linux虚拟内存管理技术的相关资料分享

嵌入式系统开发嵌入式系统开发工具进程控制Linux虚拟内存管理技术嵌入式系统开发工具进程控制1、定义:(1)、进程是可并发执行的程序,是一个在数据集合上的运行过程。(2)、当一个程序开始执行之后,在
2021-12-22 06:33:19

kernel_liteos_a:揭开神秘的面纱!

Linux易用的特点。OpenHarmony内核主要包括进程和线程调度、内存管理、IPC机制、timer管理等内核基本功能。OpenHarmony内核的源代码分为 kernel
2021-04-23 18:11:32

kernel目录结构以及功能是什么?

kernel目录结构以及功能是什么?
2022-03-03 06:16:48

linux kernel

linux kernel 有什么学习技巧吗?
2012-06-11 18:23:50

linux内存管理

公交,地铁,睡前必备,方便大家查阅,持续更新,敬请期待!---更新于2020-02-12linux 内存管理Linux内存初始化CPU是如何访问...
2021-07-22 08:41:07

内存管理程序结构

内存管理程序结构内存分配方式内存管理函数mallocrealloccallocmemsetfree堆和栈的区别管理方式不同空间大小不同是否产生碎片增长方向不同分配方式不同分配效率不同程序结构栈区堆区
2021-12-17 07:15:05

ARM32 Linux内存布局

一部分空间是内核无法访问到的,对于该问题内核借助于高端内存(highmem)方法来管理多余的内存,本章的主要讲解以下内容什么是高端内存及其作用ARM32 Linux内存布局1. 什么是高端内存对于
2022-04-24 14:20:19

OpenHarmony 2.0 Canary Linux Kernel 的编译流程

的指令为:$./build.sh --product-name Hi3516DV300 --ccache --build-target linux_kernel而小型系统单独编译
2022-12-23 11:31:52

RT-Thread内存管理内存池实现分析

;;typedef struct rt_mempool *rt_mp_t;这个结构体称为内存池控制块,是操作系统用于管理内存池的一个数据结构,其继承于struct rt_object,由此可知内存
2022-10-17 15:06:42

[分享资料]Linux Kernel Development Third Edition (Linux内核设计与实现)

、进程调度、时间管理和定时器、系统调用接口、内存寻址、内存管理和页缓存、VFS、内核同步以及调试技术等。同时《Linux内核设计与实现(原书第3版)》也涵盖了Linux 2.6内核中颇具特色的内容,包括
2015-09-12 00:17:20

《深入理解LINUX内存管理》学习笔记

《深入理解LINUX内存管理》学习笔记1
2016-11-07 10:20:16

与大家简单分享一下Linux内核目录结构分析

,又进一步分解为boot,mm,kernel等子目录,分别控制系统引导,内存管理,系统调用。还有动态调频,主频率设置部分等
2017-09-14 14:27:12

基于RK3399的Linux kernel中CPU时钟管理介绍

1、基于RK3399的Linux kernel中CPU时钟管理介绍绝大多数的电子器件都是由时钟驱动其工作的。而SoC芯片或电路板中的时钟以树状结构呈现,按时钟域进行划分,按照不同的时钟需求进行管理
2022-06-21 16:00:23

嵌入式Linux内存管理的知识

这个内存管理的知识点还真的需要我们专门的去理解一下,今天大家一起来学习学习嵌入式Linux内存管理的知识。
2021-02-03 06:30:19

嵌入式Linux内存管理知识点

这个内存管理的知识点还真的需要我们专门的去理解一下,今天大家一起来学习学习嵌入式Linux内存管理的知识。
2021-03-04 06:22:50

嵌入式Linux中的内存管理是什么

点击 嵌入式 Linux 中的内存管理
2021-11-05 07:01:15

嵌入式Linux操作系统结构——7个重要模块

电影的视频播放器,各种游戏(如连连看)等等。嵌入式Linux系统--]嵌入式Linux系统--内核,即Kernel,是Linux系统的核心,Kernel包含了驱动程序,网络协议,内存管理,文件系统
2020-07-21 07:00:00

嵌入式系统内存管理

体系结构是利用虚拟内存管理的典型,在i386CPU上,首先要进行段式映射,Linux 没有用到段式管理,它的做法是把GDT中段描述符段的大小定义为4GB, 也就是说只分了一段, 从而使段式映射没有起作用
2016-09-17 19:40:05

带你了解Linux内核体系结构

,内核被划分为多个子系统。Linux 也可以看作是一个整体,因为它会将所有这些基本服务都集成到内核中。这与微内核的体系结构不同,后者会提供一些基本的服务,例如通信、I/O、内存和进程管理,更具体的服务
2018-08-27 10:31:28

浅析SoC中断与Linux内存管理

什么是SoC中断?Linux内存管理包括哪些?linux的进程调度时机有哪些?
2021-11-30 06:18:19

请问怎样去设计Fense动态内存管理模块

Fense的设计原理是什么?Fense有哪些功能?怎样去设计Fense动态内存管理模块
2021-04-26 07:18:33

郝健Linux内存管理学习笔记分享

郝健 Linux内存管理学习笔记-第3节课
2020-06-10 08:55:58

Linux Kernel核心中文手册

Linux Kernel核心中文手册:Hardware Basic( 硬件基础知识) 一个操作系统必须和作为它的基础的硬件系统紧密配合。操作系统需要使用一些只有硬件才能提供的功能。为了完整的了解 Linux
2008-12-08 10:15:4839

一个动态内存管理模块的实现

介绍一个动态内存管理模块,可以有效地检测C程序中内存泄漏和写内存越界等错误,适用于具有标准C 语言开发环境的各种平台。
2009-04-16 14:18:5314

一个动态内存管理模块的实现

介绍一个动态内存管理模块,可以有效地检测C程序中内存泄漏和写内存越界等错误,适用于具有标准C 语言开发环境的各种平台。
2009-05-14 14:39:0710

μClinux-kernel-2.6芯片级移植分析与实现

本文介绍并分析了将基于最新一代Linux 内核kernel-2.6 的μClinux-kernel-2.6,移植到尚未被具体支持的处理器芯片Philips-LPC2294 的全过程。给出了2.6 版本内核向具体处理器的芯片级移
2009-06-16 09:22:0813

Developing Linux kernel space

This thesis introduces how to develop kernel level device drivers on Linux platform in detail.
2009-08-21 10:22:3410

一种新的嵌入式实时动态内存管理结构

         内存资源是嵌入式操作系统中需要管理的重要资源之一。这种O(1)时间复杂度的嵌入式实时动态内存管理结构采用页表结构组织系统内存信息,使
2009-09-10 10:20:1816

μClinux内存管理分析

laClinux内存管理采用非标准Linux内存模型。系统为进程分配连续内存区域,代码段、数据段和栈段间无空隙,且进程私有堆被取消,所有进程共享由操作系统管理的堆空间。最简单
2010-09-25 16:33:1727

嵌入式操作系统内存管理技术的分析与比较

嵌入式操作系统内存管理技术的分析与比较  1 概 述   内存管理是操作系统的中心任务之一。内存管理模块通常是操作系统内核的一部分,
2010-01-14 11:30:26677

内存屏障机制及内核相关源代码分析

内存屏障是Linux Kernel中常要遇到的问题,这里专门来对其进行研究。一者查阅网上现有资料,进行整理汇集;二者翻阅Linux内核方面的指导书,从中提炼观点;最后,自己加以综合分析
2011-04-03 20:57:2614

Linux底层班实战项目

Linux0.01内核源代码分析和试验 1).深入研究,测试,撰写研究报告 2).进程管理模块 3).内存管理模块 4).IO模块
2011-04-11 21:05:2251

Linux内存管理导读

Linux 内存管理导读 :1. 存储层次结构和 x86存储管理硬件(MMU) 1.1 存储层次 高速缓存(cache) 主存(main memory) 磁盘(disk) 理解存储层次结构的根源:CPU速度和存储器速度的差距。 层次结构
2011-11-03 22:32:3339

linux内存管理机制浅析

本内容介绍了arm linux内存管理机制,详细说明了linux内核内存管理,linux虚拟内存管理,arm linux内存管理等方面的知识
2011-12-19 14:09:2773

LINUX源代码分析-内存管理

操作系统管理系统所有的物理空间, 现代大多数操作系统都采取多级管理, 即页面级分配与内核内存分配。就LINUX2-2-5 版本而言,页面级的分配是采用Buddy 算法,而内核内存分配是采用面
2011-12-19 16:38:13102

深入理解Linux虚拟内存管理_爱尔兰/戈尔曼著

电子发烧友网站提供《深入理解Linux虚拟内存管理_爱尔兰/戈尔曼著.txt》资料免费下载
2015-02-09 15:19:270

linux内核kernel-api

linux内核kernel-api,不知道从哪儿找的了,但是你如果想要做内核编程,这是一部api函数详尽的工具书!!!五星推荐
2015-10-30 17:16:3019

Linuxkernel_timer教程

Linuxkernel_timer教程,很好的Linux自学资料,快来学习吧。
2016-04-15 17:59:3312

linux内存管理

linux内存管理
2017-10-24 11:12:133

linux kernel工作队列及源码解析

1. 前言 工作队列(workqueue)的Linux内核中的定义的用来处理不是很紧急事件的回调方式处理方法。 以下代码的linux内核版本为2.6.19.2, 源代码文件主要为kernel
2017-10-27 10:19:570

Linux运行期间升级Linux系 统Uboot+kernel+Rootfs

Linux运行期间升级Linux系 统Uboot+kernel+Rootfs
2017-10-30 08:43:535

Linux-kernel-3 0的移植记录

Linux-kernel-3 0的移植记录
2017-10-31 11:33:507

Linux磁盘存储区管理原理分析及技巧汇总

Linux管理磁盘贮存区算的上一个技巧,很多朋友在这上面常常问我,今天我就把这方面的东西汇总一下,从Linux特有的交换分区的原理开始介绍Linux下如何管理磁盘。 原理篇 1. 交换空间
2017-11-07 10:14:450

U-boot传递RAM和Linux kernel读取RAM参数的解析

把要传递给kernel的东西保存在struct tag数据结构中,启动kernel时,把这个结构体的物理地址传给kernelLinux kernel通过这个地址,用parse_tags分析出传递过来的参数。
2018-02-06 08:24:535581

基于Linux内存管理与Android内存分配机制

Android采取了一种有别于Linux的进程管理策略,有别于Linux的在进程活动停止后就结束该进程,Android把这些进程都保留在内存中,直到系统需要更多内存为止。这些保留在内存中的进程通常情况下不会影响整体系统的运行速度,并且当用户再次激活这些进程时,提升了进程的启动速度。
2018-03-30 14:52:285987

嵌入式Linux内存管理的知识汇总

这个内存管理的知识点还真的需要我们专门的去理解一下,今天大家一起来学习学习嵌入式Linux内存管理的知识。 1.不涉及linux内核的汇编知识,仅C语言层面解析 1.回答:汇编主要处理的是寄存器地址
2018-04-09 05:58:00887

如何避免Linux的物理内存碎片化

Linux buddyy系统是linux kernel比较稳定的一个模块,但是并不是说它没有缺陷,Linux内存管理系统自诞生之日,就一直存在物理内存碎片化的问题:在系统启动并且运行很长一段时间
2018-05-01 16:43:005201

如何管理Linux内存分页?

内存是计算机的主存储器。内存为进程开辟出进程空间,让进程在其中保存数据。我将从内存的物理特性出发,深入到内存管理的细节,特别是了解虚拟内存内存分页的概念。
2018-07-28 08:24:503590

你知道linux kernel内存映射?

首先查看此时基本的内存信息。通过/proc/meminfo可以看到,实际可用物理内存还剩156MB,内存此时并未耗尽。vmalloc所使用的VMALLOC虚拟地址还剩余22MB,也是够用的。
2019-04-26 13:53:252988

你知道linux内存管理基础及方法?

linux内存管理采取的分页存取机制,会将内存中不经常使用的数据块交换到虚拟内存中。linux会不时地进行页面交换操作,以保持尽可能多的空闲物理内存,即使并没有什么事需要内存linux也会交换出暂时不用的内存页面。
2019-04-28 17:12:07992

你知道linux kernel内存碎片防治技术?

Linux kernel组织管理物理内存的方式是buddy system(伙伴系统),而物理内存碎片正式buddy system的弱点之一,为了预防以及解决碎片问题,kernel采取了一些实用技术,这里将对这些技术进行总结归纳。
2019-05-10 10:59:49805

你知道linux kernel内存回收机制是怎样的?

无论计算机上有多少内存都是不够的,因而linux kernel需要回收一些很少使用的内存页面来保证系统持续有内存使用。页面回收的方式有页回写、页交换和页丢弃三种方式:如果一个很少使用的页的后备存储器是一个块设备(例如文件映射),则可以将内存直接同步到块设备,腾出的页面可以被重用;
2019-05-10 11:37:21805

了解并学习Linux内存模型

model,其实就是从cpu的角度看,其物理内存的分布情况,在linux kernel中,使用什么的方式来管理这些物理内存
2019-05-12 09:44:00566

适当了解Linux内存管理等问题

linux内存管理还是比较复杂的,其中牵扯到很多方面的知识,这篇小博文算是自己对于内存管理的一点点的总结
2019-05-13 10:10:15444

你知道Linux Security模块是怎样的?

Linux Security Modules (LSM) 是一种 Linux 内核子系统,旨在将内核以模块形式集成到各种安全模块中。在 2001 年的 Linux Kernel 峰会上,NSA 代表
2019-05-15 16:38:022414

Linux Kernel 5.2.2震撼发布!

在首个维护版本更新之后,在kernel.org官网上已经将Linux Kernel 5.2分支标记为“Stable”,意味着已经准备好大规模部署了,所有GNU/Linux发行版本都应该尽快升级至Linux 5.2内核了。
2019-08-09 17:01:252657

Linux Kernel 5.6-rc7候选版本发布

在新冠病毒爆发期间,Linus Torvalds 宣布了 Linux 5.6 的第七个每周候选版本,即 Linux Kernel 5.6-rc7 的发布。
2020-03-26 15:52:425261

Linux下进程的内存结构

Linux操作系统采用虚拟内存管理技术,使得每个进程都有各自互不干涉的进程地址空间。该地址空间是大小为4GB的线性虚拟空间,用户所看到和接触到的都是该虚拟地址,无法看到实际的物理内存地址。利用这种
2020-06-01 09:17:031323

一文解析Linux内存系统

Linux 内存是后台开发人员,需要深入了解的计算机资源。合理的使用内存,有助于提升机器的性能和稳定性。本文主要介绍Linux 内存组织结构和页面布局,内存碎片产生原因和优化算法,Linux 内核几种内存管理的方法,内存使用场景以及内存使用的那些坑。
2020-09-01 10:46:132186

鸿蒙内核源码分析: 虚拟内存和物理内存是怎么管理

有了上篇鸿蒙内核源码分析(内存概念篇)的基础,本篇讲内存管理部分,本章源码超级多,很烧脑,但笔者关键处都加了注释。废话不多说,开始吧。内存一开始就是一张白纸,这些extern就是给它画大界线
2020-11-23 11:45:2519

分析Linux操作系统的内存

前言:在Linux上不像在Windows上看内存那样方便,而且还有Swap这个新的概念,所以知道如何来看Linux内存还是有一定意义的
2021-03-31 16:43:241151

Linux_Kernel_Developments内核开发

Linux_Kernel_Developments内核开发详细说明。
2021-04-07 14:27:1137

Linux Kernel5.10维护周期将从2年延长至6年

经过 Linux Kernel 社区成员的共同努力,Linux Kernel 5.10 维护周期最终确定从2年延长至6年。华为是第一个在 Linux Kernel 社区公开承诺,可以投入资源,协助
2021-05-24 13:52:322079

嵌入式Linux开发使用NFS挂载根文件系统

、FLASH等驱动,加载系统参数或设备树文件到指定内存区域,为kernel的运行准备相关工作环境,最后加载kernel内存,启动linux内核的运行。linux内核中包含了linux系统的各个相关功能,例如
2021-11-01 17:59:407

嵌入式 Linux 中的内存管理

点击 嵌入式 Linux 中的内存管理
2021-11-02 10:36:0212

FreeRTOS系列第8篇---FreeRTOS内存管理

本文介绍内存管理的基础知识,详细源码分析见《 FreeRTOS高级篇7---FreeRTOS内存管理分析
2022-01-26 17:56:4317

Linux内存管理的基础知识科普

Linux内存管理可谓是学好Linux的必经之路,也是Linux的关键知识点,有人说打通了内存管理的知识,也就打通了Linux的任督二脉,这一点不夸张。有人问网上有很多Linux内存管理的内容
2022-06-08 15:24:091747

Linux内存管理体系介绍

内存是计算机最重要的资源之一,内存管理是操作系统最重要的任务之一。内存管理并不是简单地管理一下内存而已,它还直接影响着操作系统的风格以及用户空间编程的模式。可以说内存管理的方式是一个系统刻入DNA的秉性。既然内存管理那么重要,那么今天我们就来全面系统地讲一讲Linux内存管理
2022-08-08 09:28:321190

绕过kernel模块版本校验检测

绕过kernel模块版本校验检测
2022-10-28 11:07:140

Linux内存管理的详细介绍分享

内存管理是计算机系统中负责管理系统内存资源的一种机制,主要包括内存分配、内存释放、内存映射和虚拟内存管理等方面。它是计算机系统中非常重要的一个组成部分,能够有效地提高系统的资源利用率和应用程序的性能。
2023-05-29 14:09:371357

Linux内核实现内存管理的基本概念

本文概述Linux内核实现内存管理的基本概念,在了解基本概念后,逐步展开介绍实现内存管理的相关技术,后面会分多篇进行介绍。
2023-06-23 11:56:00478

Linux内存管理子系统开发必知的3个结构概念

Linux内存管理子系统使用节点(node)、区域(zone)和页(page)三级结构描述物理内存
2023-08-28 09:34:59545

Linux内存占用分析

内存占用分析 每颗芯片在出厂时,其bootrom就已经固化在芯片内部,假设bootrom的地址是0x0,即上电后,会从0x0地址处开始运行程序。 在启动RISC-VLinux之前,需要先运行
2023-10-08 10:38:58391

RISC-V Linux的页表创建

临时页表分析 MMU开启前,需要建立好kernel、dtb、trampoline等页表。以便MMU开启后,并且在内存管理模块运行之前,kernel可以正常初始化,dtb可以正常地被解析。这部
2023-10-08 11:14:31270

Linux 内存管理总结

一、Linux内存管理概述 Linux内存管理是指对系统内存的分配、释放、映射、管理、交换、压缩等一系列操作的管理。在Linux中,内存被划分为多个区域,每个区域有不同的作用,包括内核空间、用户空间
2023-11-10 14:58:37217

已全部加载完成