본문 바로가기
컴퓨터과학[2-1]/knou_[2-1]Visual_C

Visual C++ 1강 윈도우 프로그래밍의 개요

by boolean 2015. 1. 10.
728x90

윈도우 프로그램의 개요



  1. Windows는 Microsoft 사에서 제작한 운영체제로 Windows 2000, Windows XP, Windows 98, Windows NT, Windows Vista, Windows 7 등을 뜻한다. 한글표현으로 윈도라고도 한다. 반면에 윈도우(Window)는 화면에 나타나는 창(Window)을 뜻한다.
  2. 윈도우 프로그램이란 현재 개인용 컴퓨터에서 동작되는 Windows 운영체제에서 실행할 수 있는 프로그램이다. 프로그램 실행 결과는 항상 윈도우(window) 형태여서 윈도우 프로그램이라고 한다.
  3. 운영 체제는 실행되는 응용 프로그램들이 메모리와 CPU, 입출력 장치 등의 자원들을 사용할 수 있도록 만들어 주고, 그들을 추상화하여 파일 시스템등의 서비스를 제공한다. 또한 멀티태스킹을 지원하는 경우, 여러 개의 응용 프로그램을 실행하고 있는 동안, 운영 체제는 이러한 모든 프로세스들을 스케줄링 하여 마치 그들이 동시에 수행되는 듯한 효과를 낸다.
  4. 윈도우 프로그램은 다음과 같은 대표적인 특징들을 갖는다.
  • 윈도우 프로그램은 장치 독립적이다.
  • 윈도우는 멀티태스킹(multitasking) 운영체제이다.
  • 윈도우는 메시지 구동방식(Message-driven)으로 동작하는 메커니즘을 갖고 있다.
  • 윈도우는 GUI (Graphic User Interface) 운영체제이다.
  1. API란 Application Programming Interface하며 운영체제가 응용 프로그램을 위해 제공하는 함수의 집합이다. 요즘은 안드로이드, 아이폰OS API도 있다. API는 운영체제의 중요한 한 부분이며 운영체제 그 자체라고도 할 수 있다.
  2. 핸들(handle)이란 어떤 대상들을 구분하기 위해 붙여진 번호로 윈도우 운영체제에서 핸들은 예외 없이 접두어 h로 시작되며 핸들값을 저장하기 위해 별도의 자료형까지 정의해 두고 있다. HWND, HPEN, HBRUSH, HDC 등이 핸들을 담기 위한 자료형들이며 모두 부호 없는 정수형이다.
  3. 윈도우 프로시저(Callback 함수)는 응용프로그램이 제공하며 운영체제가 필요할 때 호출하는 함수로 “운영체제에 의해 호출되는 프로그램 내부의 함수”하고 할 수 있다.
  4. 운영체제는 하나의 시스템 메시지 큐를 관리하며 또한 각 스레드 별로 하나씩 메시지 큐를 생성한다. 큐(Queue)라는 자료구조는 FIFO의 원칙에 따라 운영되는 자료구조이다. 즉 메시지 큐는 들어온 순서대로 메시지를 쌓아놓는 곳이다. 시스템 메시지 큐는 시스템 전체에 유일한 메시지 큐이며 모든 큐 메시지는 먼저 이 곳에 저장된다. 시스템은 큐의 메시지를 하나씩 꺼내어 어떤 스레드로 보낼 메시지인지 판단하여 스레드 메시지 큐로 메시지를 보내고 시스템 메시지 큐에서 메시지를 지운다. 그러면 메시지 루프에 의해 이 메시지는 해당 윈도우의 윈도우 프로시저로 보내져 처리되고 스레드 메시지 큐에서 메시지는 삭제된다.

댓글