Alienus Non diutius

고정 헤더 영역

글 제목

메뉴 레이어

Alienus Non diutius

메뉴 리스트

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 분류 전체보기 (403)
    • Programming (87)
      • asp.net (11)
      • javascript (24)
      • ms-sql (10)
      • php (11)
      • CodeIgniter (8)
      • mysql (2)
      • html (7)
      • etc (11)
      • language history (0)
    • Review (16)
    • hobby (14)
    • 청강컴정 (210)
      • 교육학개론 (6)
      • 중기청창업경진대회 (3)
      • 09소프트웨어공학기말 (6)
      • Embedded (1)
      • 09DataBase중간고사 (27)
      • 09DataBase기말고사 (16)
      • MFC (13)
      • 시스템프로그래밍 (35)
      • 소프트웨어공학 (21)
      • JAVA (6)
      • C# (8)
      • C++ (7)
      • C (1)
      • Board (2)
      • .NET (13)
      • DataBase (34)
      • 기타 (10)
    • smartPhone (18)
      • Android (13)
      • T옴니아 (1)
      • 뉴스&정보 (3)
    • IDEA (51)
      • 미래를꿈꾸는사람들 (6)
      • Social (0)
      • 스크랩자료 (7)
      • 요리 (1)
      • 경제 (2)
      • PenPalOn (5)
      • BookPalOn (2)
      • CKMC (11)

검색 레이어

Alienus Non diutius

검색 영역

컨텐츠 검색
1차 중간평가

1. 용어설명 1) 디바이스 드라이버 하드웨어를 구동하는 소프트웨어 2) 디바이스 스택 하나의 추상(논리)적인 디바이스를 구성하고 있는 복수개 각각의 전문화된 디바이스들의 모임. 이것은 윈도우 운영체제애에서 보다 효과적인 디바이스 관리를 위해 전문화된 여러 종류의 드라이버들이 저마다 필터드라이버, 서비스 드라이버, 버스드라이버 형식으로 하나의 디바이스 구동에 참여하도록 지원된다. 3) IRQL 0부터 31까지의 대수학적인 값을 가지는 CPU가로채기 요청 레벨을 의미한다. 보다 높은 레벨의 IRQL을 가진 루틴은 낮은 레벨의 IRQL을 가진 루틴으로부터 CPU를 선점할 수 있다. 4) IDLE스케쥴러 Primary스케쥴러와 구분되며, 운영체제 내에서 더 이상 구동시킬 Thread가 없을 때 CPU를 잠시 ..

청강컴정/시스템프로그래밍 2009. 4. 30. 21:01

특권레벨

마이크로프로세서는 특권레벨 값을 사용하며, 이 값은 4가지의 경우로 나뉘어 사용된다. 특권레벨규정을 정하는 것은 CPU(Micro Processer) 이다. 주변장치가 커널과 소통을 하기 위해서는 별다른 접근제한이 필요 없을 것이다. 하지만 주변장치에서 사용자 프로그램과의 소통을 위해서는 무언가 중간에 감시하는 역할이 필요하게 된다. 지금글을 적고 있는 순간에도 키보드는 열심히 하드웨어 세상과 소프트웨어 세상을 왔다갔다 하고 있는 것이다. 위의 그림에서 Ring3은 사용자레벨, Ring0은 커널레벨을 뜻한다. XP에서는 Ring0과 Ring3만을 사용한다. 디바이스 드라이버와 커널 코드들은 모두 Ring0 특권에서 동작하며, 응용프로그램들은 모두 Ring3 특권에서 동작한다.

청강컴정/시스템프로그래밍 2009. 4. 30. 20:51

IoSetCancelRoutine()

CancelIO() 에 대한 취소요청을 수락하기 위한 작업을 해야 한다. 주어진 IRP가 취소할 때를 대비해서 CancelRoutine을 셋팅한다. IRP가 가지는 특별한 약속이 있다. 1. 생성된 IRP는 반드시 해제되어야 한다. 2. 응용프로그램의 요청에 의해서 생성된 IRP는 반드시 완료 요청되어야 한다. 3. IRP가 완료 요청되는 상황은 "성공", "에러", "취소" 의 3가지 경우가 되어야 한다. IRP를 취소하는 방법은 실제로 DDK함수 IoCancelIrp()를 이용하는 방법이다. 사용자 프로그램이 의도적으로 취소요청을 하는 경우에는 Win32 API CancelIO() 함수를 사용한다. 물론 이함수는 내부적으로 IoCancelIrp()를 호출한다. IoCancelIrp()는 해당 IRP에..

청강컴정/시스템프로그래밍 2009. 4. 30. 20:34

버퍼동기화

디바이스 드라이버가 응용프로그램의 버퍼를 확인 했을 때 실제 버퍼를 볼 수 없는 일이 발생할 수 있다. 왜? 어플리케이션은 일단 명령을 던져두고 다시 응답이 있을때까지 기다리는 것이 아니라 다른 일을 하러 가야하기 때문에 시스템 버퍼 방식(METHOD_BUFFERED) : 시스템 버퍼에 사용자의 버퍼를 보관하고 사용자의 버퍼라고 간주하고 사용되는 방식 운영체제는 응용 프로그램이 제공하는 버퍼를 보호하기 위해서, 응용프로그램의 버퍼와 똑같은 크기의 버퍼를 새로 할당한다. 디바이스 드라이버는 이렇게 새로 할당된 시스템 버퍼를 사용한다. 이때 실제 응용프로그램버퍼와 시스템 버퍼간의 동기화 문제는 운영체제가 관여한다. MDL 방식(METHOD_IN_DIRECT, METHOD_OUT_DIRECT) : 사용자 버퍼..

청강컴정/시스템프로그래밍 2009. 4. 30. 20:06

extern - 링크

extern1.cpp extern2.cpp #include using namespace std; void Func(); -- extern2.cpp의 Func함수 void Test(int a); -- extern3.cpp의 Test함수 void main() { extern int a; //전역변수로 사용된다. Func(); Test(a); a = 5; Func(); Test(a); } #include using namespace std; int a = 1; void Func() { cout

청강컴정/C++ 2009. 4. 30. 17:06

변수의 실행범위(scope)

청강컴정/C++ 2009. 4. 30. 16:49

struct - 구조체

- 구조체의 선언은 struct 이름 {변수 선언}; - 구조체를 사용하면, 관련이 있는 변수를 하나로 묶어 취급할 수 있다. - 구조체의 선언은 자료형의 선언이다. - 구조체의 요소를 멤버라고 부른다. - 멤버를 사용할 때는 오브젝트.멤버 로 사용한다. #include using namespace std; //배열의 크기를 정하는 매크로 지정 //배열의 전체 크기와 각 배열의 사이즈값을 나눠서 총 크기를 정한다. //현재는 48 / 16 #define elem(array) (sizeof(array) / sizeof*(array)) //구조체 선언 Student라는 자료형을 선언한 것과 같다. struct Student { char *idnum; char *name; int score; int telnu..

청강컴정/C++ 2009. 4. 30. 16:32

C++ 파일입출력

#include #include #include #include using namespace std; void main() { char fileName[20]; string fileText; ifstream FInput; //ifstream 객체 생성 ofstream FOutput; //ofstream 객체 생성 cout > fileName; //ofstream start FOutput.open(fileName); //파일이 없을경우 만들고 연다. cout > fileText; FOutput

청강컴정/C++ 2009. 4. 30. 16:14

추가 정보

인기글

최신글

페이징

이전
1 ··· 33 34 35 36 37 38 39 ··· 51
다음
TISTORY
Alienus Non diutius © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바