zoukankan      html  css  js  c++  java
  • 关于windows注册表

    Windows 注册表 应该是一个 数据库。里面包含操作系统以及在其上的软件配置信息和旗下的硬件配置信息,有点就是整体和全面,控制面包和gpedit.msc 组策略应该是抽象过后的注册表配置信息,
    
    Windows 与 linux 不一样
    
    windows 是一个 微内核+ 的结构 由微软一手打造 里面用到了很多 unix发布之时不存在或者是说没有概念的东西。
    
    unix里面 anything is file的概念 将 /etc 配置文件 作为 配置库使用。
    但是不同的发行版又有不同的配置处理。 配置文件也是一大堆
    
    比如 安装postgresql 时 pg_hba.conf的文件就不严格的存放在/etc的目录下面 造成很多不好用的情况
    
    windows NT 总归是微软在开发了 MS-DOS OS/2 和Xenix之后的第四款成熟的操作系统 里面还是融合了各种操作系统的优缺点的。
    
    注册表的很多内容 其实很优秀 不然不能存在那么久 就是 大部分人 比如我太菜了 理解不了。 

    Windows的可配置项比通常的UNIX发行版多了可能有2个数量级(除了有系统服务的参数、内置应用的参数、各种个人偏好设置,还有数量巨大的组策略选项、COM组件注册信息)。如果你考虑到这一点,就会发现用文件来配置Windows几乎不可行

    1. 注册表实际上是一个层次型数据库,用来储存系统和应用的海量配置信息
    2. 做成数据库可以保证多进程、多线程同时读写不出错
    3. 注册表有索引,值又是强类型的,所以性能比用文件快,而且占用资源小。这在Windows早期是很重要的特性
    4. 做成数据库还可以支持视图:比如,HKEY_CURRENT_USER,方便应用编程
    5. 软件卸载不干净是反安装程序没写好,和注册表无关。同理,反安装程序忘删文件的话,也不能怪文件系统不好
    6. 包依赖是另外一个问题,建议新开


    作者:李遥
    链接:https://www.zhihu.com/question/20443070/answer/15177158
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    no-useless-call (Rules) – Eslint 中文开发手册
    Java 8 Stream
    CSS3 ,checked 选择器
    MySQL 数据类型
    _Alignas (C keywords) – C 中文开发手册
    C 库函数 – modf()
    JavaScript E 属性
    SyntaxError.prototype (Errors) – JavaScript 中文开发手册
    swagger和openAPI: 上传文件
    Java中HashMap的putAll()方法: HashMap.putAll()
  • 原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/10679938.html
Copyright © 2011-2022 走看看