您的位置:首页 > 其它

操作系统小练习5

2017-04-04 15:31 169 查看
进程和线程

线程的划分尺度小于进程,使得多线程程序的并发性高。

进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。

线程在执行过程中与进程有区别。每个独立的线程有一个程序运行的入口,顺序执行序列和程序的出口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。

从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。

进程是具有一定独立功能的程序关于某个数据集合的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。

线程是进程的一个实体,是CPU调度和分派的基本单位。线程自己基本不用于系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可同属一个进程的其他线程共享进程所拥有的所有资源。

一个线程可以创建和撤销另一线程,统一进程中的多个线程间可以并发执行。

主要差别在于他们是不同的操作系统资源管理方式。

进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其他进程产生影响。而线程只是一个进程中不同执行路径。

线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉了就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源大,效率较差,但对于一些要求同时进行并且共享某些变量的并发操作,只能用线程,不能用进程。

进程切换和进程调度

进程调度:无论在批处理系统还是分时处理系统,用户进程数一般都大于处理机数,这将导致它们互相争夺处理机。另外,系统进程也同样需要使用处理机,这就要求进程调度程序按一定的策略,动态地将处理机分配给处于就绪队列中的某一个进程。

进程切换:从正在运行的进程中收回处理机,然后再使带运行进程来占用处理机,这里所说的从某个进程收回处理机,实质上就是把进程存放在处理机的寄存器中的中间数据栈存起来,从而把处理机的寄存器腾出来让其他进程使用。

MMU由硬件实现

文件目录和目录文件

文件目录:把所有的PCB组织在一起就构成了文件目录,即文件控制块的有序集合。

目录文件:为了实现对文件目录的管理,通常将文件目录以文件的形式保存在外存,这个文件就叫做目录文件。

常用以太网支持的工作模式:广播模式,多播模式,直接模式,混合模式

广播模式(broad cast model):它的物理地址(mac)是0xffffff的帧为广播帧,工作在广播模式的网卡接收广播帧。它将会接收所以目的地址为广播地址的数据包,一般所有的网卡都会设置为这个模式。

多播模式(multicast model):多播传送地址作为目的物理地址的帧可以被组内的其他主机同时接收,而组外主机却接收不到。但是,如果将网卡设置为多播传送模式,他可以接收所有的多播传送帧,而不论它是不是组内成员。当数据包的目的地址为多播地址,而且网卡地址是属于那个多播地址所代表的多播组时,网卡将接纳此数据包,即使一个网卡并不是一个多播组的成员,程序也可以将网卡设置为多播模式而接受那些多播的数据包。

直接模式(direct model):工作在直接模式下的网卡只接收目的地址是自己mac地址的帧,只有当数据包的目的地址为网卡自己的地址时,网卡才接受它。

混杂模式(promiscuous model):工作在混杂模式下的网卡接收所有流过网卡的帧,信包捕获程序就是这种模式下运行的。网卡的缺省工作模式包括广播模式,即它只接收广播帧和发给自己的帧。如果采用混杂模式,一个站点的网卡将接受同一网络内所有站点所发送的数据包这样就可以到达对于网络信息监视捕获的目的。它将接收所有经过的数据包,这个特性是编写网络监听程序的关键。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: