示例#1
0
	include("../../php/handler.php");
	$bts_handler = new handler();
	$bts_handler->connect();
	
	function get_process_with_highest_priority($processes) {		
		$currentMax = 0;
		foreach ($processes as $value) {
			if($value->priority > $currentMax) {
				$result = $value;
				$currentMax = $value->priority;
			}
		}
		return $result;
	}
		
	$processes = $bts_handler->get_processes();
	$executionText = "";
	//Erste CPU-Runde
	$tick = 0;
	while(true) {
		//Prozesse suchen, die momentan schon da sind
		$currentProcesses = $processes->get_processes_with_remaining_runtime();
		//wenn keine Prozesse mehr vorhanden -> ABBRUCH		
		if(count($currentProcesses) === 0) {
			break;
		}
		//Prozess suchen, der höchste Priorität hat
		$currentProcess = get_process_with_highest_priority($currentProcesses);		
		//Prozess ausführen
		$currentProcess->remaining_runtime = $currentProcess->remaining_runtime - 1;
		//Text für Ausgabe sammeln