51Testing软件测试网"a#u H[,ucN 1、什么是进程(Process)和线程(Thread)?有何区别?51Testing软件测试网;Q V4uE5Eu
bn$f,f
[&_Ce9l){bT4gg"k0 进程是具有一定独
立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是CPU调度和分派的基本单位,它
是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同
属一个进程的其他的线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行。51Testing软件测试网8~*?.I6F/G!Y7h
51Testing软件测试网?a'j9@2A.b 进程与应用程序的区别在于应用程序作为一个静态文件存储在计算机系统的硬盘等存储空间中,而进程则是处于动态条件下由操作系统维护的系统资源管理实体。51Testing软件测试网(g:wL~[Ub|'aG
51Testing软件测试网r1d,vd[Q,H2h 2、Windows下的内存是如何管理的?
~:Nl.|B}W]2S0MN'G,W5i
rY0 Windows提供了3种方法来进行内存管理:虚拟内存,最适合用来管理大型对象或者结构数组;内存映射文件,最适合用来管理大型数据流(通常来自文件)以及在单个计算机上运行多个进程之间共享数据;内存堆栈,最适合用来管理大量的小对象。51Testing软件测试网5CI%sPS
6p&x uJ~Yp0 Windows操纵内存可以分两个层面:物理内存和虚拟内存。51Testing软件测试网_XMhT@hc
51Testing软件测试网(}Ik4?EgI`
其中物理内存由系统管理,不允许应用程序直接访问,应用程序可见的只有一个2G地址空间,而内存分配是通过堆进行的。对于每个进程都有自己的默认堆,当
一个堆创建后,就通过虚拟内存操作保留了相应大小的地址块(不占有实际的内存,系统消耗很小)。当在堆上分配一块内存时,系统在堆的地址表里找到一个空闲
块(如果找不到,且堆创建属性是可扩充的,则扩充堆大小),为这个空闲块所包含的所有内存页提交物理对象(在物理内存上或硬盘的交换文件上),这时就可以
访问这部分地址。提交时,系统将对所有进程的内存统一调配,如果物理内存不够,系统试图把一部分进程暂时不访问的页放入交换文件,以腾出部分物理内存。释
放内存时,只在堆中将所在的页解除提交(相应的物理对象被解除),继续保留地址空间。51Testing软件测试网(FcN!{
z6\l.]w
51Testing软件测试网pG'gZGw:_#_ 如果要知道某个地址是否被占用/可不可以访问,只要查询此地址的虚拟内存状态即可。如果是提交,则可以访问。如果仅仅保留,或没保留,则产生一个软件异常。此外,有些内存页可以设置各种属性。如果是只读,向内存写也会产生软件异常。51Testing软件测试网Myf'X3ZqD:{#@Q
NN
}yW,fDw.}0 3、Windows消息调度机制是?
K1P_(Dn051Testing软件测试网\La)ke8?` A)指令队列;B)指令堆栈;C)消息队列;D)消息堆栈
&Qv@rjgWWL0Wymq&@:U3J1C0 答案:C
'e&E3I;Ks&RZ!G5x0,i+W8nS&bW%VlC(jN x%y0
处理消息队列的顺序。首先Windows绝对不是按队列先进先出的次序来处理的,而是有一定优先级的。优先级通过消息队列的状态标志来实现的。首先,最
高优先级的是别的线程发过来的消息(通过sendmessage);其次,处理登记消息队列消息;再次处理QS_QUIT标志,处理虚拟输入队列,处理
wm_paint;最后是wm_timer。
_t+F6I.E051Testing软件测试网D-u)T5?Xq 4、描述实时系统的基本特性
6LN1f5L-V\:n&[051Testing软件测试网4K$xv&Zy0Js'] 在特定时间内完成特定的任务,实时性与可靠性。
J@iK(wxJ00p&e;Ei][*g*^5@;F0 所谓“实时操作系统”,实际上是指操作系统工作时,其各种资源可以根据需要随时进行动态分配。由于各种资源可以进行动态分配,因此,其处理事务的能力较强、速度较快。51Testing软件测试网nX*M[GKq.F
51Testing软件测试网5F{oS:m:g%G'rhw S$a 5、中断和轮询的特点
C O/z
d*biE08{ rA1Z `0
对I/O设备的程序轮询的方式,是早期的计算机系统对I/O设备的一种管理方式。它定时对各种设备轮流询问一遍有无处理要求。轮流询问之后,有要求的,
则加以处理。在处理I/O设备的要求之后,处理机返回继续工作。尽管轮询需要时间,但轮询要比I/O设备的速度要快得多,所以一般不会发生不能及时处理的
问题。当然,再快的处理机,能处理的输入输出设备的数量也是有一定限度的。而且,程序轮询毕竟占据了CPU相当一部分处理时间,因此,程序轮询是一种效率
较低的方式,在现代计算机系统中已很少应用。51Testing软件测试网D?!kL
hzX4S
51Testing软件测试网A
vdOly"A
U 程序中断通常简称中断,是指CPU在正常运行程序的过程中,由于预先安排或发生了各种随机的内部或外部事件,使CPU中断正在运行的程序,而转到为响应的服务程序去处理。
3G%}G7zT#F051Testing软件测试网1tal!n)i7[t.v:v 轮询——效率低,等待时间很长,CPU利用率不高。
#Ph#Gg%G"R]1{2|u05u3F8`N-_1lk0 中断——容易遗漏一些问题,CPU利用率高。51Testing软件测试网!?%e-Fx2eJa)|^
51Testing软件测试网uH
DiAj%n 6、什么是临界区?如何解决冲突?
9Hk8w
_%xF4@0.Y9G6hj%V:e+g0 每个进程中访问临界资源的那段程序称为临界区,每次只准许一个进程进入临界区,进入后不允许其他进程进入。51Testing软件测试网$MKf2yIC!T
51Testing软件测试网 Qo2R-Y;E9EP (1)如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入;
\6t DH:r3{
z051Testing软件测试网8i8Uq
@.u;wZhR"f (2)任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待;51Testing软件测试网1nNoE2b
s
!Z`0F9EX%ndM*G%C0 (3)进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区;
p
j.T
t)]*P051Testing软件测试网W;o(`.R$x Ft!f (4)如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。
0L(s^r ]}6Xs]u051Testing软件测试网?L g Q0C)N k} 7、说说分段和分页
o6\7L7am:Oh?(p0
y6g-AK a y_8e0 页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。51Testing软件测试网/|uoz!yy0G
O$]
A kw9ik0 段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。
3?)Xoe*QT*K#x+?0X|&QT)as0 页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面。段的长度却不固定,决定于用户所编写的程序,通常由编辑程序在对源程序进行编辑时,根据信息的性质来划分。
9E7["[{ zd0!LNk6v!w*u'^
x0 分页的作业地址空间是一维的,即单一的线性空间,程序员只须利用一个记忆符,即可表示一地址。分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。
*r$bi(S,Fy051Testing软件测试网o2d?c E:u*H+L-r9M 8、说出你所知道的保持进程同步的方法?51Testing软件测试网5KP(V&j`
51Testing软件测试网E ?_`N m8vUV!r 进程间同步的主要方法有原子操作、信号量机制、自旋锁、管程、会合、分布式系统等。51Testing软件测试网$},o7LaV l"N
I u+RvJ(W{0 9、Linux中常用到的命令
XTiLTgO.l
Q051Testing软件测试网"Bui!I-tvf 显示文件目录命令ls 如ls
.]8UbTI(D \rNd051Testing软件测试网A'{6fXt(`-U8E 改变当前目录命令cd 如cd /home
k
]B!o1c4C051Testing软件测试网r#P'R%Vl!A$mb*i 建立子目录mkdir 如mkdir xiong
.v_m
jkS
FY051Testing软件测试网&T9fYGZ6U:l 删除子目录命令rmdir 如rmdir /mnt/cdrom
s^kd9JR7@0
gg!yPn0 删除文件命令rm 如rm /ucdos.bat51Testing软件测试网,l)RLVx8w
51Testing软件测试网.}z8ZvMSPs 文件复制命令cp 如cp /ucdos /fox51Testing软件测试网b1\C-t'_5v7a'Rk
lc6T:Ba)z0 获取帮助信息命令man 如man ls
,u/t3KvI051Testing软件测试网XZ;t FWQT 显示文件的内容less 如less mwm.lx
^1[DtJ7{v*j051Testing软件测试网;[$]O:G"{ 重定向与管道type 如type readme>>direct,将文件readme的内容追加到文direct中
.l:o"s)dt)M0