본문 바로가기

컴퓨터

레지스트리

♡뱅크스토리 입니다.♡


레지스트리


1.레지스트리의 의미 

 

레지스트리가 탄생하게 된 배경에는 한글 윈도우 3.1에서 사용되는 초기화 파일인 ini파일이 있었습니다. 한글 윈도우 3.1의 경우는 프로그램에서 특정한 정보를 기록할 경우 윈도우즈 디렉토리 아래에 초기화 파일인 ini파일을 사용해 정보를 기록하곤 했습니다. 그 중 대표적인 것이 win.ini, system.ini파일입니다. 물론 이 초기화 파일들 말고도 각각의 프로그램은 독자적인 ini파일을 가질 수 있었습니다. 덕분에 한글 윈도우 3.1을 오래 사용한 사용자들은 윈도우즈 디렉토리에 수많은 ini파일이 널려 있게 되어서 실제로 프로그램을 사용하다 삭제한 경우라도 초기화 파일은 지워지지 않아 커다란 문제가 되곤 했습니다. 또한 어떠한 프로그램은 직접 win.ini파일과 system.ini파일의 내용을 마구 건드리게 되므로(실제로 한글 오피스 4.2는 이러한 작업을 하는 대표적인 프로그램입니다.) win.ini파일과 system.ini파일 역시 쓸데없는 내용이 첨가되어 파일 크기가 커지는 경우가 발생했습니다. 

더군다나 이러한 초기화 파일들의 내용은 모두 텍스트로 처리되어 있어 누구나 쉽게 바꿀 수 있었기 때문에 보안상에 문제가 되었을 뿐만 아니라 시스템을 부팅하는 과정에서 과다한 텍스트 파일을 읽어들여야 하기 때문에 한글 윈도우 3.1의 경우 사용하면 사용할수록 시스템의 속도가 느려지는 결점을 가지고 있었습니다. 한글 윈도우 3.1에서 win이란 명령어를 내리면 하드디스크가 엄청나게 돌아가며 시스템 시작이 늦다는 느낌을 받은 분들이 많을 것입니다. 이러한 일의 주범은 바로 ini파일이라고 해도 과언이 아닙니다. 

이러한 결점을 보완하고자 한글 윈도우 95에서는 레지스트리라는 것을 도입했습니다. 물론 한글 윈도우 3.1과의 호환성을 위해서 ini파일들 역시 사용할 수 있습니다.  

결국 레지스트리는 한글 윈도우 3.1의 ini 파일처럼 개개의 정보를 갖고 있는 환경 설정 파일인 셈입니다. 그렇기 때문에 레지스트리는 한글 윈도우즈의 95의 화면 구성에서 시스템 제어까지의 모든 특징을 갖고 있습니다.  

결론적으로 말하면 레지스트리는 윈도우의 설치 시에 생성되는 정보 파일입니다. 이 파일들의 항목들은 하드웨어, 소프트웨어, 유저, 그리고 PC나 네트워크의 특성들 나타내는 값들로 구성되어 있습니다. 그리고 사용자가 제어판에서 세팅을 하거나 새로운 소프트웨어를 설치하게 되면 레지스트리는 그 변화를 반영하여 바뀌게 됩니다. 이 레지스트리 세팅은 레지스트리 에디터(REGEDIT.EXE)에 의해 볼수 있는데 이것은 CD-ROM 에서 윈도우 95버전 이상 설치하는 경우는 windows/system 디렉토리에 저절로 설치되어지며, 플로피 디스크로 설치하는 경우는 설치되지 않습니다. 

레지스트리는 계층적인(hierarchical) 형태를 가지고 있기 때문에 폴더 구조로 꾸밀 수가 있습니다. ini 파일에서는 이러한 작업을 할 수가 없었습니다. 이러한 많은 이점 때문에 네트 워크 환경에서 사용자는 네트워크상의 어느 PC 에나 마치 자신의 데스크탑 PC 같이 드나들 수가 있습니다. 그리고 다수의 사용자가 하나의 컴퓨터에 환경정보를 저장하는 것도 가능합니다. (윈도우에서 여러 사용자가 각각의 환경을 사용할 수 있게 한 것은 좋은 예입니다.)



 

 

2. 레지스트리의 구성 

레지스트리는 크게 다음의 다섯 개의 서브트리로 이루어져 있습니다. (윈도우 98se 이전은 여섯개의 서브트리를 가지고 있었습니다.)




 

2.1 .HKEY_CLASSES_ROOT 

이 곳에 저장되는 것은 OLE 데이터와 파일의 각 확장자에 대한 정보 그리고 각 파일과 프로그램간의 연결에 대한 정보가 들어있는 부분입니다. HKEY_CLASSES_ROOT를 더블클릭해서 보면 맨 처음 보이는 것이 파일의 확장자들인데, 윈도우에서 사용되는 모든 형식의 확장자가 서브디렉토리 구조로 구성되어 있습니다. 일반적으로 각 확장자는 파일 타입과 연결되어 있습니다. 왼쪽 윈도우의 한 파일 타입을 선택하면 오른쪽 윈도우에는 그 타입의 파일이 어떤 프로그램과 연결되어 있는지 나타납니다. 예를들어 아래아 한글을 설치했다면 HWP를 선택했을 때에 오른쪽 윈도우에는 아래아한글과 연결되어 있다는 정보가 보일 것이다. 


 

 

2.2 .HKEY_CURRENT_USER 

윈도우가 설치되어 있는 컴퓨터의 환경 설정들에 대한 정보를 담고 있는 곳입니다.  

하나의 윈도우를 여러 명의 사용자가 사용할 경우, 한 사용자가 자신의 ID와 패스워드를 이용해서 자신의 환경으로 윈도우에 접속했을 때, 접속한 사용자가 맞춰놓은 세팅을 윈도우에 반영하기 위한 곳입니다. 따라서 각 사용자가 자신의 세팅을 다르게 바꾼다면 그 정보는 HKEY_USER라는 곳에 저장됩니다. 이곳을 더블클릭하면 여섯 개의 서브 메뉴가 나옵니다. AppEvent는 현재 윈도우를 사용하는 사용자가 정의해 놓은 이벤트들의 리스트입니다. 

Control Panel은 제어판과 동일한 설정을 할 수 있는 곳입니다. 이곳에서의 설정은 레지스트리를 변경하는 것보다 제어판에서 직접 바꾸는 것이 더 편리합니다. 

InstallLocationsMRU는 최근에 새로 설치된 프로그램들의 위치를 알려줍니다. Keyboard Layout에는 현재 사용하고 있는 키보드의 사용 언어와 키보드 형식이 Dvorak인지 혹은 Qwerty 방식인지에 대한 정보가 담겨 있습니다. Network는 최근에 이용했던 네트워크 드라이브에 대한 정보 등을 담고 있는 곳인데, 네트워크 기능을 이용하지 않는 사용자들은 아무 값도 설정되어 있지 않습니다. 

끝으로 Software에는 설치된 윈도우용 프로그램들에 대한 정보가 담겨 있습니다.  

이 프로그램들이 32비트를 지원하지 않는다면 별다른 정보가 기록되지 않고 프로그램의 이름만 등록됩니다.



 

2.3 .HKEY_LOCAL_MACHINE 

HKEY_LOCAL_MACHINE은 컴퓨터에 설치된 하드웨어와 하드웨어를 구동시키는데 필요한 드라이버나 설정 사항에 관련된 정보를 모아 둔 곳입니다. Config에는 프린터와 화면 설정 같이 컴퓨터를 켜고 윈도우를 구동시킬 때 필요한 설정에 대한 정보가 담겨 있습니다. 이 부분 역시 레지스트리 값을 변경하지 않고 윈도우의 제어판에서 설정해 줄 수 있습니다. Enum은 사용자의 컴퓨터에 설치된 하드웨어에 관한 정보를 갖고 있습니다. 예를 들어 하드디스크 드라이브나 키보드 그래픽 카드등에 관한 정보 등이 이 곳에 저장됩니다. 플러그앤플레이를 지원하는 하드웨어가 설치되면 Root라는 키에 저장됩니다. 

Software는 디바이스 드라이버나 시스템에서 사용하고 있는 소프트웨어에 관한 전반적인 정보를 담고 있습니다. 각종 응용프로그램들은 각 파일들과 연계되어 있는 것이 보통입니다.



 

2.4 .HKEY_USERS 

HKEY_CURRENT_USER에 저장된 정보 전체와 데스크탑 설정, 네트워크 연결등의 정보가 저장되어 있으며, USER.DAT에 그 내용을 저장합니다. 윈도우를 사용하는 사람이 한 명일 경우에는 모든 설정 사항이 HKEY_CURRENT_USER의 내용과 일치합니다. 




 2.5 .HKEY_CURRENT_CONFIG 

HKEY_CURRENT_CONFIG는 레지스트리 가운데 가장 단순한 부분입니다. 여기에는 위에서 설명한 HKEY_LOCAL_MACHINE에 서브로 존재하는 Config의 내용만을 담고 있다. 따라서 디스플레이와 프린터에 관한 설정만을 볼 수 있습니다. 



 

2.6 HKEY_DYN_DATA 

HKEY_DYN_DATA는 Config Manager와 PerfStats라는 두 개의 서브키를 갖고 있습니다. PerfStats는 윈도우의 모니터 역할을 합니다.

다음편은 레지스트리 편집기에 대해서 다루어 볼까 합니다. 





♡뱅크스토리 입니다.♡


010-7249-0202


'컴퓨터' 카테고리의 다른 글

레지스트리 편집기  (0) 2014.05.09
그래픽 카드  (0) 2014.05.01