什么是层次结构

什么是层次结构
09-12-17  匿名提问 发布
2个回答
时间
投票
  • 0

    chenyingk

    如今使用的Pc操作系统经历了从DOS到 windows的发展过程。在DOS年代,系统中的硬件设备必须通过Confis.sys和Autoexec.bat两个配置文件在系统初始化过程中加载驱动程序来运行。而软件的配置信息,通常是由软件的编写者根据他自己所喜好的方式加以保存。随后出现的windows 3.x系统,使得这种情况发生了改变。
        在windows 3.x中,系统通过Win.ini、System.ini、Control.ini、program.ini等INI文件来保存所有有关操作系统和应用程序的配置信息。其中前两者的作用尤为重要,System.ini负责配置硬件,而win.ini负责桌面设置和应用程序的运行等工作。 随着windows的普及,一些开发者过去没有注意到的问题也逐渐浮现出来。由于各个应用程序不断地往INI文件中添加自己的配置信息,而从不负责删除各INI文件中那些过时、无用的信息,所以随着系统内应用程序数量不断增加,INI文件就变得越来越大,在INI文件中查找相应信息的速度也越来越慢,再加上INI文件最大不能超过64KB,很快这种公用System.ini、Win.ini的管理方式就受到极大的挑战与质疑。
        于是,人们在原有基础上提出了改进的方法。各个应用程序开始使用自己的INI文件来解决容量问题,比如Word 6.0就使用Word6.ini存放其配置信息。这样一来,INI文件大小的限制被很好解决了。但这样做又带来了新的麻烦,系统中出现了太多的INI文件,要想集中管理,而且搞清楚它们之间的关系变成了非常困难的事情。INI文件的另外—个致命缺陷仍然没有好的解决办法。由于INI文件是—个文本文件,所以任何用户都可以使用任意的文本编辑器来编辑它。如果用户在编辑INI文件时不小心修改了它的内容和格式,或者被不负责任的程序胡乱修改了其他应用程序所需要的数据,就有可能导致非常严重的后果。系统会出现许多莫名其妙的错误,死机、无法启动。因为这是系统结构性的弊端,所以在windows 95问世以前,大家都没有很好的解决方法。
        在windows 3.x的升级版Windows 95出现时,微软决定把Windows NT中得到成功应用的注册表概念引入进来。其实质就是利用一个功能强大的注册表数据库来统—集中地管理系统硬件设施、软件配置等信息,从而方便管理并增强系统的稳定性。

        注册表(Registry)是一个什么样的表格呀?嘿嘿!傻了吧。注册表它不是一个什么表格,而是Windows的一个内部数据库,是一个巨大的树状分层的数据库,它是微软专门为其32位操作系统(如Windows NT、Windows 98等)设计的一个系统管理数据库。

    注册表记录了用户安装在机器上的软件和每个程序的相互关联关系;记录了计算机的硬件配置,包括自动配置的即插即用的设备和已有的各种设备。

    注册表中存放着各种参数,直接控制着 Windows  的启动、硬件驱动程序的装载以及一些 Windows  应用程序的运行,从而在整个系统中起着核心作用。它包括:

       (1)软、硬件的有关配置和状态信息,注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据。

       (2)联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述、状态和属性。

       (3)性能记录和其它底层的系统状态信息,以及其它数据。

        如果注册表受到了破坏,轻者使 Windows 的启动过程出现异常,重者可能会导致整个系统的完全瘫痪。因此正确地认识、使用,特别是及时备份以及有问题时恢复注册表,对Windows用户来说就显得非常重要。


       总的来说,注册表实际上就是一个以层次结构保存和检索的复杂的数据库,它包含了应用程序和系统软硬件的全部配置、初始化信息以及其他重要数据。从一般用户的角度看,注册表系统由注册表数据库和注册表编辑器两部分组成。

       注册表编辑器(Regedit.exe)是一个专门用来编辑注册表的程序,没有它我们根本无法进行注册表的基本的浏览、编辑和修改。(除非你知道用其他的方法来进行编辑)

         注册表是windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着windows的启动、硬件驱动程序的装载以及一些windows应用程序的运行,从而在整个系统中起着核心作用。 这些作用包括了软、硬件的相关配置和状态信息,比如注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据等,联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述、状态和属性,性能记录和其他底层的系统状态信息,以及其他数据等。



       具体来说,在启动Windows时,Registry会对照已有硬件配置数据,检测新的硬件信息;系统内核从Resistry中选取信息,包括要装入什么设备驱动程序,以及依什么次序装入,内核传送回它自身的信息,例如版权号等;同时设备驱动程序也向Registry传送数据,并从Registry接收装入和配置参数,一个好的设备驱动程序会告诉Resistry它在使用什么系统资源,例如硬件中断或DMA通道等,另外,设备驱动程序还要报告所发现的配置数据;为应用程序或硬件的运行提供增加新的配置数据的服务。配合INI文件兼容16位Windows应用程序,当安装—个基于Windows 3.x的应用程序时,应用程序的安装程序Setup像在windows中—样创建它自己的INI文件或在Win.ini和System.ini文件中创建入口;同时windows还提供了大量其他接口,允许用户修改系统配置数据,例如控制面板、设置程序等。
        如果注册表受到了破坏,轻则使windOWS的启动过程出现异常,重则可能会导致整个windows系统的完全瘫痪。因此正确地认识、使用,特别是及时备份以及有问题恢复注册表对windows用户来说就显得非常重要。

        INI文件是早期Windows 3.X系统下对系统软件和硬件进行配置的文件,主要包括了System.ini和Win.ini,在其中保存了登录硬件和软件的各种初始化信息,以便系统建立符合要求的工作环境。因为每一个设备或者应用程序都可以建立自己的INI文件,所以造成INI文件众多,为INI文件的管理增加了难度,特别是其配置都是采用局域化的方式,因此要在网络上实现远程访问几乎是不可能的。

       为了克服上述问题,从Windows95起引进了注册表。为了保持Windows系统的向下兼容性,Windows9x中仍然保留了INI文件。在形式上,注册表与INI文件的区别主要有以下几点:
       1、注册表采用的是二进制数据,INI文件是简单的文本形式;显然INI文件能够被众多文本编辑器所修改,所以 用起来很方便,但稳固性却由此丧失掉了,再加上文本组成的数据本身在组成更高级的数据结构方面有缺陷,许多在数据库中很容易实现的功能,在这里就变得相当麻烦了,反观二进制的方式由于必须经由专门的注册表编辑软件才能 够查询或修改信息,相对就更加安全可靠。
       2、注册表支持子关键字,各级子关键字都有自己的“键值”,INI文件支持小节以及小节中的设置行参数;
       3、注册表支持键下的子键,而INI文件不允许小节中再有小节;注册表中每个键都可以包括子键,从而形成目录树的结构以方便使用, 而INI文件却无法支持小节之间的嵌套,也就是说小节与小节之间都只能是平 行的关系,非常不利于信息的表达。
       4、注册表的键值项可以包含可执行代码,而在INI文件中设置项只是简单的字符串;
       5、注册表可以包含多拥护设置,而INI文件却不能。在Windows 3.x时 代,我们几乎没有办法在同一台计算机上实现有个性的多用户使用,而到了 windows 9x以后,这样的多用户情形就变得非常普遍了
       

       从功能上来说,注册表相对于INI文件具有以下优点:
       1、注册表允许对软硬件和配置参数进行跟踪配置,以更好的适应软硬件;
       2、注册表中登录的硬件数据可以用来支持即插即用特性;通常是在安装时进行这种检测的,但windows 98启动或原有配置改变时, 也要进行这种检测。如安装—一个新硬件时,Windows 98将检查注册表,以便确 定哪些资源已被占用,这样就可以避免新设备与原有设备之间的资源冲突。
       3、注册表中的配置数据由于可以灵活的改变,因此可以更好的适应网络发展。管理人员和用户可以在网络上检查系统的配置和设置, 使得远程管理能够得以实现。

       Windows操作系统是由许多文件组成的,注册表也不例外,对于Windows 9x系统,注册表底层是由System.dat和User.dat两个文件组成的。它们是二进制文件,不能用文本编辑器查看。它们一般存放于Windows目录下,具有隐含、系统、只读属性。

       System.dat包含了计算机特定的配置数据,User.dat包含了用户特定的数据。User.dat文件的位置在以某个用户名登录时,其位于C:\Windows\profiles\用户名目录下,系统同时在C:\Windows目录下保留了一个缺省的User.dat文件,以备新用户使用。

       另外一个文件Config.pol影响着注册表中用户看到的设置,但其并不真正是注册表的一部分。

       Windows NT/2000/XP中的注册表文件在多数情况下存放于%SystemRoots%\System32\Config文件夹中(%SystemRoot%指系统根目录)。其中包括Default、Sam、security、Software、System和以log、sav为扩展名的同名文件。而每个计算机用户的用户配置文件信息(包括Ntuser.dat和Ntuser.dat.log)的位置在Windows NT中是%SystemRoot%\profiles\Username,比如用户public的Ntuser.dat文件就存放于C:\winnt\profiles\public。Windows 2000则取决于是全新安装还是从windows 95/98或windows NT升级安装。

       在全新安装以及从Windows 95/98升级安装的情况下,Ntuser.dar和Ntuset.dar.log文件存储在%SystemDriye%\Documents and Settings\username文件夹中。

       在从 Windows NT升级的安装中,Ntuser.dat和Ntuser.dat.log文件存储在%SystemRoot%\Profiles\username文件夹中。

       注:System.dao和User.dao这两个文件属于Windows95,是注册表的备份文件,它们在每次系统成功启动后创建。在Windows98中,注册表检查器将备份文件作成CAB文件。




    注册表是系统信息存储的地方!好比工商局的企业注册!

    09-12-29 | 添加评论 | 打赏

    评论读取中....

  • 0

    冲浪来了

    层次结构(hierarchy)
      一种计算机操作系统的构成方法。
      它是根据信息的类型、级别、优先级等一组特定的规则排列的一群硬件或软件项目。
      这种结构的最大特点就是将一个大型复杂的系统分解成若干单向依赖的层次,从而确保程序的可靠性和易读性,也便于人们对系统进行局部修改。

    09-12-17 | 添加评论 | 打赏

    评论读取中....

精华知识
更多  
意见反馈 帮助