질문드립니다
294
작성한 질문수 5
컨텍스트 스위칭에서 질문드립니다.
1. 컨텍스트 스위칭은 쓰레드간에 일어나는것이고 컨텍스트 스위칭이 일어나기전 진행하던 모든작업들이 프로세스 제어블록에 저장되어 다음것을 실행시키는것으로 아는데 다른책을 통해 공부할땐 프로세스간의 컨텍스트 스위치은 무겁고 쓰레드간의 컨텍스트 스위칭은 스택만을 별도로 메모리를 가지기에 가볍다. 라고 공부를 했는데 이 이야기는 한 프로세스내의 한쓰레드에서 다른 쓰레드의 컨텍스트 스위칭 비용은 가볍고, 다른 프로세스의 쓰레드로 컨텍스트 스위칭은 무겁다고 보면 될까요?
2. 커널모드 동기화기법인 강의에서나온 랜덤메타,갑질메타를 사용하게되면 결국 한번은 커널모드로 들어가야하기에 기존에 실행중이던 유저모드의 프로세스의 쓰레드는 대기상태로 돌아가 스케쥴러에 의해 다시 선택받길 기다리는 상태이기에 느리다.가 맞는걸까요?
답변 1
2
1.
다른 프로세간의 Context-Switching이 더 무거운 것은 맞지만,
그렇다고 동일 프로세스의 다수 쓰레드의 Context-Switching이 가벼운 수준은 아닙니다.
게임처럼 CPU 성능을 100% 활용해야 하는 입장에서는 이 또한 방해물입니다.
2.
네 그렇습니다.
따라서 MMO처럼 항상 CPU 점유율이 높은 상황에서는 스핀락이 좋은 선택이 될 수 있습니다.
writeLock을 잡을때 꼭 empty 상태여야하는 이유?
0
63
2
Memory Pool에서 오버플로우 질문입니다.
0
94
2
포토폴리오 및 진로 관련하여 고민입니다.
0
168
1
포토폴리오 관련 고민입니다.
0
90
1
실무에서도 alloc, 스마트포인터 등을 구현해서 쓰는지 궁금합니다.
0
107
2
성능 테스트 결과
0
117
2
게임 서버 Stateful, Stateless 진로 고민
0
144
1
WaitOnAddress와 Sleep의 차이 질문
0
98
1
궁금한거 있습니다.
0
92
2
JobTimer 구동 스레드
0
116
2
TryPop() 동작 관련 질문
0
86
1
로드맵 C#서버 C++서버 방향성 질문
0
162
2
스레드 id를 출력할떄 메인스레드 id도 출력되나요?
0
81
1
생명주기를 위한 의도적 복사
0
94
2
락프리의 실무에서 사용 질문
0
154
2
32bit threadID와 16비트 상위 WriteFlag에 대해
0
109
2
mutex와 sleep 차이점
0
133
1
실무에서는 어떠한 코드 스타일을 사용하는지 궁금합니다
0
167
2
Stomp Allocator의 Release함수에 대한 질문입니다.
0
102
1
공부법 관련해서
0
190
2
MakeShared 함수 관련
0
118
1
지금까지 서버코어에서 만든 내용에 대해 궁금한 점이 있어서 질문 드립니다.
0
152
2
운영체제관련 질문입니다
0
144
1
send하려는 데이터 크기가 크면 memcpy에서 문제가 발생할 것 같습니다.
0
125
2





