一. 實驗目的:
通過上機練習,以及對程序排程演算法的模擬,進一步理解程序的基本概念,加深對程序執行狀態和程序排程過程、排程演算法的理解。
二. 實驗要求:
1、掌握先來先服務、短程序優先等程序排程演算法。
2、程式設計實現對n個程序採用fcfs程序排程演算法的排程。
三.實驗內容及步驟:
先回顧fcfs演算法原理。
多個程序按到達的先後排序形成就緒佇列,每次從就緒佇列的隊首選乙個程序分配cpu進行執行,依次類推,直到就緒佇列中所有程序都執行完。
程式設計**
#include"stdio.h"
#include"stdlib.h"
typedef struct pcb
pcb;
int time;
int n;
pcb *head=null,*p,*q;
void run_fcfs(pcb *p1)
void fcfs()
p=p->next;
} }
void getinfo()
if(p->arrivetime < time) time=p->arrivetime;
q->next=p;
p->starttime=0;
p->finishtime=0;
p->turnaroundtime=0;
p->weightedturnaroundtime=0;
p->next=null;
p->state='f';
q=p;
} }int main()
本次實驗皆是在以自己名字為資料夾名在資料夾目錄下建立檔案並進行編譯,以此來辨別是否是自己的實驗成果。 處理機排程 先來先服務排程(FCFS)
在多道程式系統中,排程的實質是一種資源分配。處理機排程是對處理機資源進行分配。處理排程演算法是指根據處理機分配策略所規定的的處理機分配演算法。此系列都是實現的非搶占的排程演算法。先來先服務排程 按照程序的先後進入次序進行排程 輸入 作業的數目,作業的到達時間與服務時間.輸出 作業的呼叫序列與其周轉時...
先來先服務演算法
include stdio.h include include define getpch type type malloc sizeof type define null 0 struct pcb ready null,p typedef struct pcb pcb sort 建立程序進入後備作...
實驗二 程序排程之先來先服務
實驗二 程序排程之先來先服務 include stdio.h include stdlib.h include string.h typedef struct node pcb pcb ready,finish,run void insert pcb p void firstin void prin...