본문 바로가기

Programming17

[Math] 벡터의 내적, 외적 백터의 내적과 외적을 이해한다. 덧셈 백터의 덧셈은 각 스칼라의 값을 더해서 구할 수 있다. 스칼라 곱셈 스칼라의 값을 벡터의 각 스칼라의 곱한다. 내적 내적은 교환 법칙, 분배 법칙이 성립된다. 내적의 결과값은 실수 값이다. 내적의 결과값이 양수이면 예각, 0 이면 직각, 음수면 둔각이다. 외적 외적의 결과값은 두 벡터의 수직이다. 내적과 다르게 외적의 결과값은 벡터 값이다. 외적은 교환 법칙이 성립되지 않는다. 또한 값을 변경하면 반대 방향의 벡터 결과가 나온다. 외각의 크기는 평행사변형의 크기와 같다. 두 벡터가 이루는 외적의 방향은 오른손 법칙이 적용되어 엄지 손가락이 가리키는 방향이다. 벡터의 내적을 활용하여 오브젝트가 나보다 앞에 있는지 뒤에 있는지 판별이 가능하고 캐릭터의 시야각 안에 오브젝.. 2022. 7. 9.
메모리 구조 메모리 구조에 대해서 이해한다. 메모리의 구조 메모리 구조는 Code, Data, Stack, Heap 영역으로 나눠져 있다. Code 영역에는 프로그램의 코드가 저장되는 영역으로 텍스트 영역이라고도 한다. Data 영역에는 전역 변수와 정적 변수가 저장되는 영역 Stack 영역은 함수의 호출과 함께 지역 변수와 매개 변수, 반환 주소 값이 저장되는 영역(void add(int a, int b) { int num;}) Heap 영역은 사용자가 직접적으로 관리할 수 있는 영역 Stack 높은 주소 값에서 낮은 주소 값으로 할당된다. 함수의 호출과 함께 지역변수와 매개 변수, 반환 주소 값이 저장되고 함수가 종료되면 마찬가지로 지역변수와 매개변수는 소멸된다. 더 이상 할당할 수 없을 경우에는 Stack ov.. 2022. 7. 3.
가비지 컬렉션(Garbage Collection, GC) 가비지 컬렉션을 이해한다. 가비지 컬렉션 Managed Heap에서 더 이상 사용하고 있지 않는 객체들을 삭제하는 프로세스를 가비지 컬렉션이라고 한다. Heap 영역에 있는 객체(Object)들은 Method Area, Stack, Heap 내의 다른 객체들에 의해서 참조가 될 수가 있다. 참조가 되고 있는 객체들을 Reachable 객체라고하며 반대는 Unreachable 객체라고 한다. 객체가 Reachable, Unreachable 객체인지 판단할 수 있는 방법은 GC가 GC root에서부터 시작해서 하나씩 참조하고 있는 객체들을 조사하여서 판단할 수 있다. GC는 동작 순서가 있는데 Mark, Sweep, Compact가 있다. Mark : GC가 객체들을 조사하여 Reachable, Unreac.. 2022. 7. 2.
[OS] 프로세스, 쓰레 Goal 프로세스와 쓰레드를 이해한다. 프로세스(Process) 운영체제로부터 할당받은 하나의 단위 메모리 영역에서 실행되고 있는 프로그램의 인스턴스 프로세스에는 Code, Data, Stack, Heap 영역이 존재한다. 프로세스에는 최소 한 개 이상의 쓰레드가 존재한다. 다른 프로세스의 데이터에 접근할 수 없다. 쓰레드(Thread) 프로세스내에서 실행되는 단위를 나타낸다 프로세스내에 쓰레드는 여러 개가 존재할 수 있다. 쓰레드에는 오직 Stack 영역이 할당되고 다른 쓰레드와 프로세스 내의 다른 자원들을 공유할 수 있다. 멀티 프로세스와 멀티 쓰레드 멀티 프로세스란 하나의 응용 프로그램을 실행할 때 여러 개의 프로세스가 하나의 작업을 처리하는 방식이다. 장점 한 개의 프로세스에 오류가 발생해도 프로.. 2022. 7. 1.