1、进程切换需要注意哪些问题?(阿里面试)
保存处理器PC寄存器的值到被中止进程的私有堆栈; 保存处理器PSW寄存器的值到被中止进程的私有堆栈; 保存处理器SP寄存器的值到被中止进程的进程控制块;
保存处理器其他寄存器的值到被中止进程的私有堆栈; 自待运行进程的进程控制块取SP值并存入处理器的寄存器SP; 自待运行进程的私有堆栈恢复处理器各寄存器的值;
自待运行进程的私有堆栈中弹出PSW值并送入处理器的PSW; 自待运行进程的私有堆栈中弹出PC值并送入处理器的PC。
SP:堆栈寄存器SP(stack pointer)存放栈的偏移地址;
PSW:程序状态字寄存器;
2、进程在计算机中的组成(4部分,共同构成进程映像(process image)):
参考:http://www.cnblogs.com/Spermophilus/archive/2013/02/02/2890257.html
- code :将被执行的程序(在内存中或者虚拟内存中)
- data :将被程序调用的数据(可能在栈中也可能在寄存器或者内存或虚拟内存中)
- 系统栈:每个进程有一个或多个这样的栈,用于参数调用或中断后的系统调用(在内存中)
- PCB(进程控制块):操作系统控制进程需要的数据
3、
中断的作用
一方面,有了中断功能,PC系统就可以使CPU和外设同时工作,使系统可以及时地响应外部事件。而且有了中断功能,CPU可允许多个外设同时工作。这样就大大提高了CPU的利用率,也提高了数据输入、输出的速度。 另一方面,有了中断功能,就可以使CPU及时处理各种软硬件
故障
。计算机在运行过程中,往往会出现事先预料不到的情况或出现一些
故障
,如电源掉电、存储出错,运算溢出等等。计算机可以利用
中断系统
自行处理,而不必停机或报告工作人员。
4、
进程和线程的差别
(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位
(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行
(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于
进程的资源.
(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销
明显大于创建或撤消线程时的开销。
5、进程调度算法
先进先出算法 短
进程优先
轮转法
多级反馈队列
6、多线程编程要注意什么问题?(CVTE)
http://wenku.baidu.com/link?url=zFK4gGZd2LRfryw-bIfcofKuLgmv50McIVpL7hi9Pjt98g1-YRz0OC221FdBo9P1Uv3DjFPgAoA28tPo2I8w6Xz0P0tKLaTWvX7IlrjKNCC