비선점형 방식
비선점형 방식
비선점형 방식(Non-preemptive scheduling)은 컴퓨터 시스템에서 프로세스나 작업을 관리하고
스케줄링하는 방법 중 하나입니다.
이 방식은 프로세스가 자원을 점유하고 있는 동안에는 다른 프로세스가
그 자원을 강제로 빼앗지 않는 방식으로 동작합니다.
한 번 시작된 프로세스는 자발적으로 종료되거나 완료된 후에만 다른 프로세스가 실행될 수 있습니다.
비선점형 방식은 간단하고 예측 가능하며, 작업 간 전환 오버헤드(스위칭 오버헤드)가 적습니다.
이러한 특징으로 인해 리소스가 한 번 할당되면 계속 사용될 수 있어야 하는 실시간 시스템이나
단순한 응용 프로그램에 적합합니다.
비선점형 방식 대표적인 예
FIFO(First-In-First-Out):
먼저 도착한 작업이 먼저 실행되는 방식입니다.
가장 간단한 형태의 비선점형 스케줄링 알고리즘 중 하나입니다.
SJF(Shortest Job First):
ㅂ실행 시간이 가장 짧은 작업이 가장 먼저 실행되는 방식입니다.
먼저 도착한 작업 중에서 실행 시간이 가장 짧은 작업을 선택합니다.
Priority Scheduling:
작업에 우선순위를 할당하고, 우선순위가 가장 높은 작업이 실행됩니다.
동일한 우선순위를 가진 작업들 중에서는 FIFO 또는 다른 비선점형 알고리즘을 사용하여 스케줄링합니다.
FCFS(First-Come-First-Served):
먼저 도착한 작업이 먼저 실행되며, 실행 중에 다른 작업이 중간에 끼어들지 않습니다.
비선점형 방식은 간단하고 오버헤드가 낮지만,
작업의 실행 시간이 긴 경우에 다른 작업들이 오래 기다려야 할 수 있으며,
작업의 우선순위를 변경하기 어렵다는 단점이 있습니다.
따라서 작업의 종류나 시스템의 요구에 따라 선점형 방식과 비선점형 방식을 적절히 조합하여
사용하는 경우가 많습니다.
비선점형 방식 자세히 알기!!
FIFO (First-In-First-Out):
FIFO 스케줄링은 먼저 등장한 학생이 먼저 처리되는 방식입니다.
해성이가 학교 도서관에서 책을 빌리려고 할 때, 도서관에서 먼저 도착한 학생이 먼저 책을 빌립니다.
해성이가 그다음으로 온다면, 그 순서대로 책을 빌릴 수 있습니다.
SJF (Shortest Job First):
SJF 스케줄링은 실행 시간이 가장 짧은 작업을 가장 먼저 처리하는 방식입니다.
해성이가 학교에서 숙제를 하려는데,
여러 개의 과목 중에서 가장 빨리 끝낼 수 있는 과목부터 시작합니다.
즉, 숙제 시간이 가장 짧은 과목부터 해서 마칩니다.
Priority Scheduling:
Priority Scheduling은 작업에 우선순위를 부여하고,
가장 높은 우선순위를 가진 작업을 가장 먼저 처리합니다.
해성이가 학교에서 공부와 운동을 할 때, 공부를 더 중요하게 여기면 공부에 먼저 집중하고,
나중에 운동을 합니다. 그래서 공부가 더 높은 우선순위를 갖고 있습니다.
FCFS (First-Come-First-Served):
FCFS 스케줄링은 먼저 온 학생이 먼저 처리되는 방식입니다.
해성이가 학교에서 수업을 듣고 나갈 때, 학교 출구에서 먼저 온 학생부터 나갈 수 있습니다.
그래서 도착한 순서대로 출구를 이용합니다.
이렇게 각 스케줄링 방식은 학교에서 해성이와 같은 상황에서
어떤 작업을 어떤 순서로 처리할지를 결정하는 데 사용될 수 있습니다.
*바쁜 사람을 위한 깜찍한 정리
비선점형 방식이란 컴퓨터 시스템에서 프로세스나 작업을 관리하고 스케줄링하는 방법 중 하나입니다. 비선점형 방식은 프로세스가 자원을 사용하고 있으면 다른 프로세스가 그 자원을 빼앗지 않는 방식으로 동작을 하는데 내가 워드 작업을 하고 있으면 CPU는 그 프로세스를 할당시켜주고 다른 프로세스가 할당받은 프로세스를 접근하지 못하게 막는 것입니다. 대표적으로는 FIFO, SJF, FCFS 등이 있습니다.
'목차훔치기 > 면접을 위한 CS 전공지식 노트' 카테고리의 다른 글
데이터베이스의 기본(면접을 위한 CS 전공지식 노트) (0) | 2023.09.26 |
---|---|
선점형 방식(면접을 위한 CS 전공지식 노트) (0) | 2023.09.25 |
CPU 스케줄링 알고리즘(면접을 위한 CS 전공지식 노트) (0) | 2023.09.23 |
교착 상태(면접을 위한 CS 전공지식 노트) (0) | 2023.09.22 |
공유자원과 임계 영역(면접을 위한 CS 전공지식 노트) (0) | 2023.09.21 |