GIT 기본 정리
커밋 : 내가 현재 작업하고 있는 작업물의 진행상황의 체크포인트라고 비유할 수 있다.다만 이러한 체크포인트에 아래와 같은 메시지를 함께 넣어 쉽게 식별하도록 한다.커밋은 사실 다단계로 이루어진 절차이다.git add -> git commitWorking
커밋 : 내가 현재 작업하고 있는 작업물의 진행상황의 체크포인트라고 비유할 수 있다.다만 이러한 체크포인트에 아래와 같은 메시지를 함께 넣어 쉽게 식별하도록 한다.커밋은 사실 다단계로 이루어진 절차이다.git add -> git commitWorking
이번 챕터에서는 특정 파일과 연결된 페이지인 file-backed page를 할당하고 해제하는 mmap과 munmap 시스템 콜을 구현합니다.아마 앞선 챕터를 구현하면 anonymous와 file-backed의 차이점에 대해서는 알게 될것이라고 생각합니다.다만 제가 생각하기에 위 두 가지 종류의
이번 포스팅에서는 project3의 3번째 과제 Stack Growth를 다루겠습니다.기본적으로 이번 챕터의 제목과 같이 Stack 영역에 페이지를 새롭게 할당하는 기능을 구현합니다. 우선 깃북을 따라가며 구현을 해보겠습니다. //vm.c bool vm_try_handle_fault (struct
저번 포스팅에 이어 두번째 과제인 Anonymous Page에 대한 포스팅 진행하겠습니다. 이번 과제에서는 Lazy-Loading을 구현해야합니다.본격적으로 구현을 하기 앞서 필수적으로 알아야할 지식들을 먼저 소개하고 가겠습니다. VM과제에서 페이지의 종류는 3가지입니다.UNINIT,File-Backed,ANON입니다.Lazy-Loading을 구현하게되면
해당 포스팅은 핀토스 프로젝트를 구현하는것에 도움을 주기위한 포스팅입니다.이 글을 읽으시는 분들은 VM 과제의 흐름이 어떻게 흘러가는지도 알아야 아래의 구현이 조금 더 쉬워진다고 생각합니다.전 개인적으로 구현을 하고 나서 흐름을 파악하는 방법으로 해당
이번 포스팅에서는 현재 과제로 수행하고 있는 아주 간단한 OS인 pintos에서 System Call이 어떻게 이루어지는지 알아보겠습니다.우선 시스템 콜이라는 개념을 소개하기전에 User 영역과 Kernel 영역에 대한 이야기를 먼저하겠습니다. User Memory vs Kernel Memory흔히 프로세스가
이번 포스팅에서는 동기화 문제, 즉 임계영역에 쓰레드 또는 프로세스가 동시에 접근할 경우 이를 해결하는 방법론에 대해서 알아보겠습니다. 우선 본격적으로 들어가기전에 Lock과 Mutex와의 관계에 대해 정리해보겠습니다.사실상 이 둘은 같은 개념이라고 보셔도 되고,이러한
아마 하나의 프로그래밍 언어를 지정해서 공부를 하시다보면 컴파일이라는 단어를 수없이 듣게 될 것입니다.이번 포스팅에서는 컴파일 과정과 python의 컴파일 방식을 간략하게 알아보겠습니다. 컴퓨터에게 명령을 전달하는 법기본적으로 저희는 아래와 같은 High-Level언어를 통해서 컴퓨터에게 명령을
선수지식MIPS ISA(RISC구조)에 대한 다음과 같은 이해도가 필요하다. 1. 산술/논리연산자의 종류(add,sub,and,slt…등등)2. 메모리 참조 연산의 종류(lw,sw)3. 분기 연산자의 종류(beq,j)Combinational / Sequential
RAID 구조란?Redundant Arrays of Independent Disk의 약자로 복수개의 독립적인 디스크들을 배열 형태로 가지는 구조를 말한다.이러한 여러개의 디스크로 구성된 드라이브 구조는 redundancy를 통해서 reliability를 확보하는게 목적이다.즉 여러개의 디스크에 데이터를 분산 저장하여서