[정글 57일차] pintOS는 기세

SeHoony·2022년 5월 24일
1

관찰일지

목록 보기
13/19

- 오늘 하루 한 줄 요약

치열했다
오늘 하루는 참 인상적이었다. 최대한 나의 힘으로 pintOS 과제를 수행하려다 보니 잘 안 풀릴 때가 대부분이었다. 욕도 나오고 머리, 손, 발끝이 뜨거워지면서 땀이 나기도 했다. 그래도 포기하고 싶지 않아서 다시 자리에 앉아 코드를 읽기를 반복했다. 특히 오늘 Semaphore 구조체와 Condition Variable 구조체 각자 Waiter 리스트를 가지고 있는 것에 대해 그 이유를 이해하는데 꽤 오랜 시간이 걸렸다. 두 구조체와 관련된 함수들은 타고 들어가면서 끝까지 다 분석해봤던 것 같다. 결국은 이해했고, 이 과정에서 완벽하게 개념을 이해하고 접근하는 것보다 코드를 제대로 분석하는 과정에서 저절로 개념이 이해되게 되는 경우도 있다는 것을 깨달았다. 또한 내가 힘들었던 부분을 똑같이 힘들어하는 친구들이 있어서 먼저 이해한 부분을 알려주고 또 다시 피드백 받는 경험을 가지기도 했다. 이 과정이 정말 정글의 특장점인 거 같다. 행복하다.

- 오늘 하루 공부

  • [Thread Scheduling - Synchronization]
    : 오전부터 저녁먹기 전까지는 Semaphore와 Condition Variable의 관계성을 이해하는데 시간을 많이 보냈다. 개념 강의에서 Semaphore를 설명할 때, 쓸 수 있는 자원의 수를 나타내는 Counter 변수가 1개 이상일 때의 경우로만 설명했었다. 즉, 임계구역의 자원의 수가 1개여서 Thread가 1개씩만 임계구역에 존재할 수 있다는 뜻이다. 근데 pintOS에서 구현한 Semaphore는 Counter 변수를 0으로 초기화했다. 따라서 자원 하나에 대한 임계구역에 Thread 하나씩만 들어갔다 나왔다 하는 것으로 이해해야한다. Semaphore는 value를 초기화하는 방식에 따라 optional할 수 있다. 이것을 알기까지 원래 이해했던 세마포어 개념과 pintOS에서 Semaphore의 개념이 매칭이 안돼 이해하기 너무 힘들었다. 하지만 했다!
  • 저녁먹고 난 후 간단하게 조깅을 하고 샤워하고 자리에 앉았는데, 이미 너무 진을 써서 잘 집중이 안되었다. 그 상태에서 Priority Inversion Problem 이해는 너무 가혹했다.
  • [Priority Inversion Problem - Priority Donation]
    : 우선순위 역전 현상은 개념을 이해하는데는 크게 힘들지 않았다. 다만 구현이 문제였다. Lock을 점유한 쓰레드의 우선순위를 기준으로 thread들이 donate한다는 그 아이디어를 이해하는데 시간이 꽤 걸렸다. 그리고 Lock을 release할 때, 후처리해주어야 하는 과정들의 구현이 어려웠다. Priority Inversion Problem 부분 구현은 내일 팀끼리 같이 짜기로 한 부분이라서 이해를 최대한 높이고 완벽한 구현까지 욕심부리지 않았다. 그래서 딱 2시까지만 구현하고 바로 숙소로 들어갔다. 두 시까지 해서 전체 코드를 뇌필셜로 다 구현했지만, make하는 순간 오류가 좌자자작!! 오류 뜨는 거 보자마자 바로 짐싸서 숙소 들어가기! 자는데 5분도 안 걸린 거 같다...

- 잘한 점

  • 세마포어에 대해서 깊이 이해해서 동기들에게 설명할 수 있는 정도까지 된 것.
  • 새벽이 되어서는 컨디션이 너무 안 좋았는데 의지를 가지고 끝까지 priority donation 코드를 구현한 점(결과는 에러 투성이였다)

- 개선 점

  • 오늘과 같은 집중과 투지는 지속되어야 한다. 생활패턴을 파괴하면서 공부하는 것은 지속가능성과 멀어지는 길이다. 내일부터는 다시 생활패턴을 정착시키도록 노력해야겠다.

- 내일 각오

  • 목요일부터 제대로 된 폼으로 시작하기 위한 재정비
    : 이코테 개념 공부 완료
    : 이번 주 공부한 것(운영체제, 컴시, pintOS 개념 및 코드 정리)
    : 프론트엔드 공부 조금씩 어떻게 할 지 계획 잡기
    : 너무 각잡지 않고 여유롭게 하루를 보낼 예정

- 오늘의 노래

생각대로 구현이 안될 때 점점 머리가 뜨거워진다. 그 때마다 이 노래를 들으면 호수 위에 물방울 하나 떨어지는 클리셰가 생각나면서 안정감을 느낄 수 있었다. 추천!

profile
두 발로 매일 정진하는 두발자, 강세훈입니다. 저는 '두 발'이라는 이 단어를 참 좋아합니다. 이 말이 주는 건강, 정직 그리고 성실의 느낌이 제가 주는 분위기가 되었으면 좋겠습니다.

0개의 댓글