linux 2.6源代码情景分析笔记之进程9
intel在他的微处理器中引入一个新的汇编指令集,叫做MMX指令,用来加速多媒体应用程序的执行。mmx指令作用于fpu的浮点寄存器。
80x86微处理器并不在tss中自动保存fpu,mmx,xmm寄存器。他们包含某种硬件支持,能在需要时保存这些寄存器的数值,硬件支持由cr0寄存器中的一个ts标志组成。遵循以下规则:
每当执行硬件上下文切换时,设置ts标志。
每当ts标志被设置时执行ESCAPE,MMX,SSE,SSE2指令,控制单元就产生一个device not available异常。
为处理fpu,mmx,xmm寄存器的选择性装入而引入的数据结构。它们存放在进程描述符的thread.i387子字段中,其格式由i387_union联合体描述:
union i387_union {
struct i387_fsave_struct fsave;由具有数学协处理器、也可能有mmx单元的cpu模型使用。
struct i387_fxsave_struct fxsave;由具有see,sse2扩展功能的cpu模型使用。
struct i387_soft_struct soft;由无数学协处理器的cpu模型使用;linux内核通过软件模拟协处理器来支持这些老式芯片。
};
进程描述符包含两个附加的标志:
包含在thread_info描述符的status字段中的TS_USEDFPU标志。它表示进程在当前执行过程中是否使用过fpu,mmx,xmm寄存器。
包含在task_struct描述符的flags字段中的PF_USED_MATH标志。这个标志表示thread.i387子字段的内容是否有意义。该标志在两种情况下被清0.
当进程调用execve()系统调用开始执行一个新程序时,因为控制权将不再返回到前一个程序,所以当前存放在thread.i387中的数据也不再使用。
当在用户态下执行一个程序的进程开始执行一个信号处理程序时。因为信号处理程序与程序的执行流是异步的,因此,浮点寄存器对信号处理程序来说可能是毫无意义的。不过,内核开始执行信号处理程序之前在thread.i387中保存浮点寄存器,处理程序结束后恢复它们。因此信号处理程序可以使用数学协处理器。
struct i387_fsave_struct {
long cwd;
long swd;
long t
相关文档:
1.# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=yourname (在这修改hostname,把yourname换成你想用的名字)
NISDOMAIN=eng-cn.platform.com
2.修改/etc/hosts里面的名字
# vi /etc/hosts
127.0.0.1 localhost.localdomain localhost (在这修改hostname,把末尾的localhost换成你想用的名字)
&nbs ......
1. ps简介
ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的.
2. ps命令及其参数
ps命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键 ......
smartd是一个守护进程(一个帮助程序),它能监视拥有自我监视,分析和汇报技术(Self-Monitoring,
Analysis, and Reporting Technology - SMART)的硬盘。
SMART系统使得硬盘能监视并汇报自己的运行状况。它的一个重要特性是能够预测失败,使得系统管理员
能避免数据丢失。
smartd由kernel-utils包缺省安装。用命令 r ......
对于程序运行过程中的临时文件或临时数据,采用RAMDISK来存放,是一个很好的选择
linux RamDisk 使用简介
1、Ram Disk介绍
1.1 什么是Ram Disk
Ram Disk 就是将内存中的一块区域作为物理磁盘来使用的一种技术。
对于用户来说,可以把RAM disk与通常的硬盘分区(如devhda1)同等对待来使用 ......