zoukankan      html  css  js  c++  java
  • Linux 进程详解

    Linux内核的七大区间
    1.进程管理(进程创建,进程的三种状态,进程间的调度,调度算法...)
    2.内存管理(段式管理(Linux所有段都从0开始),页式管理--地址偏移量)
    3.系统调用(C语言库函数的区别)
    4.网络协议(TCP/IP协议)
    5.UFS--虚拟文件系统==》Linux驱动总线模型
    6.驱动管理(网络设备,块设备,字符设备...)
    7ARCH(对各个硬件平台的支持...RAM x86 power pc)
    进程数据结构
    进程的静态描述:由三部分组成:PCB,有关程序段和该程序段对其进行操作的数据结构集
    进程控制块(PCB):用于描述进程情况及控制进程运行所需的全部信息
    代码段:是进程中能被进程调度程序在CPU上执行的程序代码段。
    数据段:一个进程的数据段,可以是进程对应的程序加工处理的原始数据,也可以是程序执行后产生的中间或最终数据
    进程是操作系统对资源的一种抽象:一个进程:代码段、数据段,堆栈段(内存四区)+进程控制块(PCB)
    PCB是操作系统感知进程存在的一个重要数据结构。
    fork函数和vfork函数
    vfork()函数有个限制,子进程必须立刻执行_exit或者exec函数,
    即使fork实现了copy on write,效率也没有vfork高,但是我们不推荐使用vfork,因为几乎每一个vfork的实现,
    都或多或少存在一定的问题 结论:
    1.fork子进程会写时拷贝父进程的数据段;vfork子进程与父进程共享数据段 2.fork父子进程的执行次序不确定;vfork子进程先运行,父进程后运行
    vfork和exec函数在一起
    execve替换进程映像(加载程序),注意execve是一个系统调用;替换意味着:代码段,数据段,堆栈段,进程控制块PCB全部替换
  • 相关阅读:
    SQL常用单词
    Appium+python自动化获取toast消息的方法
    转:TCP/IP协议(一)网络基础知识
    【转】使用python实现appium的屏幕滑动
    JMETER java.net.SocketTimeoutException: Read timed out
    JMETER java.net.SocketException: Connection reset 报错解决方案
    Jmeter Distributed (Remote) Testing: Master Slave Configuration
    转:Jmeter分布式测试
    转:centos查看实时网络带宽占用情况方法
    Python类继承(转发)
  • 原文地址:https://www.cnblogs.com/zhanggaofeng/p/6063403.html
Copyright © 2011-2022 走看看