기존에는 스택이 USER_STACK에서 시작하는 단일 페이지로 4KB로 제한하여 실행했다. 이제부터는 stack growth를 통해 스택이 초과하면 필요에 따라 추가 페이지를 할당하여야 한다.추가 페이지 할당은 스택에 접근하는 경우에만 할당하여야 한다. 스택에 접근하는
어느덧 핀토스도 프로젝트 3에 접어들었다. 이번 프로젝트 3는 virtual memory를 구현하는 것이다. virtual memory에는 많은 개념이 있지만 이번 정리에서는 vm에서 lazy_loading이 어떻게 일어나나 흐름에 대해서 정리해볼려고 한다. 처음 프로
어느덧 핀토스도 프로젝트 3에 접어들었다. 이번 프로젝트 3는 virtual memory를 구현하는 것이다. virtual memory에는 많은 개념이 있지만 이번 정리에서는 vm에서 lazy_loading이 어떻게 일어나나 흐름에 대해서 정리해볼려고 한다. 처음 프로
코드를 보면서 공부를 하던 중 우리는 system call을 부르기 위해서 syscall.c에서 sycall_handler를 호출한다고 이해했는데 이 핸들러에서 함수의 인자인 intr_frame f가 어디서 오는지 갑자기 궁금해졌다. 예를 들어, userprogram에
이번 주에 정글 들어오기 전부터 악명이 높았던 pintos를 드디어 시작했다. 항상 모든 블로그에 pintos힘들다, 전화해서 울었다라고 쓰여있어서 좀 걱정이 됐었다. 사실 항상 블로그를 내가 뭘 배웠고 어떤 내용을 공부했었는지 적었는데 저번에 팀스파르타에서 그런 블
동적 메모리 할당기는 힙이라고 하는 가상 메모리 영역 관리커널은 힙의 꼭대기를 기리키는 변수인 brk를 사용명시적인 할당기는 프로그램이 명시적으로 할당된 블록을 반환해줄 것을 요구묵시적 할당기 -> 가비지 컬렉터: 할당된 블록이 더 이상 프로그램에 의해 사용되지 않는지
rbTree 이론 레드블랙 트리 이진 검색트리로써 각 노드당 한 비트의 추가기억 공간을 가짐. 이 공간에 노드의 색깔을 나타내는데 red이거나 흑색이 됨 루트에서 리프까지의 경로에 나타내는 노드의 색깔을 제한함으로써 경로 중 어떠한 것도 다른 경로보다 2배이상 길지
문제 설명 외판원 순회 문제는 영어로 Traveling Salesman problem (TSP) 라고 불리는 문제로 computer science 분야에서 가장 중요하게 취급되는 문제 중 하나이다. 여러 가지 변종 문제가 있으나, 여기서는 가장 일반적인 형태의 문제
전형적인 dp문제로 규칙과 점화식을 잘세우면 금방 풀 수 있는 문제다 (문제는 규칙과 점화식 찾는게 제일 어렵다...)메모이제이션을 위한 dp 리스트를 생성한다.각각의 숫자가 길이가 1인 수열을 생성할 수 있기 때문에 전체를 1로 만들어서 생성한다.이중 for문을 돌면
문제 링크우리는 어떤 장난감을 여러 가지 부품으로 조립하여 만들려고 한다. 이 장난감을 만드는데는 기본 부품과 그 기본 부품으로 조립하여 만든 중간 부품이 사용된다. 기본 부품은 다른 부품을 사용하여 조립될 수 없는 부품이다. 중간 부품은 또 다른 중간 부품이나 기본
자료 구조, 스택문제에 주어진 입력을 받아와 stack, answer배열을 초기화한다. stack이 비어있으면 수신할 수 있는 탑이 없다는 의미로 answer에 바로 0을 추가stack이 있으면 stack의 상단과 현재 타워를 비교해 stack이 더 크다면 수신가능한
정글에서 벌써 6일째 되는 날이다. 오자마자 첫 3일동안 바로 미니프로젝트를 시작해 어떻게 지나갔는지도 모르겠다. 처음 프로젝트를 진행했을 때는 재밌었지만 하루종일 그것도 3일동안 프로그래밍만 한다는게 생각보다 힘들었다. 학교 다닐 때는 학교수업, 과제 등 다른 해야
Intro 오늘부터 미루고 미루던 typescript 공부를 시작했다. 마음 먹은지는 한참 됐지만 미루고 미루다 이제는 typescript가 필수가 되어버려서 더 이상 미뤘다가는 큰일날 거 같아 시작한다.
오늘은 최근에 공부한 Next.js에 대해서 간단히 공부한 내용을 작성해볼려고 합니다. 처음 공부한 내용이여서 맞지 않는 부분이 있을 수도 있습니다. css 적용하기 Next.js에서 css를 적용하는 것은 크게 2가지가 있습니다. module css module.css는 각 모듈별로 css를 스타일링하는것입니다. components에 각...
이번에 멋쟁이 사자처럼을 들어와서 제 아이디어로 팀을 모아 팀프로젝트를 시작했습니다. 처음 해보는 팀 프로젝트로 시작부터 많은 문제가 생겼습니다!혼자서 개발을 할 때는 다른 사람과 공유하면서 개발을 할 필요가 없기때문에 그냥 라이브러리를 다운받는다던지변수명을 어떻게 지
Number() 문자열을 숫자형으로 바꿔줌 new 연산자 오브젝트로 인스턴스를 생성하여 반환 원본을 복사하는 개념 인스턴스 생성목적 인스턴스마다 값을 갖기 위해서 new Number 새로운 Number인스턴스를 생성 >Number != new Number()
문제설명 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3"...
문제설명 뽑은 숫자와 못알아보는 숫자가 담긴 배열과 그 주의 로또 당첨된 숫자의 배열이 주어질 때 이 사람의 최고 순위와 최저 순위를 구하라
괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어'(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 fal