环境变量与注册表

环境变量的概念(来自百度百科)

转载——荆棘人

环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。
环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。

我的理解,操作系统本质上也是程序,只不过它是直接运行在硬件上的,它叫系统程序,平常程序编写的程序叫做应用程序,运行在操作系统之上。我们知道,其实最早的时候,是没有操作系统的,技术人员直接在硬件上编写程序,与硬件紧密耦合在一起,一个程序可能只能在一个单片机上运行。(这个内容很多的,暂时不谈我们继续回归主题。)既然操作系统也是是程序,就肯定需要变量,程序都需要变量,程序运行中需要一些数据,必须从变量中读取。环境变量,应该可以理解为给操作系统提供一些数据吧。给操作系统提供的变量,这个操作系统运行时的可以看成是一个运行环境,那么这个变量就可以理解为环境变量吧。

也许可以吧环境变量理解成,操作系统的配置文件什么的。但是环境变量其实需要的层次控制非常多,而且拥有各种分类,各种隶属关系,以利于操作系统的权限层次控制等等。从注册表就可以看出,环境变量包含在注册表之下,注册表是个什么东西,既然称之为表,那么是不是类似于数据库的一个表呢?只是这个表存的数据是供操作系统使用的,这个数据库我们也不知道在哪里。
  环境变量有用户变量和系统变量,一部分变量给登录的用户使用,一些则是供操作系统使用的。这个仔细看下注册表的名称就可以看出来。

上面是打开注册表编辑器后看到的第一个界面。
classes_Root我们知道Root一般用来指系统的根目录,顶级权限,系统初始点等等。
其他的:current_User、Local_Machine、Users、Current_Config这些从名字上都大概可以猜测理解是什么东西了。
下面再来看下注册表的概念

注册表(Registry,繁体中文版Windows操作系统称之为登录档)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。早在Windows 3.0推出OLE技术的时候,注册表就已经出现。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。但是,从Microsoft Windows 95操作系统开始,注册表才真正成为Windows用户经常接触的内容,并在其后的操作系统中继续沿用至今。
  百度百科中会告诉我们打开注册表的方式:regedit或regedit.exe、regedt32或regedt32.exe
在注册表编辑器中点击帮助,可以看到以下信息
//--------------------------------------------------------------------
将系统配置信息集中存储在调用注册表的分层数据库中。可以使用注册表编辑器添加并编辑注册表项和注册表值,从备份中还原注册表或将注册表还原为默认值,以及为引用或备份导入或导出项。
还可以打印注册表,以及控制具有编辑注册表权限的帐户。
有关注册表的详细信息(其中包括注册表概念以及注册表安全性),请转至 Windows Server TechCenter (http://go.microsoft.com/fwlink/?LinkID=53495)。
//------------------------------------------------------------------------------------------
  网上有网友提出一个现象,用程序动态的修改注册表,然后cmd中运行程序却不能正确执行,但是先修改环境变量,然后就会发现注册表中是有数据的。这是怎么回事呢?
  再联系上文,注册表编辑器里面的一句话:“将系统配置信息集中存储在调用注册表的分层数据库中。”这句话是有问题的,一点都不通顺,读起来让人
疑惑到第注册表和数据库什么关系,我认为这里是翻译的问题,但是不好纠正,还需要再猜测研究。
  但是至少我们知道,注册表和一个数据库有点关系,同时这是对系统配置信息的管理。我们主要关注,注册表编辑器是对系统配置信息的集中管理,那么上面我们队环境变量的理解就不会错了。确实是系统的配置信息。
以上我们已经大概感觉出环境变量是个什么东西,但是注册表还很模糊,继续看:
  注册表是windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着windows的启动、硬件驱动程序装载以及一些windows应用程序的运行,从而在整个系统中起着核心作用。这些作用包括了软、硬件的相关配置和状态信息,比如注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据等,联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述、状态和属性,性能记录和其他底层的系统状态信息,以及其他数据等。
  具体来说,在启动Windows时,Registry会对照已有硬件配置数据,检测新的硬件信息;系统内核从Registry中选取信息,包括要装入什么设备驱动程序,以及依什么次序装入,内核传送回它自身的信息,例如版权号等;同时设备驱动程序也向Registry传送数据,并从Registry接收装入和配置参数,一个好的设备驱动程序会告诉Registry它在使用什么系统资源,例如硬件中断或DMA通道等,另外,设备驱动程序还要报告所发现的配置数据;为应用程序或硬件的运行提供增加新的配置数据的服务。配合ini文件兼容16位Windows应用程序,当安装—个基于Windows 3.x的应用程序时,应用程序的安装程序Setup像在windows中—样创建它自己的INI文件或在win.ini和system.ini文件中创建入口;同时windows还提供了大量其他接口,允许用户修改系统配置数据,例如控制面板、设置程序等。
  如果注册表受到了破坏,轻则使windows的启动过程出现异常,重则可能会导致整个windows系统的完全瘫痪。因此正确地认识、使用,特别是及时备份以及有问题恢复注册表对windows用户来说就显得非常重要。

注册表的数据类型:
注册表的数据类型主要有以下四种:显示类型(在编辑器中)数据类型说明
REG_SZ:字符串:文本字符串
REG_MULTI_SZ:多字符串值:含有多个文本值的字符串
REG_BINARY:二进制数:二进制值,以十六进制显示,
REG_DWORD:双字值;一个32位的二进制值,显示为8位的十六进制值

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,233评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,013评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,030评论 0 241
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,827评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,221评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,542评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,814评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,513评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,225评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,497评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,998评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,342评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,986评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,812评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,560评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,461评论 2 266

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,099评论 18 139
  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 7,667评论 0 27
  • 这篇文章几乎几乎原封不动的搬过来了这位博主的内容,作为自己以后查询方便用~ reference:http://bl...
    DeamoV阅读 19,823评论 3 33
  • 昨天晚上,看着刚把一部韩剧完结的她有些空虚郁闷,就随意给她推荐了一部经典影片《谍影重重》,又怕她看不明白,于是陪着...
    艺文小舍阅读 1,052评论 22 29
  • 给客户良好感觉就是最好的服务。
    斐丽希娅阅读 106评论 0 0