일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ubuntu
- Network
- Kotlin
- sequelize
- Scheduling
- algorithm
- mysql
- OOAD
- Android
- docker
- Util
- React
- python
- HTML
- AWS
- mongoose
- wireshark
- linux
- S3
- MongoDB
- typeorm
- postman
- Express
- node.js
- TypeScript
- macos
- DATABASE
- css
- Crawling
- OS
- Today
- Total
Seongwon Lim
[OS] 프로세스 응답 시간(Response Time) 측정 방법 본문
서론
이버 글에서는 프로세스 스케줄링 기법을 선택할 때 중요한 요소가 되는 응답 시간(Response Time)에 대해서 알아보고자 한다.
응답 시간은 일반적으로 대화형 시스템에서 입력에 대한 반응 시간을 의미한다.
예를 들어, 사용자가 마우스를 움직였을 때 3초 뒤에 커서가 움직였다면 해당 시스템에서 입력에 대한 반응 시간은 3초라고 할 수 있다.
SJF(Shortest Job First) 스케줄링 기법의 응답 시간
먼저, SJF(Shortest Job First) 스케줄링 기법을 통해 해당 프로세스의 응답 시간을 알아보자.
- SJF 스케줄링에 대한 이해가 필요한 분들은 여기를 참고하면 좋을 것 같다.
위 프로세스 특징은 다음과 같다.
- 3개의 프로세스는 모두 0초에 도착한 프로세스이다.
- 프로세스 작업량이 동일한 경우 알파벳 순서대로 작업을 수행한다.
그리고 프로세스의 응답 시간을 구하는 방법은 다음과 같다.
Tresponse(응답 시간) = Tfirstrun(프로세스 시작 시간) - Tarrival(프로세스 도착 시간)
위 공식을 통해 예제의 응답 시간을 구해보자.
프로세스 시작 시간 | 프로세스 도착 시간 | 응답 시간 | |
A | 0 | 0 | 0 |
B | 5 | 0 | 5 |
C | 10 | 0 | 10 |
위 표를 기반으로 해당 프로세스의 평균 응답 시간을 구하면 다음과 같다.
- (0 + 5 + 10) / 3 = 5sec
5초라는 시간이 보기에는 작은 값일 수도 있지만 사실 SJF 스케줄링 기법의 응답 시간은 매우 비효율적이다.
예를 들어, B는 서론에서 언급한 것과 같이 마우스를 움직이는 동작을 수행하는 프로세스이고, C는 터미널 창에 글자를 입력하는 동작을 수행하는 프로세스라고 가정해보자.
그러면 사용자는 A,B,C 라는 3개의 프로세스를 실행하더라도 마우스는 5초뒤에 움직일 것이며 사용자가 입력한 글자는 10초뒤에 터미널 창에 나타날 것이다. 아무도 이러한 프로세스 스케줄링 기법을 사용하는 컴퓨터를 사용하지 않을 것이다.
그래서,
다음 글에서는 SJF 스케줄링과 같이 비효율적인 응답 시간을 가지는 기법을 보완하기 위해 나온 RR(Round Robin) 스케줄링 기법에 대해서 알아보고자 한다.
'Operating System' 카테고리의 다른 글
[OS] HRN(Highest Response Ratio Next) 스케줄링 이란? (0) | 2022.07.05 |
---|---|
[OS] RR(Round Robin) 스케줄링 이란? (0) | 2022.06.07 |
[OS] 선입 선처리(FIFO) 스케줄링(Scheduling) 이란? (0) | 2022.06.05 |
[OS] STCF 스케줄링(Scheduling) 이란? (0) | 2022.06.02 |
[OS] 최단 작업 우선 스케줄링(SJF) 이란? (0) | 2022.06.02 |