[Week7] 0305

안나경·2024년 3월 5일

크프정 일상

목록 보기
55/109

어제의 이야기

어제 공부한 것

30분 알고리즘..
색종이 접기 한번 쭉 짜보고?
이거 함수화 할수 있나 해서 써보고?
해서 쭉 썼을 때 안 돌려보고 끝냈다가.

오늘 아침 함수 돌려봤는데
데이터를 자르는 것에 이슈가 있었음..
흠 개고생일듯 싶고 며칠 봤으니 솔루션 봤는데
과연... 데이터를 안 자르더라.

priority 전체 슈도 코드..
는 이미 짜여진 거나 다름이 없어서
Donation까지 쭉 써보다가
실제 Donation 데이터 구조체가
어떻게 생긴 건지 잘 감이 잡히지않아서
슈도를 다 안 쓰고, priority donation말고
앞부분을해보려했음...

....
간단한건 됐는데
sema를 쓰는게 안 되길래

이부분에서 스케줄 해야하는데..
-> syn에는 스케줄 함수가 없음(스케줄은 static임)
-> unblock이나 block에서 하나?
-> 온갖 포인터 오류뜸
(애초에 걔네 둘 중 한명은 스케줄이 이미 있음.)
(근데 block에서 할때는 인터럽이 꺼져있다고 가정하고 스케줄을 진행하고 unblock은 자체적으로 인터럽을 껐다가 하는데도 거기에 스케줄을 넣으면 스케줄이 안됨.)
(문제는 block시가 아니라 unblock시 스케줄이 진행되어야만 새 스레드가 풀렸을 때 호출한다는 점임.)
(근데 unblock에서 스케줄을 하면 안됨. assert 단계에서 상태가 이상한게 드러남.)
(왜 unblock에서 하면 스케줄이 오류가 뜨는가?)
(또 왜 block은 이미 인터럽이 꺼진 상태라고 가정을 하는가?)

-> set_priority를 하면 어차피 priority에 따라 재설정해주니까 그 함수를 쓸까? 같은 값을 넣어서 재설정하면 되잖아.
-> 안됨.. 일어나지 않았던 건지 부팅이 안 됐던 건지 잘 기억은 안나는데...
(yield와 차이점은 do 스케줄인지 스케줄인지 정도인데, priority를 기존 값이어도 차이가 있는건지.. 현 스레드 상태가 오류가 났던건지...)

이제보니 yield를 쓰면 되더라고...

그 외에는 sema를 먼저 올려주는 거나...

....
지피티에게 한번 물어보고 마감하고!
다음 거 도전해야지!

아무튼 왕열받아서
오후 10시쯤엔 작가전업 꿈꾸다가
내일 있을 강의 ppt 한번 훑어보고 퇴근.

소감

어제는 다 아는데 나만 렉걸림! 이랬는데
오늘 검토해보니 뭐 할만한 뻘짓이었던것같고
다음에는 좀 함수? 다른 거 없는지 좀 더 검토하든가해야지.
(나름...떠올리긴...했지만...)

오늘의 계획

변경 사항 및 일정

10시 반 OS 강의.
오후 2시 퀴즈.
(오늘 코어를 해야 내일까지 구현은 하겠는데
하기 되게 애매하네)

오전

30분 알고리즘.
TIL.
강의.

퀴즈.
퀴즈 후 퀴즈와 강의 요약.

이후 priority condvar 해보기.

저녁

기적적으로 끝나서
donation을 보고 있다면 정말 좋겠지...

오늘의 다짐

요즘 식후 기숙사에서 쉬는 시간마다
좀 더 누워있고 싶은 욕구랑 싸움
예전에는 어? 별로 안누웠네 하고 일어났는데...

profile
개발자 희망...

0개의 댓글