전체 글

B+-tree B+ tree는 다음의 조건을 만족하는 tree를 말합니다(이때 n은 한 노드에서 가질 수 있는 pointer의 최대 개수입니다):All path from root to leaf are of the same length; balanced tree를 말합니다.Each node that is not a root or a leaf has between ceil(n/2) and n children; root노드가 아닌 노드들은 50%이상의 children을 가져야합니다.A leaf node has between ceil((n-1)/2) and n-1 values; leaf노드는 50%이상의 value들을 가져야합니다.Special case(root node):If the root is not a ..
Introduction Convolution Neural Networks, CNNs은 convolution이라는 수학 연산을 이용하는 neural networks입니다. 합성곱은 이전 챕터에서 다뤄본적이 있습니다.2025.04.04 - [[학교 수업]/[학교 수업] Signal Processing] - [Signal Processing] Chapter 5: FIR Filters | Week 5 [Signal Processing] Chapter 5: FIR Filters | Week 5Digital Filtering 아날로그의 시그널을 디지털로 변환하는 과정은 해당 시그널을 이용해 다른 연산을 수행하는 데에 있어서 매우 중요합니다. 만약 아날로그 데이터를 그대로 가져온다면 computationhw-hk.t..
Introduction 해당 글에서는 두 가지 MIPS의 구현에 대해 살펴봅니다:A simplified version - Single cycle; 하나의 명령을 하나의 cycle에서 처리하는 방법. *CPI = 1A more realistic pipelined versionMulti-cycle version Instruction Execution PC는 instruction memory에서 다음에 실행할 instruction의 주소를 fetch합니다. 그 후 PC에 4를 더해 다음 target address를 계산합니다. Register numbers를 이용해서는 register file에 접근하며, register의 값을 읽습니다. Instruction class에 따라 ALU가 수행하는 연산이 달..
Background 프로세스들은 기본적으로 동시에 실행될 수 있습니다. *이때 동시는 parallelization이 아닌 concurrently를 말합니다. 그러므로 각각의 프로세스들은 inturrupt를 당할 수 있고, 만약 shared data에 대해 여러 개의 프로세스들이 접근하려 한다면, data inconsistency problem이 발생할 수도 있습니다. 따라서 cooperating processes들 간의 실행 순서를 통제하는 것은 data consistency를 유지하는데 매우 중요한 요소입니다. 아래는 두 프로세스(Producer and Consumer)가 공유하는 자료구조와 데이터인 buffer와 counter 변수에 접근하여 값을 수정하는 경우에 대한 예시입니다: 이 경우 count..
Storage Access Block (일반적으로 4KB)은 storage allocation과 data transfer의 기본 단위입니다. DB system은 disk와 memory사이의 block transfer의 수를 줄임으로써 성능을 좋게 만드려 노력합니다. 일반적으로 DB system은 가능한 많은 block들을 memory에 저장하여 유지하는 방법을 통해 transfer의 수를 줄입니다. transfer의 수를 줄이기 위한 노력으로 disk의 block들의 복사본들이 memory에 저장되는데, 이때의 memory 공간을 Buffer라고 부릅니다. 그리고 이 buffer를 관리하는 subsystem을 buffer manager라고 부릅니다. 이 buffer manager는 buffer space..
File Organization DB는 file의 구조를 이용해서 데이터를 저장합니다. 파일은 정해진 규격, 규칙이 있기 때문에 사용하기 유용합니다. Fixed-Length Records 이때 record는 tuple이라고 볼 수 있는데, tuple은 저장될 때 검색의 기준이 되는 key와 나머지 값들인 value 혹은 record로 저장됩니다. 만약 데이터의 type이 변하지 않고 고정되어있는 경우, 고정된 길이의 record를 다룰 때는 간단하게 나열하는 방법을 사용합니다. 예를 들어 record의 크기가 n이고 record i까지를 저장하기 위해서는 n * (i - 1) byte크기의 파일이 있으면 됩니다. 이를 그림으로 나타내면 다음과 같습니다: 만약 이때 record 3을 제거하는 경우, 해당 ..
Basic concepts CPU utilization을 최대화하기 위해서 multiprogramming은 필수적입니다. 이때 CPU의 cycle은 CPU burst와 I/O burst의 반복으로 이뤄집니다. *CPU burst에 의해 I/O burst가 일어나기에, CPU burst가 일반적으로 우선합니다(시간적으로). CPU Scheduler Short-term scheduler는 ready queue에 있는 process들 중 CPU에 할당할 process를 선택하는 역할을 맡습니다. 이때 CPU scheduler가 동작하는 경우는 아래의 4가지 경우입니다:Terminates; running 중인 process가 종료되는 경우Switches from running to waiting queueSw..
Motivation 현대의 응용 프로그램들은 대부분 multithreaded환경입니다. Process를 생성하거나 Process를 기준으로 context switch를 하면 Process자체가 너무 큰 단위이다보니 overhead가 발생합니다. 하지만 Thread의 생성이나 context switch는 이에 비해 가볍게 수행할 수 있어서 Thread가 중요해졌습니다. *kernel들은 일반적으로 multithreaded입니다. Multithreaded Server Architecture multithread환경을 이용한 서버 구조는 다양한 사용자의 요청들을 비동기적으로 처리할 수 있어 효율성이 올라갑니다: 만약 single-thread 환경이었다면, server는 request를 받아들인 후 client..
건대다니는 컴공생
Hello World! Hello Konkuk!