叙述正确的是:A主DNS服务器需要启动named进程,而辅DNS服务器不需要。
DNS是域名系统(Domain Name System)的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。这也是DNS的官方说法。
说白了就是在互联网中通过IP地址来进行通信。但是IP地址的表示形式是数字,很难进行记忆(比如116213120232),所以为每个IP取一个人类更易记忆的域名形式,而通过DNS来把解析域名成为IP(将方便人理解的命名格式解析成计算机能够理解的格式,也可以将IP翻译成域名)。
DNS服务器的优缺点
优点:之所以域名解析不需要很长时间,是因为上网接入商,比如北京电信,河南电信等,为了要加速用户打开网页的速度,通常在他们的DNS服务器中缓存了很多域名的DNS记录。
这样这个接入商的用户要打开某个网页时,接入商的服务器不需要去查询域名数据库,而是把自己缓存中的DNS记录直接使用,从而加快用户访问网站的速度,这是优点。
缺点:缺点是上网接入商ISP的缓存会存储一段时间,只在需要的时候才更新,而更新的频率没有什么标准。有的ISP可能1小时更新一次,有的可能长达一两天才更新一次。所以新注册的域名一般来说解析反倒比较快。
而老域名如果更改了DNS记录,但世界各地的ISP缓存数据却并不是立即更新的。这样不同ISP下的不同用户,有的可以比较快的获取新的DNS记录,有的就要等ISP缓存的下一次更新。
如果系统无法检索服务器对广播没有响应,可能是由于以下几个原因:1 网络连接问题:检查网络连接是否正常,包括网络线路、网络设备和网络设置等。
2 防火墙设置问题:检查防火墙设置是否阻止了广播流量,需要开启广播端口或允许广播流量。
3 服务器故障:检查服务器是否出现故障,例如网络故障、服务宕机等。
4 广播设置问题:检查广播设置是否正确,包括广播IP地址、广播端口、广播协议等。
解决方法:
1 检查网络连接是否正常,重新连接网络或更换网络设备。
2 检查防火墙设置,开启广播端口或允许广播流量。
3 检查服务器是否正常工作,重新启动服务或修复故障。
4 检查广播设置是否正确,修改广播IP地址、广播端口、广播协议等。
如果以上方法无法解决问题,可以尝试使用其他工具或方法进行广播,或者联系网络管理员或厂商技术支持人员寻求帮助。虚拟化就是通过某种方式隐藏底层物理硬件的过程,从而让多个 *** 作系统可以透明地使用和共享它。
Hypervisor(虚拟机管理系统)是一种运行在物理服务器和 *** 作系统之间的中间软件层,可允许多个 *** 作系统和应用共享一套基础物理硬件,因此也可以看作是虚拟环境中的“元” *** 作系统,它可以协调访问服务器上的所有物理设备和虚拟机,也叫虚拟机监视器(Virtual Machine Monitor)。
Hypervisor是所有虚拟化技术的核心,非中断地支持多工作负载迁移的能力是Hypervisor的基本功能。
当服务器启动并执行Hypervisor时,它会给每一台虚拟机分配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的客户 *** 作系统。
Hypervisor 之于 *** 作系统类似于 *** 作系统之于进程,它们为执行提供独立的虚拟硬件平台,而虚拟硬件平台反过来又提供对底层机器的虚拟的完整访问。
在典型的分层架构中,提供平台虚拟化的层称为 hypervisor (有时称为 虚拟机管理程序 或 VMM)。
Guest *** 作系统称为 虚拟机 (VM),因为对这些 VM 而言,硬件是专门针对它们虚拟化的。
平台虚拟化的好处很多。美国环境保护署(EPA)报告的一组有趣的统计数据就证明了其好处:EPA 研究服务器和数据中心的能源效率时发现,实际上服务器只有 5% 的时间是在工作的,在其他时间,服务器都处于 “休眠” 状态。
在单个服务器上的虚拟化平台能够改善服务器的利用率,但是减少服务器的数量才是它的最大功用。减少服务器数量意味着减少不动资产、能耗、冷却和管理成本。使用更少的硬件还能提高可靠性。总之,平台虚拟化不仅带来技术优势,还能创造成本和能源优势。
在图 1 中可以看到,hypervisor 是提供底层机器虚拟化的软件层(在某些情况下需要处理器支持), *** 作系统将对机器的底层资源的访问虚拟化为进程。hypervisor 也做一样的事情,但其对象不是进程,而是整个Guest *** 作系统。
hypervisor 分类
hypervisor 可以划分为两大类:
首先是类型 1,这种 hypervisor 是直接运行在物理硬件之上的。
其次是类型 2,这种 hypervisor 运行在另一个 *** 作系统(运行在物理硬件之上)中。
类型 1 hypervisor 的一个例子是基于内核的虚拟机(KVM —— 它本身是一个基于 *** 作系统的 hypervisor)。
类型 2 hypervisor 包括 QEMU 和 WINE。
hypervisor 的构成
hypervisor(不管是什么类型)仅是一个从其来宾 *** 作系统抽象机器硬件的分层应用程序。通过这种方式,每个来宾 *** 作系统看到的仅是一个 VM 而不是真实的硬件机器。
我们大致看一下 hypervisor 的内部组成,以及它在 VM(来宾 *** 作系统)上的表示。
在较高级别上,hypervisor 需要少量设施启动来宾 *** 作系统:一个需要驱动的内核映像、一个配置(比如 IP 地址和所需的内存量)、一个磁盘盒一个网络设备。
磁盘和网络设备通常映射到机器的物理磁盘和网络设备(如图 2 所示)。
最后,需要使用一组来宾 *** 作系统工具启动和管理来宾 *** 作系统。
参考:
>电脑“任务管理器”内“进程”里面程序的意思
1、Winwordexe
2、Taskmgrexe用于Windows任务管理器。它显示你系统中正在运行的进程。该程序使 用Ctrl+Alt+Del 打开,这不是纯粹的系统程序,但是如果终止它,可能 会导致不可知的问题
3、Ttplayerexe 千千静听音乐播放软件
4、QQexe微软Microsoft Word的主程序。该字处理程序是微软 Microsoft Office组件的一部分
5、Algexe微软Windows *** 作系统自带的程序。它用于处理微软 Windows网络连 接共享和网络连接防火墙。这个程序对你系统的正常运行是非常重要的
6、Wdfmgrexe微软microsoftwindowsmediaplayer10 播放器的相关程序。该进程用于减少兼容性问题。这不是纯粹的系统程序,但是如果终止它,可能会导致不可知的问题
7、Svchostexe微软Windows *** 作系统的系统程序,微软官方对它的解释是: Svchostexe 是从动态链接库 (DLL)中运行的服务的通用主机进程名称。这个程序对你系统的正常运行是非常重要,而且是不能被结束的
8、Rsnetsvrexe 瑞星软件的网络安全进程,要让它不启动,在开始菜单的运行”输入 servicesmsc 确定后在服务里面找到这个项,右击完把它禁用就可以了
9、Ravtaskexe瑞星任务计划程序
10、Spoolsvexe Print Spooler 的进程,管理所有本地和网络打印队列及控制所有打印工 作。如果此服务被停用,本地计算机上的打印将不可用。该进程属 Windows 系统服务
11、Ravmondexe 瑞星杀毒软件相关监控程序。注意:RAVMONDexe 也可能是LovegateF木马相关程序。该木马允许攻击者访问你的计算机,窃取密码和个人数据
12、Svchostexe
13、Stormlivexe 暴风影音媒体控制中心
14、Ppsapexe ppstream 每次启动都会另开一个进程 网络加速”
15、Ctfmonexe Microsoft Office 产品套装的一部分。它可以选择用户文字输入程序,和微软Office XP语言条。这不是纯粹的系统程序,但是如果终止它,可能会导致不可知的问题
16、Svchostexe
17、Vm_stiexe VM_STIexe 是电脑摄像头相关支持程序,一般随系统启动
18、Wdqfvruzexe 无
19、Rstrayexe 瑞星卡卡上网安全助手 60的实时监控程序。你结束它的进程后,右下角的一个蓝色小球程序就没了。 RSTrayexe 是负责监控的,基本每种杀 毒软件都带着这种类似的监控程序,防止病毒木马侵入,提醒拦截恶意广告用的
20、Svchostexe
21、Ccenterexe 瑞星信息中心,是瑞星杀毒软件的组件
22、Txplatformexe 腾讯即时通讯客户端相关程序,用于阻止同一个 QQ号在同一台电脑上登陆2次和支持外部添加功能(如添加到用户自定义面板)
csrssexe子系统服务器进程 winlogonexe 管理用户登录 servicesexe 包含很多系统服务
lsassexe 管理ip 安全策略以及启动isakmp/oakley (ike) 和ip 安全驱动程序。
svchostexe windows 2000/xp 的文件保护系统
spoolsvexe将文件加载到内存中以便迟后打印。
explorerexe 资源管理器
internatexe 托盘区的拼音图标。
mstaskexe允许程序在指定时间运行。
regsvcexe允许远程注册表 *** 作。(系统服务)->remoteregister
winmgmtexe提供系统管理信息(系统服务)
inetinfoexemsftpsvc,w3svc,iisadmn
tlntsvrexe tlnrsvr
tftpdexe 实现tftp internet 标准。该标准不要求用户名和密码。
termsrvexe termservice
dnsexe应答对域名系统(dns)名称的查询和更新请求
tcpsvcsexe 提供在pxe可远程启动客户计算机上远程安装 windows 2000
professional 的仓b力
ismservexe 允许在windows advanced server 站点间发送和接收消息 upsexe管理连接到计算机的不间断电源(ups
winsexe为注册和解析netbios 型名称的tcp/ip 客户提供netbios 名称服务
llssrvexe 证书记录服务
ntfrsexe 在多个服务器间维护文件目录内容的文件同步
rssubexe控制用来远程储存数据的媒体 locatorexe 管理rpc名称服务数据库 lserverexe 注册客户端许可证 dfssvcexe管理分布于局域网或广域网的逻辑卷
clipsrvexe 支持“剪贴簿查看器”,以便可以从远程剪贴簿查阅剪贴页面 msdtcexe并列事务,是分布于两个以上的数据库,消息队列,文件系统或其它事务保护护资源管理器
faxsvcexe帮助您发送和接收传真 cisvcexe 索引服务
dmadminexe磁盘管理请求的系统管理服务
mnmsrvcexe允许有权限的用户使用 netmeeting 远程访问windows桌面 netddeexe提供动态数据交换(dde)的网络传输和安全特性 smlogsvcexe配置性能日志和警报
rsvpexe为依赖质量服务(qos)的程序和控制应用程序提供网络信号和本地通信控制 安装功功能
rsengexe协调用来储存不常用数据的服务和管理工具 rsfsaexe 管理远程储存的文件的 *** 作
grovelexe扫描零备份存储(sis)卷上的重复文件,并且将重复文件指向一个数据存储 点,以节省磁盘空间(只对ntfs 文件系统有用)
scardsvrex 对插入在计算机智能卡阅读器中的智能卡进行管理和访问控制
snmpexe包含屏蔽程序可以监视网络设备的活动并且向网络控制台工作站汇报 snmptrapexe接收由本地或远程snmp屏蔽程序产生的陷阱(trap )消息,然后将消息传
递到运行在这台计算机上snmp管理程序
utilmanexe 从一个窗口中启动和配置辅助工具
msiexecexe依据msi文件中包含的命令来安装、修复以及删除软件
XP醒目xp系统进程全攻略实用
最基本的系统进程(也就是说,这些进程是系统运行的基本条件,有了这些进程,系统就能正 常运行):
smssexe Session Manager csrssexe子系统服务器进程 winlogonexe 管理用户登录 servicesexe 包含很多系统服务
lsassexe 管理IP安全策略以及启动丨SAKMP/Oakley (IKE) 和IP安全驱动程序。(系统服务)
产生会话密钥以及授予用于交互式客户/服务器验证的服务凭据(ticket)。(系统服务)
svchostexe包含很多系统服务
svchostexe
SPOOLSVEX将文件加载到内存中以便迟后打印。(系统服务) explorerexe 资源管理器 internatexe 托盘区的拼音图标
附加的系统进程(这些进程不是必要的,你可以根据需要通过服务管理器来增加或减少) mstaskexe允许程序在指定时间运行。(系统服务) regsvcexe允许远程注册表 *** 作。(系统服务) winmgmtexe提供系统管理信息(系统服务)。
inetinfoexe 通过Internet 信息服务的管理单元提供FTP连接和管理。(系统服务) tlntsvrexe 允许远程用户登录到系统并且使用命令行运行控制台程序。 (系统服务)
允许通过Internet 信息服务的管理单元管理Web和FTP服务。(系统服务) tftpdexe 实现TFTP Internet 标准。该标准不要求用户名和密码。远程安装服务的一部分。
(系统服务)
termsrvexe 提供多会话环境允许客户端设备访问虚拟的 Windows 2000 Professional 桌面会话以及运行在服务器上的基 于Windows的程序。(系统服务)
dnsexe应答对域名系统(DNS)名称的查询和更新请求。(系统服务)
以下服务很少会用到,上面的服务都对安全有害,如果不是必要的应该关掉
tcpsvcsexe 提供在PXE可远程启动客户计算机上远程安装 Windows 2000 Professional 的能力。(系统服务)
支持以下 TCP/IP 服务:Character Generator, Daytime, Discard, Echo,以及 Quote of the Day。(系统服务)
ismservexe 允许在Windows Advanced Server 站点间发送和接收消息。(系统服务) upsexe管理连接到计算机的不间断电源(UPS)。(系统服务)
winsexe为注册和解析NetBIOS型名称的TCP/IP客户提供NetBIOS名称服务。(系统服务)
llssrvexe License Logging Service(system service)
ntfrsexe 在多个服务器间维护文件目录内容的文件同步。(系统服务)
RsSubexe控制用来远程储存数据的媒体。(系统服务)
locatorexe 管理RPC名称服务数据库。(系统服务)
dfssvcexe管理分布于局域网或广域网的逻辑卷。(系统服务)
clipsrvexe 支持“剪贴簿查看器”,以便可以从远程剪贴簿查阅剪贴页面。 (系统服务) msdtcexe并列事务,是分布于两个以上的数据库,消息队列,文件系统,或其它事务保护资 源管理器。(系统服务)
faxsvcexe帮助您发送和接收传真。(系统服务) cisvcexe Indexing Service(system service) dmadminexe磁盘管理请求的系统管理服务。(系统服务)
mnmsrvcexe允许有权限的用户使用 NetMeeting 远程访问Windows桌面。(系统服务) netddeexe提供动态数据交换(DDE)的网络传输和安全特性。(系统服务) smlogsvcexe配置性能日志和警报。(系统服务)
rsvpexe为依赖质量服务(QoS)的程序和控制应用程序提供网络信号和本地通信控制安装功 能。(系统服务)
RsEngexe协调用来储存不常用数据的服务和管理工具。(系统服务)
RsFsaexe管理远程储存的文件的 *** 作。(系统服务)
grovelexe扫描零备份存储(SIS)卷上的重复文件,并且将重复文件指向一个数据存储点,以 节省磁盘空间。(系统服务)
SCardSvrexe对插入在计算机智能卡阅读器中的智能卡进行管理和访问控制。 (系统服务) snmpexe包含屏蔽程序可以监视网络设备的活动并且向网络控制台工作站汇报。 (系统服务) snmptrapexe接收由本地或远程SNMP屏蔽程序产生的陷阱消息,然后将消息传递到运行在这 台计算机上SNMP管理程序 。(系统服务)
UtilManexe从一个窗口中启动和配置辅助工具。(系统服务)
msiexecexe依据MSI文件中包含的命令来安装、修复以及删除软件。(系统服务)
任务管理器里的各个进程
Csrss
这是Windows的核心部份之一,全称为Client Server Process。我们不能结束该进程。这个只有4K的进程经常消耗3MB到6MB左右的内存,建议不要修改此进程,让它运行好了。
Ctfmon
这是安装了 WinXP(尤其是安装ofice XP)后,在桌面右下角显示的“语目栏”,如果 不希望它出现,可通过下面的步骤取消:双击“控制面板区域和语言设置”,单击 “语言”标签,单击“详细信息”按钮,打开“文字服务和输入语言”对话框,单击下面“首选项”的“语言栏”按钮,打开“语言栏设置”对话框,取消“在桌面上显示语言栏”的勾选即可。不要小看这个细节,它会为你节省15MB到4MB的内存。
dovldr32
如果你有一个Creative SBLive系列的声卡,就可能击现这个进程,它占用大约 23MB 到26MB的内存。有些奇怪的是,当我从任务栏禁止了这个进程后,通过 DVD实验,并没有发生任何错误。但如果你将这个文件重新命名了,就会出现windows的文件保护警告窗口,而且Creative Mixer和AudioHQ程序加载出错。当然你希望节省一些内存,那么可以将它禁止。
explorer
这可不是Internet Explorer ,explorerexe 总是在后台运行,它控制着标准的用户界面、进程、命令和桌面等,如果打开“任务管理器”,就会看到一个explorerexe 在后台运行。根据系统的字体、背景、活动桌面等情况的不同,通常会消耗58MB到36MB内存。
Idle
如果你在“任务管理器”看到它显示 99%/的占用率,千万不要害怕,实际上这是好事,因为这表示你的计算机目前有99%的性能等待你使用!这是关键进程,不能结束。该进程 只有16KB的大小,循环统计 CPU的空闲度。
IEXPLORE/iexplore
这才是旧浏览器。当我们用它上网冲浪时,它占有 73MB甚至更多的内存。当然,这 个随着打开的浏览器窗口的增加而增多。 但当关闭所有IE窗口时,它并不会从任务管理器 消失,EXPLOREEXE衣然在后台运行着,它的作用是加快我们再一次打开 旧的速度。
Generic Host Process for Win32 Services
如果你安装了ZoneAlarm以后,在连接 Internet 时ZonAlarm总是抱怨链接不到 Internet ,那么你就应该好好看看下面的文字。Svhostexe就是Generic Service Host ,意思就是说,它是其他服务的主机。如果你的Internet连接不工作了,很有可能是你禁止了一些必须的服务,比如如果你禁止了“DNS搜索”功能,那么当你输入> *** 作系统有四个基本特征 , 如下:
1并发(concurrence)
并行性与并发性这两个概念是既相似又区别的两个概念。并行性是指两个或者多个事件在同一时刻发生,这是一个具有微观意义的概念,即在物理上这些事件是同时发生的;而并发性是指两个或者多个事件在同一时间的间隔内发生,它是一个较为宏观的概念。在多道程序环境下,并发性是指在一段时间内有多道程序在同时运行,但在单处理机的系统中,每一时刻仅能执行一道程序,故微观上这些程序是在交替执行的。 应当指出,通常的程序是静态实体,它们是不能并发执行的。为了使程序能并发执行,系统必须分别为每个程序建立进程。进程,又称任务,简单来说,是指在系统中能独立运行并作为资源分配的基本单位,它是一个活动的实体。多个进程之间可以并发执行和交换信息。一个进程在运行时需要运行时需要一定的资源,如 cpu,存储空间,及i/o设备等。在 *** 作系统中引入进程的目的是使程序能并发执行。
2共享 (sharing)
所谓共享是指,系统中的资源可供内存中多个并发执行的进程共同使用。由于资源的属性不同,故多个进程对资源的共享方式也不同,可以分为:互斥共享方式 和 同时访问方式
3虚拟 (virtual)
是指通过技术吧一个物理实体变成若干个逻辑上的对应物。在 *** 作系统中虚拟的实现主要是通过分时的使用方法。显然,如果n是某一个物理设备所对应的虚拟逻辑设备数,则虚拟设备的速度必然是物理设备速度的1/n。
4异步 (asynchronism)
在多道程序设计环境下,允许多个进程并发执行,由于资源等因素的限制,通常,进程的执行并非“一气呵成”,而是以“走走停停”的方式运行。内存中每个进程在何时执行,何时暂停,以怎样的方式向前推进,每道程序总共需要多少时间才能完成,都是不可预知的。或者说,进程是以一步的方式运行的。尽管如此,但只要运行环境相同,作业经过多次运行,都会获得完全相同的结果,因此,异步运行方式是运行的。
可见, *** 作系统为了使程序并发执行而产生了进程。
进程的定义:可并发执行的程序在一个数据集合上的运行过程。
进程的特征:
1动态性 进程既然是进程实体的执行过程,因此进程是有一定的生命期。而程序只是一组有序指令的集合,并放在某种介质上,本身无运行的含义,因此程序是个静态的实体。
2并发性
3独立性 这是指进程实体是一个能独立运行的基本单位,同时也是系统种独立获得资源和调度的基本单位。
4异步性
5结构特征 从结构上看,进程实体是由程序段、数据段及进程控制块三部分组成。
(进程控制块(PCB):进程控制块是进程实体的一部分,它记录了 *** 作系统所需要的、用于描述进程情况及控制进程运行所需的全部信息。os 是根据PCB来对并发执行的进程进行控制和管理的)
关于进程的总结:
定义:可并发执行的程序在一个数据集合上的运行过程,每个进程有一个自己的地址空间以及一个单一的控制流程。
要解决的问题:为了使程序能并发执行,(要并发执行就要隔离进程,使进程独立,即每个进程有属于自己的数据段、程序段、进程控制块)
线程的出现:
我们首先回顾进程的两个基本属性:(1)进程使一个可拥有资源的独立单位 (2)进程同时又是一个可以独立调度和分派的基本单位。正是由于这两个基本属性,才使进程成为一个能独立运行的基本单位,从而构成了进程并发执行的基础。
为了使程序能并发执行,系统必须进行以下 *** 作:
(1) 创建进程。创建一个进程时必须为之人、分配所必需的、除处理器以外的所有资源,如内存空间、I/O设备以及建立相应的PCB
(2) 撤消进程。系统在撤消进程时,需要先对这这些资源进行回收,然后再撤销PCB
(3) 进程切换。在对进程进行切换时,由于要保留当前进程的CPU环境和设置新选中的进程的CPU环境,为此须花费不少处理器时间。
简言之,由于进程是一个资源的拥有者,因而在进程的创建、撤销、和切换的过程中,系统必须为之付出较大的时空开销,也正因为如此,在系统中设置的进程的数目不宜过多,进程的切换的频率也不宜过高,但这也就限制了并发程度的进一步提高。为了解决这个问题,不少 *** 作系统的学者们想到:将进程的两个属性分开,由 *** 作系统分开处理。即对作为调度和分派的基本单位,不同时作为独立分配资源的单位,以使之轻装运行;而对拥有资源的基本单位,又不频繁地对之进行切换,在这种思想的指导下,产生了线程的概念。
线程引入的原因: 为了减少程序并发执行所付出的时空开销,使os具有更好的并发性。
在引入线程的os 中,线程是进程中的一个实体(进程中的一个或多个指令执行流),是被系统独立调度和分派的基本单位。线程基本上不再拥有系统资源,(只拥有一点在运行中必不可少的资源,如程序计数器、寄存器和栈),但它可与同属一个进程的其他线程功能共享进程所拥有的全部资源。线一个线程可以创建和撤销另一个线程;同一进程中的多个线程之间可以并发执行。
线程与进程的比较:
线程具有许多传统进程所具有的特征,故又称为轻型线程或进程元;而把传统的进程称为重型进程。在引入了线程的os中,通常一个进程拥有若干个线程。下面从四个方面来比较线程与进程。
1调度
在“原始”的OS中,拥有资源的基本单位和独立调度、分配的基本单位都是进程。而在引入线程的OS中,则把线程作为调度和分派的基本单位,而把进程作为资源拥有的基本单位,使传统进程的两个属性分开,线程便能轻装运行,从而可以显著的提高系统并发程度。在同一进程中,线程的切换不会引起进程切换,在由一个进程中的线程切换到另一进程中的线程时,将会引起进程切换。
2并发性
在引入线程的OS中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间亦可以并发执行,因而使OS具有更好的并发性,从而能更有效的使用系统资源和提高系统吞吐量。
3拥有资源
不论是“原始”的OS,还是设有线程的 *** 作系统,进程都是拥有资源的一个独立单位,它可以拥有自己的资源。线程自己基本不再拥有系统资源,但它可以访问其隶属进程的资源。
4系统开销
由于在创建或撤销进程时,系统都要为之分配或回收资源,如内存空间,I/O设备等。因为,OS所付出的开销将显著地大于在创建或撤销线程时的开销。类似的,在进行进程切换时,涉及到整个当前进程CPU环境的保存以及新被调度运行的进程的CPU 环境设置。而线程切换只须保存和设置少量寄存器的内容,并不涉及存储器管理方面的 *** 作。可见,进程切换的开销也远大于线程切换的开销。此外,由于同一进程中的多个线程具有相同的地址空间,使它们之间的同步和通信的实现变得比较容易。
这个机制在现代 *** 作系统的实现主要可分为两大类。即根据 *** 作系统内核是否对线程可感知,分为内核线程和用户线程。
1内核线程 无论是用户进程中的线程还是系统进程中的线程,它们的创建、撤销和切换都是由内核实现的。在内核中保留了一张线程控制块,内核根据该控制块而感知线程的存在并对线程进行控制。
2用户线程 它仅存在于用户级中,对于这种线程的创建、撤销和切换,都不利用系统调用实现,因而这种线程与内核无关。相应地,内核也并不知道用户级线程的存在。( 调度的实现方式是采用在用户空间增加运行库,这些运行库被称为“线程包”,每当用户进程获得CPU控制权,线程运行库决定该从哪里开始运行)
( 实际上,上面所说的线程是 *** 作系统调度的基本单位,实际上指的只是内核线程。 *** 作系统在调度时,参考各进程内的线程运行情况做出调度决定,如果一个进程中没有就绪态的线程,那么这个进程也不会被调度占用CPU
在Windows 2000中, *** 作系统进行调度时根本就不理采线程是属于哪个进程的,只是将所有的就绪线程统一排成若干个优先级队列,然后进行调度。在这个情况下,线程的确成了调度的最小单位)。
关于线程的总结:
出现的背景:由于进程是一个资源的拥有者,因而在进程的创建、撤销、和切换的过程中,系统必须为之付出较大的时空开销,限制了并发程度的进一步提高。
要解决的问题:解决进程的创建、撤销、和切换的过程中,系统必须为之付出较大的时空开销的问题
解决的方法:将进程的两个属性分开,由 *** 作系统分开处理。把“独立调度、分配的基本单位”这个属性分离出来作为线程;而把进程作为资源拥有的基本单位,线程作为进程中的一个实体而存在。
应用程序域的出现:
(来自msdn)
在net出现以前,一个进程下,只能运行一个应用程序,而在,net出现后,一个进程下,可以运行多个应用程序,这都是因为应用程序域的出现。
以前使用进程边界来隔离在同一台计算机上运行的应用程序。每一个应用程序被加载到单独的进程中,这样就将该应用程序与在同一台计算机上运行的其他应用程序相隔离。
隔离这些应用程序的原因在于内存地址是与进程相关的;在目标进程中,不能通过任何有意义的方式使用从一个进程传递到另一个进程的内存指针。此外,您不能在两个进程间进行直接调用。您必须代之以使用代理,它提供一定程度的间接性。
应用程序域提供安全而通用的处理单元,公共语言运行库可使用它来提供应用程序之间的隔离。您可以在具有同等隔离级别(存在于单独的进程中)的单个进程中运行几个应用程序域,而不会造成进程间调用或进程间切换等方面的额外开销。在一个进程内运行多个应用程序的能力显著增强了服务器的可伸缩性。
隔离应用程序对于应用程序安全也是十分重要的。例如,您可以在单个浏览器进程中运行几个 Web 应用程序中的控件,同时使这些控件不能访问彼此的数据和资源。
应用程序域所提供的隔离具有以下优点(引入原因):
在一个应用程序中出现的错误不会影响其他应用程序。因为类型安全的代码不会导致内存错误,所以使用应用程序域可以确保在一个域中运行的代码不会影响进程中的其他应用程序。
能够在不停止整个进程的情况下停止单个应用程序。使用应用程序域使您可以卸载在单个应用程序中运行的代码。
应用程序域形成了托管代码的隔离、卸载和安全边界。线程是公共语言运行库用来执行代码的 *** 作系统构造。在运行时,所有托管代码均加载到一个应用程序域中,由特定的 *** 作系统线程来运行。
应用程序域和线程之间不具有一对一的相关性。在任意给定时间,在单个应用程序域中可以执行几个线程,而且特定线程并不局限在单个应用程序域内。也就是说,线程可以自由跨越应用程序域边界;不为每个应用程序域创建新线程。
在任意给定时间,每一线程都在一个应用程序域中执行。运行库会跟踪在哪些应用程序域中有哪些线程正在运行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)