| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 게임
- VR플랫폼
- 파일패킹
- 온라인
- 스펙주도형개발
- 유니티
- 메모리
- 게임은 문화
- 2D
- 캐스팅연산자
- PointableCanvasModule
- 게임개발
- 캐시 메모리 사상
- linux
- handtracking
- 5G에그
- 게임제작
- 동적 힙
- MacFilter
- C++
- VR
- 바이브코딩
- C언어
- TCP
- PHOTON
- Unity
- OculusInteractionSamplesRayCanvas
- 클린 아키텍처
- js
- DAIVerse
- Today
- Total
목록Computer Science (7)
kunyoungparkk
프로세스 실행 중인 프로그램을 프로세스라고 한다. 메모리 관점에서의 프로세스: 코드-데이터-힙-스택 영역과 레지스터 상태. 프로세스 상태 변화 new> ready: 프로세스 생성 ready> running: 스케줄러가 해당 프로세스를 Run 시킴 running > ready : 스케줄링 우선순위에서 밀렸거나 작업 완료 run > waiting: 프로세스가 I/O 진행 등의 이유로 블락됨. waiting> ready : I/O 종료 등의 이유로 블락이 해제됨. waiting> terminated : 프로세스 종료 컨텍스트 스위칭 실행 중인 프로세스 변경 시, 작동하는 절차를 컨텍스트 스위칭이라고 한다. 구체적으로, 현재 프로세스의 context(register set 등)를 PCB에 저장 실행될 프로세스의..
네트워크 계층별 데이터 단위 L1~L2: Frame L3: Packet - Packet의 최대 크기: MTU(Maximum Transmission Unit) = 1500byte (MSS + TCP Header(20) ,IP Header(20)) L4: Segment - Segment의 payload 최대 크기: MSS(Maximum Segment Size) = 1460byte. TCP Socket: Stream(연속적으로 이루어진 크기가 큰 데이터), 이 Stream을 MSS 단위로 잘라서 Segment들로 만든다. 참고로 UDP는 Datagram 단위이다. TCP 헤더의 Sequence Number, Acknowledgement Number Sequence Number: 보낸 데이터의 순서, 즉 현재 ..
네트워크는 어떻게 작동할까? 알아보기에 앞서 기본 개념을 정리해본다. LAN과 WAN LAN은 Local Area Network의 단축어로, 근거리 통신망이다. 가정이나 사무실 등의 컴퓨터를 서로 연결하는 등 작은 범위의 네트워크를 의미한다. WAN은 Wide Area Network의 단축어로, 이 LAN들을 서로 이어주는 네트워크이다. 주로 ISP(인터넷 서비스 제공업체)에서 관리한다. IP주소 IP(Internet Protocol) 주소는 L3계층의 인터넷 상 호스트(컴퓨터)의 고유한 주소이다. (L3 계층) x.x.x.x 의 [0~255] 범위의 숫자 네개로 이루어진다.(IP v4) 이 IP주소는 다시 서브넷에 할당되는 네트워크 번호와, 각각의 컴퓨터에 붙는 호스트 번호로 나뉜다. 위의 사진과 같이..
OSI 7 Layer VS TCP/IP 4 Layer OSI(Open System Interconnection) 7 Layer : 국제표준화기구(ISO)에서 개발한 모델. 통신의 표준을 나타내지만, 실제로는 TCP/IP 프로토콜을 사용한다. 물리 계층 (Physical Layer) 실제 물리 장치로 실질적인 전송을 담당하는 계층이다. 데이터를 전기적 신호로 변경해주며, 데이터의 형태는 bit이다. 데이터링크 계층 (Data Link Layer) 물리적 링크를 통해서, 장치 간에 데이터를 신뢰성있게 전송하는 계층이다. (이더넷(MAC) 주소 이용) 네트워크 계층에서 받은 데이터를 frame으로 구성, 물리 계층으로 전송한다. 네트워크 계층 (Network Layer) packet을 송신측으로부터 수신측으로..
캐시 메모리 캐시 메모리는 RAM의 느린 속도를 극복하기 위해서 등장한 메모리로, CPU 내부에 존재한다. 일반적으로 데이터를 로드할 때 캐시 메모리에 저장하는데, 이 때 그 데이터 뿐만 아니라 인접한 데이터도 같이 로드하게 된다. (64 바이트의 크기를 가지는 캐시 라인 단위로) 이는 어떤 데이터에 접근할 때 인접한 데이터 또한 접근할 확률이 높기 때문이다. 데이터 로드 시점에, 캐시 메모리에 이미 해당 데이터가 저장돼있어서 캐시에서 데이터를 로드한다면 이를 캐시 히트라고 하고, 아까와 같이 캐시 메모리에 저장되어있지 않아 메모리에서 로드하는 상황을 캐시 미스라고 한다. 캐시 히트 확률이 높다면, 로드하는 시간이 그만큼 줄어들기에 성능이 좋아진다. 그럼 캐시 히트를 자주 발생시키려면 어떻게 해야할까? ..
가상 메모리 32비트 기준, 실제 메모리(RAM)와 가상 메모리의 공간은 4GB(2^32)이고, 이 중 절반인 2GB는 커널이 차지한다. 가상 메모리 속 커널 영역은 모든 프로세스가 공동으로 소유하고, 프로그래머가 접근할 수 없다. 프로그래머가 직접 제어하는 메모리는 RAM이 아니라, 프로세스마다 가지고 있는 가상 메모리이다. 가상 주소와 가상 메모리를 사용함으로써 프로세스마다 4GB의 메모리를 할당해줄 수 있다. (만약 4GB를 하드 디스크에 저장하고 현재 동작하는 프로세스의 메모리를 RAM에 올린다면, 4GB 선 할당해야하는 부담이 있을 것이고, 속도도 매우 느릴 것이다.) 아래의 그림은 앞으로 설명할 page, page table, TLB, MMU의 동작을 설명한다. Paging 가상 메모리와 물리..