● 도입 - FIFO 알고리즘은 일괄처리 시스템에 적절하기에 시분할 처리 시스템에서는 쓰기가 힘들고 SJF 알고리즘은 프로세스 종료시간을 예측할 수 없기에 구현이 힘들다. - FIFO 알고리즘은 먼저 들어온 프로세스가 전부 끝나야 다음 프로세스가 실행되는 알고리즘이다. - 이러한 FIFO 알고리즘의 문제를 해결하기 위해서는 한 프로세스에게 일정 시간만큼 CPU를 할당한 후 해당 시간이 지나면 강제로 다른 프로세스에게 동일한 일정 시간만큼 CPU를 할당해주면 된다. - 강제로 CPU를 뺏긴 프로세스는 Queue의 가장 뒷부분으로 밀려난다. - 이러한 알고리즘을 RR 알고리즘이라고 한다. ex) 아래는 (할당시간 = 2초)일 때의 예시이다. - (할당시간 = 2초)이기에 프로세스1을 2초간 실행한 후 남은 ..
● FIFO와 SJF - 이전 글을 통해 FIFO 알고리즘에서는 Burst Time(CPU 작업 시간)이 짧은 작업이 먼저 실행 됐을 때 평균 대기 시간이 짧아졌다는 것을 알 수 있었다.(프로세스 작업 순서에 따라 평균 대기 시간이 달라진다.) - 그렇다면 프로세스가 들어온 순서대로가 아니라 Burst Time이 짧은 프로세스를 먼저 실행하면 FIFO 알고리즘의 단점을 극복할 수 있을 것이다. - Burst Time이 짧은 프로세스를 먼저 실행하는 알고리즘이 바로 SJF(Shortest Job First)이다. ● SJF - 이론적으로만 보면 SJF는 FIFO 보다 더 성능이 좋은 알고리즘이라고 할 수 있다. - 하지만 SJF의 실제 구현에는 여러 현실적인 문제가 있기에 SJF 알고리즘은 사용되지 않는다..
2023.02.05 - [자료구조 및 알고리즘] - #7 큐(Queue) - 개념(FIFO : First In First Out) #7 큐(Queue) - 개념(FIFO : First In First Out) - 큐(Queue)도 Stack과 같이 단순한 규칙을 가지고 있는 리스트이다. - 규칙 : FIFO(First In First Out) - 즉, 먼저 들어간 데이터가 가장 먼저 나온다는 의미로서 먼저 들어간게 가장 나중에 나오는 Stack과 radderveloper.tistory.com ● FIFO - CPU 스케줄링 알고리즘(FIFO, SJF, RR, MLFQ) 중 하나인 FIFO에 대해 알아보자 - FIFO(First In First Out) : 먼저 들어온 작업이 먼저 처리된다.(나간다.) 즉..
- Total
- Today
- Yesterday
- MySQL
- jpa
- OS
- 코테
- spring
- 코딩테스트
- 프로세스
- node.js
- API
- 빅데이터
- DART
- db
- java
- 자료구조
- 운영체제
- 프로그래머스
- Stream
- SpringBoot
- Phaser3
- SQL
- 빅데이터 분석기사
- MongoDB
- Advanced Stream
- git
- 메모리
- Phaser
- 알고리즘
- Spring Boot
- Java8
- nosql
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |