일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- ASW(Application SpaceWarp)
- URP
- AppSW
- 게임 수학
- 메모리 누수
- 벡터
- Cell Look
- Three(Two) Tone Shading
- Windows Build
- working set
- Virtual Byte
- C언어
- OculusMotionVectorPass
- Specular
- Toon Shader
- VR
- Cell Shader
- 개인 바이트
- Rim Light
- Cartoon Rendering
- 가상 바이트
- 작업 집합
- Private Bytes
- ColorGradingLutPass
- URP로 변경
- 3d
- 프로그래밍 기초
- Today
- Total
목록게임 프로그래밍(학습 내용 정리)/컴퓨터 개론 (9)
WinCNT
제프리 리처의 Windows via C/C++(복간판)을 참고하며 정리한 문서입니다. 메모리는 모든 영역 전반에 걸쳐서 있다 네트워크 또한 시스템의 하부로 볼 수도 있지? 않을까? Object Pool 오브젝트 = 객체, 실제로 메모리에 올라와 있는(올라와야 하는) 것들 메모리 누가 관리하나? - OS 관리하는 기법으로는 페이징이 있다 하지만 OS마다 구현은 다를 것 누가 사용하나? - 프로세서(CPU) 메모리는 가상주소공간(논리적 주소)와 물리적 주소로 나눌 수 있다 논리적 주소를 통해 물리적 주소를 찾아서 데이터를 가지고 CPU 안에 있는 메모리(즉, 레지스터)에 넣는다 메모리 구조 코드 영역(text) = 실행할 프로그램 코드(기계어) 데이터 영역 전역 변수와 정적 변수 initialized dat..
운영체제 입장에서 메모리는 어떻게 관리되는가? 프로세스와 가상 주소 공간 가상 메모리, 그런데 가상 메모리에는 2가지 뜻이 있다 1. 가상 주소 공간 2. 하드디스크 등을 이용해서 메모리의 한계를 극복하기 위한 기술 이번에 설명할 것은 가상 주소 공간에 대해서이다 모든 프로세스는 자신만의 가상 주소 공간을 가진다 (커널조차도 자신만의 가상 주소 공간을 가진다) 이로 인해 개별 프로세스의 메모리에 대한 독립성을 제공한다 즉, 어떠한 프로세스가 다른 프로세스를 방해할 수 없으므로 OS 커널 메모리에도 침범(메모리 인젝션 등)을 방지할 수 있다 이를 메모리 보호라고 한다 프로세스 간의 통신 반대로 말하자면, 각각의 프로세스들은 다른 프로세스의 데이터들(자원)을 공유할 수 없다 따라서 다른 프로세스에서 데이터를..
Variables and Values Keyword - 메모리와 주소, 주소의 이름, 코드 블록과 데이터 블록 변수(Variables) - 메모리에 값을 저장하고 그곳으로 접근하기 위해 이름을 부여함 값(Values) - 메모리에 저장되는 값 PowerShell의 format-hex로 보면 값을 볼 수 있다 Constant and Literal Keyword - 변수, 값, 이름이 없는 주소, 이름이 있는 주소 상수(Constant) - 변하지 않는 변수 리터럴(Literal) - 변하지 않는 데이터 상수는 변수명을 가지고 있기에, 즉 주소에 이름이 있기 때문에, 변수명으로 접근하여 사용할 수 있다 반면, 리터럴은 데이터 그 자체이므로, 즉 주소에 이름이 없기 때문에, 접근할 수단이 없다 Class, O..
컴퓨터 프로그램이란? 컴퓨터 프로그램이란? A program is a set of instructions that a computer uses to perform a specific funcition 컴퓨터가 특정 기능을 수행하기 위해 사용하는 명령집합 프로그램의 목적 ⇒ 특정 기능을 수행 명령 집합 ⇒ 한 번에 하나씩 절차에 따라 수행 ⇒ 플로우 플로우 플로우 : 시작 ⇒ 처리 ⇒ 종료 순차적으로 진행을 플로우를 제어하는 방법은 사실 두 가지 뿐... 분기 : 조건에 따라 실행/미실행 제어 반복 : 조건에 따라 실행 반복 호출 스택 스택은 두 가지 의미로 사용될 수 있다 힙 영역 메모리에서 일반적인 데이터를 저장하는 스택 스택 영역 메모리에서 프로그램의 각 분기점에 변수와 같은 정보를 저장하기 위한 스..
컴퓨터는 어떻게 프로그램을 실행하는가 Dsik Memory(Secondary Memory) 운영체제(OS)가 프로그램을 RAM에 로드(Load)한다 ↓ RAM(Primary Memory, Main Memory) ↓ CPU(Processor) 명령어의 집합 입력된 명령어와 데이터에 대해서 연산 결과를 출력한다 OP Code Operland CPU의 기본 사이클(Machine Cycle) Fetch(인출) : 메모리상의 프로그램 카운터가 가리키는 명령어를 CPU로 인출하여 적재. RAM에서 Instruciotn과 Data를 가져온다(CPU 에 적재) Decode(해석) : 명령어의 해석. 이 단계에서 명령어의 종류와 타겟 등을 판단한다. Control Unit이 Instruction을 Decode한다 Exe..
이 글은 다음의 영상을 참고하여 작정하였습니다. https://youtu.be/fpnE6UAfbtU 레지스터와 RAM : 컴퓨터 과학 특강 # 6 판단은 즉 논리이다 컴퓨터에서 논리 회로는 CPU가 담당하며, 그 상태를 유지하는 것은 메모리가 담당한다 추상화 레벨을 하나씩 쌓아올라 가면서 이해해보자 메모리는 어떻게 상태를 유지하는가? 물론 논리 회로를 이용한다 OR, AND, NOT 회로를 결합하고, NOT에 있는 인풋을 이용하면 제어할 수 있다 AND-OR LATCH, 혹은 SR플립플롭 set 입력선과 reset 입력선 set에 1를 넣으면 출력선은 1로 되며, 그 뒤로 set 입력선을 바꿔도 출력선은 계속 1이 유지된다. 반대로 reset에 1를 넣으면 set 입력선이 뭐가 됐든 출력선은 0으로 유지..
자료(Data)가 모여서 정보(Information)가 된다 코드(Code)란? 기계어는 사람이 이해할 수 없음 사람이 해석(이해할 수 있는) 추상화가 필요 그 해석에 도움이 되는 것이 코드 소스 코드: 컴파일러가 해석함 이진 코드(바이너리 코드) 아스키 코드, 유니코드 인코딩: 암호화 코드와 포맷 코드와 포맷이 다 있어야 해석을 할 수 있다. UTF-8 문자 해석할 때 1바이트씩 해석하겠다 UTF-16 문자 해석할 때 2바이트씩 해석하겠다 UTF-32 문자 해석할 때 4바이트씩 해석하겠다 실행 파일과 데이터 파일 파일 확장자는 왜 필요한가? 파일 확장자 = 포맷이다. 실행 파일도 이진 데이터, 데이터 파일도 이진 데이터 하지만 실행이 가능한 이진 데이터가 실행 파일이고 실행이 불가능한 이진 데이터는 데..
컴퓨터는 전류가 흐른다(0) / 전류가 흐르지 않는다(1)는 알게 되었다 그런데 0과 1이라는 2가지 상태는 이 세상의 것들을 판단하고 표현하기에는 충분치 않다 하지만 다행히 0과 1만으로 형식화한 대수 체계인 불 대수(Boolean algebra)가 이미 존재하고 있었으며 컴퓨터는 이를 논리 회로(Logic Gate)를 통해 구현하여 전기적 신호를 판별할 수 있게 되었다 불 대수(Boolean algebra) 불 대수(Boolean algebra)란? 19세기 중반 영국의 수학자 조지 불(George Boole)이 고안하고 형식화한 대수 체계를 의미합니다. 불 대수에서는 어떤 명제의 참과 거짓을 이진수 1과 0에 대응시켜서 명제간의 관계를 수학적으로 표현합니다. by 위키백과 불 대수에서는 우리가 집합..
컴퓨터는 어떻게 동작하는가? 컴퓨터란 전류라는 물리적인 실체를 논리 회로를 통해 논리적으로 받아들임으로써 동작합니다. 전류의 상태는 통한다/통하지 않는다로 나눌 수 있는데, 컴퓨터는 각각의 상태를 참/거짓, 혹은 0/1라는 논리 값으로 판단하여 여러 처리를 수행합니다. 컴퓨터의 구조는 「CPU ⇔ 메모리(D램) ⇔ 보조기억장치」와 같이 추상화(※)할 수 있는데 전류와의 관계라는 관점에서 보면 각각의 역할은 다음과 같이 정리할 수 있겠습니다. CPU : 전류의 상태를 바꾸는 역할 메모리 : 보존한 전류의 상태를 복사해와서 유지하며, CPU가 변경한 전류의 상태를 유지시키는 역할 보조기억장치 : 전류의 상태를 보존하는 역할 추상화(abstraction)란? 컴퓨터 공학에서의 추상화(abstraction)란 ..