OS作业模拟SJF和FCFS】的更多相关文章

一个OS的作业, 用于模拟短作业优先 和 先来先服务两种作业调度方式. #!/usr/bin/python3.5 ## Modify the SJF and FCFS algorithm in the topic of dealing with jobs. job_num = 5 class Job(): # 定义作业 def __init__(self, arr_time=-1, sev_time=-1, cpt_time=-1, wghted_run_time=-1): self.arr_t…
OS的一个作业, 模拟进程的分配与管理 # initialize the memories and the process list(actually a dict) total_memory = 110 os_memory = 10 process_memory = total_memory - os_memory process = {} sep_line_counter = 0 while 1: # For the neatness of the output of the program…
说明 该并非实现真正的处理机调度,只是通过算法模拟这两种调度算法的过程. 运行过程如下: 输入进程个数 输入各个进程的到达事件 输入各个进程的要求服务事件 选择一种调度算法 程序给出调度结果:各进程的完成时间.周转时间.带权周转时间. 运行截图 FCFS SJF 代码如下 #include <stdio.h> #include <stdlib.h> #define MAX_DURANCE 1e6 /* author: Qin Guoqing; date:2020年11月17日 17…
作业需求: 模拟计算器开发: 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )等类似公式后,必须自己解析里面的(),+,-,*,/符号和公式(不能调用eval等类似功能偷懒实现),运算后得出结果,结果必须与真实的计算器所得出的结果一致 思路解析: 1. 先实现基本+-*/ 2. 使用re正则模块优先解析最内测的拓号进行运算 程…
作业需求: 模拟实现一个ATM + 购物商城程序 1.额度 15000或自定义: 2.实现购物商城,买东西加入 购物车,调用信用卡接口结账: 3.可以提现,手续费5%: 4.每月22号出账单,每月10号为还款日,过期未还,按欠款总额 万分之5 每日计息: 5.支持多账户登录: 6.支持账户间转账: 7.记录每月日常消费流水: 8.提供还款接口: 9.ATM记录操作日志 : 10.提供管理接口,包括添加账户.用户额度,冻结账户等... 11.用户认证用装饰器 示例代码 https://github…
模拟登陆:1. 用户输入帐号密码进行登陆2. 用户信息保存在文件内3. 用户密码输入错误三次后锁定用户 思路: 1. 用户名密码文件为passwd,锁定用户文件为lock 2. 用户输入账号密码采用input输入,分割passwd文件出user,passwd字段并比较input的user和passwd 3.当用户三次输入错误后将input user写入到lock文件,读取时判断是否在lock文件中存在 流程图: 代码展示(Python 3.6): #!/usr/bin/env python #…
# /usr/bin/env python# -*- coding: utf-8 -*-# Author:jenvid.yangimport getpassimport shutiluserspwd = {}# print(type(userspwd))userssta = {}luser = []count = 0usercontent = open('../config/users.inf', 'r')for line in usercontent: luser.append(line.rs…
调度算法 一.先来先服务FCFS (First Come First Serve) 1.思想: 选择最先进入后备/就绪队列的作业/进程,入主存/分配CPU 2.优缺点 优点:对所有作业/进程公平,算法简单稳定 缺点:不够灵活,对紧急进程的优先处理权限不够,在相同时限下处理任务数量可能更少 二.短作业优先SJF (Shortest Job First) 1.思想: 可分为抢占式和非抢占式(执行时间越短,优先级越高) 抢占式优先权,若队列后续作业/进程的优先级更高,则它抢占CPU资源,之前运行的作业…
一.目的和要求 1. 实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 2.实验要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素.      作业调度算法: 1)        采用先来先服务(FCFS)调度算法,即按作业到达的先后次序进行调度.总是首先调度在系统中等待时间最长的作业. 2)        短作业优…
一.概述 因为这次os作业对用户在控制台的输入输出有要求,所以我花了挺多的代码来完善控制台的显示. 也因为我这次要实现多个类似算法,所以将一些共性单独提取出来作为一个类. 如果只想要和算法有关的核心代码,看FCFS类的calc()即可. 实现思路:按照顺序将进程添加到列表中,然后再按照添加顺序运行.模拟进程的运行,即为按顺序改变每个进程的到达时间.服务时间.开始时间.等待时间.周转时间和带权周转时间.在所有进程都结束后再计算平均周转时间和平均带权周转时间. 三.测试 1. 测试数据: 2. 运行…