프로그램을 설치하면 자동으로 설치후 시작메뉴에 설치된 프로그램의 메뉴폴더가 생기게 된다.

그런데, 대부분은 메뉴 폴더명만 보면 어떤 프로그램인지 알 수 있으나 일부프로그램은 잘 모를 

수 있다.

이럴때 본인이 이해하기 쉬운 이름으로 변경하여 관리 가능하다.

 

※ 시작메뉴 폴더명 변경 방법

① 탐색기를 실행

② C:\ProgramData\Microsoft\Windows\Start Menu\Programs 이동
     ex: Cisco 메뉴폴더 확인

③ 메뉴 폴더명을 원하는 이름으로 수정
     ex: Cisco 메뉴폴더 명 →  Cisco VPN 으로 수정

④ 시작메뉴를 클릭하면 수정된 메뉴를 볼 수 있다.
     ex: 시작을 누르면 Cisco VPN 으로 메뉴 폴더 변경 확인

 

 

[변경전 시작 메뉴 폴더] Cisco 메뉴 폴더

 

[변경후 시작 메뉴 폴더] Cisco → Cisco VPN

PSR(Problem Steps Recorder)은 Windows에 기본설치된 문제가 발생했을 때 취한 정확한 단계를 기록하여 장치나 OS의 문제를 해결하는 데 도움이 되는 프로그램이다. PSR 수행한 결과를 MS지원 전문가에게 보내 문제 해결의 도움을 받을 수 있다.

 

  • Steps Recorder는 기능 및 바로 가기 키를 제외하고 사용자가 입력하는 텍스트(예: 암호)를 기록하지 않는다.
  • 전체 화면 게임과 같은 일부 프로그램은 정확하게 캡처되지 않을 수 있다.

 

Ⅰ.PSR은 어떻게 사용하나?

1. Steps Recorder를 열려면 시작 버튼을 누른 다음  Windows 보조프로그램 > 단계 레코더 (Windows 10) 또는 PSR 입력

    또는 보조프로그램 > 문제 단계 레코더 (Windows 7 또는 Windows 8.1)를 선택

 

2.기록 시작 을 선택

단계레코더(PSR)가 자동으로 활성 창을 캡처하고 기록하여(현재 수행 중인 응용 프로그램에 관계없음) 단계별 진행 상황을 보여줌

 

 

3. 진단하려는 문제를 재현하는 단계를 진행한다. 언제든지 녹음을 일시 중지하고 다시 시작할 수 있다.

필요한 사항에 따라 녹화를 일시 중지하거나 다시 시작하며 녹화 할 수 있다.

 

 

4. (선택 사항) 녹화하면서 설명 추가 를 선택하고 마우스를 사용하여 화면에서 설명을 달고 싶은 부분을 선택하고
    설명을 입력한 다음 확인 을 선택
한다.

설명 추가 버튼을 클릭하면 오류를 표시하는 메시지 영역을 강조 표시하고 명확한 이해를 위해 설명을 추가할 수 있다.

 


5.완료되면 
녹화 중지 를 선택 한다.

녹화 중지 버튼을 클릭하면 스크린샷과 함께 수행된 활동의 단계별 목록을 보여주는 새 창이 열린다. 
(예: 패키지 설치 중에 오류가 발생하고 이 오류와 수행한 단계를 기록하려면 "기록 시작" 버튼을 누른 다음 설치 패기지를 시작하고, 오류 메시지가 표시되면 "녹화 중지" 버튼을 눌러서 기록하면 된다)

 

6.수행한 단계의 기록을 검토하여 표시하려는 내용이 표시되는지 확인한다. 

저장 을 선택 하고 .zip 파일의 이름을 지정하고 저장할 위치를 선택한 다음 저장 을 선택 한다. 

이 .zip 파일을 첨부하여 PC의 문제 해결을 돕는 사람에게 보낼 수 있고 모든 웹 브라우저에서도 볼 수 있다.

 

※문제 단계 기록기(PSR)는 녹화 시작부터 중지까지의 모든 사용자 활동을 캡처하고 단계 정보별로 자세한 단계를 제공합니다. 이 파일을 저장하고 이 정보를 MS나 전문가와 공유하여 문제를 해결할 수 있다.

 

Ⅱ.설정 조정 방법은?

1. 단계 레코더에서 도움말 버튼 옆에 있는 아래쪽 화살표를 선택한 다음  설정 을 선택한다 .

2. 다음 설정을 변경 가능하다

  • 출력 위치. 파일을 저장할 때마다 위치와 파일 이름을 묻는 메시지가 표시되지 않도록 하려면 찾아보기 를 선택 하여 기본 위치와 파일 이름을 설정한다.
  • 화면 캡처를 활성화합니다. 예를 들어 화면에 공유하고 싶지 않은 개인 정보가 표시될 수 있는 경우와 같이 스크린샷을 캡처하지 않으려면 아니요 를 선택 한다. 앱은 여전히 ​​단계에 대한 텍스트 설명을 기록한다.
  • 저장할 최근 화면 캡처 수입니다. 기본적으로 캡처 파일의 크기를 줄이기 위해 마지막 25개의 스크린샷만 저장하므로 그 이상을 녹화해야 하는 경우 저장할 최근 화면 캡처 수를 늘려야 한다.

   ※참고:  여기에서 조정하는 모든 설정일시적 임으로 단계 레코더를 닫았다가 다시 열면 기본값으로 초기화된다.

 

1. Windows10에서 Skype삭제 Powershell

   1) Powershell창에서 명령실행
       Get-AppxPackage *skypeapp* | Remove-AppxPackage

  

    2) Enter쳐서 "배포 작업 진행 상태: Microsoft.SkypeApp_ ... 초기화됨" 이라고 메시지가 뜨면 Skype가 삭제된 것임.
       완료후 창을 닫고 Skype가 정상적으로 삭제되었는지 확인

 

 

2. wmic를 활용한 유용한 정보보기

    1) OS정보 간단히 보기

       #wmic os list brief /format:list

       #wmic /output:OS_List.html os get /format:hform

OS정보를 html로 만든 html결과파일

 

Windows OS에서 디스크 파티션을 하려면 일반적으로 "컴퓨터 관리 → 저장소  디스크 관리"를 사용한다. 

diskpart.exe라는 명령어를 사용해도 동일한 작업이 가능하다.


C:\Windows\system32>diskpart

Microsoft DiskPart 버전 6.1.7601

Copyright (C) 1999-2008 Microsoft Corporation.

컴퓨터: MSDN-SPECIAL


DISKPART> list disk                                                            디스크 확인 명령

  디스크 ###  상태           크기     사용 가능     Dyn  Gpt 

  ----------  -------------  -------  ------------  ---  ---                 2개의 디스크 존재 확인

  디스크 0    온라인        111 GB       1024 KB                         시스템 디스크 존재 확인

  디스크 1   온라인         300 GB       300 GB                          미사용 디스크


DISKPART> list partition                                                      파티션 표시

파티션을 나열하도록 선택한 디스크가 없습니다.                        디스크 미선택 오류

디스크를 선택하고 다시 시도해 보십시오.


DISKPART> select disk 1                                                     디스크 1선택

1 디스크가 선택한 디스크입니다.


DISKPART> list disk                                                           디스크 1선택 확인

  디스크 ###  상태           크기     사용 가능     Dyn  Gpt

  ----------  -------------  -------  ------------  ---  ---

  디스크 0    온라인        232 GB       1024 KB

* 디스크 1    온라인        465 GB       1024 KB


DISKPART> list partition

  파티션 ###  종류              크기     오프셋                          파티션 2개 포함 확인

  ----------  ----------------  -------  -------

  파티션 1    주                  232 GB  1024 KB                       파티션 1 은 주파티션임

  파티션 2    복구                 875 MB   232 GB


DISKPART> list volume

  볼륨 ###   Ltr  레이블      Fs    형식       크기     상태          정보

  -----------  ---  ----------  ----  ---------  -------  ------------  --------

  Volume 0   C                NTFS   파티션  232 GB  정상         시스템

  Volume 1   D   backup   NTFS   파티션   270 GB  정상

  Volume 2   E   새 볼륨   NTFS   파티션    195 GB  정상


※ "list disk" 와 "list volume" 은 "select ***" 하지 않아도 사용할 수 있는데 

"list partition"은 대상이 되는 디스크가 선택된 상태에서만 사용 가능함



DISKPART> list disk                                                            디스크 확인

  디스크 ###  상태           크기     사용 가능     Dyn  Gpt 

  ----------  -------------  -------  ------------  ---  ---               

  디스크 0    온라인        111 GB       1024 KB                      

  디스크 1   온라인         300 GB       300 GB                       


DISKPART> select disk 1                                                     디스크 1선택

1 디스크가 선택한 디스크입니다.


DISKPART> clean

DiskPart에서 디스크를 정리했습니다.


DISKPART> create partition primary                                      디스크 1 전체 용량을 주 파티션으로 작성

DiskPart에서 지정한 파티션을 만들었습니다.


DISKPART> create partition primary size=270000                     270Gbytes의 주 파티션을 작성


DISKPART> active

DiskPart에서 현재 파티션을 활성으로 표시했습니다.


DISKPART> format fs=ntfs quick                                          NTFS타입으로 Quick format 수행

100 퍼센트 완료

DiskPart가 볼륨을 성공적으로 포맷했습니다.


DISKPART> assign letter=D                                               → D드라이브 할당함 


DISKPART> list volume                                                     → 볼륨확인


  Volume ###  Ltr Label        Fs    Type        Size     Status     Info

  ----------  --- -----------  ----  ----------  -------  ---------  --------

  Volume 0   C                NTFS   파티션  232 GB  정상         시스템

  Volume 1   D   backup   NTFS   파티션   270 GB  정상

* Volume 2   E   새 볼륨   NTFS   파티션    195 GB  정상         → 선택된 볼륨 ("*"가 Volume앞에 표시됨)


DISKPART> delete volume                                                 → 볼륨 삭제

DiskPart는 볼륨을 정상적으로 삭제했습니다.


DISKPART> list volume                                                     → 볼륨 삭제확인

  Volume ###  Ltr Label        Fs    Type        Size     Status     Info

  ----------  --- -----------  ----  ----------  -------  ---------  --------

  Volume 0   C                NTFS   파티션  232 GB  정상         시스템

  Volume 1   D   backup   NTFS   파티션   270 GB  정상

※볼륨은 삭제되었지만 파티션은 아직 남아 있으므로 필요하면 파티션도 선택후 삭제함


DISKPART> exit


이제 컴퓨터를 다시 시작한다.

* Windows ISO이미지 다운로드 받기

https://www.microsoft.com/ko-kr/software-download/windows7

 

* Windows 7 USB/DVD 다운로드 도구로 부팅 USB 만들기

1. Windows 7 USB/DVD Download Tool 다운로드

   https://www.microsoft.com/ko-kr/download/details.aspx?id=56485


2. Tool 설치(Windows7-USB-DVD-Download-Tool-Installer-ko-KR)


3. 설치후 생성된 파일 실행(Windows 7 USB DVD 다운로드 도구)

http://blog.naver.com/hacker781004?Redirect=Log&logNo=100178960168

 

윈도우 서버 운영시 프로세스가 행업 걸린 줄 알았는데 현장 나가보니 프로세스가 동일한 시간에 종료되어 있었다.

뭔가 이상한데... 프로세스가 비정상 종료되었다면 로그에 뭔가 기록을 해놓았을 텐데말이야..

혹시 리부팅 된건 아닌지 해서 유닉스에서 uptime 명령어 비슷한 걸 찾아봤는데 없었다.

하지만 다른 대안이 있었다.

윈도우도 나름대로 멋진 놈인 듯 하다.

오늘도 한 건 뿌듯하게 해결했다.


1. 셧다운 된 시간 확인


2. uptime 확인

1. Memory

(1) 물리적 메모리
RAM, ROM(BIOS)
RAM ; DRAM 주기적 refresh, SRAM(Cash 메모리용)
전원 공급, 메모리 영역의 구분, 입출력, CPU가 원하는 칩에 연결할 수 있도록 신호를 연결 또는 차단 등의 핀들..
1개의 핀으로 0 또는 1의 값 전달.
1KB 의 경우 10 개의 핀과 1024 개의 서로 구분할 수 있는 메모리 영역이 필요하게 됨.
1MB 의 경우 1024 * 1024 이고 2의 20 제곱. 따라서 20개의 핀이 필요.

(2) 논리적 메모리
일단 main 함수의 main.cpp 소스파일이 main.exe 바이너리 파일로 변환되고, 실행을 시키면 운영체제는 EXE 파일을 '가상 메모리' 영역에 적재.
이 영역에는 작성이 완료된 함수 등과 같은 코드 영역, 크기 혹은 값이 정해진 전역, 정적변수 영역 등으로 구분.
이렇게 가상 메모리에 로드된 각종 이진 코드는 실제 물리적 메모리와 연결 되어 사용.

보통 하나의 프로그램이 실행되면서 할당되는 전역변수 int nMin 4바이트, 정적변수 4바이트 들 함수 코드 영역이 메모리에 할당.
프로그램이 실행 도중에 생성/소멸 되는 지역 변수는 스택(Stack)이라는 영역을 사용.
동적 할당은 힙 메모리 영역.

 

 

일반적인 메모리 구조

 

 

프로그램이 생성할 때부터 종료할 때까지 메모리에 상주하는 부분
- main 함수와 Sum 함수 코드(Function)
- 전역 변수(Global Variable)
- 정적 변수(Static Variable)

프로그램이 실행 도중에 생성 및 소멸되는 부분
- 지역 변수(Local Variable)
- 매개 변수(Parameter)
- Heap 메모리에 생성된 데이터

 

최근의 운영체제는 물리적 메모리의 직접 사용을 배제하고, 가상의 논리적인 메모리를 사용한다.
운영체제 메모리 관리자가 논리적인 메모리를 바탕으로 실제의 물리적인 메모리와 연결을 관리하므로 응용 프로그램은 논리적인 메모리만을 고려하면 된다.
Windows 와 같은 고급 운영체제에서 C/C++ 언어의 포인터를 사용할 때 나타나는 주소는 실제 시스템에 설치된 물리적 메모리의 번지가 아닌, 운영체제가 만든 가상의 논리적 메모리 영역에서 표현되는 주소이다.

 

 

2. Windows 메모리 관리

(1) 64 비트 환경에서의 메모리
16TB 가상 메모리 영역, 512TB 페이징 파일, 1TB 시스템 캐시를 가질 수 있어, 고성능 대용량 컴퓨터 시스템에 사용.

(2) 가상 메모리와 맵핑(Virtual Memory and Mapping)
수학적인 용어로 '사상' 이라는 단어로도 사용.
WIndows 운영체제는 가상 메모리상에 영역을 할당하고, 할당된 메모리의 시작 주소를 넘겨준다(리턴).
가상 메모리와 실질적인 물리적 메모리의 특정 부분과 가상 메모리 번지를 대응.
각각의 가상 메모리 주소를 주기억장치의 실제 주소로 전환하는 것(또는 그 반대의 것)을 의미.

현재 사용중인 시스템의 램이 256MB이고, 현재 음악을 들으며, 웹서핑을 하고, 메모장, 워드 프로세서, Visual Studio .NET, 그림판 등 10개 이상의 프로그램을 띄워놓고 있다. 이 많은 프로그램이 가지는 4GB 크기의 가상 메모리 주소 모두를 물리적 메모리에 1대1로 모두 맵핑할 수는 없음.
따라서 필요한 시점에서만 물리적 메모리를 사용해야 하는 기법이 필요함 !
WIndows 또한 이와 같이 관리하므로 실제 물리적 메모리에 맵핑되어 있는 가상 메모리 영역은 4GB 보다 훨씬 작다.

(3) 가상 메모리 상태(Virtual Memroy Status)

A. 램에 맵핑된 상태
B. 하드 디스크에 맵핑된 상태
C. 사용이 예약되어 읽거나 쓸 수 없는 상태
D. 초기 상태

위의 C. D. 영역에서 읽거나 쓰려고 할 경우 Windows 운영체제는 예외(Access Violation)를 발생.

 등 급

 내 용 

 Free

 최초 가상 메모리가 생성될 때, 모든 가상 메모리 영역은 Free 상태에 놓이게 되는데, 읽거나 쓸 수 없는 빈 영역.
 이 영역을 Reserved 상태 또는 Commit 상태로 변경 가능.
 물론 물리적 메모리와는 맵핑 되지 않은 상태.

 Reserved

 특정 크기가 메모리 영역의 사용을 예약 상태.
 즉, 현재는 사용하지 않지만 앞으로 필요하게 될 부분이므로 다른 함수에 의해 메모리가 할당될 때, 이 부분은 사용하지 말라는 뜻.
 이유는 물리적 메모리와 맵핑되지 않은 상태이기 때문.
 사용하기 위해서는 아래의 Commit 상태로 되어야 함.
 이때 사용하는 함수가 Virtual Alloc 함수. Reserved 상태를 해제하려면, Virtual Free 함수를 사용.
 Reserved 영역을 해제하면 Free 상태가 되고, 프로그램의 다른 부분에 의해 자유롭게 사용이 가능.

 Committed

 물리적 메모리에 맵핑된 상태의 메모리 영역.
 Commit 상태의 메모리 영역은 읽거나 쓸 수 있음.
 Virtual Alloc 함수를 통해 Commit 상태로 변경할 수 있으며, Commit 상태를 해제하여 Reserved 또는 Commit 상태로 변경 가능.

 

 

빨간색은 A. B. 영역의 상태를 가리킴.

 

 

(4) 메모리 관리 기법

운영체제론을 보면 메모리 관리하는 기법은 상당히 많음.
크게 구분하자면 크게 페이징(Paging) 기법과 세그멘테이션(Segmentation) 기법으로 구분.
세부적으로는 상주 모니터, 오버레이(중첩), 스와핑(교체), 고정분할(MFT), 가변분할(MVT), 페이징(Paging), 세그멘테이션(Segmentation), 페이징과 세그멘테이션 혼용 등의 방법.
이 중 우리가 Winodws가 사용하는 페이징과 세그멘테이션 혼용 기법은 디스크를 사용하므로 빠른 하드 디스크와 캐시가 요구되며, 가장 큰 장점은 프로그래머가 메모리의 한계를 걱정할 필요가 없음.

세그멘테이션에 대한 자세한 사항은 다음 포스팅 참조.

(5) 가상 메모리 페이징(Virtual Memory Paging)

적은 양의 메모리를 효과적으로 사용하기 위해서는 Windows 운영체제는 가상 메모리의 특정 영역을 위의 네 가지 상태로 수시로 변경할 수 있어야 함.
램에 맵핑하고 디스크로 옮기고, 해제하고, 다시 할당하는 등의 변환 작업이 원할하게 이루어져야 함.

프로그램 실행중에 운영체제는 열심히 가상 메모리와 물리적 메모리를 맵핑하고, 맵핑 해제를 하고, 그 내용을 저장해야 하는데, 너무 작은 단위로 처리하다 보면 부하가 많이 걸리게 됨.
따라서 여러 메모리 주소(메모리 영역)를 적당한 크기 단위로 묶을 필요가 생기는데, 이 한 다발의 주소 묶음을 '페이지(Page)'라고 부르며, Windows가 메모리를 관리하는 기본 단위가 됨.

페이지의 크기는 CPU와 운영체제 의해 결정.
예를 들어, x86 계열의 경우 4096 바이트이며, DEC Alpha 계열의 경우에는 8192 바이트 단위로 메모리를 묶어서 하나의 페이지로 관리.
왜 페이지라는 또 다른 단위를 만들어서 여러 메모리 번지를 하나로 묶어느냐?라는 질문에는 동적인 주소 변환(DAT ; Dynamic Address Translation) 을 하기 위함.

 

x86 계열 가상 메모리 공간을 페이지 단위로 나누어 놓는데, 4096바이트 단위(4KB)로 구성.

 

 

가상 메모리의 특정 영역이 실제 메모리의 사용을 필요로 하면,
Windows는 페이징 파일에서 해당 페이지를 꺼내어 물리적 메모리로 이동시키고,
해당 어플리케이션에 해당하는 페이지 맵을 변경.
또한 Windows 가 물리적 메모리에 특정 공간을 확보하려고 할 때 램에 존재하는 가장 최근에 사용한 페이지를 디스크의 페이징 파일로 옮겨 놓음.

이렇게 가상 메모리 영역과 물리적 메모리, 디스크로의 이동이 가능해야 메모리를 보다 더 유동적으로 관리할 수 있음.
이 중에서 디스크에 존재하는 현재 실행중인 프로그램의 가상 메모리 영역 일부를 파일로 옮긴 것을 일반적으로 페이징 파일이라고 부름.
위에서 언급했던 가상 메모리와 맵핑되는 물리적 메모리의 또 다른 하나가 바로 페이징 파일.

 

 

 

페이지 변경

페이지 변경

 

 

(6) 가상 메모리 접근 등급(Memory Access Protection)

크게 세 가지로 할당된 메모리 영역을 페이지 단위로 접근을 제어 가능.

접근 불가 - PAGE_NOACCESS
읽기 전용 - PAGE_READONLY
읽기/쓰기 - PAGE_READWRITE

Windows 운영체제는 메모리에 대하여 접근 제한 속성을 설정할 수 있도록 API를 제공.
이러한 내용들은 파일에 대한 접근 등급과도 유사, 커널 오브젝트의 특징인 보안 속성과도 유사.
속성을 설정할 때는 메모리를 할당할 때 사용하는 VirturalAlloc API 함수를 이용하고, 생성된 이후에 VirtualQuery API 함수를 통해 할당된 메모리 영역의 속성을 확인 가능.

 등급 

 내용 

 PAGE_NOACCESS

 접근이 금지된 상태. 

 PAGE_READONLY

 읽기 전용 상태. 중요한 데이터의 경우 덮어쓰기 등의 경우로 데이터를 잃어버리는 경우를 막기 위해 사용.

 PAGE_READWRITE

 읽거나 쓸 수 있는 상태. 가장 일반적인 형태로 Commit 된 메모리 페이지에 대하여 모든 권한을 부여.

 

(7) 32비트 윈도우 가상 메모리 구조 (4GB)

하나의 프로그램이 실행되면 프로세스가 생성되고 4GB 의 주소 공간이 주어짐.
이 주소 공간은 Free 상태.
즉, 실제 물리적 메모리의 주소가 아닌 가상 메모리 주소 공간 4GB 를 할당.
이 영역 중에서 일정 영역은 Windows 가 사용하는 부분이 있으므로 Reserved 상태로 미리 예약.
어플리케이션이 사용하는 공간은 Free 상태의 하위 2GB 부분.

 

Windows 98/Me 가상 메모리 구조


Shared :
커널에 의해서 공유되어 사용되는 물리적 메모리 영역을 맵핑해 놓은 부분. 즉, 여러 프로세스가 공유해서 쓰는 커널 부분 또는 메모리 맵 파일 부분의 물리적 메모리 영역을 맵핑시켜 놓은 부분.

Private :
어플리케이션만의 독립적인 사용 영역.

 

NULL 포인터 영역
모두 0 이고, 변경 불가능.
운영체제에 의해 NULL 값으로 이미 정해진 절대 접근 금지 영역으로서 이 영역을 읽거나 쓰려고 시돌할 경우 Access Violation 에러를 발생시키고 프로세스는 종료.
시스템의 안정성 확보를 위해서 Windows 가 할당해 놓은 구간.

16비트 영역(MS-DOS 및 Windows3.X 어플리케이션 영역)
기존과의 호환성을 위해 16비트 또는 도스용 어플리케이션 및 디바이스를 사용할 수 있도록 일정 영역을 할당.
NT 계열에서는 사용하지 않고 클라이언트 버전인 Windows 95/98/Me 에서 사용.
32비트 기반의 어플리케이션이 이 영역을 사용하려고 하면 물론 Access Violation 에러를 발생시키고, 프로세스는 운영체제에 의해 종말.
32비트, 64비트 Windows 운영체제인 NT 4.0 이후의 버전에는 존재하지 않는 영역.

프로세스 영역(어플리케이션 영역)
응용 프로그램이 사용하는 영역.
응용 프로그램 코드가 여기에 상주하며, 위에서 살펴본 스택, 힙, 코드 영역 등이 여기에 속함.
가상 메모리, 힙 메모리 할당 등이 모두 프로세스 영역에서 이루어짐.

중간 경계 영역
어플리케이션 영역과 공유 메모리 영역 중간의 64KB 크기 메모리 영역을 정함.
이 영역은 완충 지대.
접근 시도 경우 Access Violation

공유 메모리 영역(메모리 맵 파일 영역)
시스템이 사용하는 데이터 중 프로세스들과 공유되는 데이터들이 저장되는 영역.
또한 메모리 맵 파일(Memory Mapped File)을 사용하여 하드 디스크의 대용량 스트림 데이터를 사용할 때 Windows에 사용되며, 프로세스간의 통신에도 사용.
Windows 2000 버전 이후에서는 이 영역이 사라지고, 커널 모드가 최대 2GB를 사용하도록 구분.
즉, Windows 2000 에서는 더욱 프로세스의 독립성과 안정성을 강조.

커널 영역
운영체제 시스템 코드가 로드되는 부분이 커널 모드 영역.
스레드 스케쥴링, 메모리 관리, 파일 시스템 로드, 네트워크 관련 코드, 그 밖의 기타 디바이스 드라이버 등이 로드.
이 영역은 시스템 내의 모든 프로세스에게 공유된 메모리.
이것은 물리적 메모리에 한 번 로드되며, 모든 프로세스가 공통으로 사용한다는 뜻인데, 프로세스가 이 영역을 직접 접근하는 것은 막고 있음.
커널 오브젝트에 살펴보았듯이 API 함수를 통하여 얻은 핸들을 통해서만 이 영역을 사용.

 

[출처:Ji's Lab http://softwareji.tistory.com/68]

원본: http://support.microsoft.com/kb/294418

 

 

http://blog.naver.com/yangokok777?Redirect=Log&logNo=30178136735

+ Recent posts