이 질문이 약간 있지만 사과 하긴하지만 내 연구에 좋은 답변을 찾을 수 없다는 것에 사과드립니다. 운영 체제에는 다른 스레드를 관리하는 등의 작업을 수행하는 기본 시스템 스레드가 있지만 하이퍼 스레드되지 않은 단일 코어 프로세서에서이 작업이 정확히 어떻게 작동합니까? 내 생각에, 응용 프로그램이 사용하고있는 다른 스레드를 제어 할 수 없으므로 시스템 스레드가 차단됩니다. 하지만 분명히 가능하기 때문에 정확히 작동합니까? 나는 다른 스레드의 작업을 자체 스레드로 통합 한 시스템 스레드를 생각해 보았지만, 그것은 마치 나에게 끔찍한 생각처럼 보입니다.싱글 코어 프로세서의 시스템 메인 스레드
답변
'운영 체제에 다른 스레드 관리와 같은 작업을 수행하는 기본 시스템 스레드가 있음을 알고 있습니다.'- 아니요, 선점 형 멀티 스레드 OS가 아닙니다. 모든 효과적인 것들.
부팅 후 OS는 '인터럽트'시에만 스레드에 의해 입력됩니다. 소프트웨어 인터럽트 - 시스템 호출과 드라이버를 통한 하드웨어 인터럽트 - 스레드 상태를 바꿀 수 있습니다. 이러한 인터럽트들 사이에서, OS는 전혀 아무것도하지 않습니다. 인터럽트 없음 : OS는 아무 것도하지 않습니다.
특히 소변이 좋지 않은 'Intro to Threads'페이지/챕터를 보면 이해하기 어렵다는 점을 알고 있습니다.
엄청난 양의 재료가 있음을 알고 있어야합니다. 웹상의 스레드 등이 부적절하거나 오도 된 것, 지나치게 단순화 된 것 또는 실제로 잘못 된 것 중 하나입니다. 일반적인 잘못 키 프레이즈 : '타임 슬라이스', '양자', '라운드 로빈', '타이머 예약'.
+1 스레드에 대한 대부분의 온라인 문서를 특성화합니다. 어쩌면 당신은 질문자에게 좋은 출발점을 제공 할 수 있습니다. – Arno
@MartinJames 답변을 주셔서 감사 드리며 일부 온라인 기사의 잘못에 대해 알려주십시오. 제가 읽은 거의 모든 것들은 그 용어를 사용했습니다. 나는 더 나은 이해를 얻기 위해 이것에 대해 읽어야한다는 결론에 도달했다. 읽을만한 정보가 있다면 알려주십시오. – danielunderwood
은 내가, 스케줄러는 모든 운영하는 잘 알고있어 모든 운영 체제에서
... 운영 체제는 다른 스레드를 관리하는 등의 작업을 수행하는 메인 시스템 스레드를 가지고 있음을 알고 작업 전환이 발생하면 CPU. "기본 시스템 스레드"가 없습니다.
- 1. 멀티 코어 프로세서의 스레드
- 2. 멀티 코어 프로세서의 싱글 톤
- 3. 멀티 코어 프로세서의 다중 스레드
- 4. 멀티 코어 프로세서의 멀티 스레드 응용 프로그램
- 5. 멀티 코어 프로세서의 효과
- 6. 싱글 톤 스레드 안전 코어 데이터입니까?
- 7. 스레드 풀링 및 멀티 코어 시스템
- 8. 메인 스레드에서 싱글 톤 - iPhone
- 9. 하이퍼 스레딩을 사용하는 멀티 코어 코어 프로세서의 멀티 스레드 프로그램 (프로세스)
- 10. 메인 스레드 처리 문제
- 11. 코어 코어 대 스레드
- 12. 코어 데이터 다중 스레드
- 13. i7 멀티 코어 프로세서의 .Net 3.5
- 14. 클록 발진기는 멀티 코어 프로세서의 코어간에 공유됩니까?
- 15. 메인 스레드 및 현재 스레드
- 16. 멀티 코어 프로세서의 특정 코어에 대한 부하 결정
- 17. 멀티 스레드 프로그램의 코어 덤프
- 18. 다중 스레드 코어 데이터 : '주'컨텍스트 스레드
- 19. 싱글 톤 및 스레드
- 20. 마이어스 싱글 스레드 ++ -
- 21. 싱글 톤 스레드 안전
- 22. 는 메인 스레드
- 23. android.os.on 메인 스레드 예외
- 24. webViewDidFinishLoad 블록 메인 스레드
- 25. 안드로이드 메인 스레드 마무리에
- 26. 스크롤 UICollectionView 메인 스레드
- 27. 파이썬 메인 스레드 인터럽트
- 28. Qt : 신호 메인 스레드
- 29. 메인 스레드 차단하기
- 30. 스레드 "메인"org.apache.axis2.AxisFault에
http://en.wikipedia.org/wiki/Preemption_(computing) – SLaks
수천 개의 실행 스레드가있는 것이 정상입니다. 물론 이것은 단일 코어 프로세서에만 국한된 것은 아닙니다. 스레드를 일시 중단하여 다른 스레드를 실행할 수있게하는 기능은 표준 운영 체제 기능입니다. 이 내용은 운영 체제 디자인에 대한 소개 서에서 다뤄지며 모든 프로그래머에게 필수입니다. –
흥미로운 페이지였던 @SLaks와 나는 그것에 대해 꽤 많은 것을 배웠다. 고마워! – danielunderwood