컨텍스트 스위칭 질문입니다.
답변 1
0
안녕하세요 jglee81님!
질문에 시스템 프로그래밍과 연관된 질문이 많아서 제가 자세히 설명드리기 어려운 부분도 있습니다.
제가 실무에서 직접 다뤄보지 않은 부분은 인터넷의 힘을 빌려 답변드리겠습니다^^
1. 스레드간 컨텍스트 스위칭에서도 강의에서 말씀하신 MLFQ 기법이 적용이 되는지요?
제 생각엔 이 기법이 MLFQ을 말하는 것 같습니다.
추가적으로 사용자가 FIFO, RR으로 바꿀 수 있습니다.
2. 컨텍스트 스위칭이 발생하는 지점을 어느정도 예측이 가능한지요? 코드상으로요
시스템 콜을 사용하는 부분에서 컨텍스트 스위칭이 발생한다고 예측할 수 있습니다.
하지만 모든 시스템 콜에서 컨텍스트 스위칭이 발생하는 것은 아닙니다! 시스템에 따라 조금 다릅니다.
입출력 시스템콜이나 뮤텍스를 호출하면 컨텍스트 스위칭이 해당 위치에서 발생한다고 예측할 수 있습니다.
3. 컨텍스트 스위칭하는데 걸리는 시간(오버헤드) 계산이 가능한가요?
4. 8개 스레드의 우선순위(가중치)를 사용자 임의로 조작하는 방법이 있을까요?
pthread_setschedparam의 파라미터에서 설정할 수 있습니다.
자세한 사용방법은 메뉴얼을 보셔야 할 것 같아요!
5. 스레드도 프로세스와 마찬가지로 PCB로 관리가 되는지요?
6. 메모리 영역 할당할 때 스택과 힙 영역의 크기는 어떻게 결정이 되는지요?
컴파일 단계에서 어느정도 예측이 가능하니 이에 따라 결정이 되는지요?
이 부분은 컴파일러와 관련되어있습니다.
C라면 gcc를 사용하실거라고 생각이 드는데요.
gcc에서 -fstack-usage를 이용하셔도 될 것 같습니다.
각 함수에서 발생할 수 있는 최악의 상황의 크기로 메모리를 할당한다고 하네요.
또 -fstack-check로 한번 보시면 좋을 것 같습니다!
운영체제 강의를 다 보시면 시스템 프로그래밍 공부를 할 준비가 된 것이니 jglee81님께서 시스템 프로그래밍도 배워보시면 실무에 많은 도움이 될 것 같습니다!
프로그램과 프로세스 강의 3분47초
1
649
1
컴파일 과정
1
559
1
페이징&가상메모리 관련 질문 드립니다.
1
411
1
페이징(배치정책) CPU에 논리주소를 물리주소로 전달해 줄때 계산 단위
1
486
1
운영체제의 역사 영상에서
1
484
2
프로세스 동작 및 스케줄링 알고리즘 관련 질문 드립니다.
1
506
1
인터럽트 발생 시점과 비동기 방식
1
602
2
PCB 상태 실행에서 대기 상태에서 준비 상태로 변경시
1
480
2
프로세스 동기화 질문 드립니다.
1
359
1
부모 프로세스는 프로그램을 실행하지 않아도 생기는 건가요?
1
421
1
페이지드 세그멘테이션 기법에서 메모리 주소 변환 할때요
4
409
1
오버헤드란?
1
4067
1
논리주소와 BoundAddress의 비교에 대한 질문
1
319
1
MLFQ 알고리즘
2
415
1
FIFO 알고리즘 / RR 알고리즘
1
455
1
블로그 업로드 질문
1
388
1
다중큐 강의에서 I/O 작업시 질문
2
254
1
예제코드 질문
1
308
1
하드디스크와 메모리 질문 있습니다!
0
227
1
컴파일 과정 예시와 관련해서 질문드립니다!!
1
283
1
예제 코드 관련 질문입니다!
1
269
1
공유 메모리 및 프로세스 생성 관련
3
504
1
레지스터 관련
2
402
1
"컴파일과 프로세스" 강의 1분 37초
1
251
1





