Angel Wing Heart

이론

이론/운영체제

[운영체제] CPU Scheduling

인프런의 운영체제 공룡책 강의를 듣고 정리한 포스팅입니다. CPU 스케줄링 CPU 스케줄링은 멀티 프로그래밍 운영체제에서 기본 멀티 프로그래밍의 목적 CPU 효율을 극대화 여러 프로세스를 동시에 돌릴 수 있음 CPU bound(CPU를 많이 쓰는) 보다 I/O bound가 더 많으면 ⇒ 스케줄링을 통한 time sharing이 필요 CPU 스케줄러 CPU 스케줄러는 메모리에 로드된 프로세스 중 누구를 CPU에 할당할 것인지 선택해야 함 ⇒ ready 상태에 있는 프로세스 중 선택 프로세스 선택 ready 상태에 있는 프로세스들 중 선택하기 위해 queue를 만들 필요가 있음 FIFO Queue : First In, First Out Prority Queue : 우선순위가 높은 순으로 결정 선점형 / 비선..

이론/운영체제

[운영체제] Thread & Concurrency

인프런의 운영체제 공룡책 강의를 듣고 정리한 포스팅입니다. 멀티 스레딩 하나의 프로세스가 여러 개의 스레드를 가질 수 있음 스레드 (Thread) 스레드는 가벼운 프로세스임 (LWP : Light Weight Process) 멀티스레딩이 제공된다면, CPU를 점유하는 단위가 스레드가 됨 CPU를 점유하는 것이 PID(Process ID)가 아닌 TID(Thread ID)가 됨 스레드 별로 나뉘는 것 program counter register set stack 나머지 메모리 영역은 프로세스 내의 모든 스레드가 공유 멀티 스레딩의 장점 Responsiveness : 유저 인터페이스를 처리할 때 block할 필요 없이 실행을 계속 할 수 있음 Resource Sharing : 스레드는 코드와 데이터 영역을 ..

이론/운영체제

[운영체제] Processes

인프런의 운영체제 공룡책 강의를 듣고 정리한 포스팅입니다. 프로세스 (Process) 메모리에 할당된 실행 중인 프로그램 프로세스는 운영체제에서 작업의 단위 프로세스가 필요한 자원 CPU time memory files I/O device 메모리 구조 프로세스의 메모리 레이아웃은 여러 개의 섹션으로 나누어짐 text : 명령어들이 있는 영역 data : 전역 변수와 static 변수가 있는 영역 heap : 동적으로 할당되는 영역 stack : 함수 호출시 쌓이는 영역 (매개 변수, 지역 변수, return 주소값) 프로세스의 생명 주기 프로세스의 생명 주기를 통해 상태가 나누어지는데, 이를 이용해 운영체제가 프로세스들을 관리함 New : 프로세스가 생성된 상태 Running : CPU를 점유해 프로세스..

이론/운영체제

[운영체제] O/S Structures

인프런의 운영체제 공룡책 강의를 듣고 정리한 포스팅입니다. 운영체제의 정의 하드웨어 제어, 사용자와 어플리케이션 프로그램에 서비스를 제공하는 소프트웨어 컴퓨터에서 항상 실행하고 있는 프로그램 → 여기서 핵심은 커널(Kernel) 프로그램의 두 가지 타입 시스템 프로그램 응용 프로그램 커널 커널에서 시스템 프로그램과 어플리케이션 프로그램에 대한 인터페이스 제공 인터럽트 (Interrupts) CPU와 I/O device가 서로 통신하는 방법 중 하나 하드웨어가 언제나 인터럽트를 트리거 시킬 수 있음 트리거 시키면, 시스템 버스를 통해 CPU에 신호를 보냄 저장 시스템 용량, 속도에 따라 계층 구조가 나뉨 계층 구조 (상위 → 하위) CPU 내부에 있는 레지스터 캐시 메인 메모리 (RAM) SSD (soli..

이론/게임 수학

[게임 수학] 내적: 벡터 공간의 분석과 응용

'이득우의 게임 수학' 책을 보고 정리한 글입니다. [7장] 벡터의 내적 (Dot product) 같은 차원의 벡터 두개를 스칼라로 만들어내는 연산 $$ \vec{u} = (a,b) $$ $$ \vec{v} = (c,d) $$ $$ \vec{u}\cdot\vec{v} = a\cdot c + b\cdot d $$ 내적의 성질 교환 법칙 : 스칼라의 곱셈과 덧셈으로 구성되어 있어서 $$ \vec{u}\cdot\vec{v} = \vec{v} \cdot \vec{u} $$ 결합 법칙 X : 벡터가 아닌 스칼라로 나와서 $$ \vec{u}\cdot(\vec{v}\cdot\vec{w}) \neq (\vec{u}\cdot\vec{v})\cdot\vec{w} $$ 덧셈에 대한 분배 법칙 $$ \vec{w}\cdot(\..

이론/게임 수학

[게임 수학] 아핀 공간: 움직이는 가상 세계의 구축

'이득우의 게임 수학' 책을 보고 정리한 포스팅입니다. [6장] 이동 변환을 위한 아핀 공간 2 × 2 정방 행렬의 곱셈으로 2차원 평면에서의 이동 구현 X 임의의 벡터 (x,y)를 (a,b)만큼 이동시키는 기능 → 행렬의 덧셈으로 하지만 행렬 곱을 만족하는 정방행렬 A는 존재 X 표준기저벡터의 원점 이동 변환이 행렬이 되기 위해서는 선형성을 만족해야하는데, 선형성이 되기 위해서 기저벡터는 원점에서부터 출발해야 함 차원을 늘리면 구현이 가능 → 두 개의 차원은 물체 표현, 한 개의 차원은 선형 변환을 위한 원점과의 연결고리 전단 변환의 성질을 통해 y값을 1로 적용하면 선형 변환시 다음과 같은 수식이 성립 → 이를 통해 1차원의 이동 변환을 할 수 있음 → 마찬가지로 2차원의 이동 변환을 위해서는? 3차..

이론/컴퓨터 그래픽스

[컴퓨터 그래픽스] 3장 : 모델링

[KUOCW] 한정현 컴퓨터그래픽스를 듣고 정리한 포스팅입니다. 렌더링 할 물체 생성

이론/게임 수학

[게임 수학] 행렬: 가상 세계의 변환 도구

'이득우의 게임 수학' 책을 보고 정리한 글입니다.

이론/컴퓨터 그래픽스

[컴퓨터 그래픽스] 2장 : 수학 기초

[KUOCW] 한정현 컴퓨터그래픽스를 듣고 정리한 포스팅입니다. 행렬과 벡터 (Matrices and Vector) 행렬의 곱 m×n 행렬이 있을 때, m=n이라면 정사각 행렬 A 행렬 l×m과 B 행렬 m×n은 A의 열 개수와 B의 행 개수가 같아 곱할 수 있음 => l×n 행렬 2D 벡터 (x,y), 3D 벡터 (x,y,z) => row vector (행 벡터) column vector (열 벡터)로도 표현 가능 열벡터 (Column Vector)와 행벡터 (Row Vector), 전치 행렬 (Transpose) 벡터를 행렬로 바꾸어 연산을 한다면 다음과 같음 전치 행렬(Transpose)은 다음과 같음 그래서 벡터의 전치 행렬과, 행렬의 전치 행렬을 곱한 값은 다음과 같다. 열벡터 = 행벡터 열벡터..

이론/컴퓨터 그래픽스

[컴퓨터 그래픽스] 1장 : 서론

[KUOCW] 한정현 컴퓨터그래픽스 강의를 듣고 정리한 포스팅입니다. 컴퓨터 그래픽스(Computer Graphics)란? 3차원으로 표현된 물체를 입력해 2차원 영상(프레임)으로 출력하는 작업 실시간 그래픽스 : 게임, VR/AR에서 사용, 30fps 이상 만들어냄 비실시간 그래픽스 : 영화 특수효과, 사실적, 많은 연산 컴퓨터 그래픽스 5단계 Modeling → Rigging→ Animation→ Rendering → Post Processing 런타임에 프로그램이 자동 실행 모델링 (Modeling) 모델(폴리곤 메시, 텍스쳐)을 만드는 과정 모델 : 컴퓨터가 이해,처리하도록 물체를 표현 모델링 기법 : 폴리곤 메시, 대부분 삼각형 메시 사용 폴리곤 메시에 입힐 이미지인 텍스쳐를 만듦 리깅 (Rig..

조 히
'이론' 카테고리의 글 목록