분류 전체보기
-
[SW 정글 90일차] Project 4 과제를 파악하며 필요한 개념 정리기타/SW 사관학교 정글 2021. 11. 1. 01:55
오늘은 어제의 양자택일 중에 결정을 했다. 아침에 와서 HTTP 완벽가이드를 읽은 후에 점심을 먹고 pintos project 4를 다시 보았다. 전체적으로 지금 어떠한 상황이 문제인지와 어떤걸 고치고 싶은지는 알겠다. 그리고 과제를 파악하면서 필요한 개념들을 다시 리마인드하고 반효경 교수님 강의를 들으면서 오늘 내가 배운 내용들을 정리하려고 한다. 첫 번째과제는 Indexed and Extensible Files이다. 어제 잠깐 짧게 정리를 했는데 project 3까지는 continuous allocation을 사용했다. continuous allocation의 문제는 external fragmentation이 발생할 수 있고 file이 growth(write를 하여 file이 더 커지는 경우)에 뒤에..
-
[SW 정글 89일차] 난제, Project 4기타/SW 사관학교 정글 2021. 10. 31. 02:30
오늘은 어제 계획한대로 project 4를 하려고 깃북을 천천히 읽었다. 하지만 감이 잘 오지 않았다. project 1때부터 슬로우스타터로 주위 동료들에게 도움을 받아 잘 마무리했는데 이번에는 project 4를 진행할 시간도 없고 시간하는 시기가 비슷하여 내 스스로 어디서부터 어떻게 시작해야할지 파악해야한다. 아직 개념이 부족한 것인가... 현실적으로 목요일부터 화요일 오후 4시까지 File system 개념 공부를 하고 과제를 구현하기에는 시간이 부족하다고 느끼긴 했다. 지금은 선택해야한다. 더 file system에 대한 개념을 확실하게 공부하여 나의 것으로 만들지 아니면 과제를 구현해보는 도전을 해볼지 일단은 오늘은 깃북 project4 introduction 부분을 읽어 어떠한 상황인지 파악을..
-
[SW 정글 88일차] File system 기초 개념 공부 마무리기타/SW 사관학교 정글 2021. 10. 30. 00:43
오늘은 어제에 이어 file system 기초 개념 공부를 마무리 지었다. file system에 대한 모든 개념을 완벽히 2틀만에 공부하는 것은 사실 상 무리이다. 하지만 pintos project 4를 진행하기 위한 기초 개념을 다지기 위해 노력했고 김덕수 교수님의 남은 강의와 three easy peices 책에서 file system에 관한 내용을 읽었다. project 4를 할 수 있는 시간이 화요일 오후 4시까지여서 시간이 얼마 없다. 그래서 오늘은 다시 글로 정리하는 것보다는 내가 강의와 책을 보며 종이에 정리한 것을 올려놓으려고 한다. [오늘의 나는 어땠을까?] 오늘은 강의실에 가지 않고 기숙사에서 하루종일 있으면서 공부를 했다. 물론 밥은 룸메 형과 밖에 나가서 먹었다. 강의실에 가지않고..
-
[SW 정글 87일차] File System 개념 공부 시작기타/SW 사관학교 정글 2021. 10. 29. 02:24
오늘은 새로운 주 차가 시작되는 날이고 project 4는 file system에 대한 부분을 구현하는 것이다. 항상 그랬듯이 구현하기 전에 개념을 먼저 공부했다. 참고 자료는 유튜브에서 볼 수 있는 한국기술교육대 김덕수 교수님의 강의다. 짧은 영상이지만 명확한 설명과 기본적으로 알아야 할 개념을 잘 전달해준다. 1. Disk에도 주소가 있겠지? 이전까지는 RAM 즉, 주 메모리에 포커스를 두고 공부와 project 구현을 했고 메모리를 주소를 통해 접근을 한다. RAM은 단지 하드웨어인데 주소체계로 특정부분에 데이터를 실고 뺄 수 있었다. 그러면 우리가 흔히 아는 외장하드, 보조기억장치는 어떻게 접근하여 데이터를 저장하고 불러올까? 이것도 마찬가지로 주소체계를 기반으로 한다. Disk address에는..
-
SW 정글 11 ~ 12주차 회고카테고리 없음 2021. 10. 28. 10:11
[11 ~ 12주차 회고] 2021년 10월 28일 목요일, 12주차가 마무리 되는 날이고 11주차부터 12주차까지는 전체적으로 어땠는지 이 글을 쓰면서 돌아보려고 한다. 11주차와 12주차에는 project 2(9 ~ 10주차 진행)와는 다른 점은 기존에는 프로세스가 필요로 하는 메모리영역을 한 번에 올리는 것이였으나 project 3에서는 가상메모리 개념을 도입하여 paging기법으로 고정된 크기의 page를 필요한 부분을 메모리에 올리는 것이다. 이를 구현하기 위해서는 엄청나게 신경쓸 일이 많았다. 일단은 virtual page를 관리하기 위해 어떻게 해야할지 초기에 할당된 stack영역의 크기를 넘어서 stack영역에 page를 할당받고자 할 때 어떻게 해야할지 page의 type 3가지(unin..
-
[SW 정글 86일차] mmap()과 read()/write()기타/SW 사관학교 정글 2021. 10. 28. 02:23
오늘은 project3를 마무리짓는 날로 전체적으로 복습하는 시간과 memory management 개념을 강의를 보며 다시 리마인드했다. 그 중에서 mmap()과 read()/write()에 대해 의문을 가졌다. 의문을 가진 점은 두 시스템콜이 비슷한 역할을 하는 것 같은데 정확히 어떠한 차이점이 있는지이다. read()/write()는 project2 때 구현한 것이지만 그 때에는 완벽히 나의 것으로 만들지 못해 차이점을 바로 알지 못했다. 그래서 조금 더 자료를 찾아보면서 어떠한 차이점이 있는지 알았다. 1. mmap() 과 read()/ write()의 차이점은? 먼저, 3가지의 systemcall이 어떠한 역할을 하는지 알아보자. Linux manual page에서는 mmap()을 다음과 같이 ..
-
[SW 정글 85일차] Page Replacement Algorithm기타/SW 사관학교 정글 2021. 10. 27. 01:27
오늘은 page replacement algorithm에 대해 공부를 했다. memory mapped files의 다음 과제인 swap in/ swap out에서는 메모리가 모두 차지된 경우에 새로운 페이지가 메모리에 swap in되기 위해서는 현재 메모리에 매핑된 page들 중에 victim page를 선택하여 swap out을 해야한다. 여기서 어떠한 victim page를 선택하냐에 따라 추후에 page fault횟수를 줄일 수도 있다. page fault 과정을 보면 I/O작업이 필요하기에 더 많이 날수록 많은 비용이 들고 시스템적으로 좋지는 않다. 그래서 좋은 page replacement algorithm을 사용하여 page fault가 최대한 적게 나오게 해주는 것이 좋다. 그러면 지금부터 ..
-
[SW 정글 84일차] Project 3 - Memory Mapped Files기타/SW 사관학교 정글 2021. 10. 26. 02:43
오늘은 project3 memory mapped files 과제 구현을 시작했다. 일단은 깃북과 한양대에서 만든 pintos ppt를 참고하면서 과제를 파악하고 코드를 이해하고 구현하는 것을 시도했다. 1. Memory Mapped Files 이번 과제에서는 지난 번에 했던 anonymous page와 다르게 memory-mapped page는 file-backed mapping이다. 즉, project 3 초반에 정리한 내용 중에 page의 type에는 uninit, anonymous page, file-backed page3가지가 있다고 했었다. 이 중에서 file-backed page에 mapping하는 경우를 이번 과제에서 구현하는 것이다. 페이지의 내용은 존재하는 file의 복사본이 들어간다고 ..