Linux01-Linux进程管理浅谈43


一、进程相关概念

   1、OS运行

       Kernel和 process(进程);

   2、内存地址:

       线性内存

       物理内存

   3、CPU:      

       a)x86CPU执行环:

           第0环是执行特权命令(最内圈);

           第1和2环是没使用的;

           第3环是用户的运行程序(最外圈);

       b)程序运行采用轮流替换的方式,这种方式可以有优先级控制,由内核主导运行;

   4、内核运行机制:

       a)内核空间和用户空间;

       b)内核空间中的内核数据结构:

           task structure(任务结构),信息:

               PPID:

               PID:7

               Name:Jerry

       c)进程执行在内存中,进程的描述信息在内核中;

       d)当旧的进程退出,新的进程在内存中执行,会出现内存出现千疮百孔的现象。当程序的进程有bug,也极有可能出现此进程吞噬其他进程; 因此为避免出现内存当中的bug,在80286的cpu之后,把内存分为线性地址和物理地址;

       e)内存空间又被换分为页框;

二、进程浅谈

   1、内存中的进程空间组成:

       forbidden: 内存保留的

       program text:只读的,存放全局变量

       数据:uninitialized

             initialized data

       runtime heap:堆内存,内核发现内存中的堆动态的增长,增长到一定程度内核会申请新的页面读入新的文件;

       user stack:栈,存放本地变量

       Memory mappe region for shared libraried:共享库;

   2、进程

       a)CPU中的芯片有MMU:Memory Management Unit,用于把进程的页面转换成CPU的物理页框,转换的过程需要用到的共享资源保存在缓存中;缓存内容更新的过程使用TLB调整;

       b)cpu中进程之间的切换叫Context (上下文切换)或者叫环境切换;

       c)进程属性:

           进程号

           占用多少内存空间

           用户cron任务

           父进程

           CPU time

       d)查看CPU内存空间时会出现2种空间:

           RSS:residentsize,常驻内存集

           VSZ:虚拟内存集

   3、线程(thread)

       优点:多线程可实现用户共享打开的文件;线程比内存更节省空间;



你可能感兴趣的:(线程,进程,内核)