분류 전체보기
-
[SW 정글 75일차] 짧막한 휴식이 오히려 좋은 것일까?기타/SW 사관학교 정글 2021. 10. 17. 02:29
오늘은 내가 공부한 것을 정리하는 시간을 가지기보다는 내가 오늘 느꼈던 감정, 생각들을 정리해보려고 한다. 솔직히 정리할만한 내용이 없는 것도 있기는 하지만 그렇다고 펑펑 논 것은 아니다. 오늘은 정글에서 쉼없이 달려온 지 75일이 되는 날이다. 정말 하루도 빠짐없이 강의실에 나가 그 날 계획했던 공부를 했고 중간중간 피로감이 쌓여 오후에 2시간정도 추가 취침시간을 가진 것외에는 하루를 정글에서의 공부만을 위해서 보냈다. 물론 날이 갈수록 힘듬이라는 것이 조금씩 느껴졌고 농구를 좋아하는 나는 현재 농구를 개막해서 쉬는 시간에 농구 하이라이트를 보기도 한다. 하지만 오늘은 이러한 하루의 짧은 휴식이 아닌 조금 긴 휴식시간을 가졌다고 생각한다. 오늘의 하루는 다른 날과 다름없이 코딩테스트 스터디로 시작을 했..
-
[SW 정글 74일차] Virtual Memory 개념 공부하기기타/SW 사관학교 정글 2021. 10. 16. 01:48
오늘은 project 3를 구현하는데 앞서 필요한 개념을 익히는데 시간을 활용했다. 교재인 컴퓨터 시스템 chapter 9을 읽고 동료가 추천해준 강의를 들으며 나의 것으로 만들려고 노력했다. 참고자료는 글 맨 밑부분에 정리하였다. 1. 가상메모리가 나오기 이전에는 어땠을까? 나는 항상 어떠한 개념을 마주쳤을 때 이전에는 어떠한 단점이 존재했길래 이런 것을 만들었을까?하는 궁금증을 가진다. 이미 자연 속에 존재하는 원소를 찾는 것이 아닌 것을 알기 때문에 분명히 이유가 있을 것이 그러한 것부터 알아야 흐름이 자연스럽게 이어져서 공부의 재미를 느낀다. 그러면 이제 이전에는 어떠했는지 알아보자. ① 충분하지 않은 RAM size 이 부분은 현재 64bit 주소체계를 쓰는 시기이기때문에 RAM을 그 만큼 늘리..
-
[SW 정글 73일차] Pintos project 3 입문 (Virtual Memory)기타/SW 사관학교 정글 2021. 10. 15. 02:10
오늘부터 pintos project 3 virtual memory를 시작하는 날이다. 오늘은 공부할 수 있는 시간이 별로 없었기에 일단은 아래 깃북에서 project 3 introduction을 읽고 기본적으로 알아야할 것이 무엇인지 파악하는 시간을 가졌다. 읽으면서 모든 것이 이해되지는 않아서 컴퓨터시스템 9장과 Three Easy Pieces를 읽을 예정이다. https://casys-kaist.github.io/pintos-kaist/project3/introduction.html Introduction · GitBook Locate the page that faulted in the supplemental page table. If the memory reference is valid, use t..
-
SW 정글 9 ~ 10주차 회고기타/SW 사관학교 정글 2021. 10. 14. 10:28
[9 ~ 10주차 회고] 2021년 10월 14일 목요일, 10주차가 마무리 되는 날이고 9주차부터 10주차까지는 전체적으로 어땠는지 이 글을 쓰면서 돌아보려고 한다. 9주차와 10주차에는 project 1(8주차 진행)과는 다른 점은 user program을 하나의 process로 만들면서 커널과 인터렉트할 수 있는 system call을 구현하는 것이였다. 일단은 첫번 째 과제인 argument passing을 하면서 CLI환경에서 내가 어떠한 program을 실행시키고자 할 때 쓰는 명령어들이 OS입장에서는 어떻게 받아들이고 process로 만들기 위해 어떠한 과정을 거치는지 알 수 있었다. 띄어쓰기를 기준으로 tokening을 한 후에 arugment 1byte 단위로 차곡차곡 user stack..
-
[SW 정글 72일차] Pintos project 2 - System Calls 마무으리기타/SW 사관학교 정글 2021. 10. 14. 02:10
/* 구현 완료 */ void halt (void) NO_RETURN; /* 구현 완료 */ void exit (int status) NO_RETURN; /* 구현 완료 */ int exec (const char *file); /* 구현 완료 */ int wait (pid_t); /* 구현 완료 */ int filesize (int fd); /* 구현 완료 */ void seek (int fd, unsigned position); /* 구현 완료 */ unsigned tell (int fd); /* 이해 미숙 */ bool create (const char *file, unsigned initial_size); /* 이해 미숙 */ bool remove (const char *file); int open..
-
[SW 정글 71일차] Pintos project 2 - System Calls 구현 3일차기타/SW 사관학교 정글 2021. 10. 12. 14:06
/* 구현 완료 */ void halt (void) NO_RETURN; /* 구현 완료 */ void exit (int status) NO_RETURN; pid_t fork (const char *thread_name); /* 구현 완료 */ int exec (const char *file); /* 구현 완료 */ int wait (pid_t); bool create (const char *file, unsigned initial_size); bool remove (const char *file); int open (const char *file); int filesize (int fd); int read (int fd, void *buffer, unsigned length); int write (int..
-
[SW 정글 70일차] Pintos project 2 - System Calls 구현 2일차기타/SW 사관학교 정글 2021. 10. 12. 02:10
오늘은 지난 번에 system calls halt()와 exit() 구현에 이어 진행해보려고 한다. /* 구현 완료 */ void halt (void) NO_RETURN; /* 구현 완료 */ void exit (int status) NO_RETURN; pid_t fork (const char *thread_name); int exec (const char *file); int wait (pid_t); bool create (const char *file, unsigned initial_size); bool remove (const char *file); int open (const char *file); int filesize (int fd); int read (int fd, void *buffer, ..
-
[SW 정글 69일차] 오늘은 Concurrency 되짚어 보기기타/SW 사관학교 정글 2021. 10. 11. 02:30
오늘은 일요일이여서 잠시 pintos project 2 구현을 멈추고 project 1을 진행하면서 확실히 나의 것으로 만들지 못한 concurrency에 대해 복습해보려고 한다. 공부자료는 three easy pieces와 컴퓨터 시스템 12장이다. 좋은 자료는 내 곁에 항상 있고 나는 그 자료를 기반으로 나의 것으로 만들 시간과 노력만 있으면 된다. Concurrency를 이해하는데 알아두면 좋은 개념은 스레드라고 생각한다. 스레드는 한 마디로 말하자면 하나의 프로세스 내에서 실행되는 작업의 흐름 단위이다. 조금 더 구체적으로 말하면 하나의 프로세스는 code, data, stack, heap 영역으로 나뉘어진 각자의 주소 공간을 할당받는데 프로세스 안에 여러 스레드가 존재하게 되면 스레드마다 또 다..