程序的整个生命周期

程序启动

    有了以上的进程地址空间分布和可执行文件的分布信息,就可以描述进程启动过程了。程序启动时,操作系统会新建一个进程来执行该程序,主要分为三个步骤: 
(1)操作系统分配一个独立的进程地址空间,主要是在内存的内核区域中新建一个描述进程的结构体(linux中为task_struct),结构体中包含了进程的相关信息,比如进程运行状态,进程的寄存器,进程打开的资源,以及进程的内存管理结构(在linux中为mm_struct,进程的内存管理结构就描述了进程的虚拟地址空间的布局). 同时,为该进程创建一个页目录表

(2)读取可执行文件头,建立可执行文件中各个段和进程虚拟地址空间中各个段之间的映射关系。当程序运行时需要将可执行文件中的内容载入内存来执行,比如在进程访问某全局变量时,该全局变量还没有被载入内存,此时需要知道该全局变量对应在可执行文件的什么位置。于是我们就需要知道进程中虚拟地址到可执行文件中位置的对应

(3)将PC指针指向进程的代码入口处,开始执行 
    执行的时候会不断的发生缺页中断,发生缺页中断时会将实际的可执行文件中的内容载入到物理内存中,然后建立虚拟内存页和物理内存页的映射关系。

系统对进程的管理

    操作系统内核区域中存储了各个进程的结构体信息,linux中为task_struct,task_struct中包含了进程的相关信息,比如进程状态,寄存器,内核栈,状态字,内存分配mm_struct。针对单独一

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
程序生命周期是指小程序从启动到关闭的整个过程中,系统会自动调用一系列的生命周期函数。这些生命周期函数可以用来绑定事件,实现不同阶段的逻辑处理。 在小程序中,有两个核心概念:App和Page。App代表整个程序,而Page代表小程序中的页面。 对于App来说,它有以下生命周期函数: - onLaunch:当小程序初始化完成时触发,可以在这个函数中进行一些初始化操作。 - onShow:当小程序启动,或从后台进入前台显示时触发,可以在这个函数中进行一些页面显示相关的操作。 - onHide:当小程序从前台进入后台时触发,可以在这个函数中进行一些页面隐藏相关的操作。 对于Page来说,它有以下生命周期函数: - onLoad:当页面加载时触发,可以在这个函数中进行一些数据初始化操作。 - onShow:当页面显示时触发,可以在这个函数中进行一些页面显示相关的操作。 - onHide:当页面隐藏时触发,可以在这个函数中进行一些页面隐藏相关的操作。 - onUnload:当页面卸载时触发,可以在这个函数中进行一些资源释放操作。 通过在这些生命周期函数中绑定事件,可以实现不同阶段的逻辑处理。例如,在onLoad函数中可以进行数据初始化,在onShow函数中可以更新页面显示内容,在onHide函数中可以保存页面状态,在onUnload函数中可以释放资源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值