procesexplorer~
해당 파일은 Process Explorer 이다. 현재 윈도우에 떠있는 프로세스에 대한 정보 및 기동 중지와 같은 다양한 기능을 제공한다. 디버깅 할때 사용한다고 하는 괜찬은 툴인거 같아서 올려본다.
해당 파일은 Process Explorer 이다. 현재 윈도우에 떠있는 프로세스에 대한 정보 및 기동 중지와 같은 다양한 기능을 제공한다. 디버깅 할때 사용한다고 하는 괜찬은 툴인거 같아서 올려본다.
간단하게 Windows에서 현재 떠있는 프로세스 명과 프로세스 ID 를 보여주는 소스 입니다. dim processID Set WshShell = CreateObject("WScript.Shell") Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2") Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Process") For Each objItem In colItems processID = objItem.ProcessID WScript.Echo processID & " " & objItem.Caption Next 잠깐 확인할게 있어서 만든거라 기능은 전혀없으며..-_- 향후 unix의 ps와 같은 ..
시스템 정보 보는법 1. 시스템 -> 실행 -> cmd 2. 확인을 누르면 다음과 같이 뜹니다. OS 정보 및 하드웨어 정보가 모두 나오게 됩니다. 해당 내역 확인하면 자신의 컴퓨터 정보를 확인할 수 있습니다.
Windows 명령어(네트워크) Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\hp>ipconfig Windows IP Configuration Ethernet adapter 로컬 영역 연결: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 59.29.224.62 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 59.29.224.254 C:\Documents and Settings\..
예외 예외는 여러분이 생각하는 자바의 예외 C#의 예외처리의 내용과 동일합니다. 예외는 두가지로 구분됩니다. - 처리가능한 예외 - 처리 불가능한 예외 두가지에 대해 살펴 보도록 하겠습니다. 1. 처리가능한 예외 말 그대로 윈도우 자체에서 처리가능한 예외이다 . 대표적인 예로 자바의 예외처리에서 나오는 0으로 나눈 경우이다. 이런 경우 윈도우는 해당 예외처리 루틴을 발견하여 0으로 나눈 경우 처리해야하는 루틴을 실행한다. 인사이드에서는 서브 시스템의 디버거 포트에서 처리를 시도한다고 나와있다. 즉 디버거 포트가 처리가능한지를 알아보는 개념이라는 것을 알 수 있으며 해당 내역을 처리 가능한 경우 처리를 할 수 있는 예외 핸들러를 찾게 된다. 여기서 예외 핸들러를 찾는 경우 해당 예외 핸들러를 수행하여 예외..
DPC(Deferred Procedure call) 및 디스패치(Dispatch) 앞에서 알아본 APC와 마찬가지로 DPC도 또한 소프트웨어 인터럽트이다. DPC를 이해하기 위해선 Dispatch에 대해 알아야한다. Dispatch란~? Dispatch는 한 스레드의 실행이 길어져서 스케줄링을 다시 해야하는데, 자발적인 대기상태 전환이나 종료가 안되는 경우 스케쥴링을 다시 하여 스레드 실행을 조절하는 것을 의미한다. DPC란~? 현재 Thrad가 수행중에 IRQL상에 더 높은 인터럽트가 발생하면 현재 수행중인 Thread를 저장하고 해당 인터럽트를 실행한다. 이와같이 하드웨어 인터럽트 서비스를 적절하게 제공하기 위해 함께 동작하는 장치 인터럽트를 제어할때 사용한다. 그런데 이런 인터럽트도 여러 Threa..
APC(Asynchronous procedure call) 인터럽트 저번 시간에 IRQL에 대해 학습해 보았다. IRQL의 분포에 대해 보면 하드웨어 소프트웨어 그리고 passive 모드로 크게 구분할 수 있다. 복습겸 해서 3가지 모드에 대해 알아보겠다. 하드웨어 : 일반적인 하드웨어 요청에 의한 인터럽트이다(마우스. 키보드 등이 대표적 경우) 소프트웨어 : APC DPC로 구성되어 있음 Passive : 일반적인 프로그램 수행 그중 APC는 소프트웨어에 존재한다. 그럼 해당 인터럽트가 어떤 내용인지 알아보도록 하겠다. Internal 책의 내용을 빌려 설명하면 APC는 스레드가 같은 하나의 수행할 job에 대한 대기열로 볼 수 있고, 커널이 이 APC 루틴을 수행한다. 즉, 스레드의 실행은 APC의 ..
IRQL은 무엇인가 2장에서 IRQ와 IRQL의 관계에 대해 설명했다.(물론 내 주관적인 견해다 ) IRQ : 물리적인 인터럽트 IRQL : Windows에서의 논리적인 인터럽트 라고 생각한다. 윈도우에서의 IRQL의 구조는 다음과 같다. ' 여기서 중요한 것은 IRQL이 3가지로 나뉜다는 점이다. 그 3가지에 대해 알아보겠다. 1. IRQL의 구조 1) Hardware Interrupt IRQ라고 생각하면 된다. 비동기적으로 하드웨어 적으로 걸려오는 인터럽트를 말하며 간단한 예를 생각하면 키보드 입력 또는 마우스 입력과 같은 것을 의미한다. 2) Software Interrupt 이부분이 추가되었으며 이부분에 대해서는 다음 장에서 알아보겠따. DPC, APC의 개념에 대해서 숙지하고 있어야하며 어떤 경..
2. Interrupt 구동 원리 Interrupt의 구동 원리는 간단하다. 즉 우선순위 방식을 사용하고 있다. 각각의 Interrupt는 우선순위를 가지고 있기 때문에 해당 우선순위 순으로 수행이 되어진다. 여기서 알아야 할 것은 높은 우선순위를 가지고 있는 프로세스는 낮은 우선순위를 생각하지 않는다는 것이다. 왠지 모르게 인생사에 대해 생각하게 하는 구절이다. 이때 OS나 컴퓨터구조에서는 IRQ라는 용어를 사용한다. 이와 비슷한 원리로 윈도우에서는 IRQL이라는 것을 사용한다. IRQL은 다음장에서 알아보도록 하겠다. (그만큼 내용이 많다;;;;) IRQ와 IRQL의 관계는 물리적과 논리적 관계라고 할 수 있다. IRQ가 프로세서 자체에서 할당하는 번호표라면 IRQL은 윈도우에서 할당하는 번호인 것이..
3장에서 배운 Interrupt에 대해 내가 이해한 내용~ 우선 인터럽트라는 단어는 대학교때 컴퓨터 구조 or OS 수업을 들으면서 모두 들어본 단어라고 생각한다. 1. Interrupt란 컴퓨터 작동 중에 예기치 않은 문제가 발생한 경우라도 업무 처리가 계속될 수 있도록 하는 컴퓨터 운영체계의 한 기능. 작동 중인 컴퓨터에 예기치 않은 문제가 발생한 경우 CPU(중앙처리장치:central processing unit) 자체가 하드웨어적으로 상태를 체크하여 변화에 대응하는 것을 말한다. 인터럽트가 발생하면 그 순간 운영체계 내의 제어프로그램에 있는 인터럽트 처리 루틴(routine)이 작동하여 응급사태를 해결하고 인터럽트가 생기기 이전의 상태로 복귀시킨다. 인터럽트가 발생하는 원인으로는 프로그램을 실행하..