STUDY(40)
-
[그래픽스] 렌더링 파이프라인 (Rendering Pipeline)
해당 내용은 '유니티 그래픽스 최적화 스타트업'을 기반으로 작성하였습니다.정의렌더링 파이프라인(Rendering Pipeline)이란 쉽게 말해, 오브젝트(렌더링하고자 하는 모든것)을 2D 이미지상으로 그리는 과정을 렌더링 파이프라인이라고 한다. 한개의 오브젝트가 렌더링될 때는 일련의 과정을 거치면서 3D 데이터들이 2D 이미지로 구성되어 그려지는 것이다.파이프라인은 크게 애플리케이션(Application), 지오메트리(Geometry), 래스터라이저(Rasterizer)로 나눌 수 있다. (물론 플랫폼마다 조금씩 다를 순 있다..)파이프라인이라는 말에서 유추해볼 수 있듯, 애플리케이션 - 지오메트리 구간의 성능이 원할하더라도 지오메트리 - 래스터라이저 구간의 성능에 과부하가 생긴다면 렌더링 성능이 떨어..
2025.05.02 -
공용 언어 런타임(CLR)의 실행 모델
해당 내용은 서적 CLR via C# 을 기반으로 작성하였습니다. 들어가기 앞서,우리는 여러가지 어플리케이션을 개발할때 개발 목적에 따라 언어를 선택하게 된다. C++과 같은 언어는 Win32 API를 자유로이 쓸 수 있고 메모리로 직접 접근이 가능하여 우리가 원하는 아주 섬세한 부분까지 제어할 수 있기 때문에, 시스템 서비스와 같은 하위 수준의 어플리케이션을 개발할때 적합하고, Visual Basic과 같은 언어는 쉬운 문법, 빠른 UI 디자인 작업 등이 용이하여 고객의 요구 사항이 빈번하게 바뀌는 업무 프로젝트를 진행하기에 아주 적당하다고 할 수 있다. 즉, 기존의 언어 사이에는 우열이 존재하며, 개발 목적에 따라 언어의 선택이 이루어질 수 있고, 이러한 결정은 매우 신중하게 이루어져야 한다. 그러나..
2025.02.02 -
[운영체제] 멀티 스레드 모델
해당 글은 '쉽게 배우는 운영체제' 서적을 기반으로 작성되었습니다. [멀티 스레드 모델]프로세스가 커널 프로세스와 사용자 프로세스로 나뉘듯 스레드도 커널 스레드와 사용자 스레드가 있다.커널 스레드 : 커널이 직접 생성하고 관리하는 스레드이다.사용자 스레드 : 라이브러리에 의해 구현된 일반적인 스레드이다.사용자 스레드가 커널 스레드를 사용하려면 시스템 호출로 커널 기능을 이용해야 한다. 이때 커널 스레드와 사용자 스레드의 대응 방식에 따라 다음과 같이 분류된다. 사용자 레벨 스레드사용자 레벨 스레드는 운영체제가 멀티스레드를 지원하지 않을 때 사용하던 방법으로 초기의 스레드 시스템에서 이용되었다. 이스레드는 사용자 레벨에서 스레드를 구현하기 때문에 관련 라이브러리를 사용하여 구현하며, 라이브러리는 커널이 지..
2024.12.13 -
스택은 왜 높은 곳에서 낮은 곳으로 저장될까?
문득 스택만 높은 영역에서 낮은 영역으로 저장된다는 부분에 의문점이 들어 작성한 글이다.1. 스택 포인터의 역할스택은 스택 포인터라는 레지스터로 관리된다. 이 레지스터는 스택의 최상단을 가리키는 메모리 주소를 저장한다. 푸쉬(push) : 데이터를 스택에추가할때, SP를 감소시키고 데이터를 저장한다.팝(pop) : 데이터를 스택에서 제거할 때, 데이터를 읽고 SP를 증가시킨다.위 두 연산은 각각 감산 또는 가산 연산 한번으로 단일 메모리 접근만으로 처리된다. 이러한 간결성은 하드웨어 설계와 명령어 실행을 단수화하고 효율적이다. 2. 커널 영역을 침범하지 않으면서 전체적인 영역을 일정하게 차지하기 위함스택이 높은 영역에서 낮은 영역으로 가기 때문에 커널 영역에 침범하지 않는 매우 중요한 이유도 존재한다. ..
2024.12.12 -
[운영체제] fork() 시스템 호출, exec() 시스템 호출
이 글은 '쉽게 배우는 운영체제' 서적을 기반하여 작성되었습니다. 프로세스는 프로그램을 실행할 때 새로 생성된다. 프로세스는 새로 생성하는 방법뿐만 아니라 실행 중인 프로세스로부터 새로운 프로세스를 복사하는 방법도 있다. fork() 시스템 호출의 개념 fork() 시스템 호출은 실행 중인 프로세스로부터 새로운 프로세스를 복사하는 함수이다. 커널에서 제공하는 이 프로세스는 복사하는 일종의 시스템 호출이다. fork() 시스템 호출을 사용하면 실행 중인 프로세스와 똑같은 프로세스가 하나 더 만들어 진다. 이를 통해 처음 프로세스를 실행하는 속도보다 빠르게 실행할 수 있다.예를 들어 구글의 웹 브라우저인 크롬에서 어떤 페이지를 보다가 ctrl + n 키를 누르면 크롬이 하나더 실행된다. 이는 새로운 크롬을..
2024.12.12 -
[운영체제] 프로세스와 쓰레드
이 글은 '쉽게 배우는 운영체제' 서적을 바탕으로 작성되었습니다.지난 포스팅에서 운영체제에 대해 공부했었다. 이어서 보면 좋을거같다https://chlee200530.tistory.com/147?category=1073541 [Process]프로세스의 정의프로그램은 저장장치에 저장되어 있는 정적인 상태이고, 프로세스는 실행을 위해 메모리에 올라온 동적인 상태를 말한다.오늘날 운영체제는 대부분 시분할 방식을 사용하고 있기 때문에 프로세스가 여러 상태(프로세스 상태)를 오가며 실행된다. 운영체제가 여러 프로세스를 실행하기 위한 주문서 즉 프로세스 제어 블록(PCB)를 통해 프로세스간 문맥 교환을 이룬다.결론적으로 어떤 프로그램이 프로세스가 되었다는 것은 운영체제로부터 프로세스 제어 블록을 받았다는 의미이다...
2024.12.12