인프런 커뮤니티 질문&답변

marmelo4649님의 프로필 이미지

작성한 질문수

그림으로 쉽게 배우는 운영체제

PCB

질문드립니다.

해결된 질문

22.04.09 21:57 작성

·

204

2

PCB는 프로그램이 메모리에 올라올 떄 생성되는것으로 알고있습니다.

시스템 프로그래밍 책을 보면 Windows와 같은 운영체제는(대부분의 운영체제?) 선점형 OS이고 시분할 방식의 처리를 위해 각 프로세스의 상태를 지닌다고 하는데, 해당 책에서는 프로세스가 상태를 지니는게 아닌 스레드가 상태(준비,실행,대기등)를 지닌다고 하는데 여기서 궁금한점이 있습니다.

멀티스레드 환경에서도 여러 스레드끼리 컨텍스트 스위칭이 발생할텐데 그 스레드들의 상태는 PCB에 어떻게 저장이 되는형식일까요? 스레드가 2개가 실행상태에 있다가 I/O로 인한 대기상태로 빠진다던지 주어진 타임슬라이스를 다 사용해 컨텍스트 스위칭이 동시에 일어났다면 두 쓰레드의 정보를 저장해야 할텐데 하나의 PCB에서 이를 모두 관리한다는게 잘 와닿지가 않습니다.

해당 강의에서도 PCB에서는 프로세스 상태를 저장한다고 하니 많이 헷갈리네요ㅠㅠ

 

답변 1

0

감자님의 프로필 이미지
감자
지식공유자

2022. 04. 10. 02:29

해당책에서는 스레드 정보를 저장하는 TCB(Thread Control Block)을 설명한 것 같습니다.

프로세스는 PCB에 저장되고 쓰레드는 TCB에 저장됩니다!