inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

기출로 대비하는 개발자 전공면접 [CS 완전정복]

Q. Array는 어떤 자료구조 인가요? (외 1문제)

multi thread와 PC, PC register, context switching

406

놀란 나비

작성한 질문수 4

1

multi thread와 PC, PC register, context switching에 대해서 이 노트와 https://www.inflearn.com/questions/489172 를 참조하여 새롭게 정리해 보았는데 제가 이해한 것이 맞는지 한번 보아주십시오. multi thread에서는 각각의 thread가 자신의 PC값을 TCB(Thread Control Block)에 저장을 합니다(multi thread에서는 각각의 thread가 독립적인 PC값을 가지고 있어야 합니다). 그 이유는 한 process 내에서도 thread 사이에 context switching이 일어나는데, TCB에 code address(PC)가 저장되어 있어야 해당 쓰레드가 어느 코드 영역까지 진행했는지를 기억하여 그 다음 코드부터 실행을 할 수 있기 때문입니다. 예를 들면 thread a 에서 thread b로 context switch가 일어나면, 현재의 PC register에 저장되어 있는 값을 thread a의 TCB에 저장을 하고, thread b의 TCB의 PC값을 불러와 PC register에 저장을 합니다. CPU는 PC register가 새롭게 가리키는  thread b의 code영역, 즉 thread b 내에서 다음에 실행해야 할 명령의 주소값(PC)을 참조하여 실행을 하게 되는 것입니다. multi thread concurrency: thread 사이에 context switching을 하다가, 또한 process 사이에서도 context switching을 하는 것입니다. 예를 들면 process 1과 process 2에 각각 thread a, thread b가 있다고 하면, process 1의 thread a에서 process 2의 thread b로 context swtiching이 일어나면, PC register의 값을 process 1 thread a의 TCB에 저장을 하고, process 2 thread b의 TCB의 PC값을 불러와 PC register 값에 저장을 하면, CPU는 PC register가 가르키는 process 2 thread b의 code 영역을 참조하여 실행을 하게 되는 것입니다.

multithread 면접 pc PCregister 운영체제 기술면접 contextswitching

답변 1

1

개발남노씨

안녕하세요. 수강생분께서 이해하신게 맞습니다!

잘 정리해주셨네요. 

 

혹시 이해가지 않는게 있다면 질문 남겨주세요~

Open addressing을 사용할 때의 worst case

1

465

1

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

1

492

1

패킷이란

1

425

1

Linked list의 장점

1

652

1

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

1

547

1

동기화 문제

1

503

2

프로세스 관련 질문

1

573

1

노션 전자 책 동영상 문제

1

476

1

안녕하세요 강사님!

1

339

1

노션 공유 요청

1

358

1

Linked List 시간 복잡도

3

750

1

thread의 PC register 질문

1

717

2

hash table의 seperate chaining 질문

0

385

2

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

2

1184

2

프론트엔드 면접준비 질문

0

546

1

시간복잡도

1

269

1

쿠키 질문

0

310

1

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

0

260

1

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

1

434

1

궁금한게 있습니다

0

205

0

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

1

222

1

강의가 이해가 잘되네요

1

250

1

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

2

289

1

Circular Queue에 대해서 질문드려요

1

292

1