프로세스의 다섯 가지 상태와 문서 작성 프로그램의 프로세스 상태 변화, SJF 및 SRT 스케줄링
본 내용은
"
2024년 1학기 방송통신대 중간과제물 운영체제)프로세스의 다섯 가지 상태가 무엇인지 쓰고 각각을 설명 문서 작성 프로그램의 프로세스 상태 SJF 스케줄링 SRT 스케줄링 프로세스의 반환시간 평균반환시간
"
의 원문 자료에서 일부 인용된 것입니다.
2024.03.13
문서 내 토픽
  • 1. 프로세스의 다섯 가지 상태
    프로세스는 '생성, 준비, 실행, 대기, 종료'의 다섯 가지 상태 중 하나의 상태에 있게 된다. 생성상태는 처음 작업이 시스템에 주어진 상태이며, 운영체제는 해당 작업에 대한 프로세스 제어 블록을 생성하고 작업 큐에 넣는다. 준비상태는 프로세스의 실행 준비가 된 상태로 CPU 할당을 기다리는 상태이다. 실행상태는 프로세스가 처리되는 상태이며, 대기상태는 프로세스가 I/O 작업이 끝날 때까지 또는 특정 자원을 할당받을 때까지 보류되는 상태이다. 종료상태는 프로세스가 더 이상 실행되지 않도록 끝난 상태이다.
  • 2. 문서 작성 프로그램의 프로세스 상태 변화
    문서 작성 프로그램을 실행시키면 해당 프로그램의 프로세스가 생성된다. 이때 운영체제는 프로세스 제어 블록을 생성하고 작업 큐에 넣으며 프로세스 번호(PID)가 결정된다. 이후 프로세스의 메모리 구조까지 생성되면 프로세스는 준비상태로 전이된다. 준비상태의 프로세스가 파일 열기를 하면 CPU를 할당받으면서 실행 상태가 된다. 파일 입/출력(I/O) 작업 중에는 프로세스가 대기 상태로 전이되며, 작업 완료 후 다시 실행상태가 된다. 보고서 작성 완료 후 파일 저장 시에도 프로세스는 대기상태로 전이된다. 프로그램 종료 시 프로세스는 최종적으로 종료 상태로 전이된다.
  • 3. SJF 스케줄링
    SJF(Shortest Job First) 스케줄링은 준비 큐에서 기다리는 프로세스 중 실행시간이 가장 짧다고 예상되는 것을 먼저 디스패치하여 실행하는 비선점 방식의 스케줄링 알고리즘이다. 주어진 프로세스 도착시각과 CPU 사이클 정보를 바탕으로 SJF 스케줄링을 적용하면, 프로세스 실행 순서는 A-B-C-E-D이며, 평균반환시간은 4.8이 된다.
  • 4. SRT 스케줄링
    SRT(Shortest Remaining Time) 스케줄링은 SJF 알고리즘의 선점 방식 버전으로, 준비 큐에서 기다리는 프로세스 중 남은 실행시간이 가장 짧다고 예상되는 것을 먼저 디스패치하여 실행하는 알고리즘이다. 주어진 프로세스 도착시각과 CPU 사이클 정보를 바탕으로 SRT 스케줄링을 적용하면, 프로세스 실행 순서는 A-B-C-E-D이며, 평균반환시간은 4.63이 된다.
Easy AI와 토픽 톺아보기
  • 1. 프로세스의 다섯 가지 상태
    프로세스의 다섯 가지 상태는 새로운 프로세스가 생성되는 '생성(New)' 상태, 프로세스가 실행 준비를 하는 '준비(Ready)' 상태, 프로세스가 실행 중인 '실행(Running)' 상태, 프로세스가 입출력 작업을 수행하는 '대기(Waiting)' 상태, 그리고 프로세스가 종료되는 '종료(Terminated)' 상태입니다. 이러한 상태 변화는 프로세스의 생명주기를 나타내며, 운영체제가 프로세스를 효율적으로 관리하고 스케줄링하는 데 중요한 역할을 합니다. 각 상태 간의 전이는 프로세스의 실행 흐름을 결정하며, 이를 이해하는 것은 운영체제 설계와 프로세스 관리에 필수적입니다.
  • 2. 문서 작성 프로그램의 프로세스 상태 변화
    문서 작성 프로그램을 실행하면 새로운 프로세스가 생성되어 '생성(New)' 상태가 됩니다. 이 프로세스는 운영체제의 스케줄러에 의해 '준비(Ready)' 상태로 전환되고, CPU 자원을 할당받아 '실행(Running)' 상태가 됩니다. 사용자가 문서를 작성하거나 편집하는 동안 프로세스는 '실행(Running)' 상태를 유지합니다. 만약 사용자가 파일을 저장하거나 인쇄 작업을 수행하면 프로세스는 '대기(Waiting)' 상태로 전환되어 입출력 작업을 수행합니다. 이후 입출력 작업이 완료되면 다시 '실행(Running)' 상태로 돌아옵니다. 사용자가 문서 작성 프로그램을 종료하면 프로세스는 '종료(Terminated)' 상태가 됩니다. 이와 같이 문서 작성 프로그램의 프로세스는 다양한 상태 변화를 거치며, 이는 운영체제가 프로세스를 효율적으로 관리하고 스케줄링하는 데 중요한 역할을 합니다.
  • 3. SJF 스케줄링
    SJF(Shortest Job First) 스케줄링은 프로세스의 실행 시간이 가장 짧은 프로세스를 먼저 실행하는 방식입니다. 이 방식은 평균 대기 시간을 최소화할 수 있지만, 실행 시간이 긴 프로세스는 계속 대기해야 하는 단점이 있습니다. SJF 스케줄링은 프로세스의 실행 시간을 정확히 알고 있어야 하며, 이는 현실적으로 어려운 경우가 많습니다. 또한 실행 시간이 긴 프로세스가 계속 대기하게 되면 기아 현상이 발생할 수 있습니다. 이러한 단점에도 불구하고 SJF 스케줄링은 평균 대기 시간을 최소화할 수 있어 많은 운영체제에서 사용되고 있습니다. 다만 실행 시간을 정확히 예측할 수 있는 경우에 한해 효과적으로 사용될 수 있습니다.
  • 4. SRT 스케줄링
    SRT(Shortest Remaining Time) 스케줄링은 프로세스의 남은 실행 시간이 가장 짧은 프로세스를 먼저 실행하는 방식입니다. SJF 스케줄링과 유사하지만, SRT 스케줄링은 프로세스의 실행 시간을 미리 알지 않아도 됩니다. 대신 프로세스의 남은 실행 시간을 계속 추정하여 이를 기반으로 스케줄링을 수행합니다. 이를 통해 SJF 스케줄링의 단점인 기아 현상을 해결할 수 있습니다. 또한 SRT 스케줄링은 프로세스의 실행 시간이 변경되더라도 유연하게 대응할 수 있습니다. 하지만 프로세스의 남은 실행 시간을 정확히 추정하기 어려운 경우 성능이 저하될 수 있습니다. 전반적으로 SRT 스케줄링은 SJF 스케줄링의 단점을 보완하여 더 효율적인 프로세스 스케줄링을 가능하게 합니다.
주제 연관 토픽을 확인해 보세요!