프로그래밍

멀티 프로세싱 vs 멀티 프로그래밍 vs 멀티 태스킹 vs 멀티 스레딩
멀티 프로세싱 (Multi processing)다수의 프로세서가 협력적으로 일을 처리하는 것이다. 프로세서는 CPU나 Microprocessor라는 하드웨어를 의미하며, 프로세스는 실제 메로리에 적재되어 프로세서에 의해 실행되고 있는 프로그램이다. 보통 하나의 프로세서 (CPU)가 하나의 작업을 맡지만 멀티 프로세싱은 다수의 프로세서가 다수의 작업을 함께 처리하는 것이다. 멀티 프로세싱의 장점은 하나의 프로세서가 고장이 나더라도 해당 프로세서가 진행 중인 작업은 다른 프로세서에서 수행하고 있기 때문에 작업이 정지되지 않는다, 또한, 여러 개의 프로세스가 처리되어야 할 때 동일한 데이터를 사용한다면 각 데이터를 각 프로세서에게 할당할 필요 없이 하나의 공간에 데이터를 저장한 후 이를 공유하여 사용하도록 한..

[Unreal] Programming Subsystem (프로그래밍 서브시스템)
1. 서브시스템 여기서 GameInstance 서브시스템을 커스터마이징했을때, 커스터마이징한 서브시스템의 수명은 class UMyGameSubsystem : public UGameInstanceSubsystem 위 예제 코드처럼 베이스 클래스에서 파생된 클래스를 생성하면 다음 스텝으로 수명이 관리된다. UGameInstance 생성 이후, UMyGameSubsystem 인스턴스 역시 생성한다. UGameInstance 초기화시, UMyGameSubsystem 인스턴스에서 Initialize()가 호출된다. UGameInstance 종료시, UMyGameSubsystem 인스턴스에서 Deinitialize()가 호출된다. Deinitialize()가 호출된 시점에서 UMyGameSubsystem 인스턴스에..

프로그래밍 언어와 빌드 과정 [Build Process]
⦁ Build 란? 컴퓨터는 근본적으로는 0과 1밖에 모른다. 우리가 작성하는 코드들은 거의 대부분 고급언어를 사용하기 때문에 결국에는 컴퓨터(CPU)가 이해할 수 있도록 번역을 해주어야한다. (C, Java, C++ 등 어셈블리를 제외한 대부분 언어가 고급언어다.) 컴퓨터가 이해하는 언어를 기계어라고 하는데, 우리가 만든 소스 코드가 컴퓨터 입장에서는 해외판 책이 되는 것이고, 이 책을 기계어(machine code)로 번역하여 컴퓨터에서 이해할 수 있는, 즉 실행 가능한 파일로 만드는 과정을 빌드(Build) 라고 한다. ⦁ Build Process 1. Compile Type 이렇게 한 번에 번역하는 언어들을 보통 Compile Language 라고 하는데, 대표적으로 C, C++, Go 언어가 있..