공룡책에서, 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(비전 공자 ㅎ) 라서 모르는게 넘 많네여.. 리플 달아주시면 감사히 읽겠습니다..