• 카테고리

    질문 & 답변
  • 세부 분야

    기타 (개발 · 프로그래밍)

  • 해결 여부

    해결됨

공유 자원과 임계구역 강의- TCB은 레지스터 데이터 보장..?

23.04.15 19:16 작성 조회수 290

1

선생님 안녕하세요

공유 자원과 임계구역 강의를 듣다가 9:58분 정도에 T1 eax 레지스터가 0으로 대입된다고 말씀해주셨는데 이전에 eax 값이 1이 증가한 후 suspend를 해서 다시 돌아오면 eax값이 1인 상태일거 같은데 1이 대입되어야 하는게 아닌지 궁금합니다.

Thread 단위의 context switching이 일어날 때 레지스터 데이터들이 보존이 되는지도 궁금합니다..

답변 1

답변을 작성해보세요.

1

지적하신 내용이 맞습니다. 1로 덮어 쓴다고 해야 하는데 말하면서 1이 0으로 바뀌었네요. 제가 설명하면서 말이 꼬인 것 같습니다. 그리고 스레드 상태를 모두 저장할 때는 각 스레드에 맞는 레지스터 값들을 저장했다가 다시 실행상태로 바뀌면 레지스터 값을 복원합니다. 이것이 스레드 스위칭에 따른 오버헤드입니다.

설명이 잘못된 부분에 대해서는 일단 글을 남겨두도록 하겠습니다. 제보 감사합니다.

정지홍님의 프로필

정지홍

질문자

2023.04.15

감사합니다 선생님 제가 알고 있는 내용이 맞는지 틀린지 궁금했는데 이렇게 알려주셔서 감사합니다!!

현재 모든 강의를 구매해서 커리큘럼대로 달리고 있습니다 ㅎㅎ

항상 좋은 강의 만들어주셔서 감사합니다!!