일반적으로 어플리케이션은 각 운영체제의 특정 플렛폼 전용의 네이티브 코드로 만들어야 합니다.

동일한 프로그램을 여러 플랫폼으로 돌아가게 만들려면 해당 플랫폼의 맞는 네이티브 코드로 다시 작성을 해야하는 문제점이 있었습니다.

 이러한 문제점을 해결하기 위해 2002년 MS에서 닷넷 프레임워크(.Net Framework)를 발표합니다.


.NET Framework 란?

 - MS에서 개발한 윈도우 프로그램 개발 및 실행 환경입니다.네트워크 작업,인터페이스 등의 많은 작업을 캡슐화하였고, 공통 언어 런타임이라는 이름의 가상 머신 위에서 작동합니다.


공통 언어 런타임 ( Common Language Runtime , CLR )

 - 가상 머신


공통 언어 기반 ( Common Language Infrastructure , CLI )

 - 어플리케이션의 개발과 실행 시 언어에 종속적이지 않은 플랫폼을 제공합니다.


XML 지원

Posted by Dongkey
,

프로그램 실행 시 운영체제에 의해서 마련되는 메모리의 구조는 크게 네 개의 영역으로 구분되어 있습니다.


코드 영역 ( Code Area  ) : 프로그램의 코드가 저장되는 메모리 공간. CPU는 코드 영역에 저장된 명령문들을 하나씩 가져가서 실행을 합니다.


데이터 영역 ( Data Area ) : 전역변수와 static 변수가 할당됩니다. 즉, 이 영역에 할당되는 변수들은 프로그램 종료 시까지 남아있게 된다는 특징이 있습니다.


힙 영역 ( Heap Area ) : 데이터 영역에 할당되는 변수와 스택 영역에 할당되는 변수들은 생성과 소멸의 시점이 이미 결정되어 있습니다. 프로그래머가 원하는 시점에 변수를 할당하고 또 소멸하도록 지원을 하는 변수들이 할당되는 영역이 힙 영역입니다. 런 타임에 크기가 결정됩니다.


스택 영역 ( Stack Area ) : 스택 영역에는 지역변수와 매개변수가 할당됩니다. 함수를 빠져나가면 소멸된다는 특징이 있습니다. 컴파일 타임에 크기가 결정됩니다.

 

Posted by Dongkey
,