inflearn logo
강의

講義

知識共有

記出に備える開発者専攻面接 [CS完全征服]

Q. multi スレッドについて説明してください。 (他2問題)

thread의 PC register 질문

713

rkddnr3304589

投稿した質問数 3

1

안녕하세요! Thread 강의를 수강하다가 PC register에 대한 질문이 있어서 남깁니다!

Process & Thread 강의에서 제가 이해한 바로는,

입니다. 제가 궁금한 점은

입니다!

기술면접 면접 운영체제

回答 2

2

nossi

주말에 열심히 공부하시는 욱님 응원합니다.

답변 드릴게요

 

  • "Multi Thread에서는 각 Thread가 독립적인 PC register를 갖고 있다" 하셨는데(TCB에 저장), CPU가 가지는 PC register와는 구체적으로 어떤 차이가 있나요?

    => 제가 말로 설명 하다보니 조금 오해의 소지가 있는 늬앙스의 단어 선택을 한 것 같아요. PC register는 CPU가 가지고 있는것입니다., 각 thread는 pc register를 갖고 있는건 아닙니다.

    CPU의 PC register가 thread1의 code영역에서 15번째 줄을(그냥 예시로) 가리키고 있었다고 해볼게요. 이 때, context switch가 발생하면, thread1의 15번째 줄을 가리키고 있다는 정보를 TCB에 저장 해둬야 다음에 돌아올 때 어디까지 진행됐는지 기억할 수 있잖아요.

    이와같이 thread1, thread2 thread3는 각각 돌아가야할 위치(pc register가 가리켜야 할 위치)가 각기 다를거에요! 이를 "각 Thread가 독립적인 PC register를 갖고 있다" 라고 표현한 것 뿐입니다

     

  • CPU의 PC register는 각 TCB에 적힌 여러 PC register 중, CPU가 지금 처리해야 할 TCB의 PC register를 들고 있는 것인가요?

    => 네 맞습니다. 여러 TCB중에서 하나의 TCB가 "활성화"되면 CPU는 해당 TCB(지금 처리해야 할 TCP)를 참조하여 CPU가 세팅 됩니다.(해당 TCB의 PC register를 들고 있다고 생각하시면 돼요.)

 

  • PCB, TCB에는 각 프로세스, 쓰레드의 Context가 저장되는 곳인 것 같은데, 이 안에 PC register(다음 실행할 코드의 주소값) 또한 포함되어 있는 건가요?

    => 네 맞습니다.

     

  • "Multi Process, Single Thread에서, CPU가 가지고 있는 PC register는 다음으로 처리해야 할 Process의 코드 주소값(PC register)을 가지고 있는 것이고,
    Multi Process, Multi Thread에서는, CPU가 가지고 있는 PC register는 다음으로 처리해야 할 Process 내부의 Thread의 코드 주소값(PC register)을 가지고 있다"
    고 이해해도 될까요?

    => 네 맞습니다. 잘 이해하셨네요!!

더 궁금하신 점 있으시면 올려주세요 ;) 화이팅

0

rkddnr3304589

감사합니다 ㅎㅎ

Open addressing을 사용할 때의 worst case

1

463

1

인터넷 계층과 네트워크 엑세스 계층

1

488

1

패킷이란

1

420

1

Linked list의 장점

1

649

1

노션 자료 이메일 잘못 입력했어요..

1

545

1

동기화 문제

1

501

2

프로세스 관련 질문

1

573

1

노션 전자 책 동영상 문제

1

474

1

안녕하세요 강사님!

1

336

1

노션 공유 요청

1

356

1

Linked List 시간 복잡도

3

749

1

hash table의 seperate chaining 질문

0

383

2

인덱스 카디널리티 부분 질문이있습니다.

2

1182

2

프론트엔드 면접준비 질문

0

543

1

시간복잡도

1

267

1

쿠키 질문

0

306

1

쓰레드의 단점 중 궁금한 것이 있습니다.

0

258

1

URL을 주소창에 쳤을 때 화면에 나오기까지의 과정에 대해 추가적으로 궁금합니다.

1

431

1

궁금한게 있습니다

0

203

0

강의자료 HTTP 부분 request 단어가 repuest로 되어있습니다

1

219

1

강의가 이해가 잘되네요

1

246

1

syn 과 fin의 데이터 단위가 다른 이유

2

286

1

Circular Queue에 대해서 질문드려요

1

291

1

Linked List 시간복잡도에 대해서 질문드려요.

5

338

1