profile
꾸준히 성장하는 과정속에서, 제 지식을 많은 사람들과 공유하기 위한 블로그입니다 😉
post-thumbnail

Parallelism (14-1, 14-2)

piplining 의 순서를 잘 짜서, 물리적으로는 코어가 하나인데 마치 여러개인 것처럼 보이게하는 하드웨어 기술thread : 앞서 말한 쓰레드가 아니라, 하드웨어에서의 쓰레드이다.=> 물리적인 실제 코어 하나당 가상화를 진행해서 2개인것처럼 보이게한다.Instruc

2022년 12월 2일
·
0개의 댓글
·
post-thumbnail

Synchronization(13-1, 13-2)

여러 쓰레드들이 메모리에 있는 한 데이터를 보는경우, shared 되었다고 한다. Conceptual Model 멀티 쓰레드는 하나의 process (single process) 에서 돌아야한다.각 쓰레드는 본인만의 thread context 를 가지고있다. (thre

2022년 11월 24일
·
0개의 댓글
·
post-thumbnail

Concurrent Programming(12-2, 13-1)

본 포스트팅은 인하대학교 컴퓨터공학과 시스템 프로그래밍 수업자료에 기반하고 있습니다. 개인적인 학습을 위한 정리여서 설명이 다소 미흡할 수 있으니, 간단히 참고하실 분들만 포스팅을 참고해주세요 😎 Classical Problems in Concurrent Progr

2022년 11월 22일
·
0개의 댓글
·
post-thumbnail

Exceptional Control Flow (12-1, 12-2)

본 포스트팅은 인하대학교 컴퓨터공학과 시스템 프로그래밍 수업자료에 기반하고 있습니다. 개인적인 학습을 위한 정리여서 설명이 다소 미흡할 수 있으니, 간단히 참고하실 분들만 포스팅을 참고해주세요 😎

2022년 11월 22일
·
0개의 댓글
·
post-thumbnail

Floating Point(11-1, 11-2, 12-1)

위처럼 . 을 기준으로 표현.ex) 1011.101 => 소수점 아래부분은 2^-1 + 2^-3 이 된다.right shift(우측 연산 쉬프트) : 2로 나누는것과 동일left shift(좌측 연산 쉬프트) : 2를 곱하는 것과 동일위처럼 1에 근사한다는 숫자의 표현

2022년 11월 21일
·
0개의 댓글
·
post-thumbnail

Linking(11-1)

본 포스팅은 인하대학교 컴퓨터공학과 시스템 프로그래밍 수업자료에 기반하고 있습니다.link 할떄 malloc 과 같이 libc 라는 c언어의 내장라이브러리의 함수를 호출할때, 별도로 link 을 하지않더라도 (컴파일을 안해도) 잘 쓸수있다.=> 이는 너무 자주 사용하

2022년 11월 21일
·
0개의 댓글
·
post-thumbnail

Linking(10-1, 10-2)

본 포스팅은 인하대학교 컴퓨터공학과 시스템프로그래밍 수업자료에 기반하고 있습니다.앞서 살핀 파일들의 포맷(relocateable, executable, shared object file ) 을 통칭해서 ELF 라고 부른다. 위의 3가지 오브젝트 파일들은 표준이 되는 b

2022년 11월 21일
·
0개의 댓글
·
post-thumbnail

Linking (9-2)

Linking 이란 오브젝트(.obj) 코드를 executable binary code (.exe 바이너리 코드) 로 바꿔주는 녀석이다.기본적으로 컴파일을 하면 Static Linking 이라는 것이 발생한다.gcc 로 프로그램이 돌아가는 실행파일(.exe) 를 만들고

2022년 11월 20일
·
0개의 댓글
·
post-thumbnail

Cache Memories(9-2)

본 포스팅은 인하대학교 컴퓨터공학과 시스템 프로그래밍 수업자료에 기반하고 있습니다.캐시의 성능을 아래 Maxtix Multiplication 예제를 보면서 분석해보자.nxn 짜리 정사각형 행렬 2개를 곱하는 상황이다. 3중 for 문을 돌리는데, 내부에서 반복문을 돌리

2022년 11월 20일
·
0개의 댓글
·
post-thumbnail

Cache Memories(9-1)

메모리와 CPU 사이에 존재하며, 수많은 데이터중에서 일부 중요한 몇개의 데이터만 사용하고 싶을떄 캐시에 따로 저장한다.아래 그림을 보듯이 메모리보다 더 크기가 작아서, 소량의 데이터를 저장 가능하다.메모리도 캐시(Cache) 의 기능처럼, 디스크에 있는 대용량의 데이

2022년 11월 15일
·
0개의 댓글
·
post-thumbnail

System Optimization 기법

stack 의 사이즈를 충분히 넉넉하게 할당해서, buffer overflow 가 발생하는 일을 피하자.gets(), strcpy() 등으로 입력받는 일을 피하자.=> fegts(), strncpy() 등을 대신 사용하자!fgets 는 정확하게 사용자에게 얼마만큼의 입

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

Buffer Overflow로 인한 해킹이슈(Worm, Viruses)

스택각 process 마다 8MB 제한이 있다.힙malloc() 으로 동적 할당한 메모리를 저장하는 공간Text / Shared Libraries프로그램을 실행하면 돌아갈 명령어들이 들어있다read only : 프로세스를 실행시키면 read only 상태이다.int l

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

어셈블리어 Dimensional Array, Structure

스택에 쌓임배열이름 : 포인터 (배열의 주소를 리턴해줌)=> val + i : int형 배열 시작주소에 i바이트만큼 더한것예제rdi == z (배열의 시작주소)rsi == digit (배열의 digit 번째 인덱스 번호)movl(%rdi, %rsi, 4), %eax :

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

어셈블리어 x86-64 시스템의 Stack 구조

그림을 잘 보면 스택의 bottom 이 위쪽에 있고, top 이 아래쪽에 있다!stack은 메모리를 더 사용할수록 밑으로 자라난다.(cf. heap 은 위로 자라남)rsp 라는 특수한 레지스터가 스택의 맨 아래 주소를 가리키고 있음 (즉, 스택의 top 원소를 가리킨다

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

어셈블리어 순환구조(while, for)

c언어 코드를 goto 버전으로 향상시켜봄.L2 == loopjne : ZF 가 1이 아니면 jump를 한다. 즉, x가 0이 아니라면 점프를 한다.while 문이 do-while 보다 비효율적이다!while 문 동작과정 : 아래 그림을 보듯이, 맨 처음부터 아무것도

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

어셈블리어의 Memory Addressing 구조

Normal (형태1) : R -> Mem\[RegR]해석 ) 레지스터 R 이 가리키는 메모리에 저장된 값 ( Mem\[RegR] ) 을 또 다른 레지스터 ( R ) 에 값을 복사하는 것 예시) movq (%rcx), %raxrcx 레지스터에 저장된 값을 rax 레

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

C언어의 포인터와 메모리 관리 이슈

주소를 가지고 있는 변수일반 변수앞에다 & 를 붙이면 주소가 리턴됨 (reference operator)포인터 변수 앞에다 별표 \* 를 붙이면 포인터 변수가 가리키는 변수에 저장된 값이 리턴됨 (value of operator)예시malloc() 으로 동적으로 할당한

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

Virtual memory, Paging fault

<=> physical memory 와 비교했을때, 물리적으로 제한이 되는 메모리 공간을 유저가 사용할 때는 제한이 없도록 보여준다.왜 만들었는가?메모리가 처음 만들어졌을때 운영채제들이 한 프로그램을 유저가 실행시키면 다 들고온다.

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

Memory Hierarchy

운영채제(OS) 는 유저에게 CPU(register) 와 캐쉬(cache) 와 등의 메모리 공간에 대한 그 어떠한 접근권한을 주지 않는다.cache (캐쉬) 는 main memory 나 storage 에 저장된 데이터 중에 자주 쓰이는 데이터를 미리 들고 있다가 필요할

2022년 9월 19일
·
0개의 댓글
·