Giter Site home page Giter Site logo

os-scheduling-spn-rr-fcfs's Introduction

OS-Scheduling-SPN-RR-FCFS

Date: 2016-06~

university programming assignments.


First-Come-First Served (FCFS)

개요

FCFS(First-Come-First Served)는 FIFO라고도 하는 먼저 도착한 프로세스를 먼저 실행하는 방법이다. 프로세스는 준비 상태가 되면 큐에 들어가고 현재 실행 중인 프로세스가 실행을 종료하면 준비 큐에서 대기 중이던 프로세스 중 가장 오랫동안 기다렸던 프로세스가 다음 번 실행 프로세스로 선정된다. 그리고 FCFS는 Nonpreemptive 모드로 동작하기 때문에 긴 프로세스에 유리하다. 입출력 중심의 프로세스보다 처리기 중심 프로세스를 우대하는 경향이 나타나고, 비효율적 스케줄링 기법이지만 우선순위 기법과 결합하면 성능이 많이 나아진다.

결과분석

FCFS(First-Come-First-Served)는 FIFO라고도 하는 먼저 도착한 프로세스를 먼저 실행하는 방법이다. 프로세스는 준비 상태가 되면 큐에 들어가고 현재 실행 중인 프로세스가 실행을 종료하면 준비 큐에서 대기 중이던 프로세스 중 가장 오랫동안 기다렸던 프로세스가 다음 번 실행 프로세스로 선정된다. 입력 데이터는 type, process id, priority, computing time 4개의 필드로 구성되어 있다. 예를 들어 0 1 25 80 입력 데이터는 type이 0, 즉, 프로세스 생성이다. Type이 1일 경우는 하나의 프로세스의 시간 할당량이 다 되어 스케줄이 되어야 함을 나타낸다. 그 다음 입력 데이터 1은 프로세스의 아이디다. 25는 우선순위다. 80은 컴퓨팅 타임이다. 총 10개의 데이터를 입력 하였고 -1을 만났을 때 출력을 한다. 즉, 큐에 들어 있는 프로세스 들이 우선 순위에 따라 차례대로 스케줄링 된다.

Round-Robin (RR)

개요

라운드 로빈 스케줄링(Round robin)은 시분할 시스템을 위해 설계된 선점형 스케줄링이다. 프로세스들 사이에 우선순위를 두지 않고, 순서대로 시간단위로 CPU를 할당하는 방식의 CPU 스케줄링 알고리즘이다. 라운드 로빈 스케줄링은 FCFS에서 짧은 프로세스가 피해보는 현상을 완화하는 알고리즘이다. 어떤 긴 프로세스가 일정 시간 이상을 넘어가는 순간 실행을 강제로 선점선점시키는 것이다. 라운드 로빈은 시간 할당량이 너무 길어 프로세스 중 가장 긴 실행 시간을 갖는 프로세스의 총 실행 시간을 넘어서게 되면 라운드 로빈은 FCFS와 같은 효과를 내는 것이 단점이다. 라운드 로빈은 프로세스의 특징은 고려하지 않는 대신 매우 공평하기 때문에 범용 시분할 시스템이나 트랜잭션 처리 시스템에서 특히 효과적인 스케줄링 정책이라 할 수 있다.

결과분석

라운드 로빈 스케줄링(Round robin)은 프로세스들 사이에 우선순위를 두지 않고, 순서대로 시간단위로 CPU를 할당하는 방식의 CPU 스케줄링 알고리즘이다. 입력 데이터는 type, process id, priority, computing time 4개의 필드로 구성되어 있다. 예를 들어 0 1 25 80 입력 데이터는 type이 0, 즉, 프로세스 생성이다. Type이 1일 경우는 하나의 프로세스의 시간 할당량이 다 되어 스케줄이 되어야 함을 나타낸다. 그 다음 입력 데이터 1은 프로세스의 아이디다. 25는 우선순위다. 80은 컴퓨팅 타임이다. 총 10개의 데이터를 입력 하였고 -1을 만났을 때 출력을 한다. 즉, 큐에 들어 있는 프로세스 들이 우선 순위에 따라 차례대로 스케줄링 된다.

Shortest Process Next (SPN)

개요

SPN(Shortest Process Next)은 FCFS의 긴 프로세스 우대 편향성을 완화하는 방법으로 가장 짧은 프로세스를 먼저 실행시키는 정책이다. Nonpreemptive(비중단)모드로 동작하고 실행 시간이 짧은 프로세스가 긴 프로세스들보다 먼저 스케줄링될 수 있다. 짧은 프로세스들이 지속적으로 시스템에 진입한다면 이들보다 상대적으로 긴 프로세스가 기아 상태에 빠질 수 있다는 것이 단점이다. 그리고 SPN 구현 상의 문제점은 각 프로세스가 요구하는 총 실행 시간을 미리 알아야 한다는 것인데, 미리 알기가 어렵기 때문에 시스템은 이를 유추할 수 있어야 한다.

결과분석

SPN(Shortest Process Next)은 FCFS의 긴 프로세스 우대 편향성을 완화하는 방법으로 가장 짧은 프로세스를 먼저 실행시키는 정책이다. Nonpreemptive(비중단)모드로 동작하고 실행 시간이 짧은 프로세스가 긴 프로세스들보다 먼저 스케줄링 될 수 있다. 입력 데이터는 type, process id, priority, computing time 4개의 필드로 구성되어 있다. 예를 들어 0 1 25 80 입력 데이터는 type이 0, 즉, 프로세스 생성이다. Type이 1일 경우는 하나의 프로세스의 시간 할당량이 다 되어 스케줄이 되어야 함을 나타낸다. 그 다음 입력 데이터 1은 프로세스의 아이디다. 25는 우선순위다. 80은 컴퓨팅 타임이다. 총 10개의 데이터를 입력 하였고 -1을 만났을 때 출력을 한다. 즉, 큐에 들어 있는 프로세스 들이 우선 순위에 따라 차례대로 스케줄링 된다.

os-scheduling-spn-rr-fcfs's People

Contributors

jimyeol avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.