바인딩(Binding) Binding은 연관 짓는 것이다(association). 예를 들어 엔티티(Entity)와 속성(Attribute), 심벌(symbol)과 연산자(operation)를 연관 짓는 것 등을 binding이라고 한다. 바인딩 타임(Binding Time) 바인딩 타임은 결정되는 시점에 따른 분류로 구분지을 수 있다. 언어 디자인 시점(at language design time) - 대부분의 언어에서 제어 흐름 구조, 기본 유형 집합, 복잡한 유형을 만드는 데 사용할 수 있는 생성자 및 언어론의 많은 측면들이 언어를 디자인할 때 선택된다. 언어 구현 시점(at language implementation time) - 대부분의 언어 매뉴얼이 언어 구현자의 재량에 다양한 이슈를 남긴다. ..
블로그 이사했습니다 아래에서 볼 수 있습니다. https://code-lab1.com/red-black-tree/ [자료구조] 레드-블랙 트리(Red-Black Tree)란? 레드-블랙 트리 쉽게 이해하기 - 코드 연구소레드-블랙 트리는 자가 균형 이진 탐색 트리이다. 레드-블랙 트리는 다음과 같은 조건들을 만족한다.code-lab1.com 레드-블랙 트리(Red-Black Tree)레드-블랙 트리는 자가 균형 이진 탐색 트리이다. 레드-블랙 트리는 다음과 같은 조건들을 만족한다.1. 모든 노드는 빨간색 혹은 검은색이다.2. 루트 노드는 검은색이다.3. 모든 리프 노드(NIL)들은 검은색이다. (NIL : null leaf, 자료를 갖지 않고 트리의 끝을 나타내는 노드)4. 빨간색 노드의 자식은 검은..
블로그 이사했습니다. 아래에서 글을 볼 수 있습니다! https://code-lab1.com/avl-tree/ [자료구조] AVL트리란? AVL트리 쉽게 이해하기, AVL트리 시뮬레이터 - 코드 연구소AVL트리는 이진탐색트리의 한계를 극복할 수 있는 균형잡힌 이진탐색트리이다code-lab1.com AVL 트리란?예전에 이진탐색트리에 대해 알아본적이 있다. [자료구조] 이진탐색트리(Binary Search Tree)의 개념, 이해 | C언어 이진탐색트리 구현이진탐색트리(Binary Search Tree)이란? 이진탐색트리란 다음과 같은 특징을 갖는 이진트리를 말한다. ( #이진트리 - 각 노드의 자식 노드가 최대 2개인 트리) 1. 각 노드에 중복되지 않는 키(key)가 있다c..
블로그 이사합니다아래에서 확인 가능합니다. https://code-lab1.com/%ED%8E%98%EC%9D%B4%EC%A7%80-%EA%B5%90%EC%B2%B4-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98/ [운영체제] 페이지 교체 알고리즘 (FIFO/OPT/LRU/LFU/MFU) - 코드 연구소이때 빈 프레임이 없을 경우 희생 당할 프레임(victim frame)을 고르는 알고리즘이 페이지 교체 알고리즘이다.code-lab1.com 페이지 교체 알고리즘 (Page Replacement Algorithm)이전 포스팅으로 요구 페이징(Demand Paging)에 대해 알아보았다. 필요한 페이지가 메모리에 없을 때 page-falut가 발생하고 Backing Store에서 해당 페..
블로그 이사합니다아래에서 확인 가능합니다.https://code-lab1.com/%EA%B0%80%EC%83%81-%EB%A9%94%EB%AA%A8%EB%A6%AC/ [운영체제] 가상 메모리(Virtual Memory)와 요구 페이징(Demand Paging), Valid-Invalid Bit, 페이지 부재(Page Fau메인 메모리의 크기는 한정되어 있다. 따라서 물리적인 메모리 크기보다 크기가 큰 프로세스는 실행시킬 수 없게 된다. 따라서 나온 방법이 가상 메모리이다.code-lab1.com 가상 메모리(Virtual Memory)메인 메모리의 크기는 한정되어 있다. 따라서 물리적인 메모리 크기보다 크기가 큰 프로세스는 실행시킬 수 없게 된다. 예를 들어 메인 메모리의 크기가 100MB 일 때 30..
블로그 이사합니다아래에서 확인 가능합니다. https://code-lab1.com/copy-on-write/ [운영체제] Copy On Write(COW)란? Copy On Write 예시 - 코드 연구소이처럼 Copy On Write는 리소스가 복제되었지만 수정되지 않은 경우에 새 리소스를 만들 필요 없이 복사본과 원본이 리소스를 공유하고, 복사본이 수정되었을 때만 새 리소스를 만드는 리소스 관code-lab1.com Copy On Write (COW) 란?123456std::string x("Hello"); std::string y = x; // x and y use the same buffer y += " World!"; // now y uses a different buffer ..
블로그 이사합니다아래에서 확인 가능합니다. https://code-lab1.com/%EC%84%B8%EA%B7%B8%EB%A9%98%ED%85%8C%EC%9D%B4%EC%85%98/ [운영체제] 세그멘테이션(Segmentation)이란?, 세그멘테이션 vs 페이징 - 코드 연구소반면, 세그멘테이션은 프로세스를 논리적 내용을 기반으로 나눠서 메모리에 배치하는 것을 의미한다.code-lab1.com 세그멘테이션(Segmentation)이란?페이징은 프로세스를 물리적으로 일정한 크기로 나눠서 메모리에 할당하는 것을 의미한다. 반면, 세그멘테이션은 프로세스를 논리적 내용을 기반으로 나눠서 메모리에 배치하는 것을 의미한다. 세그멘테이션은 프로세스를 세그먼트(segment)의 집합으로 표현한다. 이때 세그먼트는 논..
블로그 이사합니다아래에서 확인 가능합니다. https://code-lab1.com/%ED%8E%98%EC%9D%B4%EC%A7%80-%ED%85%8C%EC%9D%B4%EB%B8%94-%EA%B5%AC%EC%A1%B0/ [운영체제] 페이지 테이블 구조 (Hierarchical Page Table, 2-level Page Table, Hashed Page Table, Inverted Page Table)페이지 테이블 구조에는 Hierarchical Page Table, 2-level page Table, Hashed page Table, Inverted Page Table 등이 있다code-lab1.com Hierarchical Page Table하나의 페이지 테이블 안에 여러개의 페이지 테이블을 넣은 페이..
블로그 이사합니다아래에서 확인 가능합니다.https://code-lab1.com/%ED%8E%98%EC%9D%B4%EC%A7%95/ [운영체제] 페이징(Paging)이란? 페이지 테이블이란? - 코드 연구소페이징이란 논리주소의 메모리를 고정된 크기의 페이지(Page)로 나누어 관리하는 기법이다.code-lab1.com 페이징(Paging)이란?페이징이란 논리주소의 메모리를 고정된 크기의 페이지(Page)로 나누어 관리하는 기법이다.페이징은 아래와 같은 특징들을 갖고 있다.물리주소 공간(Physical address)은 연속적이지 않을 수 있다(noncontiguous)페이지는 모두 같은 크기를 가진다.물리주소 공간을 페이지와 같은 사이즈로 나눈 것들을 프레임(Frame)이라고 한다.페이지 사이즈(=프레..
블로그 이사합니다아래에서 확인 가능합니다.https://code-lab1.com/%EB%8B%A8%ED%8E%B8%ED%99%94/ [운영체제] 내부 단편화, 외부 단편화란? 외부단편화 해결 방법 - 코드 연구소내부 단편화란 주기억장치 내 사용자 영역이 실행 프로그램보다 커서 프로그램의 사용 공간을 할당 후 사용되지 않고 남게 되는 현상을 말한다.code-lab1.com 내부 단편화 (Internal Fragmentation)내부 단편화란 주기억장치 내 사용자 영역이 실행 프로그램보다 커서 프로그램의 사용 공간을 할당 후 사용되지 않고 남게 되는 현상을 말한다. 예를 들어 아래와 같은 그림을 살펴보자.위와 같이 100MB의 메모리에 80MB 크기의 프로세스를 올리게 되면, 20MB의 내부 단편화가 발생..