# sp

35개의 포스트
post-thumbnail

SP - 8.1 Virtual Memory Concepts

  대망의 System Programming 연재 마지막 포스팅이다. 마지막 개념은 그동안 계속 언급만 해왔던 Virtual Memory이다. 이는 Computer Architecture를 공부했다면 어느정도 이미 알고 있을 수 있는 내용이지만, SP 연재가 끝나면 새

2022년 6월 19일
·
0개의 댓글
post-thumbnail

SP - 7.3 Library Interpositioning

  Interposition은 '중간에 끼워넣음'이라는 의미로, Intercept와 유사한 뉘앙스라고 생각하면 된다. Library Interpositioning : 임의의 Function에 대한 호출을 프로그래머가 Intercept할 수 있는 Linking Techn

2022년 6월 19일
·
0개의 댓글
post-thumbnail

SP - 7.2 Fundamentals of Linking (2)

  우리는 현재 Linking에 대해 학습하고 있다. 우리가 Modular Programming을 할 때, 각 Subprogram별로 Program을 쪼개는 것이다. 한 소스 코드에 다 집어넣지 않는 것이다. 이때, 분리된 소스 코드들을 하나의 실행 파일로 묶는 것이

2022년 6월 18일
·
0개의 댓글

[SP] 저장 프로시저

파라미터 선언은 프로시저명 안에서 선언. SQL문과 변수 선언은 BEGIN~END 사이에 작성.SELECT 사용 시에는 조회한 컬럼(데이터)을 반드시 INTO로 변수 안에 넣어줘야하며,프로시저 내부에서 사용하는 SQL문은 일반 SQL문이기 때문에 세미콜론(;)으로 문장

2022년 6월 14일
·
0개의 댓글
post-thumbnail

SP - 7.1 Fundamentals of Linking (1)

우리가 C Program을 작성하고, Program을 메모리에 올릴 때, Process에는 Code 및 Data가 자리잡는다(단순히 Segment를 말하는 것이 아니다). 이때

2022년 6월 10일
·
0개의 댓글
post-thumbnail

SP - 6.5 Implicit Memory Management

  이번 포스팅에선 Implicit Memory Management에 대해 다뤄보겠다. 6.1 포스팅에서 우리는 Implicit Memory Allocator에 대해 아주 간단히 언급한 바 있다. Application이 Allocate만 하고, Free는 하지 않는 D

2022년 6월 10일
·
0개의 댓글
post-thumbnail

SP - 6.4 Explicit & Segregated Free List

  지금까지 열심히 Implicit Free List에 대해 다루었다. 이제부턴 아직 소개하지 않은 Method들인 Explicit Free List와 Segregated Free List에 대해 알아보자.(추후 업데이트)

2022년 6월 9일
·
0개의 댓글
post-thumbnail

SP - 6.3 Implicit List Implementation (2)

  현재 우리는 Process에서 Heap Segment를 어떻게 할당하고 관리하는지 알아보고 있다. Heap은 Top of Heap, 즉, brk Pointer가 가리키는 위치에 따라 크기가 좌우된다. brk Pointer는 sbrk 호출을 통해 조절되며, sbrk

2022년 6월 9일
·
0개의 댓글
post-thumbnail

SP - 6.2 Implicit List Implementation (1)

  지난 시간 우리는 Dynamic Memory Allocation의 기초 이론을 가볍게 다루어보았다.  Heap은 결국 Word 단위 Memory Addressing이 이루어지는 '연속된' 가상 메모리 공간인 것이다. Heap의 시작 주소부터, brk Pointer가

2022년 6월 9일
·
0개의 댓글
post-thumbnail

SP - 6.1 Dynamic Memory Allocator

  지금부터는 '동적 메모리 할당(Dynamic Memory Allocation)'에 대해 다룰 것이다. C의 malloc을 떠올리면 된다.  동적 할당은 'Heap Memory Manager'가 수행한다. 힙 메모리 관리자를 다르게 부르면 'Dynamic Memory

2022년 6월 8일
·
0개의 댓글
post-thumbnail

SP - 5.6 Thread-Level Parallelism

  지금까지 우리는 Critical Section에 대한 Mutual Exclusion을 제공해 Synchronization 문제를 해결했었다. 그 과정에서, 프로그램이 돌아가는 기반 컴퓨터가 단일 CPU인지, Multicore인지는 고려하지 않았었다.  허나, 알다시

2022년 6월 7일
·
0개의 댓글
post-thumbnail

SP - 5.5 Race & Deadlock Problem

  Thread Part의 마지막 포스팅이다. 먼 길을 달려왔다. 이제 Thread가 무엇인지 꽤나 윤곽이 잡힐 것이다. 추후 업로드할 Thread-based Server 제작 포스팅을 통해 Thread에 대한 이해를 최종 완성하도록 하자. 우선, 이번 포스팅에선, T

2022년 6월 7일
·
0개의 댓글
post-thumbnail

SP - 5.4 Thread Safety & Reentrancy

  이제부터 우리는 'Thread-Safety' 개념에 대해 알아볼 것이다. 이전에 다루었던 'Async-Signal-Safety'와 유사하게 바라보면 된다.Thread-Safe : 여러 Thread가 Concurrent하게 특정 함수를 반복적으로 호출할 때, 항상 C

2022년 6월 7일
·
0개의 댓글
post-thumbnail

✨ARM Subroutines

Passing Parameters to Subroutines via Registers Subroutine subroutine은 function 혹은 procedure라고도 부른다. single-entry, single-exit를 가지고 있고 exit하고 나면 자신을 c

2022년 6월 7일
·
0개의 댓글
post-thumbnail

SP - 5.3 Semaphore Synchronization (2)

  지난 포스팅에서 Semaphore에 대해 알아보았다. Semaphore란, 0 이상의 값을 가지고, P와 V라는 연산에 의해 조작되는 전역 변수라고 했다. 이때, 초기 Mutex 값이 1이면 Binary Semaphore, 1보다 큰 값이면 Counting

2022년 5월 10일
·
0개의 댓글
post-thumbnail

SP - 5.2 Semaphore Synchronization (1)

  지난 시간 우리는 Thread Programming 시의 Synchronization에 대해 다루었다. cnt라는 전역변수를 두 개의 Thread에서 각각 Increment하는 프로그램을 예시로 들었다. 만약, 프로그램의 입력 값이 10000이라면, 20000이라는

2022년 5월 10일
·
0개의 댓글
post-thumbnail

SP - 5.1 Thread Programming Problem

  Chapter4까지 Concurrent Server에 대해 다루었다. 간단히 요약하면 다음과 같다.Process-based : Client로부터 Server에게 Connection Request가 전송될 때마다, Server는 이를 받고, fork를 띄워 Conne

2022년 4월 28일
·
0개의 댓글
post-thumbnail

SP - 4.3 Thread-based Concurrent Server

  현재 우리는 Concurrent Server를 구축하는 3가지 방법론에 대해 논하고 있다. 지난 포스팅에서 우린 Process-based와 Event-based의 디테일과 차이점에 대해 알아보았다. 오늘은 마지막 방법론인 Thread-based Server에 대해

2022년 4월 16일
·
0개의 댓글

DP와 SP 그리고 PX의 차이

- 각각의 디바이스는 서로 다른 PX를 갖고 있어 UI개발에 영향을 준다. 개발자에게 각각의 디바이스에 비슷한 단위를 사용하기 위해 DP를 사용한다. - 통상적으로 안드로이드에서는 160dpi를 사용한다.

2022년 4월 16일
·
0개의 댓글
post-thumbnail

SP - 4.2 Process / Event-based Server

Process-based Concurrent Server > Process-based : 각 Client와의 Connection을 위해 '분리된 프로세스'를 생성한다. Process-based Concurrent Server는 fork가 핵심이다. Client1이

2022년 4월 15일
·
0개의 댓글