과제
-
[libasm] 01. 기초지식 - 리눅스의 호출 규약과 어셈블리코드 정리과제/libasm 2021. 2. 24. 22:28
1. 호출규약 윈도우와 리눅스의 호출규약은 서로 다르다. 출처: Paul A. Carter의 [PC 어셈블리어]에서 1.3.4 출처: nasm 어셈블리 산술 연산 출처: movsx, movzx MOV MOV dest, src -> src에 있는 데이터를 dest에 복사 ADD 정수 a, b 일때 a + b SUB 정수 a, b 일때 a - b INC INC dest -> dest를 1 증가 시킨다. dest++ 기계코드 크기가 ADD, SUB보다 더 작다. DEC DEC dest -> dest를 1 감소 시킨다. dest– 기계코드 크기가 ADD, SUB보다 더 작다. MUL MUL multiplier 부호 없는 데이터를 곱합니다. IMUL IMUL multiplier Integer mul. 부호 있는 ..
-
[FT_SERVER] 01. 기초지식 정리과제/FT_SERVER 2021. 2. 23. 21:43
1. Docker docker 란 어떠한 특정 문제를 해결하기 위해 개발되었다. 어떠한 문제냐면, 내가 A머신에서 잘 동작하는 프로그램을 만들었는데, B머신에서 정확히 같은 동작을 하도록 환경을 설정하기 위한 문제를 해결해준다. (Environment disparity) 또한, 기존에 쓰이던 VMware 같은 가상머신 툴들은, OS 위에, 하이퍼바이져를 설치하고, 그 위에 가상으로 HW를 설치하고, 다시 그 위에 OS 가 설치된다. 하지만 docker 의 경우 위와 같이 docker 위에 바로 컨테이너를 만들어서 각각의 어플리케이션들을 구동 시킬 수 있다. 그렇다면 VMware 와 성능차이가 얼마나 날까? -> 약 2~3배 성능 차이가 난다고 한다. (컨테이너가 많아질 경우) 2. Nginx 경랑 웹서버..
-
[RT] Ray 와 Triangle 의 충돌 판정과제/miniRT 2021. 1. 14. 18:58
3차원 공간상의 세 P1, P2, P3 를 가진 삼각형이 존재한다고 하자. 이 삼각형을 편의상 Tri 라고 하고 Ray = O + td 이고, 해당 점을 P라고 한다면, P와 Tri 같의 충돌판정은 다음 2과정으로 이루어진다. 1. Tri 가 존재하는 평면과 P가 충돌하는가? -> plane 과 Ray의 충돌판정을 활용. 2. P가 Tri 가 있는 평면과 같은 평면에 존재한다면, 해당 P는 Tri 의 세 꼭지점 내부에 있는가? 2번은 판정할 때 외적과 내적을 사용한다. 결론부터 말하자면 ((P3 - P1) X (P - P1)) · ((P2 - P1) X (P - P1)) >= 0 이면 P3 - P1 을 기준으로한 벡터에 대해서 점 P 과 점 P2 가 같은 방향에 있다는 의미이다. 따라서 P2 - P3 를..
-
[RT] Ray 와 Cylinder 의 충돌판정과제/miniRT 2021. 1. 13. 22:23
P2 -> Ray 의 충돌지점 따라서 P2 = O + td 가 된다. 여기서 O는 ray가 출발한 위치, d 는 unit_vector 로, ray의 방향이 된다. 이때 실린더 내부 중앙선에 존재하는 임의의 점 P1을 잡고, 실린더 아래 disk 의 센터 지점을 C라 놓으면, P1 = C + hn 이 된다. 이때 n은 실린더 위 disk 의 법선벡터 이다. 이러면 미지수가 2개가 되는데, h 와 t 이다. 우리가 구하고 싶은 것은 t 이므로 (P2 - C) · n = h 이므로 이를 이용하여 t를 h에 대해서 정리 할 수 있다. 또한 | P2 - P1 |^2 = R^2 이므로, 이를 이용하여 t를 구할 수 있다. 결국 2차원 방정식 ax^2 + bx + c = 0 이라는 식에 a,b,c 값을 구하는 것으로..
-
[RT] Ray 와 Plane 의 충돌 판정과제/miniRT 2021. 1. 11. 10:58
그림을 개떡같이 못그렸지만 위의 경우로 충돌판정을 생각해보자. 우선 3차원 좌표계에서 평면이라함은, 끝이 없는 무한히 큰 종이라고 생각하면 된다. 평면을 정의하는 방법으로는 크게 2가지 방법이 있는데 1. 평면의 법선벡터와 평면에 포함되는 임의의 한 점으로 정의 2. 평면에 포함되는 임의의 세 점으로 정의 가 있다. 이중 첫번째 방법으로 위의 평면을 정의한 것이다. 우선 plane 의 임의의 두점을 P0, P1 이라 하면, 벡터(P1 - P0) 는 평면위의 직선벡터가 되고, 이는 당연히 벡터 n과 90도를 이룬다. 따라서 P0를 주어진 하나의 점으로 놓고, P1을 임의의 점(Px, Py, Pz) 라고 놓으면, 평면의 방정식이 아래와 같이 완성된다. 벡터를 이용한 평면 방정식 : n · (P0 - P1) ..
-
Network 정리과제/Network 2021. 1. 4. 09:53
1. IP Address ? => IP주소는 IP 네트워크에서 인터페이스의 고유한 ID 이다. 마치 주소와 같다. 1-1. IPV4 , IPV6 ? => IPV4는 모두들 익히 알고 있는 32bit 주소체계이며, 8bit 씩 4개로 나눠서 각각 .을 붙여 구분한다. ex) 210.113.39.224 즉 최대 약 40억개의 서로 다른 주소를 부여 할 수 있다. => IPV6는 16비트씩 8부분으로 하여 각 부분을 : 으로 구분한다. 1조개 이상의 주소를 부여 할 수 있다. 또한 데이터의 무결성, 데이터 보안 기능을 강화하고 ABCD 클래스별 할당이 아닌 유니캐스트, 애니캐스트 멀티캐스트형태의 유형으로 할당하기 때문에 할당된 주소의 낭비요인이 사라지고 더욱 간단히 주소를 자동설정할 수 있다. 2. Subne..