본문/내용
1. 서론
운영체제는 동시에 여러 프로그램의 실행을 관리하는 복잡한 시스템이다. 프로그램은 운영체제에 의해 프로세스로 관리되며 CPU 시간을 할당받아 작업을 수행한다. 하지만 모든 프로세스가 항상 CPU를 사용하는 것은 아니다. 프로세스는 다양한 이유로 실행이 일시적으로 중단되고 대기 상태에 들어가는데 이를 블록 상태라 한다. 이 보고서는 프로세스가 블록 상태에 진입하는 다양한 상황과 블록 상태에 있는 프로세스와 실행 중인 프로세스의 차이점을 분석하여 프로세스 관리의 중요성을 논한다.
프로세스는 I/O 작업 요청, 자원 부족, 시스템 콜, 동기화 문제 등 여러 이유로 블록 상태가 된다. I/O 작업 요청은 디스크 읽기, 네트워크 통신 등과 같이 프로세스가 I/O 장치의 작업 완료를 기다리는 상황을 말한다. 이때 프로세스는 CPU를 사용할 수 없고 작업 완료 시점까지 블록 상태를 유지한다. 파일 시스템에서 파일을 읽는 작업이나 네트워크에서 데이터를 수신하는 작업이 이에 해당한다. 작업이 완료되면 운영체제는 프로세스를 깨워 다시 실행을 재개한다.
프로세스가 실행에 필요한 자원을 확보하지 못할 경우에도 블록 상태가 된다. …