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

플하님의 프로필 이미지
플하

작성한 질문수

개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제

프로세스 상태와 계층 구조

대기상태

해결된 질문

작성

·

165

·

수정됨

0

프로세스가 입출력 장치를 사용하는 경우

입출력 작업이 끝날때까지 기다려야 한다고 하셨는데,

예를들어 워드 프로그램을 실행중에 프린트를 출력버튼을 누르고

바로 워드 프로로그램을 이어서 실행할수있지 않나요?

그런데 왜 대기상태로 접어든다는걸까요?ㅠ

프린트물 완료되었다는 입출력 알림이 올때까지 대기 상태로 간다는게 이해가 안갑니다ㅠㅜ

 

아니면 입출력에 대한 인터럽트가 발생해 인터럽트 서비스 루틴을 완료할때까지 기존 수행하던 작업을 대기 상태로 둔다는걸까요?

 

그렇게 본다면..프린트 버튼을 누르고 보통 1초후(아직 출력물은 나오지않았지만)에 바로 워드프로그램 사용이 가능한데, 사용가능할때 이미 서비스 루틴은 완료되어 알림을 받은상태일까요?

 

답변 2

0

플하님의 프로필 이미지
플하
질문자

오 감사합니다 ㅎㅎ

0

강민철님의 프로필 이미지
강민철
지식공유자

안녕하세요!

 

입출력 작업이 끝난 뒤에 실행 가능한 작업이 있는 경우가 있습니다.

즉, 작업 간에 의존 관계가 존재하는 경우가 있을 수 있습니다.

작업 간 의존관계가 아예 없는 경우에는 굳이 기다릴 필요가 없겠지만

의존 관계가 있을 경우 입출력이 끝날 때까지 대기상태로 접어들어야 합니다.

의존관계가 없는 작업의 경우라도 입출력이 언제 끝날지 모르기 때문에

주기적으로 완료 여부를 확인해야 합니다.

 

프린트 버튼을 누르고 보통 1초후(아직 출력물은 나오지않았지만)에 바로 워드프로그램 사용이 가능한데,

위 상황은 입출력이 완료되었다기보다는

입출력장치에 작업을 전달하기를 완료한 상황에 가깝습니다 :)

인터럽트를 받으면 프린트가 상태가 완료로 바뀌게 될 것입니다.

 

플하님의 프로필 이미지
플하

작성한 질문수

질문하기