zoukankan      html  css  js  c++  java
  • 进程管理

    进程管理

    Linux的进程管理包括进程调度,中断处理,信号处理,进程上下文切换,进程状态,进度内存等

    什么是进程

    一个进程是一个运行在处理器的程序的一个实体,该进程使用linux内核能够处理的任何资源来完成它的任务。

    所有运行在linux操作系统中的进程都被task_struct结构管理,该结构同时被叫做进程描述,一个进程描述包含一个运行进程所有的必要信息,包括进程标识,进程属性,和构建进程的资源,

    进程的生命周期

    每一个进程都有其生命周期,例如创建,运行,终止和消除,

    当一个进程创建一个新的进程,进程的创建调用一个fork()系统调用被调用,它得到该创建进程(子进程)的进程描述并调用一个新的进程id,它复制该值到父进程进程描述到子进程中,此时整个的父进程的地址空间是没有被复制的,父子进程共享的地址空间,

    Exec()系统调用复制新的程序到子进程空间,因为父子进程共享地址空间,写入一个新的程序的数据会引起一个分页错误,在这种情况下,内存会分配新的物理内存页给子进程,

    这个推迟的操作叫做写时复制,子进程通常运行他们自己的程序而不是与父进程 运行相同的程序,这个操作避免哦不必要的开销,因为复制整个地址空间是一个非常缓慢的操作,它需要使用大量的处理器时间和资源,

    当程序已经执行完毕,子进程通过调用exit()系统调用终止,exit()系统调用释放进程大部分俄数据,并通过发送一个信号通知其父进程,此时,子进程是被一个僵尸进程的进程,

  • 相关阅读:
    vue组件---动态组件之多标签页面
    vue组件---动态组件&异步组件
    vue组件---插槽
    vue组件---自定义事件
    ES6字符串模板
    vue组件---组件注册
    vue基础---表单输入绑定
    vue基础---事件处理
    从浏览器输入 URL 到页面展示过程
    表单提交type=submit和type=image的区别
  • 原文地址:https://www.cnblogs.com/hanfei-1005/p/5678532.html
Copyright © 2011-2022 走看看