프로젝트

프로젝트/Pint OS

[Pint OS] User Memory Access

Virtual Memory Layout Pint OS에서 가상 메모리는 2개의 영역으로 나뉜다. User Virtual Memory: 가상 주소 0부터 KERN_BASE(0x8004000000) 사이의 영역 Kernel Virtual Memory: 가상 주소 KERN_BASE(0x8004000000) 이상의 영역 User Virtual Memory 유저 가상 메모리는 프로세스마다 할당된다. 커널이 한 프로세스를 다른 프로세스로 전환할 때, 페이지 테이블을 통해 유저 가상 주소 공간도 전환된다(Context Switching).구조체 thread는 프로세스의 페이지 테이블을 가리키는 포인터를 가지고 있다(curr_thread->pml4). 유저 프로그램은 오직 할당된 유저 가상 메모리에만 접근할 수 있다...

프로젝트/Pint OS

[Pint OS] 에러: Kernel panic... thread_yield()

발생 Pint OS의 프로젝트 2, argument passing을 실행시켜보았다가 발생했다. formatting file system을 하다가 터진다. Kernel panic in run: PANIC at ../../threads/thread.c:338 in thread_yield(): assertion `!intr_context ()' failed. * backtrace Call stack: 0x800421874b 0x80042072c0 0x800420a92f 0x8004214d12 0x8004209704 0x8004209b22 0x800420762b Translation of call stack: 0x000000800421874b: debug_panic (lib/kernel/debug.c:32) 0..

프로젝트/Pint OS

[Pint OS] Argument Passing

Requirement thread.h에 #define USERPROG 선언 process_exec() 함수 수정 /* Switch the current execution context to the f_name. * Returns -1 on fail. */ int process_exec (void *f_name) { /* ... */ /* for project 2 * todo: implementation argument passing */ int argc = 0; char *argv[64]; char *ret_ptr, *next_ptr; ret_ptr = strtok_r(file_name, " ", &next_ptr); while(ret_ptr) { argv[argc++] = ret_ptr; ret_ptr..

프로젝트/Web3

[SNKRZ] 입문기

왜 시작했나? 정말 최근부터 dApp 써보고 싶어졌다. 이전에는 NFT에 대한 부정적인 시각을 가지고 있었고 실제 현금이 들어가는 것이라 굉장히 꺼려졌었다. 크래프톤 정글 교육 중에 밥값 때문에 돈이 궁하기도 했고. 생각이 바뀐 계기는 Glitch Hackathon에서 만난 한 팀원 분이다. 평소 웹3 생태계에 관심이 많으신 팀원분은 dApp을 여럿 해보며 투자도 꽤 하신 분이셨는데, 그 중 특히 재밌게 이야기해주신 것이 "STEPN"이다. 1. 재밌을 것 같다! STEPN은 Social-Fi와 Game-Fi를 합친 웹3 라이프스타일 dApp이다. 신발 NFT를 소유한 채로 운동(산책/조깅/러닝 등)을 수행하면, 운동시간 동안 채굴이 진행되는 방식이다. 웹2에서 걸으면서 돈을 번다는 "캐시워크"와 다를 ..

프로젝트/Web3

[Web3] Glitch Hackathon 후기

회고 결론부터 말하자면 2일차 오전 5시부터 4시간 자고, 오전 9시부터 3일차 현재 오후 2시까지 잠을 자지 않은 상태다. 대략 30시간을 잠을 자지 않은 상태로 매우 졸리고 잠깐 눈을 감으면 쓰러질 것 같은 기분이지만, 지난 밤 동안 배운 것을 잊지 않기 위해 몬스터 에너지 음료수를 마시며 TIL을 작성한다. 배운 것을 하나도 빠짐없이 기록하고자 한다. 이번 해커톤 동안 대기업 현직자 형님과 팀을 이룰 수 있었는데 팀업을 하면서 정말 많은 것을 배울 수 있었다. 프로젝트 설계 시 시스템을 시각화하면 시스템 로직을 한눈에 볼 수 있어서 구체화하는 데 도움이 된다. 협업을 하면서 계속해서 요구사항을 맞추기 위해 팀원과 적극적으로 소통해야 한다. 실제 앱을 런칭해봐야 배울 수 있는 것이 있다! 기획자는 팀..

KimCookieYa
'프로젝트' 카테고리의 글 목록 (18 Page)