하계 방학을 알차게 보내기 위해 동기들과 학과 프로그램인 모각소(모여서 각자 소프트웨어하자)에 지원을 했다. 우리조는 매주 화 목 9시부터 12시에 AI컴퓨팅라운지에서 진행을 하기로 했고, 앞으로의 진행 내용은 이곳 벨로그를 통해 기록을 남겨 볼 예정이다. 앞으로 두달
https://velog.io/@dh58319/OS-PintOS-프로젝트를-시작하며오늘의 학습 내용은 위 벨로그 글을 통해 확인할 수 있습니다.새로이 무언가를 시작할 때는 항상 즐겁다.새로운 프로젝트나 환경의 프로그램을 배우거나 코드를 작성 할 때, 개발환경을
오늘은 본격적인 코드 작성에 앞서, 앞으로 쭉 사용해야할 bash와 vim 관련 명령어를 정리하고, 시간이 남는다면 neovim 관련한 정보들도 좀 찾아 볼 계획이다.PintOS 프로젝트를 하기 위해서는 코드 작성보다 운영체제가 어떤식으로 스케쥴링 되는지 제대로 알고
오늘은 앞으로 코드 분석 및 코드 구현을 터미널에서 ssh 로 서버와 연결하여 진행 할 예정이므로 bash 와 vim을 사용 할 때 필요한 간단한 명령어들을 정리했다. 추가로 시간이 조금 남아 OS 프로젝트 파일을 읽어보며 project 1번에 대해 간단히 specif
오늘은 project1 관련 PATH 설정을 마무리하고, project 1 문제를 분석해보는 시간을 가질 예정이다. 추가로 시간이 남는다면, 계절학기 중간고사가 내일로 예정되어있기 때문에 관련 공부를 해야 한다.
우선 계절학기 시험 준비를 하다보니 원래 계획한 운영체제 공부를 좀 미뤄두게 되었다. Velog 글은 이전 회차의 글 주제와 같은 내용으로, 앞으로 2회차 정도는 이전 글에 내용을 추가 하는 식으로 진행 할 것 같다. 오늘은 OS 스레드의 라이프사이클에 대한 내용을 일
오늘은 밀린 project 1 구현을 할 예정이다.https://github.com/dh58319/Dobbydev_PintOS자세한 구현 내용 및 진행상황은 위의 깃에서도 확인 할 수 있도록 할 예정이다.vs code에 비하여 vim을 이용하는 것이 운영체제
오늘은 개념 정리 보다는 실 구현에 초점을 맞추었기 때문에 velog 글의 추가는 따로 없었고, 대신에 github commit log로 대신하도록 할 것이다. 오늘 alarm clock을 sleep wake 방식으로 변경하는 과정을 구현하였는데, sleep queue
오늘은 계절학기를 핑계로 진행하지 못한 스케쥴러 구현을 마무리 할 계획이다.추가로 오늘의 진행상황 역시 깃허브 커밋 로그를 통해 기록을 남길 것이다. 지난 주 thread_awake 함수에서 프로그램이 무한 루프에 걸려버리는 문제가 있었는데 오늘 이것만 해결해도 이후에
오늘은 우선 alarm_cloce 테스트케이스에 대한 문제를 해결했다. 문제 자체는 간단했는데, sleep_list 큐에서 wake_up 시켜야 할 스레드를 찾기 위해 순회를 하는데 여기서 사용하는 인덱스용 변수를 잘못된 위치에서 초기화 시켜준 것이 문제였다. 문제 자
오늘은 지난 번 마무리 한 alarm_clock 과제 이후 연결되는 priority scheduling에 대한 개념정리를 할 계획이다.정리 한 개념에 대한 내용은 이곳 벨로그에 지난 번 처럼 새 글을 파서 기록 할 예정이다. priority scheduling만 완료하
스레드의 우선순위에 대한 학습을 진행했는데,PINTOS에서의 우선순위와 리눅스에서의 우선순위가 처리하는 방식과 표기하는 방식이 달랐다, 물론 Pintos에서의 방식이 훨씬 간단하게 구현 할 수 있었고 이해하는데에도 오랜 시간이 걸리지 않았지만, 그저 구현을 해내는 것이
우선 모각소를 진행하지 않는 주말간 alarm clock부분의 버그를 고친 부분에 대하여 간단하게 글로써 정리하고, 이후 부분인 priority scheduling 진행내용에 대해 설명할 예정이다.추가로 현재 진행중인 구현은 Priority donation부분인데 이
우선 오늘 벨로그로 작성 한 부분은 아래 링크로 첨부합니다.https://velog.io/@dh58319/PintosBug-and-Fix지속적으로 한 틱씩 밀리던 결과때문에 디버깅하는데 애로사항이 있었으나위에 해당과정으로 해결했습니다.추가로 priority 순
지난 시간에 마무리하지 못한 alarm-priority의 마무리와priority donation process에 대한 구현을 오늘은 중점적으로 할 계획입니다. 모각소 진행시간 이외에 구현을 해보았으나 원하는 결과물이 나오지 않아 해당 개념을 다시 한 번 확인하고 놓친
오늘은 우선 이전에 완성하지 못했던 모든 alarm_clock 관련 테스트케이스 Pass하기를 완성시켰다.아래 사진이 지금까지의 결과이고priority change와 donation부분은 구현을 시도중이지만 아직 잡지못한 에러들이 많은 편이다. 우선 priority의
오늘은 지난 주말간 구현한 priority scheduling 에서 발생한 문제를 해결해야한다. 크게 두 가지의 문제가 생겼는데위 사진에서 보는 것과 같이 actual priority가 1씩 밀리는 현상이 있고위 사진에서 보이는 것 과 같이 출력 form 이 한 줄 밀
버그 해결에 성공했고, project 1을 마무리 할 수 있었다.자세한 구현 내용에 관한 정리는 목요일 모각소 시간에 벨로그 글을 통하여 정리를 할 예정이고 오늘의 결과는 깃허브 커밋 로그를 통해 확인 할 수 있도록 해놓을 것이다. 위 사진에서 보는 것 과 같이 mlf
지난 시간에 Project 1을 마무리 했기때문에오늘부터는 Project 2를 시작 할 계획이다. 두 번째 프로젝트는 유저 프로그램에 관한 내용이고, 스택과 힙 그리고 시스템콜 관련된 내용들이 추가 될 것으로 보이는데 해당 내용을 문제상황과 함께 분석해보고, 필요한 기
pintos 프로젝트 2 Argument passing 부분의 구현을 완료하려고 한다.argument passing부분의 구현이 끝나면 system call 명령어들을 하나씩 구현 하면 되는데 이 과정도 하나씩 진행을 해 볼 예정이다.관련 내용은 코드설명을 위주로 글
오늘은 지난 시간에 정리한 내용을 바탕으로 Argument passing 에 대한 내용을 구현하는 것이 오늘의 계획이다.특별한 버그가 발생하지 않는다면 익일 이전으로 구현이 완료 될 것으로 기대하지만, convention 관련 내용에 대한 이해도가 높지 않기때문에 이에
오늘 한 일 원래 이 게시글은 어제 올라가야했는데, 임시저장상태로 출간 되지 않은것을 확인하고 재 업로드합니다.
프로젝트를 진행하던 중 큰 버그를 만났다.주말내내 해결해보려고 이리 저리 찾아보았지만 해결이 잘 나지 않는다오늘은 기존에 하던 것을 잠시 접어두고 해당 문제를 해결하는것이 목표이다.무슨 문제가 발생했냐면,프로젝트 1에서 걸러지지 않는 문제가 이제와서 발생했는데 프로젝트
오늘 한 일 오늘은 버그 해결을 하기 위해 여러가지 시도를 해보았다. 우선 위에 보이는 것이 backtrace라는 디버깅 툴을 이용한 call stack인데 위에 call stack을 통해 불러진 무언가에 의해 커널 패닉이 나는 것을 확인 할 수 있다. 따라서 오
지난번 해결하지 못한 버그를 오늘도 잡아야할 것같다. 이 과정이 선행되어야 이후 시스템콜 구현이 가능한데, 모각소를 하지 않는 수요일 목요일 오전동안 관련 코드들을 전부 보았지만 큰 문제를 찾지 못하여 오늘은 베이스라인 코드부터 다시 확인 해 볼 생각이다.
자 일단 문제는 해결했다.지금 시간은... 하루를 지나 새벽 3시이다.사실 문제 해결은 간단했다(언제나 그렇듯)이전에 교수님께서 주셨던 솔루션이 제대로 되지 않았다고 포스팅을 했던 것 같은데 결과는 그 솔루션이 맞았다.다만 그 구현에서 () 괄호 두 개를 빼먹었을 뿐.
시간이 빠르게 흘러 벌써 방학의 마지막 주가 다가왔다.아쉽지만 Pintos 과제는 시간관계상 원래 계획했던 만큼은 못할 것 같다.개강 후 시간이 남는다면 종종 프로젝트를 열어서 조금씩 진행 해 보는 것도 재미있을 것 같다. 일단 오늘은 프로젝트 2 글을 작성하던 것에
오늘은 프로젝트 2에 대해서 문서화된 부분들을 다시 한 번 정리해보는 시간을 가졌다. 이 결과물은 포스팅 되었던 글(프로젝트 2 관련)에 추가로 더 작성하여 올릴 계획이다. 이제 모각소, 방학이 정말로 얼마 남지 않았는데, 프로젝트 2까지 마무리하는 것이 목표이고, 계
지난 화요일로 우선 운영체제 과제는 잠시 마무리하기로 했기때문에 오늘은 개강준비를 해보려고 한다. 알고리즘 문제풀이를 진행하고 진행상황을 포스팅 할 예정이다.
오늘의 결과 오늘은 방학동안 하던 시스템 과제를 잠시 덮어두고 리프레시하는 기분으로 알고리즘 문제를 풀어보기로 했었다. 시스템 과제를 하는 동안 크고작은 버그들을 겪으면서 혼자 해결해야한다는 문제에 스트레스를 좀 받았던 것 같다. 물론 과제 자체가 기존에 하던 것들과 달리 어렵긴 했다. 그렇지만 경험해보자는 마음으로 쉽게 접근했었는데 그랬으면 안되는 문제...