공룡책에서, Scheduler Activation에 대해 설명하는데 궁금한게 생겨서여
커널에서 upcall을 통해 user-level 스레드 라이브러리에 통신하려면, 새 virtual processor를 추가로 프로세스에 제공해서
새 virtual processor에서 upcall handler를 실행한다고 하는 것은 이해가 가는데(기존의 virtual processor가 block 상태니까)..
1. upcall handler를 실행해서 block 상태에 있는 virtual processor의 상태를 저장하고, 이 processor를 relinquish한다는데,
이게 정확히 무슨 말인가요? relinquish는 영영사전 보니까 release라는 의미를 갖길래 '아 프로세서를 release 하나보다'라고 생각했는데
release는 또 뭘 말하는 건가 잘 모르겠네요. 이미 현 상태는 저장해으니 block 상태에 빠진 virtual processor를 없앤다는 것인지,
아니면 block상태에 빠져있는 virtual processor를 유지한 채로 거기서 처리중인 내용을 다른 스레드 실행을 위해 비워버린다는 것인지
아시는 분 계십니까
arcane confucius(비전 공자 ㅎ) 라서 모르는게 넘 많네여.. 리플 달아주시면 감사히 읽겠습니다..
댓글 0