标签:nic 删除 个数 地址空间 1.2 heap 构建 应用 条件
1.进程相关知识点1.7.进程的内存段
进程使用它们自己的内存地址区域来执行工作。工作的变化取决于当前情况和进程的使用。一个进程可以有不同的工作负载和不同需要的数据大小。
进程可以处理各种各样的数据大小。进程的内存区域由如下段组成:
·文本段
这个区域用来存储可执行的代码。
·数据段
数据段由三个区域组成:数据,这个区域存储初始化的数据,比如静态变量;BSS,这个区域存储零初始化的数据,数据初始化为零;
堆(heap),这个区域,malloc()会根据需求动态分配内存。
·堆栈段
这个区域是局部变量、函数参数、返回的存储函数的存放区域。
1.8.进程的优先级和nice值
进程优先级是一个数字,用来确定CPU处理进程的顺序,并可以确定静态(实时)优先级和动态(非实时)优先级。一个具有最高优先级的进程有较大的机会得到在一个处理器上运行的权限。最高静态(实时)优先级99对应于系统优先级0,最低静态(非实时)优先级0对应于系统优先级99. 这些静态(实时)优先级,系统是不能动态改变它们的。对于动态(非实时)的优先级,内核需要使用一个基于进程行为和特征的算法做上下加减5的动态调整。一个进程可以间接的通过使用进程的nice值来改变静态优先级。Linux支持nice值从19(最低优先级)到-20(最高优先级)。默认值是0。nice值越小进程越优先获得CPU运行权限。
1.9.什么是上下文切换
在处理器执行期间,运行进程的信息被存储在处理器的寄存器或者高速缓存中,执行的进程被加载到寄存器的数据集被称为上下文。在切换过程中先存储运行进程的上下文,然后将下一个要运行的进程的上下文恢复到寄存器。进程描述符和内核模式堆栈区域用于存储上下文。这个切换的过程叫做上下文切换(context switching)。一般不能有太多的上下文切换,因为处理器每次要刷新寄存器和高速缓存,以便释放空间给新的进程,此时会导致
性能问题。
1.9.什么是中断
中断处理是优先级最高的任务之一,中断通常由I/O设备产生,比如网络接口卡、键盘、磁盘控制器、等。中断处理是Linux内核通知事件。它告诉内核中断进程执行,并要尽可能地快速执行中断处理,因为有些设备需要快速响应。当一个中断信号到达内核的时候,内核必须从当前执行的进程切换到一个新的进程,以处理这个中断。这意味着中断会导致上下文切换。中断分为两类;硬中断和软中断。硬中断由硬件设备产生,需要快速的响应,软中断被用来处理可以推迟的任务。在一个多处理器的环境中,中断是由每个处理器处理的。将中断绑定到单个处理器上可以提高系统的性能。
1.10.什么是线程
线程是在进程中产生的一个执行单元,在同一个进程中与其他线程并行运行。它们共享相同的资源,比如内存、地址空间、打开的文件等等。它们可以访问同一组应用程序的数据。线程也被称为轻量级的进程。因为它们共享资源,所以在它们中的每个线程不能同时改变它们的共享资源,因此,互斥、锁、序列化等是用户应用程序要实现的机制。
通过拜读赵永刚老师的佳作《Linux性能优化大师》,并加上自己的理解所总结的知识点。如有雷同,纯属巧合。如有维权,请通知我删除。
标签:nic 删除 个数 地址空间 1.2 heap 构建 应用 条件
原文地址:http://blog.51cto.com/yangjunhui/2061050